[PATCH 0/5] qemuxml2xmltest: Finish modernization of few last forgotten cases

Peter Krempa (5): qemuxml2xmltest: Rework file name generation in 'testInfoSetPaths' qemuxml2xmltest: Use DO_TEST_CAPS_ARCH_LATEST_FULL for arm GIC tests qemuxml2argvtest: Pass expected state via struct testQemuInfo's 'flags' member qemuxml2xmltest: Modernize rest of 'seclabel-*' tests qemuxml2xmltest: Merge DO_TEST macro into DO_TEST_CAPS_INTERNAL ...amic-baselabel-inactive.x86_64-latest.xml} | 5 +- ...amic-labelskip-inactive.x86_64-latest.xml} | 5 +- ...c-none-relabel-inactive.x86_64-latest.xml} | 5 +- ...namic-override-inactive.x86_64-latest.xml} | 5 +- ...ynamic-relabel-inactive.x86_64-latest.xml} | 5 +- tests/qemuxml2xmltest.c | 149 ++++++------------ tests/testutilsqemu.h | 1 + 7 files changed, 73 insertions(+), 102 deletions(-) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-baselabel-inactive.xml => seclabel-dynamic-baselabel-inactive.x86_64-latest.xml} (90%) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-labelskip-inactive.xml => seclabel-dynamic-labelskip-inactive.x86_64-latest.xml} (90%) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-none-relabel-inactive.xml => seclabel-dynamic-none-relabel-inactive.x86_64-latest.xml} (92%) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-override-inactive.xml => seclabel-dynamic-override-inactive.x86_64-latest.xml} (92%) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-relabel-inactive.xml => seclabel-dynamic-relabel-inactive.x86_64-latest.xml} (89%) -- 2.41.0

Pass the state-based suffix directly as string. Document the logic how the filename is chosen. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/qemuxml2xmltest.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index b1989cbb5f..ccf9cfcef0 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -75,10 +75,22 @@ testXML2XMLInactive(const void *opaque) } +/** + * testInfoSetPaths: + * @info: test info structure to populate + * @suffix: suffix used to create output file name e.g. ".x86-64_latest" + * @statesuffix: suffix to create output file name based on tested state ("active" | "inactive") + * + * This function populates @info with the correct input and output file paths. + * + * The output file is chosen based on whether a version with @statesuffix exists. + * If yes, it's used, if no the @statesuffix is omitted and it's expected that + * both the "active" and "inactive" versions are the same. + */ static void testInfoSetPaths(struct testQemuInfo *info, const char *suffix, - int when) + const char *statesuffix) { VIR_FREE(info->infile); VIR_FREE(info->outfile); @@ -88,7 +100,7 @@ testInfoSetPaths(struct testQemuInfo *info, info->outfile = g_strdup_printf("%s/qemuxml2xmloutdata/%s-%s%s.xml", abs_srcdir, info->name, - when == WHEN_ACTIVE ? "active" : "inactive", suffix); + statesuffix, suffix); if (!virFileExists(info->outfile)) { VIR_FREE(info->outfile); @@ -146,12 +158,12 @@ mymain(void) testQemuInfoSetArgs(&info, &testConf, __VA_ARGS__); \ \ if (when & WHEN_INACTIVE) { \ - testInfoSetPaths(&info, suffix, WHEN_INACTIVE); \ + testInfoSetPaths(&info, suffix, "inactive"); \ virTestRunLog(&ret, "QEMU XML-2-XML-inactive " _name, testXML2XMLInactive, &info); \ } \ \ if (when & WHEN_ACTIVE) { \ - testInfoSetPaths(&info, suffix, WHEN_ACTIVE); \ + testInfoSetPaths(&info, suffix, "active"); \ virTestRunLog(&ret, "QEMU XML-2-XML-active " _name, testXML2XMLActive, &info); \ } \ testQemuInfoClear(&info); \ -- 2.41.0

Use the new macro instead of open coding it. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/qemuxml2xmltest.c | 84 +++++++++++------------------------------ 1 file changed, 21 insertions(+), 63 deletions(-) diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index ccf9cfcef0..c67909404f 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -782,69 +782,27 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST("aarch64-traditional-pci", "aarch64"); DO_TEST_CAPS_ARCH_LATEST("aarch64-video-default", "aarch64"); - DO_TEST_FULL("aarch64-gic-none", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_NONE, ARG_END); - DO_TEST_FULL("aarch64-gic-none-v2", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_V2, ARG_END); - DO_TEST_FULL("aarch64-gic-none-v3", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_V3, ARG_END); - DO_TEST_FULL("aarch64-gic-none-both", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_BOTH, ARG_END); - DO_TEST_FULL("aarch64-gic-none-tcg", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_BOTH, ARG_END); - DO_TEST_FULL("aarch64-gic-default", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_NONE, ARG_END); - DO_TEST_FULL("aarch64-gic-default-v2", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_V2, ARG_END); - DO_TEST_FULL("aarch64-gic-default-v3", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_V3, ARG_END); - DO_TEST_FULL("aarch64-gic-default-both", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_BOTH, ARG_END); - DO_TEST_FULL("aarch64-gic-v2", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_NONE, ARG_END); - DO_TEST_FULL("aarch64-gic-v2", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_V2, ARG_END); - DO_TEST_FULL("aarch64-gic-v2", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_V3, ARG_END); - DO_TEST_FULL("aarch64-gic-v2", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_BOTH, ARG_END); - DO_TEST_FULL("aarch64-gic-v3", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_NONE, ARG_END); - DO_TEST_FULL("aarch64-gic-v3", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_V2, ARG_END); - DO_TEST_FULL("aarch64-gic-v3", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_V3, ARG_END); - DO_TEST_FULL("aarch64-gic-v3", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_BOTH, ARG_END); - DO_TEST_FULL("aarch64-gic-host", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_NONE, ARG_END); - DO_TEST_FULL("aarch64-gic-host", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_V2, ARG_END); - DO_TEST_FULL("aarch64-gic-host", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_V3, ARG_END); - DO_TEST_FULL("aarch64-gic-host", ".aarch64-latest", WHEN_BOTH, - ARG_CAPS_ARCH, "aarch64", ARG_CAPS_VER, "latest", - ARG_GIC, GIC_BOTH, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-none", "aarch64", ARG_GIC, GIC_NONE, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-none-v2", "aarch64", ARG_GIC, GIC_V2, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-none-v3", "aarch64", ARG_GIC, GIC_V3, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-none-both", "aarch64", ARG_GIC, GIC_BOTH, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-none-tcg", "aarch64", ARG_GIC, GIC_BOTH, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-default", "aarch64", ARG_GIC, GIC_NONE, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-default-v2", "aarch64", ARG_GIC, GIC_V2, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-default-v3", "aarch64", ARG_GIC, GIC_V3, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-default-both", "aarch64", ARG_GIC, GIC_BOTH, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-v2", "aarch64", ARG_GIC, GIC_NONE, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-v2", "aarch64", ARG_GIC, GIC_V2, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-v2", "aarch64", ARG_GIC, GIC_V3, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-v2", "aarch64", ARG_GIC, GIC_BOTH, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-v3", "aarch64", ARG_GIC, GIC_NONE, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-v3", "aarch64", ARG_GIC, GIC_V2, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-v3", "aarch64", ARG_GIC, GIC_V3, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-v3", "aarch64", ARG_GIC, GIC_BOTH, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-host", "aarch64", ARG_GIC, GIC_NONE, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-host", "aarch64", ARG_GIC, GIC_V2, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-host", "aarch64", ARG_GIC, GIC_V3, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("aarch64-gic-host", "aarch64", ARG_GIC, GIC_BOTH, ARG_END); /* SVE aarch64 CPU features work on modern QEMU */ DO_TEST_CAPS_ARCH_LATEST("aarch64-features-sve", "aarch64"); -- 2.41.0

Rather than having a separate argument to DO_TEST pass the state via newly added flags 'FLAG_SKIP_CONFIG_ACTIVE'. The '_INACTIVE' equivalent was not added as there's no test which'd use it. Remove the old 'WHEN_' flags and move the decision logic out of the DO_TEST macro as any addition to the logic makes the compiler take much longer to compile qemuxml2xmltest. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/qemuxml2xmltest.c | 36 ++++++++++++++---------------------- tests/testutilsqemu.h | 1 + 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index c67909404f..e6018f8240 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -19,13 +19,6 @@ static virQEMUDriver driver; -enum { - WHEN_INACTIVE = 1, - WHEN_ACTIVE = 2, - WHEN_BOTH = 3, -}; - - static int testXML2XMLCommon(const struct testQemuInfo *info) { @@ -46,6 +39,9 @@ testXML2XMLActive(const void *opaque) { const struct testQemuInfo *info = opaque; + if (info->flags & FLAG_SKIP_CONFIG_ACTIVE) + return EXIT_AM_SKIP; + if (testXML2XMLCommon(info) < 0 || testCompareDomXML2XMLFiles(driver.caps, driver.xmlopt, info->infile, info->outfile, true, @@ -150,27 +146,23 @@ mymain(void) virSetConnectSecret(conn); virSetConnectStorage(conn); -#define DO_TEST_FULL(_name, suffix, when, ...) \ +#define DO_TEST_FULL(_name, suffix, ...) \ do { \ static struct testQemuInfo info = { \ .name = _name, \ }; \ testQemuInfoSetArgs(&info, &testConf, __VA_ARGS__); \ \ - if (when & WHEN_INACTIVE) { \ - testInfoSetPaths(&info, suffix, "inactive"); \ - virTestRunLog(&ret, "QEMU XML-2-XML-inactive " _name, testXML2XMLInactive, &info); \ - } \ + testInfoSetPaths(&info, suffix, "inactive"); \ + virTestRunLog(&ret, "QEMU XML-2-XML-inactive " _name, testXML2XMLInactive, &info); \ \ - if (when & WHEN_ACTIVE) { \ - testInfoSetPaths(&info, suffix, "active"); \ - virTestRunLog(&ret, "QEMU XML-2-XML-active " _name, testXML2XMLActive, &info); \ - } \ + testInfoSetPaths(&info, suffix, "active"); \ + virTestRunLog(&ret, "QEMU XML-2-XML-active " _name, testXML2XMLActive, &info); \ testQemuInfoClear(&info); \ } while (0) #define DO_TEST_CAPS_INTERNAL(name, arch, ver, ...) \ - DO_TEST_FULL(name, "." arch "-" ver, WHEN_BOTH, \ + DO_TEST_FULL(name, "." arch "-" ver, \ ARG_CAPS_ARCH, arch, \ ARG_CAPS_VER, ver, \ __VA_ARGS__, \ @@ -511,17 +503,17 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST("ppc64-tpmproxy-single", "ppc64"); DO_TEST_CAPS_ARCH_LATEST("ppc64-tpmproxy-with-tpm", "ppc64"); - DO_TEST_FULL("seclabel-dynamic-baselabel", "", WHEN_INACTIVE, ARG_END); - DO_TEST_FULL("seclabel-dynamic-override", "", WHEN_INACTIVE, ARG_END); - DO_TEST_FULL("seclabel-dynamic-labelskip", "", WHEN_INACTIVE, ARG_END); - DO_TEST_FULL("seclabel-dynamic-relabel", "", WHEN_INACTIVE, ARG_END); + DO_TEST_FULL("seclabel-dynamic-baselabel", "", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); + DO_TEST_FULL("seclabel-dynamic-override", "", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); + DO_TEST_FULL("seclabel-dynamic-labelskip", "", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); + DO_TEST_FULL("seclabel-dynamic-relabel", "", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); DO_TEST_CAPS_LATEST("seclabel-static"); DO_TEST_CAPS_LATEST("seclabel-static-labelskip"); DO_TEST_CAPS_LATEST("seclabel-none"); DO_TEST_CAPS_LATEST("seclabel-dac-none"); DO_TEST_CAPS_LATEST("seclabel-dynamic-none"); DO_TEST_CAPS_LATEST("seclabel-device-multiple"); - DO_TEST_FULL("seclabel-dynamic-none-relabel", "", WHEN_INACTIVE, + DO_TEST_FULL("seclabel-dynamic-none-relabel", "", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_QEMU_CAPS, QEMU_CAPS_DEVICE_CIRRUS_VGA, QEMU_CAPS_SPICE, QEMU_CAPS_LAST, ARG_END); diff --git a/tests/testutilsqemu.h b/tests/testutilsqemu.h index e0d116336e..7845ac7cb6 100644 --- a/tests/testutilsqemu.h +++ b/tests/testutilsqemu.h @@ -59,6 +59,7 @@ typedef enum { FLAG_REAL_CAPS = 1 << 3, FLAG_SKIP_LEGACY_CPUS = 1 << 4, FLAG_SLIRP_HELPER = 1 << 5, + FLAG_SKIP_CONFIG_ACTIVE = 1 << 6, /* Skip 'active' config test in qemuxml2xmltest */ } testQemuInfoFlags; struct testQemuConf { -- 2.41.0

Use real capabilities for these last few tests that were not modernized due to use of 'WHEN_INACTIVE'. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- ...el-dynamic-baselabel-inactive.x86_64-latest.xml} | 5 ++++- ...el-dynamic-labelskip-inactive.x86_64-latest.xml} | 5 ++++- ...dynamic-none-relabel-inactive.x86_64-latest.xml} | 5 ++++- ...bel-dynamic-override-inactive.x86_64-latest.xml} | 5 ++++- ...abel-dynamic-relabel-inactive.x86_64-latest.xml} | 5 ++++- tests/qemuxml2xmltest.c | 13 +++++-------- 6 files changed, 25 insertions(+), 13 deletions(-) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-baselabel-inactive.xml => seclabel-dynamic-baselabel-inactive.x86_64-latest.xml} (90%) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-labelskip-inactive.xml => seclabel-dynamic-labelskip-inactive.x86_64-latest.xml} (90%) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-none-relabel-inactive.xml => seclabel-dynamic-none-relabel-inactive.x86_64-latest.xml} (92%) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-override-inactive.xml => seclabel-dynamic-override-inactive.x86_64-latest.xml} (92%) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-relabel-inactive.xml => seclabel-dynamic-relabel-inactive.x86_64-latest.xml} (89%) diff --git a/tests/qemuxml2xmloutdata/seclabel-dynamic-baselabel-inactive.xml b/tests/qemuxml2xmloutdata/seclabel-dynamic-baselabel-inactive.x86_64-latest.xml similarity index 90% rename from tests/qemuxml2xmloutdata/seclabel-dynamic-baselabel-inactive.xml rename to tests/qemuxml2xmloutdata/seclabel-dynamic-baselabel-inactive.x86_64-latest.xml index 5fa8455f77..7ab0558e66 100644 --- a/tests/qemuxml2xmloutdata/seclabel-dynamic-baselabel-inactive.xml +++ b/tests/qemuxml2xmloutdata/seclabel-dynamic-baselabel-inactive.x86_64-latest.xml @@ -8,6 +8,9 @@ <type arch='x86_64' machine='pc'>hvm</type> <boot dev='hd'/> </os> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> @@ -20,7 +23,7 @@ <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> - <controller type='usb' index='0'> + <controller type='usb' index='0' model='piix3-uhci'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='ide' index='0'> diff --git a/tests/qemuxml2xmloutdata/seclabel-dynamic-labelskip-inactive.xml b/tests/qemuxml2xmloutdata/seclabel-dynamic-labelskip-inactive.x86_64-latest.xml similarity index 90% rename from tests/qemuxml2xmloutdata/seclabel-dynamic-labelskip-inactive.xml rename to tests/qemuxml2xmloutdata/seclabel-dynamic-labelskip-inactive.x86_64-latest.xml index 5fa8455f77..7ab0558e66 100644 --- a/tests/qemuxml2xmloutdata/seclabel-dynamic-labelskip-inactive.xml +++ b/tests/qemuxml2xmloutdata/seclabel-dynamic-labelskip-inactive.x86_64-latest.xml @@ -8,6 +8,9 @@ <type arch='x86_64' machine='pc'>hvm</type> <boot dev='hd'/> </os> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> @@ -20,7 +23,7 @@ <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> - <controller type='usb' index='0'> + <controller type='usb' index='0' model='piix3-uhci'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='ide' index='0'> diff --git a/tests/qemuxml2xmloutdata/seclabel-dynamic-none-relabel-inactive.xml b/tests/qemuxml2xmloutdata/seclabel-dynamic-none-relabel-inactive.x86_64-latest.xml similarity index 92% rename from tests/qemuxml2xmloutdata/seclabel-dynamic-none-relabel-inactive.xml rename to tests/qemuxml2xmloutdata/seclabel-dynamic-none-relabel-inactive.x86_64-latest.xml index 09c019e474..005e13334c 100644 --- a/tests/qemuxml2xmloutdata/seclabel-dynamic-none-relabel-inactive.xml +++ b/tests/qemuxml2xmloutdata/seclabel-dynamic-none-relabel-inactive.x86_64-latest.xml @@ -16,13 +16,16 @@ <features> <acpi/> </features> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> - <controller type='usb' index='0'> + <controller type='usb' index='0' model='piix3-uhci'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='virtio-serial' index='0'> diff --git a/tests/qemuxml2xmloutdata/seclabel-dynamic-override-inactive.xml b/tests/qemuxml2xmloutdata/seclabel-dynamic-override-inactive.x86_64-latest.xml similarity index 92% rename from tests/qemuxml2xmloutdata/seclabel-dynamic-override-inactive.xml rename to tests/qemuxml2xmloutdata/seclabel-dynamic-override-inactive.x86_64-latest.xml index 56f15db911..7c1d16d0b2 100644 --- a/tests/qemuxml2xmloutdata/seclabel-dynamic-override-inactive.xml +++ b/tests/qemuxml2xmloutdata/seclabel-dynamic-override-inactive.x86_64-latest.xml @@ -8,6 +8,9 @@ <type arch='x86_64' machine='pc'>hvm</type> <boot dev='hd'/> </os> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> @@ -32,7 +35,7 @@ <target dev='hdb' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> - <controller type='usb' index='0'> + <controller type='usb' index='0' model='piix3-uhci'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='ide' index='0'> diff --git a/tests/qemuxml2xmloutdata/seclabel-dynamic-relabel-inactive.xml b/tests/qemuxml2xmloutdata/seclabel-dynamic-relabel-inactive.x86_64-latest.xml similarity index 89% rename from tests/qemuxml2xmloutdata/seclabel-dynamic-relabel-inactive.xml rename to tests/qemuxml2xmloutdata/seclabel-dynamic-relabel-inactive.x86_64-latest.xml index a2b4a3e19e..d94c33d47b 100644 --- a/tests/qemuxml2xmloutdata/seclabel-dynamic-relabel-inactive.xml +++ b/tests/qemuxml2xmloutdata/seclabel-dynamic-relabel-inactive.x86_64-latest.xml @@ -8,6 +8,9 @@ <type arch='x86_64' machine='pc'>hvm</type> <boot dev='hd'/> </os> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> @@ -20,7 +23,7 @@ <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> - <controller type='usb' index='0'> + <controller type='usb' index='0' model='piix3-uhci'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='ide' index='0'> diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index e6018f8240..f6be677694 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -503,20 +503,17 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST("ppc64-tpmproxy-single", "ppc64"); DO_TEST_CAPS_ARCH_LATEST("ppc64-tpmproxy-with-tpm", "ppc64"); - DO_TEST_FULL("seclabel-dynamic-baselabel", "", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); - DO_TEST_FULL("seclabel-dynamic-override", "", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); - DO_TEST_FULL("seclabel-dynamic-labelskip", "", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); - DO_TEST_FULL("seclabel-dynamic-relabel", "", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("seclabel-dynamic-baselabel", "x86_64", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("seclabel-dynamic-override", "x86_64", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("seclabel-dynamic-labelskip", "x86_64", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("seclabel-dynamic-relabel", "x86_64", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); DO_TEST_CAPS_LATEST("seclabel-static"); DO_TEST_CAPS_LATEST("seclabel-static-labelskip"); DO_TEST_CAPS_LATEST("seclabel-none"); DO_TEST_CAPS_LATEST("seclabel-dac-none"); DO_TEST_CAPS_LATEST("seclabel-dynamic-none"); DO_TEST_CAPS_LATEST("seclabel-device-multiple"); - DO_TEST_FULL("seclabel-dynamic-none-relabel", "", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, - ARG_QEMU_CAPS, QEMU_CAPS_DEVICE_CIRRUS_VGA, - QEMU_CAPS_SPICE, QEMU_CAPS_LAST, - ARG_END); + DO_TEST_CAPS_ARCH_LATEST_FULL("seclabel-dynamic-none-relabel", "x86_64", ARG_FLAGS, FLAG_SKIP_CONFIG_ACTIVE, ARG_END); DO_TEST_CAPS_LATEST("numad-static-vcpu-no-numatune"); DO_TEST_CAPS_LATEST("disk-scsi-disk-vpd"); -- 2.41.0

Now all tests invoke a real-capability version. Remove DO_TEST. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/qemuxml2xmltest.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index f6be677694..895e24d522 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -146,28 +146,24 @@ mymain(void) virSetConnectSecret(conn); virSetConnectStorage(conn); -#define DO_TEST_FULL(_name, suffix, ...) \ +#define DO_TEST_CAPS_INTERNAL(_name, arch, ver, ...) \ do { \ static struct testQemuInfo info = { \ .name = _name, \ }; \ - testQemuInfoSetArgs(&info, &testConf, __VA_ARGS__); \ + testQemuInfoSetArgs(&info, &testConf, \ + ARG_CAPS_ARCH, arch, \ + ARG_CAPS_VER, ver, \ + __VA_ARGS__, ARG_END); \ \ - testInfoSetPaths(&info, suffix, "inactive"); \ + testInfoSetPaths(&info, "." arch "-" ver, "inactive"); \ virTestRunLog(&ret, "QEMU XML-2-XML-inactive " _name, testXML2XMLInactive, &info); \ \ - testInfoSetPaths(&info, suffix, "active"); \ + testInfoSetPaths(&info, "." arch "-" ver, "active"); \ virTestRunLog(&ret, "QEMU XML-2-XML-active " _name, testXML2XMLActive, &info); \ testQemuInfoClear(&info); \ } while (0) -#define DO_TEST_CAPS_INTERNAL(name, arch, ver, ...) \ - DO_TEST_FULL(name, "." arch "-" ver, \ - ARG_CAPS_ARCH, arch, \ - ARG_CAPS_VER, ver, \ - __VA_ARGS__, \ - ARG_END) - #define DO_TEST_CAPS_ARCH_LATEST_FULL(name, arch, ...) \ DO_TEST_CAPS_INTERNAL(name, arch, "latest", __VA_ARGS__) -- 2.41.0

On a Thursday in 2023, Peter Krempa wrote:
Peter Krempa (5): qemuxml2xmltest: Rework file name generation in 'testInfoSetPaths' qemuxml2xmltest: Use DO_TEST_CAPS_ARCH_LATEST_FULL for arm GIC tests qemuxml2argvtest: Pass expected state via struct testQemuInfo's 'flags' member qemuxml2xmltest: Modernize rest of 'seclabel-*' tests qemuxml2xmltest: Merge DO_TEST macro into DO_TEST_CAPS_INTERNAL
...amic-baselabel-inactive.x86_64-latest.xml} | 5 +- ...amic-labelskip-inactive.x86_64-latest.xml} | 5 +- ...c-none-relabel-inactive.x86_64-latest.xml} | 5 +- ...namic-override-inactive.x86_64-latest.xml} | 5 +- ...ynamic-relabel-inactive.x86_64-latest.xml} | 5 +- tests/qemuxml2xmltest.c | 149 ++++++------------ tests/testutilsqemu.h | 1 + 7 files changed, 73 insertions(+), 102 deletions(-) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-baselabel-inactive.xml => seclabel-dynamic-baselabel-inactive.x86_64-latest.xml} (90%) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-labelskip-inactive.xml => seclabel-dynamic-labelskip-inactive.x86_64-latest.xml} (90%) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-none-relabel-inactive.xml => seclabel-dynamic-none-relabel-inactive.x86_64-latest.xml} (92%) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-override-inactive.xml => seclabel-dynamic-override-inactive.x86_64-latest.xml} (92%) rename tests/qemuxml2xmloutdata/{seclabel-dynamic-relabel-inactive.xml => seclabel-dynamic-relabel-inactive.x86_64-latest.xml} (89%)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano
participants (2)
-
Ján Tomko
-
Peter Krempa