From a50c54671cf6a0d2e1b14c6d484fd7774180da82 Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Tue, 16 Jul 2019 10:34:28 +0100 Subject: [PATCH] qcow: Make unit tests pass Rather than relying on shared memory for a temporary file for QCOW testing instead use tempfile crate to get a temporary file. The vector cache tests also need a trivial update after the refactor. Signed-off-by: Rob Bradford --- qcow/Cargo.toml | 3 +++ qcow/src/qcow.rs | 12 +++++------- qcow/src/vec_cache.rs | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/qcow/Cargo.toml b/qcow/Cargo.toml index 8d376220a..7b90ef785 100755 --- a/qcow/Cargo.toml +++ b/qcow/Cargo.toml @@ -14,3 +14,6 @@ libc = "*" log = "*" remain = "*" vmm-sys-util = { git = "https://github.com/rust-vmm/vmm-sys-util" } + +[dev-dependencies] +tempfile = "*" diff --git a/qcow/src/qcow.rs b/qcow/src/qcow.rs index c6947816f..ff5db9a73 100755 --- a/qcow/src/qcow.rs +++ b/qcow/src/qcow.rs @@ -1623,7 +1623,7 @@ mod tests { use super::*; use std::fs::File; use std::io::{Read, Seek, SeekFrom, Write}; - use sys_util::SharedMemory; + use tempfile::tempfile; fn valid_header() -> Vec { vec![ @@ -1652,8 +1652,7 @@ mod tests { where F: FnMut(File), { - let shm = SharedMemory::new(None).unwrap(); - let mut disk_file: File = shm.into(); + let mut disk_file: File = tempfile().unwrap(); disk_file.write_all(&header).unwrap(); disk_file.set_len(0x5_0000).unwrap(); disk_file.seek(SeekFrom::Start(0)).unwrap(); @@ -1665,8 +1664,8 @@ mod tests { where F: FnMut(QcowFile), { - let shm = SharedMemory::new(None).unwrap(); - let qcow_file = QcowFile::new(shm.into(), file_size).unwrap(); + let tmp = tempfile().unwrap(); + let qcow_file = QcowFile::new(tmp, file_size).unwrap(); testfn(qcow_file); // File closed when the function exits. } @@ -1674,8 +1673,7 @@ mod tests { #[test] fn default_header() { let header = QcowHeader::create_for_size(0x10_0000); - let shm = SharedMemory::new(None).unwrap(); - let mut disk_file: File = shm.into(); + let mut disk_file: File = tempfile().unwrap(); header .write_to(&mut disk_file) .expect("Failed to write header to shm."); diff --git a/qcow/src/vec_cache.rs b/qcow/src/vec_cache.rs index debf7657e..fd73f6d8c 100644 --- a/qcow/src/vec_cache.rs +++ b/qcow/src/vec_cache.rs @@ -178,8 +178,8 @@ mod tests { // Check that three of the four items inserted are still there and that the most recently // inserted is one of them. - let num_items = (0..=3).filter(|k| cache.contains_key(&k)).count(); + let num_items = (0..=3).filter(|k| cache.contains_key(*k)).count(); assert_eq!(num_items, 3); - assert!(cache.contains_key(&3)); + assert!(cache.contains_key(3)); } }