qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/3] avocado_qemu: add AVOCADO_DEFAULT_MACHINE


From: Daniel Henrique Barboza
Subject: Re: [PATCH 3/3] avocado_qemu: add AVOCADO_DEFAULT_MACHINE
Date: Wed, 18 Jan 2023 14:21:16 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0



On 1/18/23 12:42, Fabiano Rosas wrote:
Daniel Henrique Barboza <dbarboza@ventanamicro.com> writes:

Allow users to control which machine to use in tests where no particular
machine is specified. This is a good way to run tests in a machine
that's not the arch default, e.g. for qemu-system-x86_64 tests can be
run using a machine other than pc-i440fx.

This env var has greater effect when used together with the recently
added AVOCADO_DEFAULT_ARCH, allowing full control of what the tests
should use if no default arch/machine is given. In this example, a
check-avocado run will use the RISC-V 'virt' machine if no default
arch/machine is set:

AVOCADO_DEFAULT_ARCH=riscv64 AVOCADO_DEFAULT_MACHINE=virt make check-avocado

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
---
  docs/devel/testing.rst                 | 8 +++++---
  tests/avocado/avocado_qemu/__init__.py | 3 +++
  2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst
index 95d0a3e626..128b6ae964 100644
--- a/docs/devel/testing.rst
+++ b/docs/devel/testing.rst
@@ -1178,9 +1178,11 @@ The machine type that will be set to all QEMUMachine 
instances created
  by the test.
The ``machine`` attribute will be set to the test parameter of the same
-name.  If one is not given explicitly, it will either be set to
-``None``, or, if the test is tagged with one (and only one)
-``:avocado: tags=machine:VALUE`` tag, it will be set to ``VALUE``.
+name.  If one is not given explicitly, an env variable
+AVOCADO_DEFAULT_MACHINE can be used as default value if set.  Otherwise
+it will either be set to ``None``, or, if the test is tagged with one
+(and only one) ``:avocado: tags=machine:VALUE`` tag, it will be set to
+``VALUE``.
qemu_bin
  ''''''''
diff --git a/tests/avocado/avocado_qemu/__init__.py 
b/tests/avocado/avocado_qemu/__init__.py
index bc42985cbb..75eaaa9265 100644
--- a/tests/avocado/avocado_qemu/__init__.py
+++ b/tests/avocado/avocado_qemu/__init__.py
@@ -282,6 +282,9 @@ def setUp(self):
          self.machine = self.params.get('machine',
                                         
default=self._get_unique_tag_val('machine'))
Would it work for you to replicate the AVOCADO_CMDLINE_TAGS behavior?

In Makefile.include:

ifdef AVOCADO_PARAMS
        AVOCADO_CMDLINE_PARAMS=$(addprefix -p , $(AVOCADO_PARAMS))
endif

make V=1 check-avocado AVOCADO_PARAMS=machine=foo 
AVOCADO_TESTS=../tests/avocado/migration.py

Results in:

./qemu-system-x86_64 -display none -vga none ... -machine foo

This doesn't work as is (tested with no patches applied, only added 
AVOCADO_PARAMS in
Makefile.include).

At this moment it seems that there is no way of changing Avocado internal 
behavior
by using command line parameters/tags.


Thanks,


Daniel







reply via email to

[Prev in Thread] Current Thread [Next in Thread]