mbox series

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

Message ID 20230118124348.364771-1-dbarboza@ventanamicro.com (mailing list archive)
Headers show
Series avocado_qemu: allow cross-arch tests | expand

Message

Daniel Henrique Barboza Jan. 18, 2023, 12:43 p.m. UTC
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(-)