[PATCH 0/3] tests/qtest: make PCI tests resilient to a compiled-out i440fx/pc machine

Rohitashv Kumar posted 3 patches 1 week, 1 day ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260717081845.2439849-1-rohit.kuma1313@gmail.com
Maintainers: Fabiano Rosas <farosas@suse.de>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
tests/qtest/device-plug-test.c |  8 ++++++++
tests/qtest/drive_del-test.c   | 16 ++++++++++++++++
tests/qtest/pxe-test.c         |  4 ++++
3 files changed, 28 insertions(+)
[PATCH 0/3] tests/qtest: make PCI tests resilient to a compiled-out i440fx/pc machine
Posted by Rohitashv Kumar 1 week, 1 day ago
From: Rohitashv Kumar <roohiit@amazon.de>

QEMU can be built with the i440fx/pc machine type compiled out (for
example via a custom --with-devices-<arch> configuration that only keeps
the q35 machine). In that configuration a few qtests fail because they
hard-code "-machine pc" instead of checking whether the machine is
available.

This series makes the affected tests skip the pc-specific paths when the
"pc" machine is not compiled in, using the existing qtest_has_machine()
helper. There is intentionally NO behaviour change for a normal build
that includes i440fx/pc: the guards only take effect when "pc" is absent,
so existing CI coverage is unchanged.

For device-plug-test and drive_del-test the guard is placed inside the
x86-only branch that adds "-machine pc", so coverage on other
architectures (which use the default machine) is preserved, and x86
coverage is still provided by the existing q35 variants. For pxe-test the
per-row check mirrors the existing per-row qtest_has_device() guard, so
q35 rows keep running when pc is gone.

Tested by building QEMU with and without the i440fx/pc machine: with it
present all affected tests run as before; with CONFIG_I440FX=n the pc
cases skip instead of failing.

Rohitashv Kumar (3):
  tests/qtest/device-plug-test: skip pc tests when 'pc' machine is
    unavailable
  tests/qtest/drive_del-test: skip pc tests when 'pc' machine is
    unavailable
  tests/qtest/pxe-test: skip per-row cases whose machine is unavailable

 tests/qtest/device-plug-test.c |  8 ++++++++
 tests/qtest/drive_del-test.c   | 16 ++++++++++++++++
 tests/qtest/pxe-test.c         |  4 ++++
 3 files changed, 28 insertions(+)

-- 
2.47.3