This patch show a bug in our code: the <model vendor_id="Libvirt QEMU"/>
element present in the source XML is lost when the parsed CPU definition
is formatted back to XML.

https://bugzilla.redhat.com/show_bug.cgi?id=1804549

Signed-off-by: Jiri Denemark <jdene...@redhat.com>
---
 .../cpu-host-model-vendor.xml                 | 28 +++++++++++++++++++
 tests/qemuxml2xmltest.c                       |  1 +
 2 files changed, 29 insertions(+)
 create mode 100644 tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml

diff --git a/tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml 
b/tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml
new file mode 100644
index 0000000000..d2447ccd10
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml
@@ -0,0 +1,28 @@
+<domain type='qemu'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='KiB'>219100</memory>
+  <currentMemory unit='KiB'>219100</currentMemory>
+  <vcpu placement='static'>6</vcpu>
+  <os>
+    <type arch='x86_64' machine='pc'>hvm</type>
+    <boot dev='network'/>
+  </os>
+  <cpu mode='host-model' check='partial'/>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+    <controller type='usb' index='0'>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
function='0x2'/>
+    </controller>
+    <controller type='pci' index='0' model='pci-root'/>
+    <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
+    <memballoon model='virtio'>
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' 
function='0x0'/>
+    </memballoon>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index 98d9ae4242..daf9b53ce8 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -266,6 +266,7 @@ mymain(void)
     DO_TEST("cpu-host-kvmclock", NONE);
     DO_TEST("cpu-host-passthrough-features", NONE);
     DO_TEST("cpu-host-model-features", NONE);
+    DO_TEST("cpu-host-model-vendor", NONE);
     DO_TEST("clock-catchup", QEMU_CAPS_KVM_PIT_TICK_POLICY);
     DO_TEST("kvmclock", NONE);
     DO_TEST("clock-timer-hyperv-rtc", NONE);
-- 
2.25.0

Reply via email to