<?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.toolsdriver</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> ::
        Module&nbsp;toolsdriver
      </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.toolsdriver-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.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="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__
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-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">
<!--
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>
