On Thu, Jun 03, 2021 at 01:48:35PM +0200, Vitaly Kuznetsov wrote: > For the beginning, just test 'hv-passthrough' and a couple of custom > Hyper-V enlightenments configurations through QMP. Later, it would > be great to complement this by checking CPUID values from within the > guest. > > Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com> > --- > MAINTAINERS | 1 + > tests/qtest/hyperv-test.c | 225 ++++++++++++++++++++++++++++++++++++++ > tests/qtest/meson.build | 3 +- > 3 files changed, 228 insertions(+), 1 deletion(-) > create mode 100644 tests/qtest/hyperv-test.c > > diff --git a/MAINTAINERS b/MAINTAINERS > index 5f55404f2fae..862720016b3a 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1537,6 +1537,7 @@ F: hw/isa/apm.c > F: include/hw/isa/apm.h > F: tests/unit/test-x86-cpuid.c > F: tests/qtest/test-x86-cpuid-compat.c > +F: tests/qtest/hyperv-test.c
Maybe it makes sense to keep it here by now, but I believe we should eventually create a section for hyperv in MAINTAINERS. CCing Michael and Marcel, who are the people listed in this MAINTAINERS section. > > PC Chipset > M: Michael S. Tsirkin <m...@redhat.com> [...] > +int main(int argc, char **argv) > +{ > + const char *arch = qtest_get_arch(); > + > + g_test_init(&argc, &argv, NULL); > + > + if (!strcmp(arch, "i386") || !strcmp(arch, "x86_64")) { Is this necessary when the test is already being added to qtests_i386/qtests_x86_64 only? > + qtest_add_data_func("/hyperv/hv-all-but-evmcs", > + NULL, test_query_cpu_hv_all_but_evmcs); > + qtest_add_data_func("/hyperv/hv-custom", > + NULL, test_query_cpu_hv_custom); > + if (kvm_has_sys_hyperv_cpuid()) { > + qtest_add_data_func("/hyperv/hv-passthrough", > + NULL, test_query_cpu_hv_passthrough); > + } > + } > + > + return g_test_run(); > +} > diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build > index c3a223a83d6a..958a88d0c8b4 100644 > --- a/tests/qtest/meson.build > +++ b/tests/qtest/meson.build > @@ -83,7 +83,8 @@ qtests_i386 = \ > 'vmgenid-test', > 'migration-test', > 'test-x86-cpuid-compat', > - 'numa-test'] > + 'numa-test', > + 'hyperv-test'] > > dbus_daemon = find_program('dbus-daemon', required: false) > if dbus_daemon.found() and config_host.has_key('GDBUS_CODEGEN') > -- > 2.31.1 > -- Eduardo