Fix regular expression in connect to look for the $ character instead of the end of line anchor
diff --git a/TestON/drivers/common/clidriver.py b/TestON/drivers/common/clidriver.py
index 0406e48..9db8f6f 100644
--- a/TestON/drivers/common/clidriver.py
+++ b/TestON/drivers/common/clidriver.py
@@ -53,7 +53,7 @@
self.handle =pexpect.spawn('ssh -X '+self.user_name+'@'+self.ip_address,maxread=50000)
self.handle.logfile = self.logfile_handler
- i=self.handle.expect([ssh_newkey,'password:',pexpect.EOF,pexpect.TIMEOUT,refused,'>|#|$'],120)
+ i=self.handle.expect([ssh_newkey,'password:',pexpect.EOF,pexpect.TIMEOUT,refused,'>|#|\$'],120)
if i==0:
main.log.info("ssh key confirmation received, send yes")
@@ -62,7 +62,7 @@
if i==1:
main.log.info("ssh connection asked for password, gave password")
self.handle.sendline(self.pwd)
- self.handle.expect('>|#|$')
+ self.handle.expect('>|#|\$')
elif i==2:
main.log.error("Connection timeout")
@@ -76,8 +76,8 @@
elif i==5:
main.log.info("Password not required logged in")
- self.handle.sendline("\r")
- self.handle.expect('>|#|$', 2)
+ self.handle.sendline("\n")
+ self.handle.expect('>|#|\$', 2)
return self.handle
@@ -99,7 +99,7 @@
'''
result = super(CLI, self).execute(self)
- defaultPrompt = '.*[$>\#]'
+ defaultPrompt = '.*[\$>\#]'
args = utilities.parse_args(["CMD", "TIMEOUT", "PROMPT", "MORE"], **execparams)
expectPrompt = args["PROMPT"] if args["PROMPT"] else defaultPrompt
self.LASTRSP = ""
@@ -163,7 +163,7 @@
i = handle.expect([".ssword:*",default, pexpect.EOF])
if i==0:
handle.sendline(pwd)
- handle.sendline("\r")
+ handle.sendline("\n")
if i==1:
handle.expect(default)
@@ -212,7 +212,7 @@
main.log.error("ssh: connect to host "+ip_address+" port 22: Connection refused")
return main.FALSE
- self.handle.sendline("\r")
+ self.handle.sendline("\n")
return self.handle