On Wed, May 27, 2020 at 11:20 AM Alex Bennée <alex.bennee@linaro.org> wrote:
>
>
> Pavel Dovgalyuk <Pavel.Dovgaluk@gmail.com> writes:
>
> > Console interaction in avocado scripts was possible only with single
> > default VM.
> > This patch modifies the function parameters to allow passing a specific
> > VM as a parameter to interact with it.
> >
> > Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
> > Reviewed-by: Willian Rampazzo <willianr@redhat.com>
> > ---
> > 0 files changed
> >
> > diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py
> > index 59e7b4f763..77d1c1d9ff 100644
> > --- a/tests/acceptance/avocado_qemu/__init__.py
> > +++ b/tests/acceptance/avocado_qemu/__init__.py
> > @@ -69,13 +69,15 @@ def pick_default_qemu_bin(arch=None):
> >
> >
> > def _console_interaction(test, success_message, failure_message,
> > - send_string, keep_sending=False):
> > + send_string, keep_sending=False, vm=None):
>
> is it not possible to make vm=test.vm to avoid having...
This will cause a NameError as `test` is also a parameter here.
>
> > assert not keep_sending or send_string
> > - console = test.vm.console_socket.makefile()
> > + if vm is None:
> > + vm = test.vm
>
> to do this here?
>
> > + console = vm.console_socket.makefile()
> > console_logger = logging.getLogger('console')
> > while True:
> > if send_string:
> > - test.vm.console_socket.sendall(send_string.encode())
> > + vm.console_socket.sendall(send_string.encode())
> > if not keep_sending:
> > send_string = None # send only once
> > msg = console.readline().strip()
> > @@ -115,7 +117,8 @@ def interrupt_interactive_console_until_pattern(test, success_message,
> > _console_interaction(test, success_message, failure_message,
> > interrupt_string, True)
> >
> > -def wait_for_console_pattern(test, success_message, failure_message=None):
> > +def wait_for_console_pattern(test, success_message, failure_message=None,
> > + vm=None):
> > """
> > Waits for messages to appear on the console, while logging the content
> >
> > @@ -125,7 +128,7 @@ def wait_for_console_pattern(test, success_message, failure_message=None):
> > :param success_message: if this message appears, test succeeds
> > :param failure_message: if this message appears, test fails
> > """
> > - _console_interaction(test, success_message, failure_message, None)
> > + _console_interaction(test, success_message, failure_message, None, vm=vm)
> >
> > def exec_command_and_wait_for_pattern(test, command,
> > success_message, failure_message=None):
>
> Otherwise:
>
> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
>
> --
> Alex Bennée
>