From 998a936c4c1a65caa22d8424def7263d49a0f827 Mon Sep 17 00:00:00 2001 From: Andrea Bolognani Date: Wed, 3 Feb 2016 14:35:41 +0100 Subject: [PATCH] tests: Add more GIC test cases Test all kinds of scenarios, including guests asking for GIC but failing to specify a version, guests specifying an invalid version and guests trying to use GIC with non-virt or even non-ARM machines. --- .../qemuxml2argv-aarch64-gic-default.args | 1 + .../qemuxml2argv-aarch64-gic-default.xml | 22 ++++++++++++++++ .../qemuxml2argv-aarch64-gic-host.args | 20 ++++++++++++++ .../qemuxml2argv-aarch64-gic-host.xml | 22 ++++++++++++++++ .../qemuxml2argv-aarch64-gic-invalid.xml | 22 ++++++++++++++++ .../qemuxml2argv-aarch64-gic-none.args | 1 + .../qemuxml2argv-aarch64-gic-none.xml | 19 ++++++++++++++ .../qemuxml2argv-aarch64-gic-not-arm.xml | 22 ++++++++++++++++ .../qemuxml2argv-aarch64-gic-not-virt.xml | 22 ++++++++++++++++ tests/qemuxml2argvtest.c | 26 +++++++++++++++++++ .../qemuxml2xmlout-aarch64-gic-default.xml | 1 + .../qemuxml2xmlout-aarch64-gic-host.xml | 1 + .../qemuxml2xmlout-aarch64-gic-none.xml | 1 + tests/qemuxml2xmltest.c | 4 +++ 14 files changed, 184 insertions(+) create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-default.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-default.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-host.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-host.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-invalid.xml create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-not-arm.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-not-virt.xml create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-default.xml create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-host.xml create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none.xml diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-default.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-default.args new file mode 120000 index 0000000000..323403903d --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-default.args @@ -0,0 +1 @@ +qemuxml2argv-aarch64-gic-v2.args \ No newline at end of file diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-default.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-default.xml new file mode 100644 index 0000000000..b219972b38 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-default.xml @@ -0,0 +1,22 @@ + + aarch64test + 6ba410c5-1e5c-4d57-bee7-2228e7ffa32f + 1048576 + 1048576 + 1 + + hvm + + + + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-aarch64 + + diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-host.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-host.args new file mode 100644 index 0000000000..56adc72b05 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-host.args @@ -0,0 +1,20 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/home/test \ +USER=test \ +LOGNAME=test \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-aarch64 \ +-name aarch64test \ +-S \ +-machine virt,accel=kvm,gic-version=host \ +-cpu host \ +-m 1024 \ +-smp 1 \ +-uuid 6ba410c5-1e5c-4d57-bee7-2228e7ffa32f \ +-nographic \ +-nodefaults \ +-monitor unix:/tmp/test-monitor,server,nowait \ +-no-acpi \ +-boot c \ +-usb diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-host.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-host.xml new file mode 100644 index 0000000000..445b35857a --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-host.xml @@ -0,0 +1,22 @@ + + aarch64test + 6ba410c5-1e5c-4d57-bee7-2228e7ffa32f + 1048576 + 1048576 + 1 + + hvm + + + + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-aarch64 + + diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-invalid.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-invalid.xml new file mode 100644 index 0000000000..1cf9ea88db --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-invalid.xml @@ -0,0 +1,22 @@ + + aarch64test + 6ba410c5-1e5c-4d57-bee7-2228e7ffa32f + 1048576 + 1048576 + 1 + + hvm + + + + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-aarch64 + + diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none.args new file mode 120000 index 0000000000..323403903d --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none.args @@ -0,0 +1 @@ +qemuxml2argv-aarch64-gic-v2.args \ No newline at end of file diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none.xml new file mode 100644 index 0000000000..272d0c8575 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none.xml @@ -0,0 +1,19 @@ + + aarch64test + 6ba410c5-1e5c-4d57-bee7-2228e7ffa32f + 1048576 + 1048576 + 1 + + hvm + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-aarch64 + + diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-not-arm.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-not-arm.xml new file mode 100644 index 0000000000..3b907bc411 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-not-arm.xml @@ -0,0 +1,22 @@ + + aarch64test + 6ba410c5-1e5c-4d57-bee7-2228e7ffa32f + 1048576 + 1048576 + 1 + + hvm + + + + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-ppc64 + + diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-not-virt.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-not-virt.xml new file mode 100644 index 0000000000..256664ed84 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-not-virt.xml @@ -0,0 +1,22 @@ + + aarch64test + 6ba410c5-1e5c-4d57-bee7-2228e7ffa32f + 1048576 + 1048576 + 1 + + hvm + + + + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-aarch64 + + diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 360ba25c79..32697e7293 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1679,14 +1679,40 @@ 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", + 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", + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_MACH_VIRT_GIC_VERSION); + DO_TEST("aarch64-gic-default", + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); DO_TEST("aarch64-gic-v2", QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, QEMU_CAPS_MACH_VIRT_GIC_VERSION); + DO_TEST("aarch64-gic-v2", + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); DO_TEST("aarch64-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", QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); + DO_TEST("aarch64-gic-host", QEMU_CAPS_DEVICE, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_MACH_VIRT_GIC_VERSION); + DO_TEST_FAILURE("aarch64-gic-host", QEMU_CAPS_DEVICE, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); + DO_TEST_PARSE_ERROR("aarch64-gic-invalid", QEMU_CAPS_DEVICE, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_MACH_VIRT_GIC_VERSION); + DO_TEST_FAILURE("aarch64-gic-not-virt", QEMU_CAPS_DEVICE, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_MACH_VIRT_GIC_VERSION); + DO_TEST_FAILURE("aarch64-gic-not-arm", QEMU_CAPS_DEVICE, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_MACH_VIRT_GIC_VERSION); driver.caps->host.cpu->arch = VIR_ARCH_AARCH64; DO_TEST("aarch64-kvm-32-on-64", diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-default.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-default.xml new file mode 120000 index 0000000000..80a01c2185 --- /dev/null +++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-default.xml @@ -0,0 +1 @@ +../qemuxml2argvdata/qemuxml2argv-aarch64-gic-v2.xml \ No newline at end of file diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-host.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-host.xml new file mode 120000 index 0000000000..da3e79b365 --- /dev/null +++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-host.xml @@ -0,0 +1 @@ +../qemuxml2argvdata/qemuxml2argv-aarch64-gic-host.xml \ No newline at end of file diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none.xml new file mode 120000 index 0000000000..80a01c2185 --- /dev/null +++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none.xml @@ -0,0 +1 @@ +../qemuxml2argvdata/qemuxml2argv-aarch64-gic-v2.xml \ No newline at end of file diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index b13e2bd95d..56dc82197f 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -737,8 +737,12 @@ mymain(void) QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM, 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("memory-hotplug"); DO_TEST("memory-hotplug-nonuma"); -- GitLab