[libvirt] [PATCH] tests: qemu: Couple aarch64 CPU tests

Cole Robinson crobinso at redhat.com
Thu Apr 23 21:07:06 UTC 2015


- Make sure aarch64 host-passthrough works correctly
- Make sure libvirt doesn't choke on cpu model=host, which is what
  virt-install/virt-manager were incorrectly specifying up until recently.
---
 .../qemuxml2argv-aarch64-cpu-model-host.args       |  1 +
 .../qemuxml2argv-aarch64-cpu-model-host.xml        | 28 ++++++++++++++++++++++
 .../qemuxml2argv-aarch64-cpu-passthrough.args      |  1 +
 .../qemuxml2argv-aarch64-cpu-passthrough.xml       | 27 +++++++++++++++++++++
 tests/qemuxml2argvtest.c                           |  6 +++++
 .../qemuxml2argv-aarch64-cpu-passthrough.xml       | 27 +++++++++++++++++++++
 tests/qemuxml2xmltest.c                            |  2 ++
 7 files changed, 92 insertions(+)
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.xml
 create mode 100644 tests/qemuxml2xmloutdata/qemuxml2argv-aarch64-cpu-passthrough.xml

diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.args
new file mode 100644
index 0000000..802ea11
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none /usr/bin/qemu-system-aarch64 -S -M virt -cpu host -m 1024 -smp 1 -nographic -nodefconfig -nodefaults -monitor unix:/tmp/test-monitor,server,nowait -boot c -usb -drive file=/aarch64.raw,if=none,id=drive-virtio-disk0 -device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0
\ No newline at end of file
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.xml
new file mode 100644
index 0000000..53d528f
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-model-host.xml
@@ -0,0 +1,28 @@
+<domain type='kvm'>
+  <name>aarch64test</name>
+  <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid>
+  <memory unit='KiB'>1048576</memory>
+  <currentMemory unit='KiB'>1048576</currentMemory>
+  <vcpu placement='static'>1</vcpu>
+  <os>
+    <type arch='aarch64' machine='virt'>hvm</type>
+    <boot dev='hd'/>
+  </os>
+  <features>
+    <acpi/>
+    <apic/>
+    <pae/>
+  </features>
+  <cpu mode='host-passthrough'/>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>restart</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-aarch64</emulator>
+    <disk type='file' device='disk'>
+      <source file='/aarch64.raw'/>
+      <target dev='vda' bus='virtio'/>
+    </disk>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.args b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.args
new file mode 100644
index 0000000..802ea11
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none /usr/bin/qemu-system-aarch64 -S -M virt -cpu host -m 1024 -smp 1 -nographic -nodefconfig -nodefaults -monitor unix:/tmp/test-monitor,server,nowait -boot c -usb -drive file=/aarch64.raw,if=none,id=drive-virtio-disk0 -device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0
\ No newline at end of file
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.xml b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.xml
new file mode 100644
index 0000000..4cdf387
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-aarch64-cpu-passthrough.xml
@@ -0,0 +1,27 @@
+<domain type="kvm">
+  <name>aarch64test</name>
+  <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid>
+  <memory>1048576</memory>
+  <currentMemory>1048576</currentMemory>
+  <vcpu placement='static'>1</vcpu>
+  <os>
+    <type arch="aarch64" machine="virt">hvm</type>
+  </os>
+  <features>
+    <acpi/>
+    <apic/>
+    <pae/>
+  </features>
+  <cpu mode='host-passthrough'/>
+  <clock offset="utc"/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>restart</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-aarch64</emulator>
+    <disk type='file' device='disk'>
+      <source file='/aarch64.raw'/>
+      <target dev='vda' bus='virtio'/>
+    </disk>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 1fe445a..055ceee 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1525,6 +1525,12 @@ mymain(void)
     DO_TEST("aarch64-virt-default-nic",
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_DEVICE_VIRTIO_MMIO);
+    DO_TEST("aarch64-cpu-passthrough", QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+            QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
+            QEMU_CAPS_CPU_HOST, QEMU_CAPS_KVM);
+    DO_TEST("aarch64-cpu-model-host", QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+            QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
+            QEMU_CAPS_CPU_HOST, QEMU_CAPS_KVM);
 
     DO_TEST("kvm-pit-device", QEMU_CAPS_KVM_PIT_TICK_POLICY);
     DO_TEST("kvm-pit-delay", QEMU_CAPS_NO_KVM_PIT);
diff --git a/tests/qemuxml2xmloutdata/qemuxml2argv-aarch64-cpu-passthrough.xml b/tests/qemuxml2xmloutdata/qemuxml2argv-aarch64-cpu-passthrough.xml
new file mode 100644
index 0000000..4cdf387
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/qemuxml2argv-aarch64-cpu-passthrough.xml
@@ -0,0 +1,27 @@
+<domain type="kvm">
+  <name>aarch64test</name>
+  <uuid>496d7ea8-9739-544b-4ebd-ef08be936e8b</uuid>
+  <memory>1048576</memory>
+  <currentMemory>1048576</currentMemory>
+  <vcpu placement='static'>1</vcpu>
+  <os>
+    <type arch="aarch64" machine="virt">hvm</type>
+  </os>
+  <features>
+    <acpi/>
+    <apic/>
+    <pae/>
+  </features>
+  <cpu mode='host-passthrough'/>
+  <clock offset="utc"/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>restart</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-aarch64</emulator>
+    <disk type='file' device='disk'>
+      <source file='/aarch64.raw'/>
+      <target dev='vda' bus='virtio'/>
+    </disk>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index bce04b2..45464cc 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -612,6 +612,8 @@ mymain(void)
     DO_TEST("memory-hotplug-nonuma");
     DO_TEST("memory-hotplug-dimm");
 
+    DO_TEST("aarch64-cpu-model-host");
+
     virObjectUnref(driver.caps);
     virObjectUnref(driver.xmlopt);
 
-- 
2.3.5




More information about the libvir-list mailing list