summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/openslx/virtualization
diff options
context:
space:
mode:
authorSimon Rettberg2024-09-19 11:57:04 +0200
committerSimon Rettberg2024-09-19 11:57:04 +0200
commit08756e5cc3778a5754978f8e6c10dfb78baf9118 (patch)
tree1720c06ef265f9da7520a47a7ea84b009c9ef8a3 /src/test/java/org/openslx/virtualization
parent[libvirt] Add support for <redirdev> devices (diff)
downloadmaster-sync-shared-08756e5cc3778a5754978f8e6c10dfb78baf9118.tar.gz
master-sync-shared-08756e5cc3778a5754978f8e6c10dfb78baf9118.tar.xz
master-sync-shared-08756e5cc3778a5754978f8e6c10dfb78baf9118.zip
[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).
Diffstat (limited to 'src/test/java/org/openslx/virtualization')
-rw-r--r--src/test/java/org/openslx/virtualization/configuration/VirtualizationConfigurationQemuTest.java22
1 files changed, 22 insertions, 0 deletions
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() );
+ }
}