[ONOS-6619] Allow different bash prompts in TestON components, Also including part of ONOS-6595

Change-Id: I31c923347dd8fac018aaf47868394552a2deefbc
diff --git a/TestON/drivers/common/cli/emulator/remotemininetdriver.py b/TestON/drivers/common/cli/emulator/remotemininetdriver.py
index 8788af0..4aa8ad4 100644
--- a/TestON/drivers/common/cli/emulator/remotemininetdriver.py
+++ b/TestON/drivers/common/cli/emulator/remotemininetdriver.py
@@ -39,7 +39,7 @@
     mininet running on the target.
     """
     def __init__( self ):
-        super( Emulator, self ).__init__()
+        super( RemoteMininetDriver, self ).__init__()
         self.handle = self
         self.name = None
         self.wrapped = sys.modules[ __name__ ]
@@ -103,12 +103,12 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "cat " + pingList )
             self.handle.expect( pingList )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             outputs = self.handle.before + self.handle.after
             if re.search( " 0% packet loss", outputs ):
                 return main.FALSE
@@ -140,7 +140,7 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             args = utilities.parse_args(
                 [ "SRC", "TARGET", "PINGTIME" ], **pingParams )
             precmd = "sudo rm /tmp/ping." + args[ "SRC" ]
@@ -152,7 +152,7 @@
             main.log.info( command )
             self.execute( cmd=command, prompt="(.*)", timeout=10 )
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             return main.TRUE
         except TypeError:
             main.log.exception(self.name + ": Object not as expected")
@@ -179,14 +179,14 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             args = utilities.parse_args( [ "SRC" ], **pingParams )
             self.handle.sendline( "tail /tmp/ping." + args[ "SRC" ] )
             self.handle.expect( "tail" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             result = self.handle.before + self.handle.after
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             if re.search( 'Unreachable', result ):
                 main.log.info( "Unreachable found in ping logs..." )
                 return main.FALSE
@@ -220,7 +220,7 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             command = "sudo kill -SIGINT `pgrep ping`"
             main.log.info( command )
             self.execute( cmd=command, prompt="(.*)", timeout=10 )
@@ -231,11 +231,11 @@
             self.execute( cmd=command, prompt="100%", timeout=20 )
             # Make sure the output is cleared
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "" )
-            i = self.handle.expect( [ "password", "\$" ] )
+            i = self.handle.expect( [ "password", self.prompt ] )
             if i == 0:
                 main.log.error( "Error, sudo asking for password" )
                 main.log.error( self.handle.before )
@@ -260,12 +260,12 @@
     def pingLongKill( self ):
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             command = "sudo kill -SIGING `pgrep ping`"
             main.log.info( command )
             self.execute( cmd=command, prompt="(.*)", timeout=10 )
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             return main.TRUE
         except pexpect.TIMEOUT:
             main.log.exception( self.name + ": TIMEOUT exception found in pingLongKill" )
@@ -330,7 +330,7 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             args = utilities.parse_args( [ "SRC", "TARGET" ], **pingParams )
             command = "mininet/util/m " + \
                 args[ "SRC" ] + " ping " + args[ "TARGET" ] + " -c 4 -W 1 -i .2"
@@ -365,15 +365,15 @@
         try:
             if self.handle:
                 self.handle.sendline( "" )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
                 self.handle.sendline( 'ifconfig -a | grep "sw.. " | wc -l' )
                 self.handle.expect( "wc" )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
                 response = self.handle.before
                 self.handle.sendline(
                     'ps -ef | grep "bash -ms mininet:sw" | grep -v color | wc -l' )
                 self.handle.expect( "color" )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
                 response2 = self.handle.before
 
                 if re.search( num, response ):
@@ -424,7 +424,7 @@
             self.handle.sendline( "" )
             self.handle.sendline( "" )
             i = self.handle.expect( [ 'No\ssuch\device', 'listening\son',
-                                    pexpect.TIMEOUT, "\$" ], timeout=10 )
+                                    pexpect.TIMEOUT, self.prompt ], timeout=10 )
             main.log.info( self.handle.before + self.handle.after )
             if i == 0:
                 main.log.error( self.name + ": tcpdump - No such device exists.\
@@ -459,7 +459,7 @@
         try:
             self.handle.sendline( "sudo pkill tcpdump" )
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
         except pexpect.EOF:
             main.log.error( self.name + ": EOF exception found" )
             main.log.error( self.name + ":     " + self.handle.before )
@@ -487,9 +487,9 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "cd ~/" + name + "/tools/test/topos" )
-            self.handle.expect( "topos\$" )
+            self.handle.expect( "topos"+ self.prompt )
             if ctrllerIP == None:
                 main.log.info( "You need to specify the IP" )
                 return main.FALSE
@@ -531,7 +531,7 @@
         """
         try:
             self.handle.sendline( "" )
-            self.handle.expect( "\$" )
+            self.handle.expect( self.prompt )
             self.handle.sendline( "sudo ~/linc-oe/rel/linc/bin/linc attach" )
             self.handle.expect( ">" )
             return main.TRUE
@@ -548,8 +548,8 @@
             if self.handle:
                 # Close the ssh connection
                 self.handle.sendline( "" )
-                # self.handle.expect( "\$" )
-                i = self.handle.expect( [ '\$', 'mininet>', pexpect.TIMEOUT,
+                # self.handle.expect( self.prompt )
+                i = self.handle.expect( [ self.prompt, 'mininet>', pexpect.TIMEOUT,
                                           pexpect.EOF ], timeout=2 )
                 if i == 0:
                     self.handle.sendline( "exit" )
@@ -557,7 +557,7 @@
                 elif i == 1:
                     self.handle.sendline( "exit" )
                     self.handle.expect( "exit" )
-                    self.handle.expect('\$')
+                    self.handle.expect(self.prompt)
                     self.handle.sendline( "exit" )
                     self.handle.expect( "exit" )
                     self.handle.expect( "closed" )
@@ -637,7 +637,7 @@
                 # at the time of writing this function )
                 # Check for existing rules on current input
                 self.handle.sendline( "" )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
                 self.handle.sendline(
                     "sudo iptables -C OUTPUT -p " +
                     str( packetType ) +
@@ -647,7 +647,7 @@
                     str( dstPort ) +
                     " -j " +
                     str( rule ) )
-                i = self.handle.expect( [ "iptables:", "\$" ] )
+                i = self.handle.expect( [ "iptables:", self.prompt ] )
                 print i
                 print self.handle.before
                 print "after: "
@@ -656,7 +656,7 @@
             elif actionType == 'remove':
                 # Check for existing rules on current input
                 self.handle.sendline( "" )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
                 self.handle.sendline(
                     "sudo iptables -C OUTPUT -p " +
                     str( packetType ) +
@@ -666,7 +666,7 @@
                     str( dstPort ) +
                     " -j " +
                     str( rule ) )
-                self.handle.expect( "\$" )
+                self.handle.expect( self.prompt )
             print "before: "
             print self.handle.before
             actualString = self.handle.after
@@ -710,7 +710,7 @@
                         main.log.info( infoString )
 
                         self.handle.expect(
-                            [ "\$", pexpect.EOF, pexpect.TIMEOUT ] )
+                            [ self.prompt, pexpect.EOF, pexpect.TIMEOUT ] )
                     except pexpect.TIMEOUT:
                         main.log.error(
                             self.name +
@@ -754,7 +754,7 @@
                         main.log.info( infoString )
 
                         self.handle.expect(
-                            [ "\$", pexpect.EOF, pexpect.TIMEOUT ] )
+                            [ self.prompt, pexpect.EOF, pexpect.TIMEOUT ] )
                     except pexpect.TIMEOUT:
                         main.log.error(
                             self.name +