[libvirt] [PATCH 2/2] qemuxml2argvtest: add test for remove cpu features
Daniel Henrique Barboza
danielhb413 at gmail.com
Tue May 7 20:22:08 UTC 2019
On 4/25/19 9:50 AM, Christian Ehrhardt wrote:
> CPU features that always were a no-op in qemu got removed there.
> We no more specify them as that would trigger errors and fail to start
> qemu. This test ensures that those features really are not rendered into
> qemu command line.
>
> Without the related fix this test will trigger and fail like:
> In 'tests/qemuxml2argvdata/cpu-no-removed-features.args':
> Offset 371
> Expect [ ]
> Actual [,-osxsave,-ospke ]
>
> Signed-off-by: Christian Ehrhardt <christian.ehrhardt at canonical.com>
> ---
Reviewed-by: Daniel Henrique Barboza <danielhb413 at gmail.com>
> .../cpu-no-removed-features.args | 29 +++++++++++++++++++
> .../cpu-no-removed-features.xml | 23 +++++++++++++++
> tests/qemuxml2argvtest.c | 1 +
> 3 files changed, 53 insertions(+)
> create mode 100644 tests/qemuxml2argvdata/cpu-no-removed-features.args
> create mode 100644 tests/qemuxml2argvdata/cpu-no-removed-features.xml
>
> diff --git a/tests/qemuxml2argvdata/cpu-no-removed-features.args b/tests/qemuxml2argvdata/cpu-no-removed-features.args
> new file mode 100644
> index 0000000000..1e4af63dc3
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/cpu-no-removed-features.args
> @@ -0,0 +1,29 @@
> +LC_ALL=C \
> +PATH=/bin \
> +HOME=/tmp/lib/domain--1-QEMUGuest1 \
> +USER=test \
> +LOGNAME=test \
> +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
> +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
> +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
> +QEMU_AUDIO_DRV=none \
> +/usr/bin/qemu-system-x86_64 \
> +-name QEMUGuest1 \
> +-S \
> +-machine pc,accel=kvm,usb=off,dump-guest-core=off \
> +-cpu core2duo \
> +-m 214 \
> +-realtime mlock=off \
> +-smp 6,sockets=6,cores=1,threads=1 \
> +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
> +-display none \
> +-no-user-config \
> +-nodefaults \
> +-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
> +server,nowait \
> +-mon chardev=charmonitor,id=monitor,mode=control \
> +-rtc base=utc \
> +-no-shutdown \
> +-no-acpi \
> +-usb \
> +-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
> diff --git a/tests/qemuxml2argvdata/cpu-no-removed-features.xml b/tests/qemuxml2argvdata/cpu-no-removed-features.xml
> new file mode 100644
> index 0000000000..dc5a681901
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/cpu-no-removed-features.xml
> @@ -0,0 +1,23 @@
> +<domain type='kvm'>
> + <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 match='exact'>
> + <model>core2duo</model>
> + <feature name='osxsave' policy='optional'/>
> + <feature name='ospke' policy='optional'/>
> + </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>
> + </devices>
> +</domain>
> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
> index d5c6dc4c0c..edc19ace6f 100644
> --- a/tests/qemuxml2argvtest.c
> +++ b/tests/qemuxml2argvtest.c
> @@ -1649,6 +1649,7 @@ mymain(void)
> DO_TEST("cpu-fallback", QEMU_CAPS_KVM);
> DO_TEST_FAILURE("cpu-nofallback", QEMU_CAPS_KVM);
> DO_TEST("cpu-strict1", QEMU_CAPS_KVM);
> + DO_TEST("cpu-no-removed-features", QEMU_CAPS_KVM);
> DO_TEST("cpu-numa1", NONE);
> DO_TEST("cpu-numa2", NONE);
> DO_TEST("cpu-numa-no-memory-element", NONE);
More information about the libvir-list
mailing list