From 510798155de2655f0ed2c1d2428c1f949373db68 Mon Sep 17 00:00:00 2001 From: wllenyj Date: Wed, 9 Nov 2022 11:19:19 +0800 Subject: [PATCH] dragonball: Improve test cases The same EpollManager should be used instead of creating two. Signed-off-by: wllenyj --- src/dragonball/src/api/v1/vmm_action.rs | 12 ++++++------ src/dragonball/src/device_manager/mod.rs | 4 +++- src/dragonball/src/vm/mod.rs | 4 +++- src/dragonball/src/vmm.rs | 5 ++--- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/dragonball/src/api/v1/vmm_action.rs b/src/dragonball/src/api/v1/vmm_action.rs index 45591e7ed1..a2dd496fda 100644 --- a/src/dragonball/src/api/v1/vmm_action.rs +++ b/src/dragonball/src/api/v1/vmm_action.rs @@ -656,10 +656,10 @@ mod tests { let (to_vmm, from_api) = channel(); let (to_api, from_vmm) = channel(); - let vmm = Arc::new(Mutex::new(create_vmm_instance())); + let epoll_mgr = EpollManager::default(); + let vmm = Arc::new(Mutex::new(create_vmm_instance(epoll_mgr.clone()))); let mut vservice = VmmService::new(from_api, to_api); - let epoll_mgr = EpollManager::default(); let mut event_mgr = EventManager::new(&vmm, epoll_mgr).unwrap(); let mut v = vmm.lock().unwrap(); @@ -681,9 +681,9 @@ mod tests { let (_to_vmm, from_api) = channel(); let (to_api, _from_vmm) = channel(); - let vmm = Arc::new(Mutex::new(create_vmm_instance())); - let mut vservice = VmmService::new(from_api, to_api); let epoll_mgr = EpollManager::default(); + let vmm = Arc::new(Mutex::new(create_vmm_instance(epoll_mgr.clone()))); + let mut vservice = VmmService::new(from_api, to_api); let mut event_mgr = EventManager::new(&vmm, epoll_mgr).unwrap(); let mut v = vmm.lock().unwrap(); @@ -695,9 +695,9 @@ mod tests { fn test_vmm_action_disconnected() { let (to_vmm, from_api) = channel(); let (to_api, _from_vmm) = channel(); - let vmm = Arc::new(Mutex::new(create_vmm_instance())); - let mut vservice = VmmService::new(from_api, to_api); let epoll_mgr = EpollManager::default(); + let vmm = Arc::new(Mutex::new(create_vmm_instance(epoll_mgr.clone()))); + let mut vservice = VmmService::new(from_api, to_api); let mut event_mgr = EventManager::new(&vmm, epoll_mgr).unwrap(); let mut v = vmm.lock().unwrap(); diff --git a/src/dragonball/src/device_manager/mod.rs b/src/dragonball/src/device_manager/mod.rs index 06f6ea6ab2..56ee3617ca 100644 --- a/src/dragonball/src/device_manager/mod.rs +++ b/src/dragonball/src/device_manager/mod.rs @@ -1065,7 +1065,9 @@ mod tests { use crate::vm::VmConfigInfo; let epoll_manager = EpollManager::default(); - let vmm = Arc::new(Mutex::new(crate::vmm::tests::create_vmm_instance())); + let vmm = Arc::new(Mutex::new(crate::vmm::tests::create_vmm_instance( + epoll_manager.clone(), + ))); let event_mgr = crate::event_manager::EventManager::new(&vmm, epoll_manager).unwrap(); let mut vm = crate::vm::tests::create_vm_instance(); let vm_config = VmConfigInfo { diff --git a/src/dragonball/src/vm/mod.rs b/src/dragonball/src/vm/mod.rs index b9e0dc85cc..8ad959c791 100644 --- a/src/dragonball/src/vm/mod.rs +++ b/src/dragonball/src/vm/mod.rs @@ -921,8 +921,10 @@ pub mod tests { #[test] fn test_vm_create_devices() { skip_if_not_root!(); - let vmm = Arc::new(Mutex::new(crate::vmm::tests::create_vmm_instance())); let epoll_mgr = EpollManager::default(); + let vmm = Arc::new(Mutex::new(crate::vmm::tests::create_vmm_instance( + epoll_mgr.clone(), + ))); let mut guard = vmm.lock().unwrap(); let vm = guard.get_vm_mut().unwrap(); diff --git a/src/dragonball/src/vmm.rs b/src/dragonball/src/vmm.rs index b15e66fef1..72c799e111 100644 --- a/src/dragonball/src/vmm.rs +++ b/src/dragonball/src/vmm.rs @@ -200,11 +200,10 @@ pub(crate) mod tests { use super::*; - pub fn create_vmm_instance() -> Vmm { + pub fn create_vmm_instance(epoll_manager: EpollManager) -> Vmm { let info = Arc::new(RwLock::new(InstanceInfo::default())); let event_fd = EventFd::new(libc::EFD_NONBLOCK).unwrap(); let seccomp_filter: BpfProgram = Vec::new(); - let epoll_manager = EpollManager::default(); Vmm::new_with_epoll_manager( info, @@ -221,6 +220,6 @@ pub(crate) mod tests { fn test_create_vmm_instance() { skip_if_not_root!(); - create_vmm_instance(); + create_vmm_instance(EpollManager::default()); } }