Add test cases for address conflicts between disks and hostdevs that are using drive addresses. Signed-off-by: Marc Hartmayer <mhartmay@xxxxxxxxxxxxxxxxxx> Reviewed-by: Boris Fiuczynski <fiuczy@xxxxxxxxxxxxxxxxxx> --- .../qemuxml2argv-disk-drive-address-conflict.xml | 27 ++++++++++++++++++ ...xml2argv-disk-hostdev-scsi-address-conflict.xml | 30 ++++++++++++++++++++ ...emuxml2argv-hostdevs-drive-address-conflict.xml | 33 ++++++++++++++++++++++ tests/qemuxml2argvtest.c | 8 ++++++ 4 files changed, 98 insertions(+) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-address-conflict.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-hostdev-scsi-address-conflict.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdevs-drive-address-conflict.xml diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-address-conflict.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-address-conflict.xml new file mode 100644 index 0000000..83426ab --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-address-conflict.xml @@ -0,0 +1,27 @@ +<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</emulator> + <disk type='block' device='disk'> + <source dev='/dev/HostVG/QEMUGuest1'/> + <target dev='sda' bus='sata'/> + </disk> + <disk type='block' device='disk'> + <source dev='/dev/HostVG/QEMUGuest2'/> + <target dev='sdb' bus='sata'/> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </disk> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-hostdev-scsi-address-conflict.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-hostdev-scsi-address-conflict.xml new file mode 100644 index 0000000..b38ad95 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-hostdev-scsi-address-conflict.xml @@ -0,0 +1,30 @@ +<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</emulator> + <disk type='block' device='disk'> + <source dev='/dev/HostVG/QEMUGuest1'/> + <target dev='sda' bus='scsi'/> + </disk> + <hostdev mode='subsystem' type='scsi' managed='no'> + <source> + <adapter name='scsi_host2'/> + <address bus='0' target='0' unit='1'/> + </source> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </hostdev> + <controller type='scsi' index='0' model='virtio-scsi'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdevs-drive-address-conflict.xml b/tests/qemuxml2argvdata/qemuxml2argv-hostdevs-drive-address-conflict.xml new file mode 100644 index 0000000..00ac498 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdevs-drive-address-conflict.xml @@ -0,0 +1,33 @@ +<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</emulator> + <hostdev mode='subsystem' type='scsi' managed='no'> + <source> + <adapter name='scsi_host2'/> + <address bus='0' target='0' unit='1'/> + </source> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </hostdev> + <hostdev mode='subsystem' type='scsi' managed='no'> + <source> + <adapter name='scsi_host2'/> + <address bus='0' target='0' unit='2'/> + </source> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </hostdev> + <controller type='scsi' index='0' model='virtio-scsi'/> + </devices> +</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index d12077c..cd2c4a1 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -975,6 +975,14 @@ mymain(void) DO_TEST_PARSE_ERROR("disk-same-targets", QEMU_CAPS_SCSI_LSI, QEMU_CAPS_DEVICE_USB_STORAGE, QEMU_CAPS_NODEFCONFIG); + DO_TEST_PARSE_ERROR("disk-drive-address-conflict", + QEMU_CAPS_ICH9_AHCI); + DO_TEST_PARSE_ERROR("disk-hostdev-scsi-address-conflict", + QEMU_CAPS_VIRTIO_SCSI, + QEMU_CAPS_DEVICE_SCSI_GENERIC); + DO_TEST_PARSE_ERROR("hostdevs-drive-address-conflict", + QEMU_CAPS_VIRTIO_SCSI, + QEMU_CAPS_DEVICE_SCSI_GENERIC); DO_TEST("event_idx", QEMU_CAPS_VIRTIO_BLK_EVENT_IDX, QEMU_CAPS_VIRTIO_NET_EVENT_IDX, -- 2.5.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list