All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Caio Carrara <ccarrara@redhat.com>, Cleber Rosa <crosa@redhat.com>
Cc: qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
	"Stefan Markovic" <smarkovic@wavecomp.com>,
	"Aleksandar Markovic" <amarkovic@wavecomp.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	qemu-s390x@nongnu.org, "Aurelien Jarno" <aurelien@aurel32.net>,
	"Cornelia Huck" <cohuck@redhat.com>, "Fam Zheng" <fam@euphon.net>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Aleksandar Rikalo" <arikalo@wavecomp.com>
Subject: Re: [Qemu-devel] [PATCH 05/18] Acceptance tests: introduce arch parameter and attribute
Date: Tue, 22 Jan 2019 10:54:09 +0100	[thread overview]
Message-ID: <ef455369-493b-2b8a-26ae-b4be3f820a0a@redhat.com> (raw)
In-Reply-To: <20190118142830.GB24013@localhost.localdomain>

On 1/18/19 3:28 PM, Caio Carrara wrote:
> Hi, Cleber.
> 
> On Thu, Jan 17, 2019 at 01:56:15PM -0500, Cleber Rosa wrote:
>> It's useful to define the architecture that should be used in
>> situations such as:
>>  * the intended target of the QEMU binary to be used on tests
>>  * the architecture of code to be run within the QEMU binary, such
>>    as a kernel image or a full blown guest OS image
>>
>> This commit introduces both a test parameter and a test instance
>> attribute, that will contain such a value.
>>
>> Now, when the "arch" test parameter is given, it will influence the
>> selection of the default QEMU binary, if one is not given explicitly
>> by means of the "qemu_img" parameter.
>>
>> Signed-off-by: Cleber Rosa <crosa@redhat.com>
>> ---
>>  docs/devel/testing.rst                    | 18 ++++++++++++++++++
>>  tests/acceptance/avocado_qemu/__init__.py | 13 ++++++++++---
>>  2 files changed, 28 insertions(+), 3 deletions(-)
>>
>> diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst
>> index 44c9b3ae74..60a16c5834 100644
>> --- a/docs/devel/testing.rst
>> +++ b/docs/devel/testing.rst
>> @@ -689,6 +689,17 @@ vm
>>  A QEMUMachine instance, initially configured according to the given
>>  ``qemu_bin`` parameter.
>>  
>> +arch
>> +~~~~
>> +
>> +The architecture that will be used on a number of different
>> +scenarios.  For instance, when a QEMU binary is not explicitly given,
>> +the one selected will depend on this attribute.
>> +
>> +The ``arch`` attribute will be set to the test parameter of the same
>> +name, and if one is not given explicitly, it will default to the
>> +system architecture (as given by ``uname``).
> 
> Would you think it's important to make explicit that it's the *host*
> system architecture? Just like you did in the docstrings of
> pick_default_qemu_bin().

Agreed.

> 
>> +
>>  qemu_bin
>>  ~~~~~~~~
>>  
>> @@ -711,6 +722,13 @@ like the following:
>>  
>>    PARAMS (key=qemu_bin, path=*, default=x86_64-softmmu/qemu-system-x86_64) => 'x86_64-softmmu/qemu-system-x86_64
>>  
>> +arch
>> +~~~~
>> +
>> +The architecture that will be used on a number of different scenarios.
>> +This parameter has a direct relation with the ``arch`` attribute.  If
>> +not given, it will default to None.
>> +
>>  qemu_bin
>>  ~~~~~~~~
>>  
>> diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py
>> index d8d5b48dac..7a38851753 100644
>> --- a/tests/acceptance/avocado_qemu/__init__.py
>> +++ b/tests/acceptance/avocado_qemu/__init__.py
>> @@ -23,16 +23,22 @@ def is_readable_executable_file(path):
>>      return os.path.isfile(path) and os.access(path, os.R_OK | os.X_OK)
>>  
>>  
>> -def pick_default_qemu_bin():
>> +def pick_default_qemu_bin(arch=None):
>>      """
>>      Picks the path of a QEMU binary, starting either in the current working
>>      directory or in the source tree root directory.
>>  
>> +    :param arch: the arch to use when looking for a QEMU binary (the target
>> +                 will match the arch given).  If None (the default) arch
>> +                 will be the current host system arch (as given by
>> +                 :func:`os.uname`).

\o/ thanks :)

>> +    :type arch: str
>>      :returns: the path to the default QEMU binary or None if one could not
>>                be found
>>      :rtype: str or None
>>      """
>> -    arch = os.uname()[4]
>> +    if arch is None:
>> +        arch = os.uname()[4]
>>      qemu_bin_relative_path = os.path.join("%s-softmmu" % arch,
>>                                            "qemu-system-%s" % arch)
>>      if is_readable_executable_file(qemu_bin_relative_path):
>> @@ -47,8 +53,9 @@ def pick_default_qemu_bin():
>>  class Test(avocado.Test):
>>      def setUp(self):
>>          self.vm = None
>> +        self.arch = self.params.get('arch')
>>          self.qemu_bin = self.params.get('qemu_bin',
>> -                                        default=pick_default_qemu_bin())
>> +                                        default=pick_default_qemu_bin(self.arch))
> 
> Since it was used the named argument in function declaration I think
> it's more consistent also use the argument name here in the function
> call: `pick_default_qemu_bin(arch=self.arch)`

With Caio's comments addressed:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> 
>>          if self.qemu_bin is None:
>>              self.cancel("No QEMU binary defined or found in the source tree")
>>          self.vm = QEMUMachine(self.qemu_bin)
>> -- 
>> 2.20.1
>>
> 
> Thanks,
> 

  reply	other threads:[~2019-01-22  9:54 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-17 18:56 [Qemu-devel] [PATCH 00/18] Acceptance Tests: target architecture support Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 01/18] scripts/qemu.py: log QEMU launch command line Cleber Rosa
2019-01-21 20:19   ` Caio Carrara
2019-01-22  9:47   ` Philippe Mathieu-Daudé
2019-01-22 11:17   ` Alex Bennée
2019-01-17 18:56 ` [Qemu-devel] [PATCH 02/18] Acceptance tests: show avocado test execution by default Cleber Rosa
2019-01-21 20:20   ` Caio Carrara
2019-01-22  9:50   ` Philippe Mathieu-Daudé
2019-01-22 11:19   ` Alex Bennée
2019-01-17 18:56 ` [Qemu-devel] [PATCH 03/18] Acceptance tests: improve docstring on pick_default_qemu_bin() Cleber Rosa
2019-01-21 20:20   ` Caio Carrara
2019-01-17 18:56 ` [Qemu-devel] [PATCH 04/18] Acceptance tests: fix doc reference to avocado_qemu directory Cleber Rosa
2019-01-21 20:21   ` Caio Carrara
2019-01-22  9:51   ` Philippe Mathieu-Daudé
2019-01-17 18:56 ` [Qemu-devel] [PATCH 05/18] Acceptance tests: introduce arch parameter and attribute Cleber Rosa
2019-01-18 14:28   ` Caio Carrara
2019-01-22  9:54     ` Philippe Mathieu-Daudé [this message]
2019-01-30 21:49     ` Cleber Rosa
2019-01-30 21:59     ` Cleber Rosa
2019-01-31 13:55   ` Wainer dos Santos Moschetta
2019-01-31 19:01     ` Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 06/18] Acceptance tests: use "arch:" tag to filter target specific tests Cleber Rosa
2019-01-18 10:38   ` Cornelia Huck
2019-01-30 22:15     ` Cleber Rosa
2019-01-21 20:24   ` Caio Carrara
2019-01-17 18:56 ` [Qemu-devel] [PATCH 07/18] Acceptance tests: look for target architecture in test tags first Cleber Rosa
2019-01-21 20:25   ` Caio Carrara
2019-01-17 18:56 ` [Qemu-devel] [PATCH 08/18] Boot Linux Console Test: rename the x86_64 after the arch and machine Cleber Rosa
2019-01-21 20:26   ` Caio Carrara
2019-01-22  9:56   ` Philippe Mathieu-Daudé
2019-01-17 18:56 ` [Qemu-devel] [PATCH 09/18] Boot Linux Console Test: update the x86_64 kernel Cleber Rosa
2019-01-21 20:27   ` Caio Carrara
2019-01-17 18:56 ` [Qemu-devel] [PATCH 10/18] Boot Linux Console Test: refactor the console watcher into utility method Cleber Rosa
2019-01-21 20:28   ` Caio Carrara
2019-01-22 10:06   ` Philippe Mathieu-Daudé
2019-01-31  0:17     ` Cleber Rosa
2019-01-31 17:46   ` Wainer dos Santos Moschetta
2019-01-31 19:29     ` Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 11/18] scripts/qemu.py: support adding a console with the default serial device Cleber Rosa
2019-01-21 20:29   ` Caio Carrara
2019-01-31 18:49   ` Wainer dos Santos Moschetta
2019-01-31 20:05     ` Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 12/18] Boot Linux Console Test: add a test for mips + malta Cleber Rosa
2019-01-21 20:30   ` Caio Carrara
2019-01-22 10:16   ` Philippe Mathieu-Daudé
2019-01-31  0:27     ` Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 13/18] Boot Linux Console Test: add a test for mips64el " Cleber Rosa
2019-01-21 20:31   ` Caio Carrara
2019-01-22 10:19   ` Philippe Mathieu-Daudé
2019-01-31  1:26     ` Cleber Rosa
2019-01-31 10:24       ` Philippe Mathieu-Daudé
2019-01-22 10:57   ` Philippe Mathieu-Daudé
2019-01-31  1:34     ` Cleber Rosa
2019-01-31 10:26       ` Philippe Mathieu-Daudé
2019-01-31 15:06         ` Cleber Rosa
2019-01-31 18:14   ` Wainer dos Santos Moschetta
2019-01-31 20:11     ` Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 14/18] Boot Linux Console Test: add a test for ppc64 + pseries Cleber Rosa
2019-01-21 20:32   ` Caio Carrara
2019-01-22 16:07   ` Alex Bennée
2019-01-31  2:37     ` Cleber Rosa
2019-01-31 10:23       ` Philippe Mathieu-Daudé
2019-01-17 18:56 ` [Qemu-devel] [PATCH 15/18] Boot Linux Console Test: add a test for aarch64 + virt Cleber Rosa
2019-01-21 20:32   ` Caio Carrara
2019-01-31 20:02   ` Wainer dos Santos Moschetta
2019-01-31 20:21     ` Cleber Rosa
2019-01-31 21:26       ` Cleber Rosa
2019-02-01 16:10         ` Cleber Rosa
2019-06-07  3:26           ` Eduardo Habkost
2019-06-07  3:42             ` Eduardo Habkost
2019-06-07 15:44               ` Cleber Rosa
2019-06-07 18:58                 ` Eduardo Habkost
2019-06-10  8:53                   ` Daniel P. Berrangé
2019-06-10 16:50                     ` Cleber Rosa
2019-06-07  7:41             ` Laszlo Ersek
2019-06-07 15:33             ` Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 16/18] Boot Linux Console Test: add a test for arm " Cleber Rosa
2019-01-21 20:33   ` Caio Carrara
2019-01-17 18:56 ` [Qemu-devel] [PATCH 17/18] Boot Linux Console Test: add a test for s390x + s390-ccw-virtio Cleber Rosa
2019-01-18  8:58   ` Cornelia Huck
2019-01-18 13:45     ` Cleber Rosa
2019-01-21 20:34   ` Caio Carrara
2019-01-17 18:56 ` [Qemu-devel] [PATCH 18/18] Boot Linux Console Test: add a test for alpha + clipper Cleber Rosa
2019-01-21 20:34   ` Caio Carrara
2019-01-22 10:52   ` Philippe Mathieu-Daudé
2019-01-31  2:53     ` Cleber Rosa
2019-01-31 10:30       ` Philippe Mathieu-Daudé
2019-01-31 20:23         ` Cleber Rosa
2019-01-21 22:15 ` [Qemu-devel] [PATCH 00/18] Acceptance Tests: target architecture support Aleksandar Markovic
2019-01-22 10:48   ` Philippe Mathieu-Daudé
2019-01-31 15:01     ` Cleber Rosa
2019-02-01  5:32       ` Aleksandar Markovic
2019-02-01 16:17         ` Cleber Rosa
2019-01-31 18:09 ` 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=ef455369-493b-2b8a-26ae-b4be3f820a0a@redhat.com \
    --to=philmd@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=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=fam@euphon.net \
    --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 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.