From 2360fe5d24175835d3f5fd1c7e8e6e13addab629 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Thu, 11 Dec 2014 16:11:49 +0100 Subject: [PATCH] capabilities: Format properly The element under /capabilities/guest/arch/ can have no child elements. If that's the case we format: instead of simpler: This commit fixes that. Signed-off-by: Michal Privoznik --- src/conf/capabilities.c | 9 ++++- tests/capabilityschemadata/caps-qemu-kvm.xml | 36 +++++++------------- tests/capabilityschemadata/caps-test.xml | 6 ++-- tests/capabilityschemadata/caps-test2.xml | 6 ++-- tests/xencapsdata/xen-i686-pae-hvm.xml | 6 ++-- tests/xencapsdata/xen-i686-pae.xml | 3 +- tests/xencapsdata/xen-i686.xml | 3 +- tests/xencapsdata/xen-ia64-be-hvm.xml | 6 ++-- tests/xencapsdata/xen-ia64-be.xml | 3 +- tests/xencapsdata/xen-ia64-hvm.xml | 6 ++-- tests/xencapsdata/xen-ia64.xml | 3 +- tests/xencapsdata/xen-ppc64.xml | 3 +- tests/xencapsdata/xen-x86_64-hvm.xml | 9 ++--- tests/xencapsdata/xen-x86_64.xml | 3 +- 14 files changed, 39 insertions(+), 63 deletions(-) diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c index 37d19c1482..6c11a7f54a 100644 --- a/src/conf/capabilities.c +++ b/src/conf/capabilities.c @@ -969,8 +969,15 @@ virCapabilitiesFormatXML(virCapsPtr caps) } for (j = 0; j < caps->guests[i]->arch.ndomains; j++) { - virBufferAsprintf(&buf, "\n", + virBufferAsprintf(&buf, "guests[i]->arch.domains[j]->type); + if (!caps->guests[i]->arch.domains[j]->info.emulator && + !caps->guests[i]->arch.domains[j]->info.loader && + !caps->guests[i]->arch.domains[j]->info.nmachines) { + virBufferAddLit(&buf, "/>\n"); + continue; + } + virBufferAddLit(&buf, ">\n"); virBufferAdjustIndent(&buf, 2); if (caps->guests[i]->arch.domains[j]->info.emulator) virBufferAsprintf(&buf, "%s\n", diff --git a/tests/capabilityschemadata/caps-qemu-kvm.xml b/tests/capabilityschemadata/caps-qemu-kvm.xml index 55faa16b2d..7055c7a812 100644 --- a/tests/capabilityschemadata/caps-qemu-kvm.xml +++ b/tests/capabilityschemadata/caps-qemu-kvm.xml @@ -39,8 +39,7 @@ pc pc-0.10 isapc - - + /usr/bin/qemu-kvm pc-0.11 @@ -66,8 +65,7 @@ pc pc-0.10 isapc - - + /usr/bin/qemu-kvm pc-0.11 @@ -108,8 +106,7 @@ realview versatilepb versatileab - - + @@ -119,8 +116,7 @@ 64 /usr/bin/qemu-system-aarch64 machvirt - - + @@ -131,8 +127,7 @@ /usr/bin/qemu-system-microblaze petalogix-s3adsp1800 microblaze-fdt - - + @@ -143,8 +138,7 @@ /usr/bin/qemu-system-microblazeel petalogix-s3adsp1800 microblaze-fdt - - + @@ -158,8 +152,7 @@ magnum pica61 mips - - + @@ -173,8 +166,7 @@ magnum pica61 mips - - + @@ -195,8 +187,7 @@ SS-1000 SS-2000 SS-2 - - + @@ -212,8 +203,7 @@ taihu mac99 prep - - + @@ -223,8 +213,7 @@ 32 /usr/bin/xenner xenner - - + @@ -240,8 +229,7 @@ 64 /usr/bin/xenner xenner - - + diff --git a/tests/capabilityschemadata/caps-test.xml b/tests/capabilityschemadata/caps-test.xml index 64f9bb648e..da199611ea 100644 --- a/tests/capabilityschemadata/caps-test.xml +++ b/tests/capabilityschemadata/caps-test.xml @@ -43,8 +43,7 @@ 32 /usr/bin/test-hv - - + @@ -57,8 +56,7 @@ 32 /usr/bin/test-hv - - + diff --git a/tests/capabilityschemadata/caps-test2.xml b/tests/capabilityschemadata/caps-test2.xml index a99c1b8eb4..e676395916 100644 --- a/tests/capabilityschemadata/caps-test2.xml +++ b/tests/capabilityschemadata/caps-test2.xml @@ -51,8 +51,7 @@ pc-0.11 pc-0.10 isapc - - + /usr/libexec/qemu-kvm pc-1.2 @@ -94,8 +93,7 @@ pc-0.11 pc-0.10 isapc - - + /usr/libexec/qemu-kvm pc-1.2 diff --git a/tests/xencapsdata/xen-i686-pae-hvm.xml b/tests/xencapsdata/xen-i686-pae-hvm.xml index 872e5f6698..cf6a1de6e1 100644 --- a/tests/xencapsdata/xen-i686-pae-hvm.xml +++ b/tests/xencapsdata/xen-i686-pae-hvm.xml @@ -22,8 +22,7 @@ 32 /usr/lib/xen/bin/qemu-dm xenpv - - + @@ -37,8 +36,7 @@ /usr/lib/xen/bin/qemu-dm /usr/lib/xen/boot/hvmloader xenfv - - + diff --git a/tests/xencapsdata/xen-i686-pae.xml b/tests/xencapsdata/xen-i686-pae.xml index 3dba6ebbcf..c917fbe728 100644 --- a/tests/xencapsdata/xen-i686-pae.xml +++ b/tests/xencapsdata/xen-i686-pae.xml @@ -22,8 +22,7 @@ 32 /usr/lib/xen/bin/qemu-dm xenpv - - + diff --git a/tests/xencapsdata/xen-i686.xml b/tests/xencapsdata/xen-i686.xml index 22d7685fcd..5771e2bcf1 100644 --- a/tests/xencapsdata/xen-i686.xml +++ b/tests/xencapsdata/xen-i686.xml @@ -19,8 +19,7 @@ 32 /usr/lib/xen/bin/qemu-dm xenpv - - + diff --git a/tests/xencapsdata/xen-ia64-be-hvm.xml b/tests/xencapsdata/xen-ia64-be-hvm.xml index 222de1dadb..19d23e940e 100644 --- a/tests/xencapsdata/xen-ia64-be-hvm.xml +++ b/tests/xencapsdata/xen-ia64-be-hvm.xml @@ -19,8 +19,7 @@ 64 /usr/lib/xen/bin/qemu-dm xenpv - - + @@ -34,8 +33,7 @@ /usr/lib/xen/bin/qemu-dm /usr/lib/xen/boot/hvmloader xenfv - - + diff --git a/tests/xencapsdata/xen-ia64-be.xml b/tests/xencapsdata/xen-ia64-be.xml index 017816c4db..78fa77e693 100644 --- a/tests/xencapsdata/xen-ia64-be.xml +++ b/tests/xencapsdata/xen-ia64-be.xml @@ -19,8 +19,7 @@ 64 /usr/lib/xen/bin/qemu-dm xenpv - - + diff --git a/tests/xencapsdata/xen-ia64-hvm.xml b/tests/xencapsdata/xen-ia64-hvm.xml index 33c49469c4..6e22372171 100644 --- a/tests/xencapsdata/xen-ia64-hvm.xml +++ b/tests/xencapsdata/xen-ia64-hvm.xml @@ -19,8 +19,7 @@ 64 /usr/lib/xen/bin/qemu-dm xenpv - - + @@ -31,8 +30,7 @@ /usr/lib/xen/bin/qemu-dm /usr/lib/xen/boot/hvmloader xenfv - - + diff --git a/tests/xencapsdata/xen-ia64.xml b/tests/xencapsdata/xen-ia64.xml index 82ce965625..9e3eaf4356 100644 --- a/tests/xencapsdata/xen-ia64.xml +++ b/tests/xencapsdata/xen-ia64.xml @@ -19,8 +19,7 @@ 64 /usr/lib/xen/bin/qemu-dm xenpv - - + diff --git a/tests/xencapsdata/xen-ppc64.xml b/tests/xencapsdata/xen-ppc64.xml index 91401b9387..0132c459c8 100644 --- a/tests/xencapsdata/xen-ppc64.xml +++ b/tests/xencapsdata/xen-ppc64.xml @@ -19,8 +19,7 @@ 64 /usr/lib/xen/bin/qemu-dm xenpv - - + diff --git a/tests/xencapsdata/xen-x86_64-hvm.xml b/tests/xencapsdata/xen-x86_64-hvm.xml index 8de8cf4468..7458f0b537 100644 --- a/tests/xencapsdata/xen-x86_64-hvm.xml +++ b/tests/xencapsdata/xen-x86_64-hvm.xml @@ -22,8 +22,7 @@ 64 /usr/lib64/xen/bin/qemu-dm xenpv - - + @@ -34,8 +33,7 @@ /usr/lib64/xen/bin/qemu-dm /usr/lib/xen/boot/hvmloader xenfv - - + @@ -52,8 +50,7 @@ /usr/lib64/xen/bin/qemu-dm /usr/lib/xen/boot/hvmloader xenfv - - + diff --git a/tests/xencapsdata/xen-x86_64.xml b/tests/xencapsdata/xen-x86_64.xml index 0c3279bb24..b6864320b9 100644 --- a/tests/xencapsdata/xen-x86_64.xml +++ b/tests/xencapsdata/xen-x86_64.xml @@ -22,8 +22,7 @@ 64 /usr/lib64/xen/bin/qemu-dm xenpv - - +