From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Amador Pahim" <apahim@redhat.com>,
"Stefan Hajnoczi" <stefanha@gmail.com>,
"Lukáš Doktor" <ldoktor@redhat.com>,
"Alistair Francis" <alistair23@gmail.com>,
"Cleber Rosa" <crosa@redhat.com>, "Fam Zheng" <famz@redhat.com>
Subject: Re: [Qemu-devel] [RFC 02/24] Introduce the basic framework to run Avocado tests
Date: Fri, 20 Apr 2018 16:59:33 -0300 [thread overview]
Message-ID: <20180420195933.GG29865@localhost.localdomain> (raw)
In-Reply-To: <20180420181951.7252-3-ehabkost@redhat.com>
On Fri, Apr 20, 2018 at 03:19:29PM -0300, Eduardo Habkost wrote:
> From: Amador Pahim <apahim@redhat.com>
>
> Avocado Testing Framework can help with functional tests in
> qemu development process. This patch creates the basic infrastructure
> to use with Avocado tests. It contains:
>
> - A README file with the initial documentation.
> - The test module which inherits from avocado.Test and adds a VM object,
> created from scripts/qemu.py module. The QemuTest class is the test
> API for the actual Qemu tests to inherit from.
> - A parameters yaml file with the supported keys.
> - A variants yaml file with the Qemu supported architectures.
>
> After this commit, you can expect a series of real-world tests, written
> using this new framework.
>
> Signed-off-by: Amador Pahim <apahim@redhat.com>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> scripts/qemu.py | 12 +-
> tests/avocado/README.rst | 111 ++++++++++
> tests/avocado/avocado_qemu/__init__.py | 0
> tests/avocado/avocado_qemu/test.py | 365 +++++++++++++++++++++++++++++++++
> tests/avocado/parameters.yaml | 28 +++
> tests/avocado/variants.yaml | 62 ++++++
> tests/qemu-iotests/iotests.py | 28 +--
> 7 files changed, 586 insertions(+), 20 deletions(-)
> create mode 100644 tests/avocado/README.rst
> create mode 100644 tests/avocado/avocado_qemu/__init__.py
> create mode 100644 tests/avocado/avocado_qemu/test.py
> create mode 100644 tests/avocado/parameters.yaml
> create mode 100644 tests/avocado/variants.yaml
>
> diff --git a/scripts/qemu.py b/scripts/qemu.py
> index 9e9d502543..bd66620f45 100644
> --- a/scripts/qemu.py
> +++ b/scripts/qemu.py
> @@ -81,7 +81,7 @@ class QEMUMachine(object):
> self._qemu_log_file = None
> self._popen = None
> self._binary = binary
> - self._args = list(args) # Force copy args in case we modify them
> + self.args = list(args) # Force copy args in case we modify them
This should go to a separate patch.
Also, I would prefer a self.add_args(...) interface, instead of
exposing self.args to the outside directly. I remember some past
discussions about this, but I don't remember what was the
conclusion.
I will review tests/avocado/* later.
> self._wrapper = wrapper
> self._events = []
> self._iolog = None
> @@ -109,8 +109,8 @@ class QEMUMachine(object):
> # This can be used to add an unused monitor instance.
> def add_monitor_telnet(self, ip, port):
> args = 'tcp:%s:%d,server,nowait,telnet' % (ip, port)
> - self._args.append('-monitor')
> - self._args.append(args)
> + self.args.append('-monitor')
> + self.args.append(args)
>
> def add_fd(self, fd, fdset, opaque, opts=''):
> '''Pass a file descriptor to the VM'''
> @@ -120,8 +120,8 @@ class QEMUMachine(object):
> if opts:
> options.append(opts)
>
> - self._args.append('-add-fd')
> - self._args.append(','.join(options))
> + self.args.append('-add-fd')
> + self.args.append(','.join(options))
> return self
>
> def send_fd_scm(self, fd_file_path):
> @@ -184,7 +184,7 @@ class QEMUMachine(object):
> '-display', 'none', '-vga', 'none']
>
> def _create_console(self, console_address):
> - for item in self._args:
> + for item in self.args:
> for option in ['isa-serial', 'spapr-vty', 'sclpconsole']:
> if option in item:
> return []
[...]
--
Eduardo
next prev parent reply other threads:[~2018-04-20 20:00 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-20 18:19 [Qemu-devel] [RFC 00/24] Avocado-based functional tests Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 01/24] qemu.py: Introduce _create_console() method Eduardo Habkost
2018-04-20 19:56 ` Eduardo Habkost
2018-04-23 3:26 ` Thomas Huth
2018-04-23 19:47 ` Eduardo Habkost
2018-05-11 15:37 ` Cleber Rosa
2018-04-20 18:19 ` [Qemu-devel] [RFC 02/24] Introduce the basic framework to run Avocado tests Eduardo Habkost
2018-04-20 19:59 ` Eduardo Habkost [this message]
2018-04-20 18:19 ` [Qemu-devel] [RFC 03/24] avocado_qemu: Improve handle_prompts to allow login after booted vm Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 04/24] avocado_qemu: Be lenient towards poluted serial console Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 05/24] avocado_qemu: Increase the login timeout to 60s Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 06/24] avocado_qemu: Add " " after the default prompt regexp Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 07/24] avocado_qemu: Store "arch" in VM Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 08/24] avocado_qemu: Provide defaults for user and pass Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 09/24] avocado_qemu: Ignore kernel messages on get_console Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 10/24] avocado_qemu: Add support to request image for testing Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 11/24] avocado_qemu: Fix exception name in caller Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 12/24] avocado_qemu: Improve migration error message Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 13/24] avocado_qemu: Functional test for RHBZ#1431939 Eduardo Habkost
2018-04-30 13:02 ` Stefan Hajnoczi
2018-05-07 14:03 ` Eduardo Habkost
2018-05-10 9:14 ` Stefan Hajnoczi
2018-04-20 18:19 ` [Qemu-devel] [RFC 14/24] avocado_qemu: Functional test for RHBZ#1447027 Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 15/24] avocado_qemu: Functional test for RHBZ#1436616 Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 16/24] avocado_qemu: Functional test for RHBZ1473203 Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 17/24] avocado_qemu: Remove duplicate PortTracker implementation Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 18/24] avocado_qemu: Simplify the installation instructions Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 19/24] avocado_qemu: Clean unneeded 'pass' Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 20/24] avocado_qemu: Set QMP log level to INFO Eduardo Habkost
2018-04-20 20:03 ` Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 21/24] avocado_qemu: Introduce the add_image() VM API Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 22/24] avocado_qemu: Tests fixes Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 23/24] avocado_qemu: Force vmimage distro Eduardo Habkost
2018-04-20 18:19 ` [Qemu-devel] [RFC 24/24] avocado_qemu: Add a few VNC related tests Eduardo Habkost
2018-04-20 18:47 ` [Qemu-devel] [RFC 00/24] Avocado-based functional tests no-reply
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=20180420195933.GG29865@localhost.localdomain \
--to=ehabkost@redhat.com \
--cc=alistair23@gmail.com \
--cc=apahim@redhat.com \
--cc=crosa@redhat.com \
--cc=famz@redhat.com \
--cc=ldoktor@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.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 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.