Starting with qemu-3.0 release we use the 'werror' and 'rerror' properties with the frontend (device) rather than the storage backend (with a minor caveat of s390, where we use it earlier as it doesn't support USB disks, and other disk types supported it earlier). Add specific test cases after the change, but before '-blockdev' was enabled. This is done separately from the changes in the next commit which simply moves all other disk tests to the last pre-blockdev qemu as we have a semantic change happening after 2.12. Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- .../disk-error-policy-s390x.s390x-4.0.0.args | 35 ++++++++++++++++++ .../disk-error-policy.x86_64-4.1.0.args | 37 +++++++++++++++++++ tests/qemuxml2argvtest.c | 2 + 3 files changed, 74 insertions(+) create mode 100644 tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-4.0.0.args create mode 100644 tests/qemuxml2argvdata/disk-error-policy.x86_64-4.1.0.args diff --git a/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-4.0.0.args b/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-4.0.0.args new file mode 100644 index 0000000000..2cda1351c4 --- /dev/null +++ b/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-4.0.0.args @@ -0,0 +1,35 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-guest \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-guest/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-guest/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-s390x \ +-name guest=guest,debug-threads=on \ +-S \ +-object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-guest/master-key.aes \ +-machine s390-ccw-virtio-4.0,usb=off,dump-guest-core=off \ +-accel tcg \ +-m 214 \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-boot strict=on \ +-drive file=/var/images/image1,format=qcow2,if=none,id=drive-virtio-disk0,cache=none \ +-device virtio-blk-ccw,scsi=off,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1,write-cache=on,werror=stop,rerror=stop \ +-drive file=/var/images/image2,format=qcow2,if=none,id=drive-virtio-disk1,cache=none \ +-device virtio-blk-ccw,scsi=off,devno=fe.0.0001,drive=drive-virtio-disk1,id=virtio-disk1,write-cache=on,werror=enospc \ +-drive file=/var/images/image3,format=qcow2,if=none,id=drive-virtio-disk2,cache=none \ +-device virtio-blk-ccw,scsi=off,devno=fe.0.0002,drive=drive-virtio-disk2,id=virtio-disk2,write-cache=on,werror=report,rerror=ignore \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/disk-error-policy.x86_64-4.1.0.args b/tests/qemuxml2argvdata/disk-error-policy.x86_64-4.1.0.args new file mode 100644 index 0000000000..f08ce16a4e --- /dev/null +++ b/tests/qemuxml2argvdata/disk-error-policy.x86_64-4.1.0.args @@ -0,0 +1,37 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=none \ +/usr/bin/qemu-system-x86_64 \ +-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-4.1,usb=off,dump-guest-core=off \ +-accel tcg \ +-m 214 \ +-overcommit mem-lock=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,fd=1729,server=on,wait=off \ +-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 \ +-drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \ +-device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1,write-cache=on,werror=stop,rerror=stop \ +-drive file=/dev/HostVG/QEMUGuest2,format=qcow2,if=none,id=drive-ide0-0-1,cache=none \ +-device ide-hd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1,write-cache=on,werror=enospc \ +-drive file=/dev/HostVG/QEMUGuest3,format=qcow2,if=none,id=drive-ide0-1-0,cache=none \ +-device ide-hd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,write-cache=on,werror=report,rerror=ignore \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 1e1d9ee9a1..ee74eda7a8 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1347,8 +1347,10 @@ mymain(void) DO_TEST_CAPS_LATEST("disk-shared"); DO_TEST_CAPS_LATEST_PARSE_ERROR("disk-shared-qcow"); DO_TEST_CAPS_VER("disk-error-policy", "2.12.0"); + DO_TEST_CAPS_VER("disk-error-policy", "4.1.0"); DO_TEST_CAPS_LATEST("disk-error-policy"); DO_TEST_CAPS_ARCH_VER("disk-error-policy-s390x", "s390x", "2.12.0"); + DO_TEST_CAPS_ARCH_VER("disk-error-policy-s390x", "s390x", "4.0.0"); DO_TEST_CAPS_ARCH_LATEST("disk-error-policy-s390x", "s390x"); DO_TEST_CAPS_VER("disk-cache", "2.12.0"); DO_TEST_CAPS_LATEST("disk-cache"); -- 2.34.1