On Thu, Oct 17, 2019 at 06:52:34PM +0200, Philippe Mathieu-Daudé wrote: > From: Philippe Mathieu-Daudé > > The same utility method is already present in two different test > files, This patch only appears to remove it from one, though. > so let's consolidate it into a single utility function. > > Signed-off-by: Philippe Mathieu-Daudé > --- > tests/acceptance/avocado_qemu/__init__.py | 19 +++++++++++++++++++ > tests/acceptance/boot_linux_console.py | 12 ++++-------- > 2 files changed, 23 insertions(+), 8 deletions(-) > > diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py > index 39f72945cd..4d7d6b640a 100644 > --- a/tests/acceptance/avocado_qemu/__init__.py > +++ b/tests/acceptance/avocado_qemu/__init__.py > @@ -80,6 +80,25 @@ def wait_for_console_pattern(test, success_message, > test.fail(fail) > > > +def exec_command_and_wait_for_pattern(test, command, > + success_message, failure_message): > + """ > + Send a command to a console (appending CRLF characters), then wait > + for success_message to appear on the console, while logging the. > + content. Mark the test as failed if failure_message is found instead. > + > + :param test: an Avocado test containing a VM that will have its console > + read and probed for a success or failure message > + :type test: :class:`avocado_qemu.Test` > + :param command: the command to send > + :param success_message: if this message appears, test succeeds > + :param failure_message: if this message appears, test fails > + """ > + command += '\r\n' > + self.vm.console_socket.sendall(command.encode()) > + wait_for_console_pattern(self, success_message) > + > + > class Test(avocado.Test): > def setUp(self): > self._vms = {} > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py > index bf9861296a..cc4d9be625 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -14,6 +14,7 @@ import gzip > import shutil > > from avocado_qemu import Test > +from avocado_qemu import exec_command_and_wait_for_pattern > from avocado_qemu import wait_for_console_pattern > from avocado.utils import process > from avocado.utils import archive > @@ -29,11 +30,6 @@ class BootLinuxConsole(Test): > > KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 ' > > - def exec_command_and_wait_for_pattern(self, command, success_message): > - command += '\r\n' > - self.vm.console_socket.sendall(command.encode()) > - wait_for_console_pattern(self, success_message) > - > def extract_from_deb(self, deb, path): > """ > Extracts a file from a deb package into the test workdir > @@ -162,11 +158,11 @@ class BootLinuxConsole(Test): > self.vm.launch() > wait_for_console_pattern(self, 'Boot successful.') > > - self.exec_command_and_wait_for_pattern('cat /proc/cpuinfo', > + exec_command_and_wait_for_pattern(self, 'cat /proc/cpuinfo', > 'BogoMIPS') > - self.exec_command_and_wait_for_pattern('uname -a', > + exec_command_and_wait_for_pattern(self, 'uname -a', > 'Debian') > - self.exec_command_and_wait_for_pattern('reboot', > + exec_command_and_wait_for_pattern(self, 'reboot', > 'reboot: Restarting system') > > def do_test_mips_malta32el_nanomips(self, kernel_url, kernel_hash): -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson