On 6/16/21 5:24 PM, Igor Mammedov wrote: > > Sometimes it's necessary to execute a test that depends on KVM, > however qtest is not aware if tested QEMU binary supports KVM > on the host it the test is executed.
Hello, It seems to me that we are constantly re-implementing the same feature with slight variations? Didn't we have a generic series to introduce qtest_has_accel() from Philippe before? Does this series work with --disable-kvm builds? (TCG-only builds?) Thanks, CLaudio > > For an example: > test q35 machine with intel_iommu > This test will run only is KVM is available and fail > to start QEMU if it fallsback to TCG, thus failing whole test. > So if test is executed in VM where nested KVM is not enabled > or on other than x86 host, it will break 'make check-qtest' > > Series adds a lightweight qtest_has_kvm() check, which abuses > build system and should help to avoid running KVM only tests > on hosts that do not support it. > > PS: > there is an alternative 'query-accels' QMP command proposal > https://patchwork.kernel.org/project/qemu-devel/patch/20210503211020.894589-3-phi...@redhat.com/ > which I think is more robust compared to qtest_has_kvm() and > could be extended to take into account machine type. > But it's more complex and what I dislike about it most, > it requires execution of 'probing' QEMU instance to find > execute 'query-accels' QMP command, which is rather resource > consuming. So I'd use query-accels approach only when it's > the only possible option to minimize load on CI systems. > > Igor Mammedov (2): > tests: acpi: q35: test for x2APIC entries in SRAT > tests: acpi: update expected tables blobs > > root (1): > tests: qtest: add qtest_has_kvm() to check if tested bynary supports > KVM > > tests/qtest/libqos/libqtest.h | 7 +++++++ > meson.build | 1 + > tests/data/acpi/q35/APIC.numamem | Bin 0 -> 2686 bytes > tests/data/acpi/q35/DSDT.numamem | Bin 7865 -> 35222 bytes > tests/data/acpi/q35/FACP.numamem | Bin 0 -> 244 bytes > tests/data/acpi/q35/SRAT.numamem | Bin 224 -> 5080 bytes > tests/qtest/bios-tables-test.c | 10 +++++++--- > tests/qtest/libqtest.c | 20 ++++++++++++++++++++ > 8 files changed, 35 insertions(+), 3 deletions(-) > create mode 100644 tests/data/acpi/q35/APIC.numamem > create mode 100644 tests/data/acpi/q35/FACP.numamem >