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(a)redhat.com>
---
.../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