Add minimal s390-virtio domain testcase and testcases for virtio serial, net, disk for the virtio-s390 bus. Signed-off-by: Viktor Mihajlovski <mihajlov@xxxxxxxxxxxxxxxxxx> --- .../qemuxml2argv-console-virtio-s390.args | 9 ++++++ .../qemuxml2argv-console-virtio-s390.xml | 24 +++++++++++++++ .../qemuxml2argv-disk-virtio-s390.args | 5 +++ .../qemuxml2argv-disk-virtio-s390.xml | 22 ++++++++++++++ .../qemuxml2argv-minimal-s390.args | 5 +++ .../qemuxml2argvdata/qemuxml2argv-minimal-s390.xml | 21 +++++++++++++ .../qemuxml2argv-net-virtio-s390.args | 5 +++ .../qemuxml2argv-net-virtio-s390.xml | 22 ++++++++++++++ tests/qemuxml2argvtest.c | 8 +++++ tests/testutilsqemu.c | 31 ++++++++++++++++++++ 10 files changed, 152 insertions(+), 0 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-net-virtio-s390.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-net-virtio-s390.xml diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.args b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.args new file mode 100644 index 0000000..3388a35 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.args @@ -0,0 +1,9 @@ +LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M \ +s390-virtio -m 214 -smp 1 -nographic -nodefconfig -nodefaults -chardev \ +socket,id=charmonitor,path=/tmp/test-monitor,server,nowait -mon \ +chardev=charmonitor,id=monitor,mode=readline -no-acpi \ +-boot c -device virtio-serial-s390,id=virtio-serial0 \ +-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0 \ +-device virtio-blk-s390,drive=drive-virtio-disk0,id=virtio-disk0 \ +-chardev pty,id=charconsole0 \ +-device virtconsole,chardev=charconsole0,id=console0 -usb diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.xml b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.xml new file mode 100644 index 0000000..5a4a9d4 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-s390.xml @@ -0,0 +1,24 @@ +<domain type='qemu'> + <name>QEMUGuest1</name> + <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> + <memory>219100</memory> + <currentMemory>219100</currentMemory> + <os> + <type arch='s390x' machine='s390-virtio'>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='hda' bus='virtio'/> + </disk> + <console type='pty'> + <target type='virtio'/> + </console> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.args new file mode 100644 index 0000000..66bdf1e --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.args @@ -0,0 +1,5 @@ +LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S \ +-M s390-virtio -m 214 -smp 1 -nographic -nodefaults \ +-monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c \ +-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0 \ +-device virtio-blk-s390,drive=drive-virtio-disk0,id=virtio-disk0 -usb diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.xml new file mode 100644 index 0000000..9ce6c18 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-s390.xml @@ -0,0 +1,22 @@ +<domain type='qemu'> + <name>QEMUGuest1</name> + <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> + <memory>219136</memory> + <currentMemory>219136</currentMemory> + <vcpu>1</vcpu> + <os> + <type arch='s390x' machine='s390-virtio'>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='hda' bus='virtio'/> + </disk> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args b/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args new file mode 100644 index 0000000..4e7bf05 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args @@ -0,0 +1,5 @@ +LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu \ +-name QEMUGuest1 -S -M s390-virtio -m 214 -smp 1 -nographic \ +-monitor unix:/tmp/test-monitor,server,nowait -no-acpi \ +-boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial \ +none -parallel none -usb diff --git a/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.xml b/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.xml new file mode 100644 index 0000000..7378bd4 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.xml @@ -0,0 +1,21 @@ +<domain type='qemu'> + <name>QEMUGuest1</name> + <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> + <memory>219100</memory> + <currentMemory>219100</currentMemory> + <os> + <type arch='s390x' machine='s390-virtio'>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='hda' bus='virtio'/> + </disk> + </devices> +</domain> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-s390.args b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-s390.args new file mode 100644 index 0000000..700ea84 --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-s390.args @@ -0,0 +1,5 @@ +LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S \ +-M s390-virtio -m 214 -smp 1 -nographic -nodefaults \ +-monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c \ +-device virtio-net-s390,vlan=0,id=net0,mac=00:11:22:33:44:55 \ +-net user,vlan=0,name=hostnet0 -usb diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-s390.xml b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-s390.xml new file mode 100644 index 0000000..f42fadd --- /dev/null +++ b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-s390.xml @@ -0,0 +1,22 @@ +<domain type='qemu'> + <name>QEMUGuest1</name> + <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> + <memory>219136</memory> + <currentMemory>219136</currentMemory> + <vcpu>1</vcpu> + <os> + <type arch='s390x' machine='s390-virtio'>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> + <interface type='user'> + <mac address='00:11:22:33:44:55'/> + <model type='virtio'/> + </interface> + </devices> +</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index cda32b6..a4fa8fe 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -341,6 +341,7 @@ mymain(void) unsetenv("SDL_AUDIODRIVER"); DO_TEST("minimal", false, QEMU_CAPS_NAME); + DO_TEST("minimal-s390", false, QEMU_CAPS_NAME); DO_TEST("machine-aliases1", false, NONE); DO_TEST("machine-aliases2", true, NONE); DO_TEST("boot-cdrom", false, NONE); @@ -393,6 +394,8 @@ mymain(void) QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE); DO_TEST("disk-many", false, NONE); DO_TEST("disk-virtio", false, QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT); + DO_TEST("disk-virtio-s390", false, QEMU_CAPS_DRIVE, + QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_S390); DO_TEST("disk-order", false, QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO); @@ -552,6 +555,8 @@ mymain(void) QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_VIRTIO_TX_ALG); DO_TEST("net-virtio-netdev", false, QEMU_CAPS_DEVICE, QEMU_CAPS_NETDEV, QEMU_CAPS_NODEFCONFIG); + DO_TEST("net-virtio-s390", false, + QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_S390); DO_TEST("net-eth", false, NONE); DO_TEST("net-eth-ifname", false, NONE); DO_TEST("net-eth-names", false, QEMU_CAPS_NET_NAME); @@ -609,6 +614,9 @@ mymain(void) QEMU_CAPS_DEVICE, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG); DO_TEST("console-virtio-many", false, QEMU_CAPS_DEVICE, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG); + DO_TEST("console-virtio-s390", false, + QEMU_CAPS_DEVICE, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG, + QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_S390); DO_TEST("channel-spicevmc", false, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_SPICE, QEMU_CAPS_CHARDEV_SPICEVMC); diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c index 8d5a3bf..74b9122 100644 --- a/tests/testutilsqemu.c +++ b/tests/testutilsqemu.c @@ -87,6 +87,34 @@ error: return -1; } +static int testQemuAddS390Guest(virCapsPtr caps) +{ + static const char *s390_machines[] = { "s390-virtio"}; + virCapsGuestMachinePtr *machines = NULL; + virCapsGuestPtr guest; + + machines = virCapabilitiesAllocMachines(s390_machines, + ARRAY_CARDINALITY(s390_machines)); + if (!machines) + goto error; + + guest = virCapabilitiesAddGuest(caps, "hvm", "s390x", 64, + "/usr/bin/qemu-system-s390x", NULL, + ARRAY_CARDINALITY(s390_machines), + machines); + if (!guest) + goto error; + + if (!virCapabilitiesAddGuestDomain(guest, "qemu", NULL, NULL, 0, NULL)) + goto error; + + return 0; + +error: + virCapabilitiesFreeMachines(machines, ARRAY_CARDINALITY(s390_machines)); + return -1; +} + virCapsPtr testQemuCapsInit(void) { virCapsPtr caps; virCapsGuestPtr guest; @@ -208,6 +236,9 @@ virCapsPtr testQemuCapsInit(void) { if (testQemuAddPPC64Guest(caps)) goto cleanup; + if (testQemuAddS390Guest(caps)) + goto cleanup; + if (virTestGetDebug()) { char *caps_str; -- 1.7.0.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list