Add a unit test to verify the NUMA vcpus autocomplete implemented
in the previous patch.

Signed-off-by: Daniel Henrique Barboza <danielhb...@gmail.com>
---
 .../numavcpus-topology-mismatch.xml           | 37 ++++++++++++++++++
 ...avcpus-topology-mismatch.x86_64-latest.xml | 38 +++++++++++++++++++
 tests/qemuxml2xmltest.c                       |  1 +
 3 files changed, 76 insertions(+)
 create mode 100644 tests/qemuxml2argvdata/numavcpus-topology-mismatch.xml
 create mode 100644 
tests/qemuxml2xmloutdata/numavcpus-topology-mismatch.x86_64-latest.xml

diff --git a/tests/qemuxml2argvdata/numavcpus-topology-mismatch.xml 
b/tests/qemuxml2argvdata/numavcpus-topology-mismatch.xml
new file mode 100644
index 0000000000..d3b2c1297e
--- /dev/null
+++ b/tests/qemuxml2argvdata/numavcpus-topology-mismatch.xml
@@ -0,0 +1,37 @@
+<domain type='kvm'>
+  <name>dummy</name>
+  <uuid>4d92ec27-9ebf-400b-ae91-20c71c647c19</uuid>
+  <maxMemory slots='16' unit='KiB'>16777216</maxMemory>
+  <memory unit='KiB'>7864320</memory>
+  <currentMemory unit='KiB'>3906240</currentMemory>
+  <vcpu placement='auto'>12</vcpu>
+  <numatune>
+    <memory mode='strict' placement='auto'/>
+  </numatune>
+  <os>
+    <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type>
+    <boot dev='hd'/>
+  </os>
+  <cpu>
+    <numa>
+      <cell id='0' cpus='0' memory='3932160' unit='KiB'/>
+      <cell id='1' cpus='2-4,6' memory='3932160' unit='KiB'/>
+    </numa>
+  </cpu>
+  <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' model='piix3-uhci'>
+      <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/qemuxml2xmloutdata/numavcpus-topology-mismatch.x86_64-latest.xml 
b/tests/qemuxml2xmloutdata/numavcpus-topology-mismatch.x86_64-latest.xml
new file mode 100644
index 0000000000..2d2245b10c
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/numavcpus-topology-mismatch.x86_64-latest.xml
@@ -0,0 +1,38 @@
+<domain type='kvm'>
+  <name>dummy</name>
+  <uuid>4d92ec27-9ebf-400b-ae91-20c71c647c19</uuid>
+  <maxMemory slots='16' unit='KiB'>16777216</maxMemory>
+  <memory unit='KiB'>7864320</memory>
+  <currentMemory unit='KiB'>3906240</currentMemory>
+  <vcpu placement='auto'>12</vcpu>
+  <numatune>
+    <memory mode='strict' placement='auto'/>
+  </numatune>
+  <os>
+    <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type>
+    <boot dev='hd'/>
+  </os>
+  <cpu mode='custom' match='exact' check='none'>
+    <model fallback='forbid'>qemu64</model>
+    <numa>
+      <cell id='0' cpus='0-1,5,7-11' memory='3932160' unit='KiB'/>
+      <cell id='1' cpus='2-4,6' memory='3932160' unit='KiB'/>
+    </numa>
+  </cpu>
+  <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' model='piix3-uhci'>
+      <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 dcc7b29ded..3e434a6cbe 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -553,6 +553,7 @@ mymain(void)
     DO_TEST("vcpu-placement-static",
             QEMU_CAPS_KVM,
             QEMU_CAPS_OBJECT_IOTHREAD);
+    DO_TEST_CAPS_LATEST("numavcpus-topology-mismatch");
 
     DO_TEST("smp", NONE);
     DO_TEST("iothreads", NONE);
-- 
2.26.2

Reply via email to