diff --git a/src/dragonball/src/address_space_manager.rs b/src/dragonball/src/address_space_manager.rs index 2e4276626b..5a54c0da01 100644 --- a/src/dragonball/src/address_space_manager.rs +++ b/src/dragonball/src/address_space_manager.rs @@ -642,7 +642,7 @@ impl AddressSpaceMgr { let node = self .numa_nodes .entry(guest_numa_node_id) - .or_insert(NumaNode::new()); + .or_insert_with(NumaNode::new); node.add_info(&NumaNodeInfo { base: region.start_addr(), size: region.len(), @@ -736,7 +736,7 @@ mod tests { .unwrap(); val = gmem.read_obj(GuestAddress(GUEST_MEM_START + 0x1)).unwrap(); assert_eq!(val, 0xa5); - val = gmem.read_obj(GuestAddress(GUEST_MEM_START + 0x0)).unwrap(); + val = gmem.read_obj(GuestAddress(GUEST_MEM_START)).unwrap(); assert_eq!(val, 1); val = gmem.read_obj(GuestAddress(GUEST_MEM_START + 0x2)).unwrap(); assert_eq!(val, 3); @@ -837,7 +837,7 @@ mod tests { size: mem_size >> 20, host_numa_node_id: None, guest_numa_node_id: Some(0), - vcpu_ids: cpu_vec.clone(), + vcpu_ids: cpu_vec, }]; let mut builder = AddressSpaceMgrBuilder::new("hugeshmem", "").unwrap(); builder.toggle_prealloc(true); @@ -852,9 +852,9 @@ mod tests { assert_eq!(builder.mem_type, "shmem"); assert_eq!(builder.mem_file, "/tmp/shmem"); assert_eq!(builder.mem_index, 0); - assert_eq!(builder.mem_suffix, true); - assert_eq!(builder.mem_prealloc, false); - assert_eq!(builder.dirty_page_logging, false); + assert!(builder.mem_suffix); + assert!(!builder.mem_prealloc); + assert!(!builder.dirty_page_logging); assert!(builder.vmfd.is_none()); assert_eq!(&builder.get_next_mem_file(), "/tmp/shmem0"); @@ -867,10 +867,10 @@ mod tests { assert_eq!(&builder.get_next_mem_file(), "/tmp/shmem"); assert_eq!(builder.mem_index, 3); - builder.toggle_prealloc(true); - builder.toggle_dirty_page_logging(true); - assert_eq!(builder.mem_prealloc, true); - assert_eq!(builder.dirty_page_logging, true); + builder.set_prealloc(true); + builder.set_dirty_page_logging(true); + assert!(builder.mem_prealloc); + assert!(builder.dirty_page_logging); } #[test] diff --git a/src/dragonball/src/config_manager.rs b/src/dragonball/src/config_manager.rs index de16ab0fbf..e25b792e7b 100644 --- a/src/dragonball/src/config_manager.rs +++ b/src/dragonball/src/config_manager.rs @@ -178,6 +178,15 @@ where info_list: Vec>, } +impl Default for DeviceConfigInfos +where + T: ConfigItem + Clone, +{ + fn default() -> Self { + Self::new() + } +} + impl DeviceConfigInfos where T: ConfigItem + Clone, @@ -221,12 +230,16 @@ where } } - #[allow(dead_code)] /// Get number of device configuration information objects. pub fn len(&self) -> usize { self.info_list.len() } + /// Returns true if the device configuration information objects is empty. + pub fn is_empty(&self) -> bool { + self.info_list.len() == 0 + } + /// Add a device configuration information object at the tail. pub fn push(&mut self, info: DeviceConfigInfo) { self.info_list.push(info); diff --git a/src/dragonball/src/device_manager/console_manager.rs b/src/dragonball/src/device_manager/console_manager.rs index 4ebad58167..1e3b2a2f22 100644 --- a/src/dragonball/src/device_manager/console_manager.rs +++ b/src/dragonball/src/device_manager/console_manager.rs @@ -426,13 +426,13 @@ mod tests { }; writer.flush().unwrap(); - writer.write("".as_bytes()).unwrap(); - writer.write("\n".as_bytes()).unwrap(); - writer.write("\n\n".as_bytes()).unwrap(); - writer.write("\n\n\n".as_bytes()).unwrap(); - writer.write("12\n23\n34\n56".as_bytes()).unwrap(); - writer.write("78".as_bytes()).unwrap(); - writer.write("90\n".as_bytes()).unwrap(); + writer.write_all("".as_bytes()).unwrap(); + writer.write_all("\n".as_bytes()).unwrap(); + writer.write_all("\n\n".as_bytes()).unwrap(); + writer.write_all("\n\n\n".as_bytes()).unwrap(); + writer.write_all("12\n23\n34\n56".as_bytes()).unwrap(); + writer.write_all("78".as_bytes()).unwrap(); + writer.write_all("90\n".as_bytes()).unwrap(); writer.flush().unwrap(); } diff --git a/src/dragonball/src/vcpu/vcpu_manager.rs b/src/dragonball/src/vcpu/vcpu_manager.rs index 189dfc6155..278a88ecea 100644 --- a/src/dragonball/src/vcpu/vcpu_manager.rs +++ b/src/dragonball/src/vcpu/vcpu_manager.rs @@ -784,14 +784,13 @@ impl VcpuManager { mod hotplug { use std::cmp::Ordering; - use super::*; - #[cfg(not(test))] - use dbs_upcall::CpuDevRequest; - use dbs_upcall::{DevMgrRequest, DevMgrResponse, UpcallClientRequest, UpcallClientResponse}; + use dbs_upcall::{CpuDevRequest, DevMgrRequest}; - #[cfg(all(target_arch = "x86_64", not(test)))] + use super::*; + + #[cfg(all(target_arch = "x86_64"))] use dbs_boot::mptable::APIC_VERSION; - #[cfg(all(target_arch = "aarch64", not(test)))] + #[cfg(all(target_arch = "aarch64"))] const APIC_VERSION: u8 = 0; #[cfg(feature = "dbs-upcall")] @@ -933,6 +932,9 @@ mod hotplug { upcall_client: Arc>, request: DevMgrRequest, ) -> std::result::Result<(), VcpuManagerError> { + // This is used to fix clippy warnings. + use dbs_upcall::{DevMgrResponse, UpcallClientRequest, UpcallClientResponse}; + let vcpu_state_event = self.vcpu_state_event.try_clone().unwrap(); let vcpu_state_sender = self.vcpu_state_sender.clone();