[PATCH] tests/qtest/meson.build: Add more CONFIG switches checks for the x86 tests

Thomas Huth posted 1 patch 2 months, 2 weeks ago
tests/qtest/meson.build | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
[PATCH] tests/qtest/meson.build: Add more CONFIG switches checks for the x86 tests
Posted by Thomas Huth 2 months, 2 weeks ago
When configuring QEMU with "--without-default-devices", currently a lot
of the x86 qtests are failing since they silently assume that a certain
device or the i440fx pc machine is available. Add more checks for CONFIG
switches here to not run those tests in case the corresponding device is
not available.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qtest/meson.build | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index 486974cad7..587e1dc47e 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -49,9 +49,15 @@ qtests_filter = \
 qtests_i386 = \
   (slirp.found() ? ['pxe-test'] : []) + \
   qtests_filter + \
-  (have_tools ? ['ahci-test'] : []) +                                                       \
+  (config_all_devices.has_key('CONFIG_ACPI_VMGENID') ? ['vmgenid-test'] : []) +             \
+  (config_all_devices.has_key('CONFIG_AHCI_ICH9') and have_tools ? ['ahci-test'] : []) +    \
+  (config_all_devices.has_key('CONFIG_AHCI_ICH9') ? ['tco-test'] : []) +                    \
   (config_all_devices.has_key('CONFIG_FDC_ISA') ? ['fdc-test'] : []) +                      \
+  (config_all_devices.has_key('CONFIG_I440FX') ? ['fw_cfg-test'] : []) +                    \
   (config_all_devices.has_key('CONFIG_I440FX') ? ['i440fx-test'] : []) +                    \
+  (config_all_devices.has_key('CONFIG_I440FX') ? ['ide-test'] : []) +                       \
+  (config_all_devices.has_key('CONFIG_I440FX') ? ['numa-test'] : []) +                      \
+  (config_all_devices.has_key('CONFIG_I440FX') ? ['test-x86-cpuid-compat'] : []) +          \
   (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : []) +           \
   (config_all_devices.has_key('CONFIG_SGA') ? ['boot-serial-test'] : []) +                  \
   (config_all_devices.has_key('CONFIG_ISA_IPMI_KCS') ? ['ipmi-kcs-test'] : []) +            \
@@ -96,21 +102,15 @@ qtests_i386 = \
   qtests_pci +                                                                              \
   qtests_cxl +                                                                              \
   [
-   'ide-test',
    'hd-geo-test',
    'boot-order-test',
-   'fw_cfg-test',
    'device-plug-test',
    'drive_del-test',
-   'tco-test',
    'cpu-plug-test',
-   'vmgenid-test',
    'migration-test',
-   'test-x86-cpuid-compat',
-   'numa-test'
   ]
 
-if dbus_display
+if dbus_display and config_all_devices.has_key('CONFIG_VGA')
   qtests_i386 += ['dbus-display-test']
 endif
 
-- 
2.46.0
Re: [PATCH] tests/qtest/meson.build: Add more CONFIG switches checks for the x86 tests
Posted by Paolo Bonzini 2 months, 2 weeks ago
On 9/4/24 10:21, Thomas Huth wrote:
> When configuring QEMU with "--without-default-devices", currently a lot
> of the x86 qtests are failing since they silently assume that a certain
> device or the i440fx pc machine is available. Add more checks for CONFIG
> switches here to not run those tests in case the corresponding device is
> not available.

Is this enough to fix this:

# Check our reduced build configurations
# requires libfdt: aarch64, arm, loongarch64, microblaze, microblazeel,
#   or1k, ppc64, riscv32, riscv64, rx
# fails qtest without boards: i386, x86_64
build-without-defaults:

and add i386-softmmu/x86_64-softmmu to build-without-defaults?

Thanks,

Paolo
Re: [PATCH] tests/qtest/meson.build: Add more CONFIG switches checks for the x86 tests
Posted by Thomas Huth 2 months, 2 weeks ago
On 05/09/2024 10.28, Paolo Bonzini wrote:
> On 9/4/24 10:21, Thomas Huth wrote:
>> When configuring QEMU with "--without-default-devices", currently a lot
>> of the x86 qtests are failing since they silently assume that a certain
>> device or the i440fx pc machine is available. Add more checks for CONFIG
>> switches here to not run those tests in case the corresponding device is
>> not available.
> 
> Is this enough to fix this:
> 
> # Check our reduced build configurations
> # requires libfdt: aarch64, arm, loongarch64, microblaze, microblazeel,
> #   or1k, ppc64, riscv32, riscv64, rx
> # fails qtest without boards: i386, x86_64
> build-without-defaults:
> 
> and add i386-softmmu/x86_64-softmmu to build-without-defaults?

Yes, together with some other patches that I sent to the list in the past 
days, this seems to work now:

  https://gitlab.com/thuth/qemu/-/jobs/7751500808#L5050

I just had to discover that I messed up this patch here (forgot to squash 
some other changes). I'll make a proper series out of the patches and send 
them out together again, including a patch to enable x86 in the 
build-without-defaults job.

  Thomas