[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