From: Cleber Rosa <crosa@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Caio Carrara" <ccarrara@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Aleksandar Rikalo" <arikalo@wavecomp.com>,
"Aurelien Jarno" <aurelien@aurel32.net>,
"Fam Zheng" <fam@euphon.net>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"Stefan Markovic" <smarkovic@wavecomp.com>,
qemu-s390x@nongnu.org,
"Aleksandar Markovic" <amarkovic@wavecomp.com>,
"Cleber Rosa" <crosa@redhat.com>,
"Cornelia Huck" <cohuck@redhat.com>
Subject: [Qemu-devel] [PATCH v3 12/20] Boot Linux Console Test: refactor the console watcher into utility method
Date: Wed, 20 Feb 2019 19:57:45 -0500 [thread overview]
Message-ID: <20190221005753.27955-13-crosa@redhat.com> (raw)
In-Reply-To: <20190221005753.27955-1-crosa@redhat.com>
This introduces a utility method that monitors the console device and
looks for either a message that signals the test success or failure.
Signed-off-by: Cleber Rosa <crosa@redhat.com>
Reviewed-by: Caio Carrara <ccarrara@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
tests/acceptance/boot_linux_console.py | 30 ++++++++++++++++++--------
1 file changed, 21 insertions(+), 9 deletions(-)
diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index fa721a7355..e2ef43e7ce 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -25,6 +25,25 @@ class BootLinuxConsole(Test):
KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '
+ def wait_for_console_pattern(self, success_message,
+ failure_message='Kernel panic - not syncing'):
+ """
+ Waits for messages to appear on the console, while logging the content
+
+ :param success_message: if this message appears, test succeeds
+ :param failure_message: if this message appears, test fails
+ """
+ console = self.vm.console_socket.makefile()
+ console_logger = logging.getLogger('console')
+ while True:
+ msg = console.readline()
+ console_logger.debug(msg.strip())
+ if success_message in msg:
+ break
+ if failure_message in msg:
+ fail = 'Failure message found in console: %s' % failure_message
+ self.fail(fail)
+
def test_x86_64_pc(self):
"""
:avocado: tags=arch:x86_64
@@ -41,12 +60,5 @@ class BootLinuxConsole(Test):
self.vm.add_args('-kernel', kernel_path,
'-append', kernel_command_line)
self.vm.launch()
- console = self.vm.console_socket.makefile()
- console_logger = logging.getLogger('console')
- while True:
- msg = console.readline()
- console_logger.debug(msg.strip())
- if 'Kernel command line: %s' % kernel_command_line in msg:
- break
- if 'Kernel panic - not syncing' in msg:
- self.fail("Kernel panic reached")
+ console_pattern = 'Kernel command line: %s' % kernel_command_line
+ self.wait_for_console_pattern(console_pattern)
--
2.20.1
next prev parent reply other threads:[~2019-02-21 0:59 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-21 0:57 [Qemu-devel] [PATCH v3 00/20] Acceptance Tests: target architecture support Cleber Rosa
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 01/20] scripts/qemu.py: log QEMU launch command line Cleber Rosa
2019-03-01 10:16 ` Cornelia Huck
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 02/20] Acceptance tests: show avocado test execution by default Cleber Rosa
2019-03-01 10:19 ` Cornelia Huck
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 03/20] Acceptance tests: improve docstring on pick_default_qemu_bin() Cleber Rosa
2019-03-01 10:21 ` Cornelia Huck
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 04/20] Acceptance tests: fix doc reference to avocado_qemu directory Cleber Rosa
2019-03-01 10:22 ` Cornelia Huck
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 05/20] Acceptance tests: introduce arch parameter and attribute Cleber Rosa
2019-03-01 10:27 ` Cornelia Huck
2019-03-11 23:28 ` Cleber Rosa
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 06/20] Acceptance tests: use "arch:" tag to filter target specific tests Cleber Rosa
2019-03-01 10:32 ` Cornelia Huck
2019-03-11 23:45 ` Cleber Rosa
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 07/20] Acceptance tests: look for target architecture in test tags first Cleber Rosa
2019-03-01 10:37 ` Cornelia Huck
2019-03-11 23:50 ` Cleber Rosa
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 08/20] Boot Linux Console Test: rename the x86_64 after the arch and machine Cleber Rosa
2019-03-01 10:38 ` Cornelia Huck
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 09/20] Boot Linux Console Test: update the x86_64 kernel Cleber Rosa
2019-03-01 10:41 ` Cornelia Huck
2019-03-11 23:58 ` Cleber Rosa
2019-03-02 21:42 ` Philippe Mathieu-Daudé
2019-03-12 0:00 ` Cleber Rosa
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 10/20] Boot Linux Console Test: add common kernel command line options Cleber Rosa
2019-03-01 10:43 ` Cornelia Huck
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 11/20] Boot Linux Console Test: increase timeout Cleber Rosa
2019-03-01 10:45 ` Cornelia Huck
2019-03-02 21:43 ` Philippe Mathieu-Daudé
2019-03-12 0:04 ` Cleber Rosa
2019-02-21 0:57 ` Cleber Rosa [this message]
2019-03-01 10:47 ` [Qemu-devel] [PATCH v3 12/20] Boot Linux Console Test: refactor the console watcher into utility method Cornelia Huck
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 13/20] scripts/qemu.py: support adding a console with the default serial device Cleber Rosa
2019-03-01 10:55 ` Cornelia Huck
2019-03-12 0:47 ` Cleber Rosa
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 14/20] Boot Linux Console Test: add a test for mips + malta Cleber Rosa
2019-02-22 20:02 ` Aleksandar Markovic
2019-03-02 21:44 ` Philippe Mathieu-Daudé
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 15/20] Boot Linux Console Test: add a test for mips64el " Cleber Rosa
2019-02-22 20:01 ` Aleksandar Markovic
2019-03-02 21:39 ` Philippe Mathieu-Daudé
2019-03-12 1:06 ` Cleber Rosa
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 16/20] Boot Linux Console Test: add a test for ppc64 + pseries Cleber Rosa
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 17/20] Boot Linux Console Test: add a test for aarch64 + virt Cleber Rosa
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 18/20] Boot Linux Console Test: add a test for arm " Cleber Rosa
2019-03-02 20:13 ` Philippe Mathieu-Daudé
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 19/20] Boot Linux Console Test: add a test for s390x + s390-ccw-virtio Cleber Rosa
2019-02-21 0:57 ` [Qemu-devel] [PATCH v3 20/20] Boot Linux Console Test: add a test for alpha + clipper Cleber Rosa
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=20190221005753.27955-13-crosa@redhat.com \
--to=crosa@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=amarkovic@wavecomp.com \
--cc=arikalo@wavecomp.com \
--cc=aurelien@aurel32.net \
--cc=ccarrara@redhat.com \
--cc=cohuck@redhat.com \
--cc=ehabkost@redhat.com \
--cc=fam@euphon.net \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=smarkovic@wavecomp.com \
--cc=wainersm@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).