From 08756e5cc3778a5754978f8e6c10dfb78baf9118 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 19 Sep 2024 11:57:04 +0200 Subject: [qemu] disableUsb() now removes all spice USB redirect devices ...instead of removing all USB controllers, which leads to non-bootable VMs, since we need USB for the virtual mouse (a tablet). --- .../VirtualizationConfigurationQemuTest.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/test/java') diff --git a/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java b/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java index f8347f4..04dc118 100644 --- a/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java +++ b/src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java @@ -476,4 +476,26 @@ public class VirtualizationConfigurationQemuTest assertDoesNotThrow( () -> vmConfig.validate() ); } + + @ParameterizedTest + @DisplayName( "Remove any USB redirect devices" ) + @ValueSource( strings = { "qemu-kvm_default-archlinux-vm.xml" } ) + public void testQemuMetaDataDisableUsb( String xmlFileName ) + throws VirtualizationConfigurationException, NoSuchFieldException, SecurityException, + IllegalArgumentException, IllegalAccessException + { + File file = LibvirtXmlTestResources.getLibvirtXmlFile( xmlFileName ); + VirtualizationConfigurationQemu vmConfig = new VirtualizationConfigurationQemu( null, file ); + + final Domain vmLibvirtDomainConfig = VirtualizationConfigurationQemuTest + .getPrivateDomainFromQemuMetaData( vmConfig ); + + assertEquals( vmLibvirtDomainConfig.getRedirectDevices().size(), 2 ); + + vmConfig.disableUsb(); + + assertEquals( vmLibvirtDomainConfig.getRedirectDevices().size(), 0 ); + + assertDoesNotThrow( () -> vmConfig.validate() ); + } } -- cgit v1.2.3-55-g7522