All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: "David Gibson" <david@gibson.dropbear.id.au>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: "Fam Zheng" <fam@euphon.net>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Aleksandar Rikalo" <arikalo@wavecomp.com>,
	qemu-devel@nongnu.org, "Kamil Rytarowski" <kamil@netbsd.org>,
	qemu-ppc@nongnu.org, "Artyom Tarasenko" <atar4qemu@gmail.com>,
	"Cleber Rosa" <crosa@redhat.com>,
	"Hervé Poussineau" <hpoussin@reactos.org>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Aurelien Jarno" <aurelien@aurel32.net>
Subject: Re: [PATCH v3 4/9] tests/acceptance: Refactor exec_command_and_wait_for_pattern()
Date: Wed, 23 Oct 2019 17:54:23 +0200	[thread overview]
Message-ID: <a5075551-1fcc-ed38-ae96-a7782f7fa3fc@redhat.com> (raw)
In-Reply-To: <20191020101003.GM1960@umbus.fritz.box>

On 10/20/19 12:10 PM, David Gibson wrote:
> On Thu, Oct 17, 2019 at 06:52:34PM +0200, Philippe Mathieu-Daudé wrote:
>> From: Philippe Mathieu-Daudé <philmd@redhat.com>
>>
>> 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.

Indeed, I reordered while rebasing and didn't notice the change,
thanks.

>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>>   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):
> 


  reply	other threads:[~2019-10-23 16:24 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-17 16:52 [PATCH v3 0/9] tests/acceptance: Add tests for the PReP/40p machine Philippe Mathieu-Daudé
2019-10-17 16:52 ` [PATCH v3 1/9] Acceptance tests: refactor wait_for_console_pattern Philippe Mathieu-Daudé
2019-10-20  6:36   ` David Gibson
2019-10-17 16:52 ` [RFC PATCH v3 2/9] tests/acceptance: Fix wait_for_console_pattern() hangs Philippe Mathieu-Daudé
2019-10-17 16:52 ` [PATCH v3 3/9] tests/acceptance: Send <carriage return> on serial lines Philippe Mathieu-Daudé
2019-10-20 10:09   ` David Gibson
2019-10-20 14:11     ` Philippe Mathieu-Daudé
2019-10-17 16:52 ` [PATCH v3 4/9] tests/acceptance: Refactor exec_command_and_wait_for_pattern() Philippe Mathieu-Daudé
2019-10-20 10:10   ` David Gibson
2019-10-23 15:54     ` Philippe Mathieu-Daudé [this message]
2019-10-17 16:52 ` [PATCH v3 5/9] tests/acceptance: Add test that runs NetBSD 4.0 installer on PRep/40p Philippe Mathieu-Daudé
2019-10-17 16:52 ` [PATCH v3 6/9] tests/acceptance: Test Open Firmware on the PReP/40p Philippe Mathieu-Daudé
2019-10-17 16:52 ` [PATCH v3 7/9] tests/acceptance: Test OpenBIOS " Philippe Mathieu-Daudé
2019-10-17 16:52 ` [PATCH v3 8/9] tests/acceptance: Test Sandalfoot initrd " Philippe Mathieu-Daudé
2019-10-17 16:52 ` [PATCH v3 9/9] .travis.yml: Let the avocado job run the 40p tests Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a5075551-1fcc-ed38-ae96-a7782f7fa3fc@redhat.com \
    --to=philmd@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=arikalo@wavecomp.com \
    --cc=atar4qemu@gmail.com \
    --cc=aurelien@aurel32.net \
    --cc=crosa@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=ehabkost@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=fam@euphon.net \
    --cc=hpoussin@reactos.org \
    --cc=kamil@netbsd.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.