This part focuses on getting rid of the fake-caps infrastructure for testing qemu accelerated via HVF on OSX. Note: The test data that I'm using are based on the linux test data we have in the repository. It'll be great to get a real dump of qemu running on OSX but I don't have such system. Peter Krempa (24): virStringParseVersion: Parse into 'unsigned long long' qemumigrationcookiexmltest: Don't fetch latest caps files without using them domaincapstest: Make construction of filename more extensible domaincapstest: Restructure code to avoid disabling of warnings qemucapabilitiesdata: Separate version from architecture with a '_' testQemuGetLatestCaps: Process capabilities for all architectures in one pass testQemuGetLatestCapsForArch: Rewrite using testQemuGetLatestCaps tests: qemucapabilitiesdata: Add README file tests: Add support for multiple variants of data for the same qemu version+architecture domaincapstest: Propagate variant name into doTestQemuInternal schema: capabilities: Add 'hvf' virt type into list of allowed types domaincapstest: Add testing infrastructure for the '+hvf' variant qemu: capabilities: Fix testing of 'TCG' capabilities probing virQEMUCapsProbeHVF: Factor out setting of the capability tests: Mock virQEMUCapsProbeHVF directly in qemucapabilitiestest qemucapabilitiestest: Add support for '+hvf' variant qemucapabilitiesdata: Add (fake) '+hvf' variant of x86_64 data qemucapabilitiesdata: Add (fake) '+hvf' variant of aarch64 data testutilsqemu: Add support for specifying the variant for qemuxml2(argv|xml)test qemuxml2(argv|xml): Convert "hvf-x86_64-q35-headless" test case to real capapilities qemuxml2(argv|xml): Convert "hvf-aarch64-virt-headless" test case to real capapilities qemuxml2argvtest: Remove infrastructure for fake-caps testing on OSX qemuxml2xmltest: Remove infrastructure for fake-caps testing on OSX testutilsqemu: Remove infrastructure for fake-caps testing of OSX src/bhyve/bhyve_driver.c | 5 +- src/ch/ch_conf.c | 2 +- src/conf/schemas/capability.rng | 1 + src/esx/esx_vi.h | 4 +- src/lxc/lxc_driver.c | 5 +- src/network/bridge_driver_linux.c | 2 +- src/openvz/openvz_conf.c | 2 +- src/qemu/qemu_capabilities.c | 25 +- src/qemu/qemu_capabilities.h | 3 +- src/qemu/qemu_capspriv.h | 3 + src/util/virdnsmasq.c | 4 +- src/util/virfirewalld.c | 4 +- src/util/virfirewalld.h | 2 +- src/util/virstring.c | 4 +- src/util/virstring.h | 2 +- src/vbox/vbox_common.c | 5 +- src/vmware/vmware_conf.c | 5 +- src/vz/vz_utils.c | 5 +- .../qemu_7.0.0-hvf.aarch64+hvf.xml | 174 + .../qemu_7.2.0-hvf.x86_64+hvf.xml | 183 + .../qemu_7.2.0-tcg.x86_64+hvf.xml | 264 + tests/domaincapsmock.c | 6 - tests/domaincapstest.c | 128 +- tests/qemucapabilitiesdata/README.rst | 113 + ...h64.replies => caps_4.2.0_aarch64.replies} | 0 ...2.0.aarch64.xml => caps_4.2.0_aarch64.xml} | 0 ...ppc64.replies => caps_4.2.0_ppc64.replies} | 0 ...s_4.2.0.ppc64.xml => caps_4.2.0_ppc64.xml} | 0 ...s390x.replies => caps_4.2.0_s390x.replies} | 0 ...s_4.2.0.s390x.xml => caps_4.2.0_s390x.xml} | 0 ...6_64.replies => caps_4.2.0_x86_64.replies} | 0 ...4.2.0.x86_64.xml => caps_4.2.0_x86_64.xml} | 0 ...h64.replies => caps_5.0.0_aarch64.replies} | 0 ...0.0.aarch64.xml => caps_5.0.0_aarch64.xml} | 0 ...ppc64.replies => caps_5.0.0_ppc64.replies} | 0 ...s_5.0.0.ppc64.xml => caps_5.0.0_ppc64.xml} | 0 ...v64.replies => caps_5.0.0_riscv64.replies} | 0 ...0.0.riscv64.xml => caps_5.0.0_riscv64.xml} | 0 ...6_64.replies => caps_5.0.0_x86_64.replies} | 0 ...5.0.0.x86_64.xml => caps_5.0.0_x86_64.xml} | 0 ...sparc.replies => caps_5.1.0_sparc.replies} | 0 ...s_5.1.0.sparc.xml => caps_5.1.0_sparc.xml} | 0 ...6_64.replies => caps_5.1.0_x86_64.replies} | 0 ...5.1.0.x86_64.xml => caps_5.1.0_x86_64.xml} | 0 ...h64.replies => caps_5.2.0_aarch64.replies} | 0 ...2.0.aarch64.xml => caps_5.2.0_aarch64.xml} | 0 ...ppc64.replies => caps_5.2.0_ppc64.replies} | 0 ...s_5.2.0.ppc64.xml => caps_5.2.0_ppc64.xml} | 0 ...v64.replies => caps_5.2.0_riscv64.replies} | 0 ...2.0.riscv64.xml => caps_5.2.0_riscv64.xml} | 0 ...s390x.replies => caps_5.2.0_s390x.replies} | 0 ...s_5.2.0.s390x.xml => caps_5.2.0_s390x.xml} | 0 ...6_64.replies => caps_5.2.0_x86_64.replies} | 0 ...5.2.0.x86_64.xml => caps_5.2.0_x86_64.xml} | 0 ...h64.replies => caps_6.0.0_aarch64.replies} | 0 ...0.0.aarch64.xml => caps_6.0.0_aarch64.xml} | 0 ...s390x.replies => caps_6.0.0_s390x.replies} | 0 ...s_6.0.0.s390x.xml => caps_6.0.0_s390x.xml} | 0 ...6_64.replies => caps_6.0.0_x86_64.replies} | 0 ...6.0.0.x86_64.xml => caps_6.0.0_x86_64.xml} | 0 ...6_64.replies => caps_6.1.0_x86_64.replies} | 0 ...6.1.0.x86_64.xml => caps_6.1.0_x86_64.xml} | 0 ...h64.replies => caps_6.2.0_aarch64.replies} | 0 ...2.0.aarch64.xml => caps_6.2.0_aarch64.xml} | 0 ...ppc64.replies => caps_6.2.0_ppc64.replies} | 0 ...s_6.2.0.ppc64.xml => caps_6.2.0_ppc64.xml} | 0 ...6_64.replies => caps_6.2.0_x86_64.replies} | 0 ...6.2.0.x86_64.xml => caps_6.2.0_x86_64.xml} | 0 .../caps_7.0.0_aarch64+hvf.replies | 32393 +++++++++++++ .../caps_7.0.0_aarch64+hvf.xml | 502 + ...h64.replies => caps_7.0.0_aarch64.replies} | 0 ...0.0.aarch64.xml => caps_7.0.0_aarch64.xml} | 0 ...ppc64.replies => caps_7.0.0_ppc64.replies} | 0 ...s_7.0.0.ppc64.xml => caps_7.0.0_ppc64.xml} | 0 ...6_64.replies => caps_7.0.0_x86_64.replies} | 0 ...7.0.0.x86_64.xml => caps_7.0.0_x86_64.xml} | 0 ...ppc64.replies => caps_7.1.0_ppc64.replies} | 0 ...s_7.1.0.ppc64.xml => caps_7.1.0_ppc64.xml} | 0 ...6_64.replies => caps_7.1.0_x86_64.replies} | 0 ...7.1.0.x86_64.xml => caps_7.1.0_x86_64.xml} | 0 ...2.0.ppc.replies => caps_7.2.0_ppc.replies} | 0 ...{caps_7.2.0.ppc.xml => caps_7.2.0_ppc.xml} | 0 .../caps_7.2.0_x86_64+hvf.replies | 39399 ++++++++++++++++ .../caps_7.2.0_x86_64+hvf.xml | 3250 ++ ...6_64.replies => caps_7.2.0_x86_64.replies} | 0 ...7.2.0.x86_64.xml => caps_7.2.0_x86_64.xml} | 0 ...v64.replies => caps_8.0.0_riscv64.replies} | 0 ...0.0.riscv64.xml => caps_8.0.0_riscv64.xml} | 0 ...6_64.replies => caps_8.0.0_x86_64.replies} | 0 ...8.0.0.x86_64.xml => caps_8.0.0_x86_64.xml} | 0 tests/qemucapabilitiesnumbering.c | 5 +- tests/qemucapabilitiestest.c | 46 +- .../qemucaps2xmloutdata/caps.aarch64+hvf.xml | 27 + tests/qemucaps2xmloutdata/caps.x86_64+hvf.xml | 28 + tests/qemucaps2xmltest.c | 9 +- tests/qemumigrationcookiexmltest.c | 5 - ...-aarch64-virt-headless.aarch64-latest.args | 53 + .../hvf-aarch64-virt-headless.args | 51 - .../hvf-x86_64-q35-headless.args | 50 - ...hvf-x86_64-q35-headless.x86_64-latest.args | 54 + tests/qemuxml2argvtest.c | 42 +- ...-aarch64-virt-headless.aarch64-latest.xml} | 0 ...hvf-x86_64-q35-headless.x86_64-latest.xml} | 3 + tests/qemuxml2xmltest.c | 45 +- tests/testutilsqemu.c | 307 +- tests/testutilsqemu.h | 13 +- tests/utiltest.c | 8 +- tools/virt-host-validate-common.c | 2 +- 108 files changed, 76757 insertions(+), 486 deletions(-) create mode 100644 tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml create mode 100644 tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml create mode 100644 tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml create mode 100644 tests/qemucapabilitiesdata/README.rst rename tests/qemucapabilitiesdata/{caps_4.2.0.aarch64.replies => caps_4.2.0_aarch64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_4.2.0.aarch64.xml => caps_4.2.0_aarch64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_4.2.0.ppc64.replies => caps_4.2.0_ppc64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_4.2.0.ppc64.xml => caps_4.2.0_ppc64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_4.2.0.s390x.replies => caps_4.2.0_s390x.replies} (100%) rename tests/qemucapabilitiesdata/{caps_4.2.0.s390x.xml => caps_4.2.0_s390x.xml} (100%) rename tests/qemucapabilitiesdata/{caps_4.2.0.x86_64.replies => caps_4.2.0_x86_64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_4.2.0.x86_64.xml => caps_4.2.0_x86_64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_5.0.0.aarch64.replies => caps_5.0.0_aarch64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_5.0.0.aarch64.xml => caps_5.0.0_aarch64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_5.0.0.ppc64.replies => caps_5.0.0_ppc64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_5.0.0.ppc64.xml => caps_5.0.0_ppc64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_5.0.0.riscv64.replies => caps_5.0.0_riscv64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_5.0.0.riscv64.xml => caps_5.0.0_riscv64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_5.0.0.x86_64.replies => caps_5.0.0_x86_64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_5.0.0.x86_64.xml => caps_5.0.0_x86_64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_5.1.0.sparc.replies => caps_5.1.0_sparc.replies} (100%) rename tests/qemucapabilitiesdata/{caps_5.1.0.sparc.xml => caps_5.1.0_sparc.xml} (100%) rename tests/qemucapabilitiesdata/{caps_5.1.0.x86_64.replies => caps_5.1.0_x86_64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_5.1.0.x86_64.xml => caps_5.1.0_x86_64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_5.2.0.aarch64.replies => caps_5.2.0_aarch64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_5.2.0.aarch64.xml => caps_5.2.0_aarch64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_5.2.0.ppc64.replies => caps_5.2.0_ppc64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_5.2.0.ppc64.xml => caps_5.2.0_ppc64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_5.2.0.riscv64.replies => caps_5.2.0_riscv64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_5.2.0.riscv64.xml => caps_5.2.0_riscv64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_5.2.0.s390x.replies => caps_5.2.0_s390x.replies} (100%) rename tests/qemucapabilitiesdata/{caps_5.2.0.s390x.xml => caps_5.2.0_s390x.xml} (100%) rename tests/qemucapabilitiesdata/{caps_5.2.0.x86_64.replies => caps_5.2.0_x86_64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_5.2.0.x86_64.xml => caps_5.2.0_x86_64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_6.0.0.aarch64.replies => caps_6.0.0_aarch64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_6.0.0.aarch64.xml => caps_6.0.0_aarch64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_6.0.0.s390x.replies => caps_6.0.0_s390x.replies} (100%) rename tests/qemucapabilitiesdata/{caps_6.0.0.s390x.xml => caps_6.0.0_s390x.xml} (100%) rename tests/qemucapabilitiesdata/{caps_6.0.0.x86_64.replies => caps_6.0.0_x86_64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_6.0.0.x86_64.xml => caps_6.0.0_x86_64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_6.1.0.x86_64.replies => caps_6.1.0_x86_64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_6.1.0.x86_64.xml => caps_6.1.0_x86_64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_6.2.0.aarch64.replies => caps_6.2.0_aarch64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_6.2.0.aarch64.xml => caps_6.2.0_aarch64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_6.2.0.ppc64.replies => caps_6.2.0_ppc64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_6.2.0.ppc64.xml => caps_6.2.0_ppc64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_6.2.0.x86_64.replies => caps_6.2.0_x86_64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_6.2.0.x86_64.xml => caps_6.2.0_x86_64.xml} (100%) create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.replies create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml rename tests/qemucapabilitiesdata/{caps_7.0.0.aarch64.replies => caps_7.0.0_aarch64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_7.0.0.aarch64.xml => caps_7.0.0_aarch64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_7.0.0.ppc64.replies => caps_7.0.0_ppc64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_7.0.0.ppc64.xml => caps_7.0.0_ppc64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_7.0.0.x86_64.replies => caps_7.0.0_x86_64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_7.0.0.x86_64.xml => caps_7.0.0_x86_64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_7.1.0.ppc64.replies => caps_7.1.0_ppc64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_7.1.0.ppc64.xml => caps_7.1.0_ppc64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_7.1.0.x86_64.replies => caps_7.1.0_x86_64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_7.1.0.x86_64.xml => caps_7.1.0_x86_64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_7.2.0.ppc.replies => caps_7.2.0_ppc.replies} (100%) rename tests/qemucapabilitiesdata/{caps_7.2.0.ppc.xml => caps_7.2.0_ppc.xml} (100%) create mode 100644 tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.replies create mode 100644 tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml rename tests/qemucapabilitiesdata/{caps_7.2.0.x86_64.replies => caps_7.2.0_x86_64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_7.2.0.x86_64.xml => caps_7.2.0_x86_64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_8.0.0.riscv64.replies => caps_8.0.0_riscv64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_8.0.0.riscv64.xml => caps_8.0.0_riscv64.xml} (100%) rename tests/qemucapabilitiesdata/{caps_8.0.0.x86_64.replies => caps_8.0.0_x86_64.replies} (100%) rename tests/qemucapabilitiesdata/{caps_8.0.0.x86_64.xml => caps_8.0.0_x86_64.xml} (100%) create mode 100644 tests/qemucaps2xmloutdata/caps.aarch64+hvf.xml create mode 100644 tests/qemucaps2xmloutdata/caps.x86_64+hvf.xml create mode 100644 tests/qemuxml2argvdata/hvf-aarch64-virt-headless.aarch64-latest.args delete mode 100644 tests/qemuxml2argvdata/hvf-aarch64-virt-headless.args delete mode 100644 tests/qemuxml2argvdata/hvf-x86_64-q35-headless.args create mode 100644 tests/qemuxml2argvdata/hvf-x86_64-q35-headless.x86_64-latest.args rename tests/qemuxml2xmloutdata/{hvf-aarch64-virt-headless.xml => hvf-aarch64-virt-headless.aarch64-latest.xml} (100%) rename tests/qemuxml2xmloutdata/{hvf-x86_64-q35-headless.xml => hvf-x86_64-q35-headless.x86_64-latest.xml} (97%) -- 2.39.2