[libvirt] [PATCH v2 5/5] tests: Try different usable GIC versions
John Ferlan
jferlan at redhat.com
Tue May 17 20:10:58 UTC 2016
On 05/16/2016 06:00 PM, Andrea Bolognani wrote:
> The only case where the hardware capabilities influence the result
> is when no <gic/> element was provided.
>
> The test programs now ensure both that the correct GIC version is
> picked in that case, and that hardware capabilities are not taken
> into account when the user has already picked a GIC version.
> ---
> .../qemuxml2argv-aarch64-gic-none-both.args | 1 +
> .../qemuxml2argv-aarch64-gic-none-both.xml | 1 +
> .../qemuxml2argv-aarch64-gic-none-v2.args | 1 +
> .../qemuxml2argv-aarch64-gic-none-v2.xml | 1 +
> .../qemuxml2argv-aarch64-gic-none-v3.args | 1 +
> .../qemuxml2argv-aarch64-gic-none-v3.xml | 1 +
> tests/qemuxml2argvtest.c | 76 ++++++++++++++++++----
> .../qemuxml2xmlout-aarch64-gic-none-both.xml | 1 +
> .../qemuxml2xmlout-aarch64-gic-none-v2.xml | 1 +
> .../qemuxml2xmlout-aarch64-gic-none-v3.xml | 1 +
> tests/qemuxml2xmltest.c | 25 +++++--
> 11 files changed, 91 insertions(+), 19 deletions(-)
> create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-both.args
> create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-both.xml
> create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v2.args
> create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v2.xml
> create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v3.args
> create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v3.xml
> create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-both.xml
> create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-v2.xml
> create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-v3.xml
>
This failed to apply - seemingly because there's QEMU_CAPS_CPU_HOST in
here that has changed since you posted to X_QEMU_CAPS_CPU_HOST
But if I very carefully massage it, I was able to run the test - nothing
like testing the crap out of things!
So ACK with the I hope obvious adjustment to remove QEMU_CAPS_CPU_HOST
John
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-both.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-both.args
> new file mode 120000
> index 0000000..5b20f61
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-both.args
> @@ -0,0 +1 @@
> +qemuxml2argv-aarch64-gic-v3.args
> \ No newline at end of file
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-both.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-both.xml
> new file mode 120000
> index 0000000..d859f53
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-both.xml
> @@ -0,0 +1 @@
> +qemuxml2argv-aarch64-gic-none.xml
> \ No newline at end of file
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v2.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v2.args
> new file mode 120000
> index 0000000..3234039
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v2.args
> @@ -0,0 +1 @@
> +qemuxml2argv-aarch64-gic-v2.args
> \ No newline at end of file
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v2.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v2.xml
> new file mode 120000
> index 0000000..d859f53
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v2.xml
> @@ -0,0 +1 @@
> +qemuxml2argv-aarch64-gic-none.xml
> \ No newline at end of file
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v3.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v3.args
> new file mode 120000
> index 0000000..5b20f61
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v3.args
> @@ -0,0 +1 @@
> +qemuxml2argv-aarch64-gic-v3.args
> \ No newline at end of file
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v3.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v3.xml
> new file mode 120000
> index 0000000..88c660c
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v3.xml
> @@ -0,0 +1 @@
> +qemuxml2argv-aarch64-gic-none-v2.xml
> \ No newline at end of file
> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
> index 6b804b8..734861d 100644
> --- a/tests/qemuxml2argvtest.c
> +++ b/tests/qemuxml2argvtest.c
> @@ -540,6 +540,9 @@ mymain(void)
> # define DO_TEST(name, ...) \
> DO_TEST_FULL(name, NULL, -1, 0, 0, GIC_NONE, __VA_ARGS__)
>
> +# define DO_TEST_GIC(name, gic, ...) \
> + DO_TEST_FULL(name, NULL, -1, 0, 0, gic, __VA_ARGS__)
> +
> # define DO_TEST_FAILURE(name, ...) \
> DO_TEST_FULL(name, NULL, -1, FLAG_EXPECT_FAILURE, \
> 0, GIC_NONE, __VA_ARGS__)
> @@ -1740,38 +1743,83 @@ mymain(void)
> DO_TEST("aarch64-cpu-passthrough",
> QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
> QEMU_CAPS_CPU_HOST, QEMU_CAPS_KVM);
> - DO_TEST("aarch64-gic-none",
> + DO_TEST_GIC("aarch64-gic-none", GIC_NONE,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST);
> + DO_TEST_GIC("aarch64-gic-none", GIC_NONE,
> QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> - DO_TEST("aarch64-gic-none",
> - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST);
> - DO_TEST("aarch64-gic-default",
> + DO_TEST_GIC("aarch64-gic-none-v2", GIC_V2,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-none-v3", GIC_V3,
> QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> - DO_TEST("aarch64-gic-default",
> + DO_TEST_GIC("aarch64-gic-none-both", GIC_BOTH,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-default", GIC_NONE,
> QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST);
> - DO_TEST("aarch64-gic-v2",
> + DO_TEST_GIC("aarch64-gic-default", GIC_NONE,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-default", GIC_V2,
> QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> - DO_TEST("aarch64-gic-v2",
> + DO_TEST_GIC("aarch64-gic-default", GIC_V3,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-default", GIC_BOTH,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-v2", GIC_NONE,
> QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST);
> - DO_TEST("aarch64-gic-v3",
> + DO_TEST_GIC("aarch64-gic-v2", GIC_NONE,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-v2", GIC_V2,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-v2", GIC_V3,
> QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> - DO_TEST_FAILURE("aarch64-gic-v3",
> + DO_TEST_GIC("aarch64-gic-v2", GIC_BOTH,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_FAILURE("aarch64-gic-v3", GIC_NONE,
> QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST);
> - DO_TEST("aarch64-gic-host",
> + DO_TEST_GIC("aarch64-gic-v3", GIC_NONE,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-v3", GIC_V2,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-v3", GIC_V3,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-v3", GIC_BOTH,
> QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> - DO_TEST_FAILURE("aarch64-gic-host",
> + DO_TEST_FAILURE("aarch64-gic-host", GIC_NONE,
> QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST);
> - DO_TEST_PARSE_ERROR("aarch64-gic-invalid",
> + DO_TEST_GIC("aarch64-gic-host", GIC_NONE,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-host", GIC_V2,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-host", GIC_V3,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_GIC("aarch64-gic-host", GIC_BOTH,
> + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> + QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> + DO_TEST_PARSE_ERROR("aarch64-gic-invalid", GIC_NONE,
> QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> - DO_TEST_FAILURE("aarch64-gic-not-virt",
> + DO_TEST_FAILURE("aarch64-gic-not-virt", GIC_NONE,
> QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> QEMU_CAPS_MACH_VIRT_GIC_VERSION);
> - DO_TEST_FAILURE("aarch64-gic-not-arm",
> + DO_TEST_FAILURE("aarch64-gic-not-arm", GIC_NONE,
> QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST,
> QEMU_CAPS_MACH_VIRT_GIC_VERSION);
>
> diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-both.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-both.xml
> new file mode 120000
> index 0000000..f586fa1
> --- /dev/null
> +++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-both.xml
> @@ -0,0 +1 @@
> +../qemuxml2argvdata/qemuxml2argv-aarch64-gic-v3.xml
> \ No newline at end of file
> diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-v2.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-v2.xml
> new file mode 120000
> index 0000000..80a01c2
> --- /dev/null
> +++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-v2.xml
> @@ -0,0 +1 @@
> +../qemuxml2argvdata/qemuxml2argv-aarch64-gic-v2.xml
> \ No newline at end of file
> diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-v3.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-v3.xml
> new file mode 120000
> index 0000000..f586fa1
> --- /dev/null
> +++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-v3.xml
> @@ -0,0 +1 @@
> +../qemuxml2argvdata/qemuxml2argv-aarch64-gic-v3.xml
> \ No newline at end of file
> diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
> index 9d2109b..404cd10 100644
> --- a/tests/qemuxml2xmltest.c
> +++ b/tests/qemuxml2xmltest.c
> @@ -775,11 +775,26 @@ mymain(void)
> QEMU_CAPS_OBJECT_GPEX, QEMU_CAPS_DEVICE_PCI_BRIDGE,
> QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE, QEMU_CAPS_VIRTIO_SCSI);
>
> - DO_TEST("aarch64-gic-none");
> - DO_TEST("aarch64-gic-default");
> - DO_TEST("aarch64-gic-v2");
> - DO_TEST("aarch64-gic-v3");
> - DO_TEST("aarch64-gic-host");
> + DO_TEST_FULL("aarch64-gic-none", WHEN_BOTH, GIC_NONE, NONE);
> + DO_TEST_FULL("aarch64-gic-none-v2", WHEN_BOTH, GIC_V2, NONE);
> + DO_TEST_FULL("aarch64-gic-none-v3", WHEN_BOTH, GIC_V3, NONE);
> + DO_TEST_FULL("aarch64-gic-none-both", WHEN_BOTH, GIC_BOTH, NONE);
> + DO_TEST_FULL("aarch64-gic-default", WHEN_BOTH, GIC_NONE, NONE);
> + DO_TEST_FULL("aarch64-gic-default", WHEN_BOTH, GIC_V2, NONE);
> + DO_TEST_FULL("aarch64-gic-default", WHEN_BOTH, GIC_V3, NONE);
> + DO_TEST_FULL("aarch64-gic-default", WHEN_BOTH, GIC_BOTH, NONE);
> + DO_TEST_FULL("aarch64-gic-v2", WHEN_BOTH, GIC_NONE, NONE);
> + DO_TEST_FULL("aarch64-gic-v2", WHEN_BOTH, GIC_V2, NONE);
> + DO_TEST_FULL("aarch64-gic-v2", WHEN_BOTH, GIC_V3, NONE);
> + DO_TEST_FULL("aarch64-gic-v2", WHEN_BOTH, GIC_BOTH, NONE);
> + DO_TEST_FULL("aarch64-gic-v3", WHEN_BOTH, GIC_NONE, NONE);
> + DO_TEST_FULL("aarch64-gic-v3", WHEN_BOTH, GIC_V2, NONE);
> + DO_TEST_FULL("aarch64-gic-v3", WHEN_BOTH, GIC_V3, NONE);
> + DO_TEST_FULL("aarch64-gic-v3", WHEN_BOTH, GIC_BOTH, NONE);
> + DO_TEST_FULL("aarch64-gic-host", WHEN_BOTH, GIC_NONE, NONE);
> + DO_TEST_FULL("aarch64-gic-host", WHEN_BOTH, GIC_V2, NONE);
> + DO_TEST_FULL("aarch64-gic-host", WHEN_BOTH, GIC_V3, NONE);
> + DO_TEST_FULL("aarch64-gic-host", WHEN_BOTH, GIC_BOTH, NONE);
>
> DO_TEST("memory-hotplug");
> DO_TEST("memory-hotplug-nonuma");
>
More information about the libvir-list
mailing list