]> xenbits.xensource.com Git - libvirt.git/commitdiff
tests: Add tests for a virtio and sd disk in a single machine
authorPeter Krempa <pkrempa@redhat.com>
Wed, 6 May 2020 09:40:18 +0000 (11:40 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 12 May 2020 04:55:00 +0000 (06:55 +0200)
The 'vexpress-a9' ARM board supports the native 'sd' bus as well as
virtio. Add a test case for proving that upcoming changes to handling of
'sd' work. This config was also tested with real qemu and the qemu
process starts correctly.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-4.0.0.args [new file with mode: 0644]
tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-latest.args [new file with mode: 0644]
tests/qemuxml2argvdata/disk-arm-virtio-sd.xml [new file with mode: 0644]
tests/qemuxml2argvtest.c
tests/qemuxml2xmloutdata/disk-arm-virtio-sd.aarch64-latest.xml [new file with mode: 0644]
tests/qemuxml2xmltest.c

diff --git a/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-4.0.0.args b/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-4.0.0.args
new file mode 100644 (file)
index 0000000..3c2a7cf
--- /dev/null
@@ -0,0 +1,39 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-armtest \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-armtest/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-armtest/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-armtest/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-arm \
+-name guest=armtest,debug-threads=on \
+-S \
+-object secret,id=masterKey0,format=raw,\
+file=/tmp/lib/domain--1-armtest/master-key.aes \
+-machine vexpress-a9,accel=tcg,usb=off,dump-guest-core=off \
+-m 1024 \
+-overcommit mem-lock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid 496d7ea8-9739-544b-4ebd-ef08be936e6a \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,fd=1729,server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-boot strict=on \
+-kernel /arm.kernel \
+-initrd /arm.initrd \
+-append 'console=ttyAMA0,\
+115200n8 rw root=/dev/vda3 rootwait physmap.enabled=0' \
+-dtb /arm.dtb \
+-usb \
+-drive file=/arm-sd.qcow2,format=qcow2,if=sd,index=0 \
+-drive file=/arm-virtio.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 \
+-device virtio-blk-device,scsi=off,drive=drive-virtio-disk0,id=virtio-disk0 \
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
+resourcecontrol=deny \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-latest.args b/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-latest.args
new file mode 100644 (file)
index 0000000..7147dfe
--- /dev/null
@@ -0,0 +1,40 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-armtest \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-armtest/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-armtest/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-armtest/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-arm \
+-name guest=armtest,debug-threads=on \
+-S \
+-object secret,id=masterKey0,format=raw,\
+file=/tmp/lib/domain--1-armtest/master-key.aes \
+-machine vexpress-a9,accel=tcg,usb=off,dump-guest-core=off \
+-cpu cortex-a9 \
+-m 1024 \
+-overcommit mem-lock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid 496d7ea8-9739-544b-4ebd-ef08be936e6a \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,fd=1729,server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-boot strict=on \
+-kernel /arm.kernel \
+-initrd /arm.initrd \
+-append 'console=ttyAMA0,\
+115200n8 rw root=/dev/vda3 rootwait physmap.enabled=0' \
+-dtb /arm.dtb \
+-usb \
+-drive file=/arm-sd.qcow2,format=qcow2,if=sd,index=0 \
+-drive file=/arm-virtio.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 \
+-device virtio-blk-device,scsi=off,drive=drive-virtio-disk0,id=virtio-disk0 \
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
+resourcecontrol=deny \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/disk-arm-virtio-sd.xml b/tests/qemuxml2argvdata/disk-arm-virtio-sd.xml
new file mode 100644 (file)
index 0000000..0a6482f
--- /dev/null
@@ -0,0 +1,36 @@
+<domain type="qemu">
+  <name>armtest</name>
+  <uuid>496d7ea8-9739-544b-4ebd-ef08be936e6a</uuid>
+  <memory>1048576</memory>
+  <currentMemory>1048576</currentMemory>
+  <vcpu>1</vcpu>
+  <os>
+    <type arch="armv7l" machine="vexpress-a9">hvm</type>
+    <kernel>/arm.kernel</kernel>
+    <initrd>/arm.initrd</initrd>
+    <dtb>/arm.dtb</dtb>
+    <cmdline>console=ttyAMA0,115200n8 rw root=/dev/vda3 rootwait physmap.enabled=0</cmdline>
+  </os>
+  <features>
+    <acpi/>
+    <apic/>
+    <pae/>
+  </features>
+  <clock offset="utc"/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>restart</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-arm</emulator>
+    <disk type='file' device='disk'>
+      <driver name='qemu' type='qcow2'/>
+      <source file='/arm-sd.qcow2'/>
+      <target dev='sda' bus='sd'/>
+    </disk>
+    <disk type='file' device='disk'>
+      <driver name='qemu' type='qcow2'/>
+      <source file='/arm-virtio.qcow2'/>
+      <target dev='vda' bus='virtio'/>
+    </disk>
+  </devices>
+</domain>
index ad893539107236a736abe1512457f724ac143c48..4ab664a846f65d81d8c35cf3b0dc02d375117047 100644 (file)
@@ -1175,6 +1175,9 @@ mymain(void)
 
     DO_TEST_CAPS_LATEST("disk-slices");
 
+    DO_TEST_CAPS_ARCH_VER("disk-arm-virtio-sd", "aarch64", "4.0.0");
+    DO_TEST_CAPS_ARCH_LATEST("disk-arm-virtio-sd", "aarch64");
+
     DO_TEST("graphics-egl-headless",
             QEMU_CAPS_EGL_HEADLESS,
             QEMU_CAPS_DEVICE_CIRRUS_VGA);
diff --git a/tests/qemuxml2xmloutdata/disk-arm-virtio-sd.aarch64-latest.xml b/tests/qemuxml2xmloutdata/disk-arm-virtio-sd.aarch64-latest.xml
new file mode 100644 (file)
index 0000000..024db53
--- /dev/null
@@ -0,0 +1,41 @@
+<domain type='qemu'>
+  <name>armtest</name>
+  <uuid>496d7ea8-9739-544b-4ebd-ef08be936e6a</uuid>
+  <memory unit='KiB'>1048576</memory>
+  <currentMemory unit='KiB'>1048576</currentMemory>
+  <vcpu placement='static'>1</vcpu>
+  <os>
+    <type arch='armv7l' machine='vexpress-a9'>hvm</type>
+    <kernel>/arm.kernel</kernel>
+    <initrd>/arm.initrd</initrd>
+    <cmdline>console=ttyAMA0,115200n8 rw root=/dev/vda3 rootwait physmap.enabled=0</cmdline>
+    <dtb>/arm.dtb</dtb>
+    <boot dev='hd'/>
+  </os>
+  <features>
+    <acpi/>
+    <apic/>
+    <pae/>
+  </features>
+  <cpu mode='custom' match='exact' check='none'>
+    <model fallback='forbid'>cortex-a9</model>
+  </cpu>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>restart</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-arm</emulator>
+    <disk type='file' device='disk'>
+      <driver name='qemu' type='qcow2'/>
+      <source file='/arm-sd.qcow2'/>
+      <target dev='sda' bus='sd'/>
+    </disk>
+    <disk type='file' device='disk'>
+      <driver name='qemu' type='qcow2'/>
+      <source file='/arm-virtio.qcow2'/>
+      <target dev='vda' bus='virtio'/>
+      <address type='virtio-mmio'/>
+    </disk>
+  </devices>
+</domain>
index 34a9f2803ad816576b27b81b5d5e31274cdaf52c..e7480fcf9d3bc4c1b75f015e93bf79ff167074c3 100644 (file)
@@ -643,6 +643,8 @@ mymain(void)
 
     DO_TEST("disk-serial", NONE);
 
+    DO_TEST_CAPS_ARCH_LATEST("disk-arm-virtio-sd", "aarch64");
+
     DO_TEST("virtio-rng-random",
             QEMU_CAPS_DEVICE_VIRTIO_RNG);
     DO_TEST("virtio-rng-egd",