[libvirt] [PATCH 6/6] tests: qemuxml2argv: Test formatting of 'write-cache' parameter

John Ferlan jferlan at redhat.com
Wed Apr 11 15:20:43 UTC 2018



On 04/04/2018 04:13 AM, Peter Krempa wrote:
> Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> ---
>  tests/qemuxml2argvdata/disk-drive-write-cache.args | 45 ++++++++++++++++++++++
>  tests/qemuxml2argvdata/disk-drive-write-cache.xml  | 45 ++++++++++++++++++++++
>  tests/qemuxml2argvtest.c                           |  1 +
>  3 files changed, 91 insertions(+)
>  create mode 100644 tests/qemuxml2argvdata/disk-drive-write-cache.args
>  create mode 100644 tests/qemuxml2argvdata/disk-drive-write-cache.xml
> 

This should be merged with patch 5 - there's also no xml2xml test

Also considering patch 2, all we're testing is x86_64 on 2.12 even
though we have the feature available on other arches for other versions.

I don't believe we have any existing test that sets cache= to anything
other than 'none' (e.g. qemuDiskCacheV2 isn't really used or checked
currently).

Why wouldn't any of the existing cache=none would change too...  OK
other than the fact that you're only testing for 2.12 and beyond...

Perhaps it would have been interesting to see the results of this test
before the new capability and how it changes afterwards.

John

> diff --git a/tests/qemuxml2argvdata/disk-drive-write-cache.args b/tests/qemuxml2argvdata/disk-drive-write-cache.args
> new file mode 100644
> index 0000000000..3973249d18
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/disk-drive-write-cache.args
> @@ -0,0 +1,45 @@
> +LC_ALL=C \
> +PATH=/bin \
> +HOME=/home/test \
> +USER=test \
> +LOGNAME=test \
> +QEMU_AUDIO_DRV=none \
> +/usr/bin/qemu-system-i686 \
> +-name guest=QEMUGuest1,debug-threads=on \
> +-S \
> +-object secret,id=masterKey0,format=raw,\
> +file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
> +-machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
> +-m 214 \
> +-realtime mlock=off \
> +-smp 1,sockets=1,cores=1,threads=1 \
> +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
> +-display none \
> +-no-user-config \
> +-nodefaults \
> +-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
> +server,nowait \
> +-mon chardev=charmonitor,id=monitor,mode=control \
> +-rtc base=utc \
> +-no-shutdown \
> +-no-acpi \
> +-boot strict=on \
> +-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \
> +-device lsi,id=scsi0,bus=pci.0,addr=0x2 \
> +-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,\
> +cache=writeback \
> +-device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1,\
> +write-cache=on \
> +-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-scsi0-0-0,\
> +cache=none \
> +-device scsi-hd,bus=scsi0.0,scsi-id=0,drive=drive-scsi0-0-0,id=scsi0-0-0,\
> +write-cache=on \
> +-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-virtio-disk0,\
> +cache=writethrough \
> +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,\
> +id=virtio-disk0,write-cache=off \
> +-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-usb-disk1,\
> +cache=directsync \
> +-device usb-storage,bus=usb.0,port=1,drive=drive-usb-disk1,id=usb-disk1,\
> +removable=off,write-cache=off \
> +-msg timestamp=on
> diff --git a/tests/qemuxml2argvdata/disk-drive-write-cache.xml b/tests/qemuxml2argvdata/disk-drive-write-cache.xml
> new file mode 100644
> index 0000000000..dc7bdd6050
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/disk-drive-write-cache.xml
> @@ -0,0 +1,45 @@
> +<domain type='qemu'>
> +  <name>QEMUGuest1</name>
> +  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
> +  <memory unit='KiB'>219136</memory>
> +  <currentMemory unit='KiB'>219136</currentMemory>
> +  <vcpu placement='static'>1</vcpu>
> +  <os>
> +    <type arch='i686' machine='pc'>hvm</type>
> +    <boot dev='hd'/>
> +  </os>
> +  <clock offset='utc'/>
> +  <on_poweroff>destroy</on_poweroff>
> +  <on_reboot>restart</on_reboot>
> +  <on_crash>destroy</on_crash>
> +  <devices>
> +    <emulator>/usr/bin/qemu-system-i686</emulator>
> +    <disk type='block' device='disk'>
> +      <driver name='qemu' type='qcow2' cache='writeback'/>
> +      <source dev='/dev/HostVG/QEMUGuest1'/>
> +      <target dev='hda' bus='ide'/>
> +      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
> +    </disk>
> +    <disk type='block' device='disk'>
> +      <driver name='qemu' type='qcow2' cache='none'/>
> +      <source dev='/dev/HostVG/QEMUGuest1'/>
> +      <target dev='sda' bus='scsi'/>
> +    </disk>
> +    <disk type='block' device='disk'>
> +      <driver name='qemu' type='qcow2' cache='writethrough'/>
> +      <source dev='/dev/HostVG/QEMUGuest1'/>
> +      <target dev='vda' bus='virtio'/>
> +    </disk>
> +    <disk type='block' device='disk'>
> +      <driver name='qemu' type='qcow2' cache='directsync'/>
> +      <source dev='/dev/HostVG/QEMUGuest1'/>
> +      <target dev='sdb' bus='usb'/>
> +    </disk>
> +    <controller type='usb' index='0'/>
> +    <controller type='ide' index='0'/>
> +    <controller type='pci' index='0' model='pci-root'/>
> +    <input type='mouse' bus='ps2'/>
> +    <input type='keyboard' bus='ps2'/>
> +    <memballoon model='none'/>
> +  </devices>
> +</domain>
> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
> index c540ce2f50..b70780bf4e 100644
> --- a/tests/qemuxml2argvtest.c
> +++ b/tests/qemuxml2argvtest.c
> @@ -998,6 +998,7 @@ mymain(void)
>      DO_TEST("disk-drive-cache-v2-wt", NONE);
>      DO_TEST("disk-drive-cache-v2-wb", NONE);
>      DO_TEST("disk-drive-cache-v2-none", NONE);
> +    DO_TEST_CAPS("disk-drive-write-cache", "2.12.0");
>      DO_TEST("disk-drive-cache-directsync",
>              QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC);
>      DO_TEST("disk-drive-cache-unsafe",
> 




More information about the libvir-list mailing list