mirror of
https://github.com/libvirt/libvirt.git
synced 2026-09-03 20:53:04 -05:00
qemu: command: move qemuBuildGraphicsSPICECommandLine validation to qemu_domain.c
Move the SPICE caps validation from qemuBuildGraphicsSPICECommandLine() to a new function called qemuDomainDeviceDefValidateSPICEGraphics(). This function is called by qemuDomainDeviceDefValidateGraphics(), which in turn is called by qemuDomainDefValidate(), validating the graphics parameters in domain define time. This validation move exposed a flaw in the 'default-video-type' tests for PPC64, AARCH64 and s390 archs. The XML was considering 'spice' as the default video type, which isn't true for those architectures. This was flying under the radar until now because the SPICE validation was being made in 'virsh start' time, while the XML validation done in qemuxml2xmltest.c considers define time. All other tests were adapted to consider SPICE validation in this earlier stage. Reviewed-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
committed by
Cole Robinson
parent
45270337f0
commit
c19bb8c0cf
@@ -85,6 +85,8 @@ qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt,
|
||||
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_PIIX_DISABLE_S3);
|
||||
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_PIIX_DISABLE_S4);
|
||||
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VNC);
|
||||
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SPICE);
|
||||
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SPICE_FILE_XFER_DISABLE);
|
||||
|
||||
if (qemuTestCapsCacheInsert(driver.qemuCapsCache, priv->qemuCaps) < 0)
|
||||
return -1;
|
||||
@@ -592,6 +594,7 @@ mymain(void)
|
||||
struct qemuHotplugTestData data = {0};
|
||||
struct testQemuHotplugCpuParams cpudata;
|
||||
g_autofree char *fakerootdir = NULL;
|
||||
g_autoptr(virQEMUDriverConfig) cfg = NULL;
|
||||
|
||||
fakerootdir = g_strdup(FAKEROOTDIRTEMPLATE);
|
||||
|
||||
@@ -605,6 +608,8 @@ mymain(void)
|
||||
if (qemuTestDriverInit(&driver) < 0)
|
||||
return EXIT_FAILURE;
|
||||
|
||||
cfg = virQEMUDriverGetConfig(&driver);
|
||||
|
||||
virEventRegisterDefaultImpl();
|
||||
|
||||
VIR_FREE(driver.config->spiceListen);
|
||||
@@ -671,6 +676,7 @@ mymain(void)
|
||||
" }" \
|
||||
"}\r\n"
|
||||
|
||||
cfg->spiceTLS = true;
|
||||
DO_TEST_UPDATE("graphics-spice", "graphics-spice-nochange", false, false, NULL);
|
||||
DO_TEST_UPDATE("graphics-spice-timeout", "graphics-spice-timeout-nochange", false, false,
|
||||
"set_password", QMP_OK, "expire_password", QMP_OK);
|
||||
@@ -679,6 +685,7 @@ mymain(void)
|
||||
DO_TEST_UPDATE("graphics-spice", "graphics-spice-listen", true, false, NULL);
|
||||
DO_TEST_UPDATE("graphics-spice-listen-network", "graphics-spice-listen-network-password", false, false,
|
||||
"set_password", QMP_OK, "expire_password", QMP_OK);
|
||||
cfg->spiceTLS = false;
|
||||
/* Strange huh? Currently, only graphics can be updated :-P */
|
||||
DO_TEST_UPDATE("disk-cdrom", "disk-cdrom-nochange", true, false, NULL);
|
||||
|
||||
|
||||
@@ -11,6 +11,6 @@
|
||||
<emulator>/usr/bin/qemu-system-aarch64</emulator>
|
||||
<controller type='usb' index='0' model='none'/>
|
||||
<memballoon model='none'/>
|
||||
<graphics type='spice'/>
|
||||
<graphics type='vnc'/>
|
||||
</devices>
|
||||
</domain>
|
||||
|
||||
@@ -11,6 +11,6 @@
|
||||
<emulator>/usr/bin/qemu-system-ppc64</emulator>
|
||||
<controller type='usb' index='0' model='none'/>
|
||||
<memballoon model='none'/>
|
||||
<graphics type='spice'/>
|
||||
<graphics type='vnc'/>
|
||||
</devices>
|
||||
</domain>
|
||||
|
||||
@@ -11,6 +11,6 @@
|
||||
<emulator>/usr/bin/qemu-system-s390x</emulator>
|
||||
<controller type='usb' index='0' model='none'/>
|
||||
<memballoon model='none'/>
|
||||
<graphics type='spice'/>
|
||||
<graphics type='vnc'/>
|
||||
</devices>
|
||||
</domain>
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
<target chassis='2' port='0x9'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
|
||||
</controller>
|
||||
<graphics type='spice'>
|
||||
<listen type='none'/>
|
||||
<graphics type='vnc' port='-1' autoport='yes'>
|
||||
<listen type='address'/>
|
||||
</graphics>
|
||||
<video>
|
||||
<model type='virtio' heads='1' primary='yes'/>
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<input type='keyboard' bus='usb'/>
|
||||
<input type='mouse' bus='usb'/>
|
||||
<graphics type='spice'>
|
||||
<listen type='none'/>
|
||||
<graphics type='vnc' port='-1' autoport='yes'>
|
||||
<listen type='address'/>
|
||||
</graphics>
|
||||
<video>
|
||||
<model type='vga' vram='16384' heads='1' primary='yes'/>
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
<emulator>/usr/bin/qemu-system-s390x</emulator>
|
||||
<controller type='usb' index='0' model='none'/>
|
||||
<controller type='pci' index='0' model='pci-root'/>
|
||||
<graphics type='spice'>
|
||||
<listen type='none'/>
|
||||
<graphics type='vnc' port='-1' autoport='yes'>
|
||||
<listen type='address'/>
|
||||
</graphics>
|
||||
<video>
|
||||
<model type='virtio' heads='1' primary='yes'/>
|
||||
|
||||
+49
-13
@@ -382,22 +382,45 @@ mymain(void)
|
||||
DO_TEST_CAPS_ARCH_LATEST("default-video-type-ppc64", "ppc64");
|
||||
DO_TEST_CAPS_ARCH_LATEST("default-video-type-riscv64", "riscv64");
|
||||
DO_TEST_CAPS_ARCH_LATEST("default-video-type-s390x", "s390x");
|
||||
DO_TEST("default-video-type-x86_64-caps-test-0", QEMU_CAPS_DEVICE_VGA);
|
||||
DO_TEST("default-video-type-x86_64-caps-test-1", QEMU_CAPS_DEVICE_CIRRUS_VGA);
|
||||
DO_TEST("default-video-type-x86_64-caps-test-0",
|
||||
QEMU_CAPS_DEVICE_VGA,
|
||||
QEMU_CAPS_SPICE);
|
||||
DO_TEST("default-video-type-x86_64-caps-test-1",
|
||||
QEMU_CAPS_DEVICE_CIRRUS_VGA,
|
||||
QEMU_CAPS_SPICE);
|
||||
|
||||
DO_TEST("graphics-sdl", QEMU_CAPS_DEVICE_VGA);
|
||||
DO_TEST("graphics-sdl-fullscreen", QEMU_CAPS_DEVICE_CIRRUS_VGA);
|
||||
DO_TEST("graphics-spice", QEMU_CAPS_DEVICE_QXL);
|
||||
DO_TEST("graphics-spice-compression", QEMU_CAPS_DEVICE_QXL);
|
||||
DO_TEST("graphics-spice-qxl-vga", QEMU_CAPS_DEVICE_QXL);
|
||||
DO_TEST("graphics-spice-socket", QEMU_CAPS_DEVICE_CIRRUS_VGA);
|
||||
DO_TEST("graphics-spice-auto-socket", QEMU_CAPS_DEVICE_CIRRUS_VGA);
|
||||
|
||||
cfg->spiceTLS = true;
|
||||
DO_TEST("graphics-spice",
|
||||
QEMU_CAPS_DEVICE_QXL,
|
||||
QEMU_CAPS_SPICE,
|
||||
QEMU_CAPS_SPICE_FILE_XFER_DISABLE);
|
||||
DO_TEST("graphics-spice-compression",
|
||||
QEMU_CAPS_DEVICE_QXL,
|
||||
QEMU_CAPS_SPICE);
|
||||
DO_TEST("graphics-spice-qxl-vga",
|
||||
QEMU_CAPS_DEVICE_QXL,
|
||||
QEMU_CAPS_SPICE);
|
||||
DO_TEST("graphics-spice-socket",
|
||||
QEMU_CAPS_DEVICE_CIRRUS_VGA,
|
||||
QEMU_CAPS_SPICE,
|
||||
QEMU_CAPS_SPICE_UNIX);
|
||||
DO_TEST("graphics-spice-auto-socket",
|
||||
QEMU_CAPS_DEVICE_CIRRUS_VGA,
|
||||
QEMU_CAPS_SPICE,
|
||||
QEMU_CAPS_SPICE_UNIX);
|
||||
cfg->spiceAutoUnixSocket = true;
|
||||
DO_TEST("graphics-spice-auto-socket-cfg", QEMU_CAPS_DEVICE_CIRRUS_VGA);
|
||||
DO_TEST("graphics-spice-auto-socket-cfg",
|
||||
QEMU_CAPS_DEVICE_CIRRUS_VGA,
|
||||
QEMU_CAPS_SPICE);
|
||||
cfg->spiceAutoUnixSocket = false;
|
||||
cfg->spiceTLS = false;
|
||||
DO_TEST("graphics-spice-egl-headless",
|
||||
QEMU_CAPS_DEVICE_QXL,
|
||||
QEMU_CAPS_EGL_HEADLESS);
|
||||
QEMU_CAPS_EGL_HEADLESS,
|
||||
QEMU_CAPS_SPICE);
|
||||
|
||||
DO_TEST("graphics-egl-headless-rendernode",
|
||||
QEMU_CAPS_DEVICE_CIRRUS_VGA,
|
||||
@@ -443,7 +466,13 @@ mymain(void)
|
||||
|
||||
DO_TEST("serial-tcp-tlsx509-chardev", NONE);
|
||||
DO_TEST("serial-tcp-tlsx509-chardev-notls", NONE);
|
||||
DO_TEST("serial-spiceport", QEMU_CAPS_DEVICE_QXL);
|
||||
|
||||
cfg->spiceTLS = true;
|
||||
DO_TEST("serial-spiceport",
|
||||
QEMU_CAPS_DEVICE_QXL,
|
||||
QEMU_CAPS_SPICE);
|
||||
cfg->spiceTLS = false;
|
||||
|
||||
DO_TEST("serial-spiceport-nospice", NONE);
|
||||
DO_TEST("console-compat", NONE);
|
||||
DO_TEST("console-compat2", NONE);
|
||||
@@ -573,7 +602,8 @@ mymain(void)
|
||||
DO_TEST("seclabel-device-multiple", NONE);
|
||||
DO_TEST_FULL("seclabel-dynamic-none-relabel", WHEN_INACTIVE,
|
||||
ARG_QEMU_CAPS, QEMU_CAPS_DEVICE_CIRRUS_VGA,
|
||||
QEMU_CAPS_OBJECT_MEMORY_FILE, NONE);
|
||||
QEMU_CAPS_OBJECT_MEMORY_FILE,
|
||||
QEMU_CAPS_SPICE, NONE);
|
||||
DO_TEST("numad-static-vcpu-no-numatune", NONE);
|
||||
|
||||
DO_TEST("disk-scsi-lun-passthrough-sgio",
|
||||
@@ -693,7 +723,9 @@ mymain(void)
|
||||
DO_TEST("graphics-listen-network2",
|
||||
QEMU_CAPS_DEVICE_CIRRUS_VGA,
|
||||
QEMU_CAPS_VNC);
|
||||
DO_TEST("graphics-spice-timeout", QEMU_CAPS_DEVICE_VGA);
|
||||
DO_TEST("graphics-spice-timeout",
|
||||
QEMU_CAPS_DEVICE_VGA,
|
||||
QEMU_CAPS_SPICE);
|
||||
DO_TEST("numad-auto-vcpu-no-numatune", NONE);
|
||||
DO_TEST("numad-auto-memory-vcpu-no-cpuset-and-placement", NONE);
|
||||
DO_TEST("numad-auto-memory-vcpu-cpuset", NONE);
|
||||
@@ -1197,7 +1229,11 @@ mymain(void)
|
||||
QEMU_CAPS_VIRTIO_GPU_VIRGL);
|
||||
DO_TEST("video-virtio-gpu-spice-gl",
|
||||
QEMU_CAPS_DEVICE_VIRTIO_GPU,
|
||||
QEMU_CAPS_VIRTIO_GPU_VIRGL);
|
||||
QEMU_CAPS_VIRTIO_GPU_VIRGL,
|
||||
QEMU_CAPS_SPICE,
|
||||
QEMU_CAPS_SPICE_FILE_XFER_DISABLE,
|
||||
QEMU_CAPS_SPICE_GL,
|
||||
QEMU_CAPS_SPICE_RENDERNODE);
|
||||
DO_TEST("video-virtio-gpu-sdl-gl",
|
||||
QEMU_CAPS_DEVICE_VIRTIO_GPU,
|
||||
QEMU_CAPS_VIRTIO_GPU_VIRGL,
|
||||
|
||||
Reference in New Issue
Block a user