Message ID | 20210503224326.206208-3-wainersm@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/acceptance: Introducing the ConsoleMixIn | expand |
On Mon, May 3, 2021 at 7:43 PM Wainer dos Santos Moschetta <wainersm@redhat.com> wrote: > > This moved exec_command() to ConsoleMixIn class. > > Only the multiprocess.py file were touched by that change, so its tests > were adapted. > > Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com> > --- > tests/acceptance/avocado_qemu/__init__.py | 22 ++++++++++------------ > tests/acceptance/multiprocess.py | 6 +++--- > 2 files changed, 13 insertions(+), 15 deletions(-) > > diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py > index 6f4e0edfa3..4d3b869765 100644 > --- a/tests/acceptance/avocado_qemu/__init__.py > +++ b/tests/acceptance/avocado_qemu/__init__.py > @@ -114,18 +114,6 @@ def wait_for_console_pattern(test, success_message, failure_message=None, > """ > _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, > success_message, failure_message=None): > """ > @@ -145,6 +133,16 @@ def exec_command_and_wait_for_pattern(test, command, > class ConsoleMixIn(): > """Contains utilities for interacting with a guest via Console.""" > > + def exec_command(self, command): > + """ > + Send a command to a console (appending CRLF characters), while logging > + the content. > + > + :param command: the command to send > + :type command: str > + """ > + _console_interaction(self, None, None, command + '\r') > + > def interrupt_interactive_console_until_pattern(self, success_message, > failure_message=None, > interrupt_string='\r'): > diff --git a/tests/acceptance/multiprocess.py b/tests/acceptance/multiprocess.py > index 96627f022a..41d3e51164 100644 > --- a/tests/acceptance/multiprocess.py > +++ b/tests/acceptance/multiprocess.py > @@ -9,10 +9,10 @@ > > from avocado_qemu import Test > from avocado_qemu import wait_for_console_pattern > -from avocado_qemu import exec_command > +from avocado_qemu import ConsoleMixIn > from avocado_qemu import exec_command_and_wait_for_pattern > > -class Multiprocess(Test): > +class Multiprocess(Test, ConsoleMixIn): Same comment here from the previous patch regarding the order of classes. > """ > :avocado: tags=multiprocess > """ > @@ -59,7 +59,7 @@ def do_test(self, kernel_url, initrd_url, kernel_command_line, > self.vm.launch() > wait_for_console_pattern(self, 'as init process', > 'Kernel panic - not syncing') > - exec_command(self, 'mount -t sysfs sysfs /sys') > + self.exec_command('mount -t sysfs sysfs /sys') > exec_command_and_wait_for_pattern(self, > 'cat /sys/bus/pci/devices/*/uevent', > 'PCI_ID=1000:0012') > -- > 2.29.2 >
diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py index 6f4e0edfa3..4d3b869765 100644 --- a/tests/acceptance/avocado_qemu/__init__.py +++ b/tests/acceptance/avocado_qemu/__init__.py @@ -114,18 +114,6 @@ def wait_for_console_pattern(test, success_message, failure_message=None, """ _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, success_message, failure_message=None): """ @@ -145,6 +133,16 @@ def exec_command_and_wait_for_pattern(test, command, class ConsoleMixIn(): """Contains utilities for interacting with a guest via Console.""" + def exec_command(self, command): + """ + Send a command to a console (appending CRLF characters), while logging + the content. + + :param command: the command to send + :type command: str + """ + _console_interaction(self, None, None, command + '\r') + def interrupt_interactive_console_until_pattern(self, success_message, failure_message=None, interrupt_string='\r'): diff --git a/tests/acceptance/multiprocess.py b/tests/acceptance/multiprocess.py index 96627f022a..41d3e51164 100644 --- a/tests/acceptance/multiprocess.py +++ b/tests/acceptance/multiprocess.py @@ -9,10 +9,10 @@ from avocado_qemu import Test from avocado_qemu import wait_for_console_pattern -from avocado_qemu import exec_command +from avocado_qemu import ConsoleMixIn from avocado_qemu import exec_command_and_wait_for_pattern -class Multiprocess(Test): +class Multiprocess(Test, ConsoleMixIn): """ :avocado: tags=multiprocess """ @@ -59,7 +59,7 @@ def do_test(self, kernel_url, initrd_url, kernel_command_line, self.vm.launch() wait_for_console_pattern(self, 'as init process', 'Kernel panic - not syncing') - exec_command(self, 'mount -t sysfs sysfs /sys') + self.exec_command('mount -t sysfs sysfs /sys') exec_command_and_wait_for_pattern(self, 'cat /sys/bus/pci/devices/*/uevent', 'PCI_ID=1000:0012')
This moved exec_command() to ConsoleMixIn class. Only the multiprocess.py file were touched by that change, so its tests were adapted. Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com> --- tests/acceptance/avocado_qemu/__init__.py | 22 ++++++++++------------ tests/acceptance/multiprocess.py | 6 +++--- 2 files changed, 13 insertions(+), 15 deletions(-)