Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
.../generic-chardev-unix-redirdev-missing-path.xml | 24 ++++++++++++
.../generic-chardev-unix-rng-missing-path.xml | 25 ++++++++++++
...generic-chardev-unix-smartcard-missing-path.xml | 23 +++++++++++
.../genericxml2xmlindata/generic-chardev-unix.xml | 43 +++++++++++++++++++++
.../genericxml2xmloutdata/generic-chardev-unix.xml | 44 ++++++++++++++++++++++
tests/genericxml2xmltest.c | 7 ++++
6 files changed, 166 insertions(+)
create mode 100644
tests/genericxml2xmlindata/generic-chardev-unix-redirdev-missing-path.xml
create mode 100644 tests/genericxml2xmlindata/generic-chardev-unix-rng-missing-path.xml
create mode 100644
tests/genericxml2xmlindata/generic-chardev-unix-smartcard-missing-path.xml
create mode 100644 tests/genericxml2xmlindata/generic-chardev-unix.xml
create mode 100644 tests/genericxml2xmloutdata/generic-chardev-unix.xml
diff --git a/tests/genericxml2xmlindata/generic-chardev-unix-redirdev-missing-path.xml
b/tests/genericxml2xmlindata/generic-chardev-unix-redirdev-missing-path.xml
new file mode 100644
index 0000000000..f0d6f3d60a
--- /dev/null
+++ b/tests/genericxml2xmlindata/generic-chardev-unix-redirdev-missing-path.xml
@@ -0,0 +1,24 @@
+<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>
+ <controller type='virtio-serial' index='0'/>
+ <controller type='usb'/>
+ <redirdev bus='usb' type='unix'>
+ <source mode='connect'/>
+ </redirdev>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/genericxml2xmlindata/generic-chardev-unix-rng-missing-path.xml
b/tests/genericxml2xmlindata/generic-chardev-unix-rng-missing-path.xml
new file mode 100644
index 0000000000..fb45c044f8
--- /dev/null
+++ b/tests/genericxml2xmlindata/generic-chardev-unix-rng-missing-path.xml
@@ -0,0 +1,25 @@
+<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>
+ <controller type='virtio-serial' index='0'/>
+ <memballoon model='none'/>
+ <rng model='virtio'>
+ <backend model='egd' type='unix'>
+ <source mode='connect'/>
+ </backend>
+ </rng>
+ </devices>
+</domain>
diff --git a/tests/genericxml2xmlindata/generic-chardev-unix-smartcard-missing-path.xml
b/tests/genericxml2xmlindata/generic-chardev-unix-smartcard-missing-path.xml
new file mode 100644
index 0000000000..451c8aa660
--- /dev/null
+++ b/tests/genericxml2xmlindata/generic-chardev-unix-smartcard-missing-path.xml
@@ -0,0 +1,23 @@
+<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>
+ <controller type='virtio-serial' index='0'/>
+ <smartcard mode='passthrough' type='unix'>
+ <source mode='connect'/>
+ </smartcard>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/genericxml2xmlindata/generic-chardev-unix.xml
b/tests/genericxml2xmlindata/generic-chardev-unix.xml
new file mode 100644
index 0000000000..bc715a3ae8
--- /dev/null
+++ b/tests/genericxml2xmlindata/generic-chardev-unix.xml
@@ -0,0 +1,43 @@
+<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>
+ <controller type='virtio-serial' index='0'/>
+ <controller type='usb'/>
+ <smartcard mode='passthrough' type='unix'>
+ <source path='/unix/socket/path'/>
+ </smartcard>
+ <channel type='unix'>
+ <target type='virtio' name='test1'/>
+ </channel>
+ <channel type='unix'>
+ <source mode='connect'/>
+ <target type='virtio' name='test2'/>
+ </channel>
+ <channel type='unix'>
+ <source mode='connect' path='/unix/socket/path'/>
+ <target type='virtio' name='test3'/>
+ </channel>
+ <redirdev bus='usb' type='unix'>
+ <source path='/unix/socket/path'/>
+ </redirdev>
+ <memballoon model='none'/>
+ <rng model='virtio'>
+ <backend model='egd' type='unix'>
+ <source path='/unix/socket/path'/>
+ </backend>
+ </rng>
+ </devices>
+</domain>
diff --git a/tests/genericxml2xmloutdata/generic-chardev-unix.xml
b/tests/genericxml2xmloutdata/generic-chardev-unix.xml
new file mode 100644
index 0000000000..c797cbff8a
--- /dev/null
+++ b/tests/genericxml2xmloutdata/generic-chardev-unix.xml
@@ -0,0 +1,44 @@
+<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>
+ <controller type='virtio-serial' index='0'/>
+ <controller type='usb' index='0'/>
+ <controller type='ccid' index='0'/>
+ <smartcard mode='passthrough' type='unix'>
+ <source mode='connect' path='/unix/socket/path'/>
+ <address type='ccid' controller='0' slot='0'/>
+ </smartcard>
+ <channel type='unix'>
+ <target type='virtio' name='test1'/>
+ </channel>
+ <channel type='unix'>
+ <target type='virtio' name='test2'/>
+ </channel>
+ <channel type='unix'>
+ <source mode='connect' path='/unix/socket/path'/>
+ <target type='virtio' name='test3'/>
+ </channel>
+ <redirdev bus='usb' type='unix'>
+ <source mode='connect' path='/unix/socket/path'/>
+ </redirdev>
+ <memballoon model='none'/>
+ <rng model='virtio'>
+ <backend model='egd' type='unix'>
+ <source mode='connect' path='/unix/socket/path'/>
+ </backend>
+ </rng>
+ </devices>
+</domain>
diff --git a/tests/genericxml2xmltest.c b/tests/genericxml2xmltest.c
index c10c3f5c04..7dc137ed16 100644
--- a/tests/genericxml2xmltest.c
+++ b/tests/genericxml2xmltest.c
@@ -113,6 +113,13 @@ mymain(void)
DO_TEST_DIFFERENT("chardev-udp");
DO_TEST_FULL("chardev-udp-missing-connect-service", 0, false,
TEST_COMPARE_DOM_XML2XML_RESULT_FAIL_PARSE);
+ DO_TEST_DIFFERENT("chardev-unix");
+ DO_TEST_FULL("chardev-unix-smartcard-missing-path", 0, false,
+ TEST_COMPARE_DOM_XML2XML_RESULT_FAIL_PARSE);
+ DO_TEST_FULL("chardev-unix-redirdev-missing-path", 0, false,
+ TEST_COMPARE_DOM_XML2XML_RESULT_FAIL_PARSE);
+ DO_TEST_FULL("chardev-unix-rng-missing-path", 0, false,
+ TEST_COMPARE_DOM_XML2XML_RESULT_FAIL_PARSE);
virObjectUnref(caps);
virObjectUnref(xmlopt);
--
2.13.5