mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-15 22:21:57 -06:00
avocado_qemu: add exec_command function
Sometimes a test needs to send a command to a console without waiting for a pattern as a result, or the command issued do not produce any kind of output, like, for example, a `mount` command. This introduces the `exec_command` function to the avocado_qemu, allowing the test to send a command to the console without the need to match a pattern produced as a result. Signed-off-by: Willian Rampazzo <willianr@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Reviewed-by: Cleber Rosa <crosa@redhat.com> Tested-by: Cleber Rosa <crosa@redhat.com> Message-Id: <20210303205320.146047-2-willianr@redhat.com> Signed-off-by: Cleber Rosa <crosa@redhat.com>
This commit is contained in:
parent
f9cc00346d
commit
cd093d5a2c
1 changed files with 13 additions and 1 deletions
|
@ -93,7 +93,7 @@ def _console_interaction(test, success_message, failure_message,
|
||||||
if not msg:
|
if not msg:
|
||||||
continue
|
continue
|
||||||
console_logger.debug(msg)
|
console_logger.debug(msg)
|
||||||
if success_message in msg:
|
if success_message is None or success_message in msg:
|
||||||
break
|
break
|
||||||
if failure_message and failure_message in msg:
|
if failure_message and failure_message in msg:
|
||||||
console.close()
|
console.close()
|
||||||
|
@ -140,6 +140,18 @@ def wait_for_console_pattern(test, success_message, failure_message=None,
|
||||||
"""
|
"""
|
||||||
_console_interaction(test, success_message, failure_message, None, vm=vm)
|
_console_interaction(test, success_message, failure_message, None, vm=vm)
|
||||||
|
|
||||||
|
def exec_command(test, command):
|
||||||
|
"""
|
||||||
|
Send a command to a console (appending CRLF characters), while logging
|
||||||
|
the content.
|
||||||
|
|
||||||
|
:param test: an Avocado test containing a VM.
|
||||||
|
:type test: :class:`avocado_qemu.Test`
|
||||||
|
:param command: the command to send
|
||||||
|
:type command: str
|
||||||
|
"""
|
||||||
|
_console_interaction(test, None, None, command + '\r')
|
||||||
|
|
||||||
def exec_command_and_wait_for_pattern(test, command,
|
def exec_command_and_wait_for_pattern(test, command,
|
||||||
success_message, failure_message=None):
|
success_message, failure_message=None):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue