On 04/26/2010 01:03 PM, Jason Wang wrote: > Sometimes we need to send an assist string to a session in order to > get the prompt especially when re-connecting to an already logged > serial session. This patch send the assist string before doing the > pattern matching of remote_login. Can you give an example of a prompt assist string, and a typical usage example? What guests require prompt assist strings? > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> > --- > client/tests/kvm/kvm_utils.py | 9 +++++++-- > 1 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/client/tests/kvm/kvm_utils.py b/client/tests/kvm/kvm_utils.py > index 25f3c8c..9adbaee 100644 > --- a/client/tests/kvm/kvm_utils.py > +++ b/client/tests/kvm/kvm_utils.py > @@ -451,7 +451,8 @@ def check_kvm_source_dir(source_dir): > # The following are functions used for SSH, SCP and Telnet communication with > # guests. > > -def remote_login(command, password, prompt, linesep="\n", timeout=10): > +def remote_login(command, password, prompt, linesep="\n", timeout=10, > + prompt_assist = None): ^ ^ These spaces do not conform with PEP 8. > """ > Log into a remote host (guest) using SSH or Telnet. Run the given command > using kvm_spawn and provide answers to the questions asked. If timeout > @@ -468,7 +469,8 @@ def remote_login(command, password, prompt, linesep="\n", timeout=10): > @param timeout: The maximal time duration (in seconds) to wait for each > step of the login procedure (i.e. the "Are you sure" prompt, the > password prompt, the shell prompt, etc) > - > + @prarm prompt_assist: An assistant string sent before the pattern Typo ^ > + matching in order to get the prompt for some kinds of shell_client. > @return Return the kvm_spawn object on success and None on failure. > """ > sub = kvm_subprocess.kvm_shell_session(command, > @@ -479,6 +481,9 @@ def remote_login(command, password, prompt, linesep="\n", timeout=10): > > logging.debug("Trying to login with command '%s'" % command) > > + if prompt_assist is not None: > + sub.sendline(prompt_assist) > + > while True: > (match, text) = sub.read_until_last_line_matches( > [r"[Aa]re you sure", r"[Pp]assword:\s*$", r"^\s*[Ll]ogin:\s*$", > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html