Signed-off-by: Matt Coleman <matt@xxxxxxxxx> --- docs/schemas/basictypes.rng | 2 +- docs/schemas/domaincommon.rng | 5 +++- .../disk-hyperv-physical.xml | 17 ++++++++++++++ .../disk-hyperv-virtual.xml | 17 ++++++++++++++ .../disk-hyperv-physical.xml | 23 +++++++++++++++++++ .../disk-hyperv-virtual.xml | 23 +++++++++++++++++++ tests/genericxml2xmltest.c | 2 ++ 7 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 tests/genericxml2xmlindata/disk-hyperv-physical.xml create mode 100644 tests/genericxml2xmlindata/disk-hyperv-virtual.xml create mode 100644 tests/genericxml2xmloutdata/disk-hyperv-physical.xml create mode 100644 tests/genericxml2xmloutdata/disk-hyperv-virtual.xml diff --git a/docs/schemas/basictypes.rng b/docs/schemas/basictypes.rng index ea18b2d2fb..fc52799466 100644 --- a/docs/schemas/basictypes.rng +++ b/docs/schemas/basictypes.rng @@ -299,7 +299,7 @@ <define name="absFilePath"> <data type="string"> - <param name="pattern">/.+</param> + <param name="pattern">(/|[a-zA-Z]:\\).+</param> </data> </define> diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index f86a854863..da9d1da187 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -1691,7 +1691,10 @@ <interleave> <optional> <attribute name="dev"> - <ref name="absFilePath"/> + <choice> + <ref name="absFilePath"/> + <ref name="deviceName"/> + </choice> </attribute> </optional> <ref name="diskSourceCommon"/> diff --git a/tests/genericxml2xmlindata/disk-hyperv-physical.xml b/tests/genericxml2xmlindata/disk-hyperv-physical.xml new file mode 100644 index 0000000000..a7f34c18f4 --- /dev/null +++ b/tests/genericxml2xmlindata/disk-hyperv-physical.xml @@ -0,0 +1,17 @@ +<domain type='hyperv'> + <name>test_disk-hyperv</name> + <uuid>deadbeef-dead-beef-dead-beefdeadbeef</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>3</vcpu> + <os> + <type>hvm</type> + </os> + <devices> + <disk type='block' device='disk'> + <source dev='2'/> + <target dev='sdb' bus='scsi'/> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </disk> + <controller type='scsi' index='0'/> + </devices> +</domain> diff --git a/tests/genericxml2xmlindata/disk-hyperv-virtual.xml b/tests/genericxml2xmlindata/disk-hyperv-virtual.xml new file mode 100644 index 0000000000..bbc56c9f89 --- /dev/null +++ b/tests/genericxml2xmlindata/disk-hyperv-virtual.xml @@ -0,0 +1,17 @@ +<domain type='hyperv'> + <name>test_disk-hyperv</name> + <uuid>deadbeef-dead-beef-dead-beefdeadbeef</uuid> + <memory unit='KiB'>1048576</memory> + <vcpu placement='static'>3</vcpu> + <os> + <type>hvm</type> + </os> + <devices> + <disk type='file' device='disk'> + <source file='X:\test_disk-hyperv.vhdx'/> + <target dev='sda' bus='scsi'/> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </disk> + <controller type='scsi' index='0'/> + </devices> +</domain> diff --git a/tests/genericxml2xmloutdata/disk-hyperv-physical.xml b/tests/genericxml2xmloutdata/disk-hyperv-physical.xml new file mode 100644 index 0000000000..112a5081cd --- /dev/null +++ b/tests/genericxml2xmloutdata/disk-hyperv-physical.xml @@ -0,0 +1,23 @@ +<domain type='hyperv'> + <name>test_disk-hyperv</name> + <uuid>deadbeef-dead-beef-dead-beefdeadbeef</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>3</vcpu> + <os> + <type arch='x86_64'>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> + <disk type='block' device='disk'> + <source dev='2'/> + <target dev='sdb' bus='scsi'/> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </disk> + <controller type='scsi' index='0'/> + </devices> +</domain> diff --git a/tests/genericxml2xmloutdata/disk-hyperv-virtual.xml b/tests/genericxml2xmloutdata/disk-hyperv-virtual.xml new file mode 100644 index 0000000000..dadd3318ab --- /dev/null +++ b/tests/genericxml2xmloutdata/disk-hyperv-virtual.xml @@ -0,0 +1,23 @@ +<domain type='hyperv'> + <name>test_disk-hyperv</name> + <uuid>deadbeef-dead-beef-dead-beefdeadbeef</uuid> + <memory unit='KiB'>1048576</memory> + <currentMemory unit='KiB'>1048576</currentMemory> + <vcpu placement='static'>3</vcpu> + <os> + <type arch='x86_64'>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> + <disk type='file' device='disk'> + <source file='X:\test_disk-hyperv.vhdx'/> + <target dev='sda' bus='scsi'/> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </disk> + <controller type='scsi' index='0'/> + </devices> +</domain> diff --git a/tests/genericxml2xmltest.c b/tests/genericxml2xmltest.c index 5110bfba86..5e8f58b4a2 100644 --- a/tests/genericxml2xmltest.c +++ b/tests/genericxml2xmltest.c @@ -154,6 +154,8 @@ mymain(void) DO_TEST_FULL(name, 1, false, TEST_COMPARE_DOM_XML2XML_RESULT_SUCCESS) DO_TEST_DIFFERENT("disk-virtio"); + DO_TEST_DIFFERENT("disk-hyperv-physical"); + DO_TEST_DIFFERENT("disk-hyperv-virtual"); DO_TEST_DIFFERENT("graphics-vnc-minimal"); DO_TEST_DIFFERENT("graphics-vnc-manual-port"); -- 2.27.0