[PATCH 0/3] avocado_qemu: allow cross-arch tests

Daniel Henrique Barboza posted 3 patches 1 year, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230118124348.364771-1-dbarboza@ventanamicro.com
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Thomas Huth <thuth@redhat.com>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>, Cleber Rosa <crosa@redhat.com>
docs/devel/testing.rst                 | 15 ++++++++++++---
tests/avocado/avocado_qemu/__init__.py | 22 +++++++++++++++-------
2 files changed, 27 insertions(+), 10 deletions(-)
[PATCH 0/3] avocado_qemu: allow cross-arch tests
Posted by Daniel Henrique Barboza 1 year, 3 months ago
Hi,

In these changes I've introduced two new avocado env variables to allow
users to run 'check-avocado' with different archs and machines in tests
that doesn't set any arch/machine to run with.

This is useful for archs that doesn't have abundance of real hardware
available (e.g. RISC-V), meaning that we end up running 'check-avocado'
in non-RISCV hosts every time, and most tests ends up being cancelled
because the test always defaults to the host arch. For example, building
QEMU for riscv64 in a x86_64 host will cancel all tests:

$ make check-avocado
(...)
RESULTS    : PASS 0 | ERROR 0 | FAIL 0 | SKIP 1 | WARN 0 | INTERRUPT 0 | CANCEL 11

After the changes implemented here, one can use env variables to force
the tests to a default arch and machine. In the scenario mentioned
above:

$ AVOCADO_DEFAULT_ARCH=riscv64 AVOCADO_DEFAULT_MACHINE=virt make check-avocado
(...)
RESULTS    : PASS 11 | ERROR 0 | FAIL 0 | SKIP 1 | WARN 0 | INTERRUPT 0 | CANCEL 0

Note that test behavior changes only when the env vars are set. There is
no change made in the regular work of 'check-avocado'.

Cc: Cleber Rosa <crosa@redhat.com>
Cc: Philippe Mathieu-Daudé <philmd@linaro.org>
Cc: Beraldo Leal <bleal@redhat.com>

Daniel Henrique Barboza (3):
  avocado_qemu: enhance CANCEL message in QemuBaseTest:setUp()
  avocado_qemu: add AVOCADO_DEFAULT_ARCH for cross-arch tests
  avocado_qemu: add AVOCADO_DEFAULT_MACHINE

 docs/devel/testing.rst                 | 15 ++++++++++++---
 tests/avocado/avocado_qemu/__init__.py | 22 +++++++++++++++-------
 2 files changed, 27 insertions(+), 10 deletions(-)

-- 
2.39.0