mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-10-05 13:05:45 +00:00
tests: Move integration tests to vmm_sys_util::tempdir::TempDir
This removes the dependency on "tempdir" which in turn depends on the large rand dependency chain. Signed-off-by: Rob Bradford <robert.bradford@intel.com>
This commit is contained in:
parent
c1be41bfbf
commit
24922ce1e3
71
Cargo.lock
generated
71
Cargo.lock
generated
@ -68,7 +68,7 @@ dependencies = [
|
|||||||
"libc",
|
"libc",
|
||||||
"linux-loader",
|
"linux-loader",
|
||||||
"log 0.4.14",
|
"log 0.4.14",
|
||||||
"rand 0.8.3",
|
"rand",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
@ -232,7 +232,6 @@ dependencies = [
|
|||||||
"serde_json",
|
"serde_json",
|
||||||
"signal-hook",
|
"signal-hook",
|
||||||
"ssh2",
|
"ssh2",
|
||||||
"tempdir",
|
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"vm-memory",
|
"vm-memory",
|
||||||
"vmm",
|
"vmm",
|
||||||
@ -382,12 +381,6 @@ dependencies = [
|
|||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "fuchsia-cprng"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "generator"
|
name = "generator"
|
||||||
version = "0.6.24"
|
version = "0.6.24"
|
||||||
@ -919,19 +912,6 @@ dependencies = [
|
|||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rand"
|
|
||||||
version = "0.4.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
|
|
||||||
dependencies = [
|
|
||||||
"fuchsia-cprng",
|
|
||||||
"libc",
|
|
||||||
"rand_core 0.3.1",
|
|
||||||
"rdrand",
|
|
||||||
"winapi 0.3.9",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rand"
|
name = "rand"
|
||||||
version = "0.8.3"
|
version = "0.8.3"
|
||||||
@ -940,7 +920,7 @@ checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"rand_chacha",
|
"rand_chacha",
|
||||||
"rand_core 0.6.0",
|
"rand_core",
|
||||||
"rand_hc",
|
"rand_hc",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -951,24 +931,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ppv-lite86",
|
"ppv-lite86",
|
||||||
"rand_core 0.6.0",
|
"rand_core",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rand_core"
|
|
||||||
version = "0.3.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
|
|
||||||
dependencies = [
|
|
||||||
"rand_core 0.4.2",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rand_core"
|
|
||||||
version = "0.4.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rand_core"
|
name = "rand_core"
|
||||||
version = "0.6.0"
|
version = "0.6.0"
|
||||||
@ -984,16 +949,7 @@ version = "0.3.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rand_core 0.6.0",
|
"rand_core",
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rdrand"
|
|
||||||
version = "0.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
|
|
||||||
dependencies = [
|
|
||||||
"rand_core 0.3.1",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1042,15 +998,6 @@ dependencies = [
|
|||||||
"syn",
|
"syn",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "remove_dir_all"
|
|
||||||
version = "0.5.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
|
|
||||||
dependencies = [
|
|
||||||
"winapi 0.3.9",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rust-argon2"
|
name = "rust-argon2"
|
||||||
version = "0.8.3"
|
version = "0.8.3"
|
||||||
@ -1280,16 +1227,6 @@ dependencies = [
|
|||||||
"unicode-xid 0.0.3",
|
"unicode-xid 0.0.3",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "tempdir"
|
|
||||||
version = "0.3.7"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
|
|
||||||
dependencies = [
|
|
||||||
"rand 0.4.6",
|
|
||||||
"remove_dir_all",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "term"
|
name = "term"
|
||||||
version = "0.4.6"
|
version = "0.4.6"
|
||||||
|
@ -42,7 +42,6 @@ vhost_rs = { git = "https://github.com/cloud-hypervisor/vhost", branch = "ch", p
|
|||||||
ssh2 = "0.9.1"
|
ssh2 = "0.9.1"
|
||||||
dirs = "3.0.1"
|
dirs = "3.0.1"
|
||||||
credibility = "0.1.3"
|
credibility = "0.1.3"
|
||||||
tempdir = "0.3.7"
|
|
||||||
lazy_static= "1.4.0"
|
lazy_static= "1.4.0"
|
||||||
serde_json = "1.0.62"
|
serde_json = "1.0.62"
|
||||||
net_util = { path = "net_util" }
|
net_util = { path = "net_util" }
|
||||||
|
@ -30,8 +30,7 @@ mod tests {
|
|||||||
use std::sync::mpsc::Receiver;
|
use std::sync::mpsc::Receiver;
|
||||||
use std::sync::{mpsc, Mutex};
|
use std::sync::{mpsc, Mutex};
|
||||||
use std::thread;
|
use std::thread;
|
||||||
use tempdir::TempDir;
|
use vmm_sys_util::{tempdir::TempDir, tempfile::TempFile};
|
||||||
use vmm_sys_util::tempfile::TempFile;
|
|
||||||
#[cfg_attr(target_arch = "aarch64", allow(unused_imports))]
|
#[cfg_attr(target_arch = "aarch64", allow(unused_imports))]
|
||||||
use wait_timeout::ChildExt;
|
use wait_timeout::ChildExt;
|
||||||
|
|
||||||
@ -251,9 +250,9 @@ mod tests {
|
|||||||
impl DiskConfig for UbuntuDiskConfig {
|
impl DiskConfig for UbuntuDiskConfig {
|
||||||
fn prepare_cloudinit(&self, tmp_dir: &TempDir, network: &GuestNetworkConfig) -> String {
|
fn prepare_cloudinit(&self, tmp_dir: &TempDir, network: &GuestNetworkConfig) -> String {
|
||||||
let cloudinit_file_path =
|
let cloudinit_file_path =
|
||||||
String::from(tmp_dir.path().join("cloudinit").to_str().unwrap());
|
String::from(tmp_dir.as_path().join("cloudinit").to_str().unwrap());
|
||||||
|
|
||||||
let cloud_init_directory = tmp_dir.path().join("cloud-init").join("ubuntu");
|
let cloud_init_directory = tmp_dir.as_path().join("cloud-init").join("ubuntu");
|
||||||
|
|
||||||
fs::create_dir_all(&cloud_init_directory)
|
fs::create_dir_all(&cloud_init_directory)
|
||||||
.expect("Expect creating cloud-init directory to succeed");
|
.expect("Expect creating cloud-init directory to succeed");
|
||||||
@ -344,7 +343,7 @@ mod tests {
|
|||||||
let mut osdisk_base_path = workload_path;
|
let mut osdisk_base_path = workload_path;
|
||||||
osdisk_base_path.push(&self.image_name);
|
osdisk_base_path.push(&self.image_name);
|
||||||
|
|
||||||
let osdisk_path = String::from(tmp_dir.path().join("osdisk.img").to_str().unwrap());
|
let osdisk_path = String::from(tmp_dir.as_path().join("osdisk.img").to_str().unwrap());
|
||||||
let cloudinit_path = self.prepare_cloudinit(tmp_dir, network);
|
let cloudinit_path = self.prepare_cloudinit(tmp_dir, network);
|
||||||
|
|
||||||
rate_limited_copy(osdisk_base_path, &osdisk_path)
|
rate_limited_copy(osdisk_base_path, &osdisk_path)
|
||||||
@ -380,7 +379,7 @@ mod tests {
|
|||||||
>> 9;
|
>> 9;
|
||||||
|
|
||||||
let snapshot_cow_path =
|
let snapshot_cow_path =
|
||||||
String::from(tmp_dir.path().join("snapshot_cow").to_str().unwrap());
|
String::from(tmp_dir.as_path().join("snapshot_cow").to_str().unwrap());
|
||||||
|
|
||||||
// Create and truncate CoW file for device mapper
|
// Create and truncate CoW file for device mapper
|
||||||
let cow_file_size: u64 = 1 << 30;
|
let cow_file_size: u64 = 1 << 30;
|
||||||
@ -403,7 +402,7 @@ mod tests {
|
|||||||
.trim()
|
.trim()
|
||||||
.to_string();
|
.to_string();
|
||||||
|
|
||||||
let random_extension = tmp_dir.path().file_name().unwrap();
|
let random_extension = tmp_dir.as_path().file_name().unwrap();
|
||||||
let windows_snapshot_cow = format!(
|
let windows_snapshot_cow = format!(
|
||||||
"windows-snapshot-cow-{}",
|
"windows-snapshot-cow-{}",
|
||||||
random_extension.to_str().unwrap()
|
random_extension.to_str().unwrap()
|
||||||
@ -477,7 +476,7 @@ mod tests {
|
|||||||
let virtiofsd_path = String::from(virtiofsd_path.to_str().unwrap());
|
let virtiofsd_path = String::from(virtiofsd_path.to_str().unwrap());
|
||||||
|
|
||||||
let virtiofsd_socket_path =
|
let virtiofsd_socket_path =
|
||||||
String::from(tmp_dir.path().join("virtiofs.sock").to_str().unwrap());
|
String::from(tmp_dir.as_path().join("virtiofs.sock").to_str().unwrap());
|
||||||
|
|
||||||
// Start the daemon
|
// Start the daemon
|
||||||
let child = Command::new(virtiofsd_path.as_str())
|
let child = Command::new(virtiofsd_path.as_str())
|
||||||
@ -505,7 +504,7 @@ mod tests {
|
|||||||
let virtiofsd_path = String::from(virtiofsd_path.to_str().unwrap());
|
let virtiofsd_path = String::from(virtiofsd_path.to_str().unwrap());
|
||||||
|
|
||||||
let virtiofsd_socket_path =
|
let virtiofsd_socket_path =
|
||||||
String::from(tmp_dir.path().join("virtiofs.sock").to_str().unwrap());
|
String::from(tmp_dir.as_path().join("virtiofs.sock").to_str().unwrap());
|
||||||
|
|
||||||
// Start the daemon
|
// Start the daemon
|
||||||
let child = Command::new(virtiofsd_path.as_str())
|
let child = Command::new(virtiofsd_path.as_str())
|
||||||
@ -533,7 +532,7 @@ mod tests {
|
|||||||
blk_file_path.push(blk_img);
|
blk_file_path.push(blk_img);
|
||||||
let blk_file_path = String::from(blk_file_path.to_str().unwrap());
|
let blk_file_path = String::from(blk_file_path.to_str().unwrap());
|
||||||
|
|
||||||
let vubd_socket_path = String::from(tmp_dir.path().join("vub.sock").to_str().unwrap());
|
let vubd_socket_path = String::from(tmp_dir.as_path().join("vub.sock").to_str().unwrap());
|
||||||
|
|
||||||
// Start the daemon
|
// Start the daemon
|
||||||
let child = Command::new(clh_command("vhost_user_block"))
|
let child = Command::new(clh_command("vhost_user_block"))
|
||||||
@ -554,13 +553,13 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn temp_vsock_path(tmp_dir: &TempDir) -> String {
|
fn temp_vsock_path(tmp_dir: &TempDir) -> String {
|
||||||
String::from(tmp_dir.path().join("vsock").to_str().unwrap())
|
String::from(tmp_dir.as_path().join("vsock").to_str().unwrap())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn temp_api_path(tmp_dir: &TempDir) -> String {
|
fn temp_api_path(tmp_dir: &TempDir) -> String {
|
||||||
String::from(
|
String::from(
|
||||||
tmp_dir
|
tmp_dir
|
||||||
.path()
|
.as_path()
|
||||||
.join("cloud-hypervisor.sock")
|
.join("cloud-hypervisor.sock")
|
||||||
.to_str()
|
.to_str()
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
@ -569,7 +568,7 @@ mod tests {
|
|||||||
|
|
||||||
// Creates the directory and returns the path.
|
// Creates the directory and returns the path.
|
||||||
fn temp_snapshot_dir_path(tmp_dir: &TempDir) -> String {
|
fn temp_snapshot_dir_path(tmp_dir: &TempDir) -> String {
|
||||||
let snapshot_dir = String::from(tmp_dir.path().join("snapshot").to_str().unwrap());
|
let snapshot_dir = String::from(tmp_dir.as_path().join("snapshot").to_str().unwrap());
|
||||||
std::fs::create_dir(&snapshot_dir).unwrap();
|
std::fs::create_dir(&snapshot_dir).unwrap();
|
||||||
snapshot_dir
|
snapshot_dir
|
||||||
}
|
}
|
||||||
@ -596,7 +595,8 @@ mod tests {
|
|||||||
tap: Option<&str>,
|
tap: Option<&str>,
|
||||||
num_queues: usize,
|
num_queues: usize,
|
||||||
) -> (std::process::Child, String) {
|
) -> (std::process::Child, String) {
|
||||||
let vunet_socket_path = String::from(tmp_dir.path().join("vunet.sock").to_str().unwrap());
|
let vunet_socket_path =
|
||||||
|
String::from(tmp_dir.as_path().join("vunet.sock").to_str().unwrap());
|
||||||
|
|
||||||
// Start the daemon
|
// Start the daemon
|
||||||
let net_params = if let Some(tap_str) = tap {
|
let net_params = if let Some(tap_str) = tap {
|
||||||
@ -807,7 +807,7 @@ mod tests {
|
|||||||
|
|
||||||
impl<'a> Guest<'a> {
|
impl<'a> Guest<'a> {
|
||||||
fn new_from_ip_range(disk_config: &'a mut dyn DiskConfig, class: &str, id: u8) -> Self {
|
fn new_from_ip_range(disk_config: &'a mut dyn DiskConfig, class: &str, id: u8) -> Self {
|
||||||
let tmp_dir = TempDir::new("ch").unwrap();
|
let tmp_dir = TempDir::new_with_prefix("/tmp/ch").unwrap();
|
||||||
|
|
||||||
let mut workload_path = dirs::home_dir().unwrap();
|
let mut workload_path = dirs::home_dir().unwrap();
|
||||||
workload_path.push("workloads");
|
workload_path.push("workloads");
|
||||||
@ -3712,7 +3712,7 @@ mod tests {
|
|||||||
let mut focal = UbuntuDiskConfig::new(FOCAL_IMAGE_NAME.to_string());
|
let mut focal = UbuntuDiskConfig::new(FOCAL_IMAGE_NAME.to_string());
|
||||||
let guest = Guest::new(&mut focal);
|
let guest = Guest::new(&mut focal);
|
||||||
|
|
||||||
let serial_path = guest.tmp_dir.path().join("/tmp/serial-output");
|
let serial_path = guest.tmp_dir.as_path().join("/tmp/serial-output");
|
||||||
let mut child = GuestCommand::new(&guest)
|
let mut child = GuestCommand::new(&guest)
|
||||||
.args(&["--cpus", "boot=1"])
|
.args(&["--cpus", "boot=1"])
|
||||||
.args(&["--memory", "size=512M"])
|
.args(&["--memory", "size=512M"])
|
||||||
@ -3909,7 +3909,7 @@ mod tests {
|
|||||||
let mut focal = UbuntuDiskConfig::new(FOCAL_IMAGE_NAME.to_string());
|
let mut focal = UbuntuDiskConfig::new(FOCAL_IMAGE_NAME.to_string());
|
||||||
let guest = Guest::new(&mut focal);
|
let guest = Guest::new(&mut focal);
|
||||||
|
|
||||||
let console_path = guest.tmp_dir.path().join("/tmp/console-output");
|
let console_path = guest.tmp_dir.as_path().join("/tmp/console-output");
|
||||||
let mut child = GuestCommand::new(&guest)
|
let mut child = GuestCommand::new(&guest)
|
||||||
.args(&["--cpus", "boot=1"])
|
.args(&["--cpus", "boot=1"])
|
||||||
.args(&["--memory", "size=512M"])
|
.args(&["--memory", "size=512M"])
|
||||||
@ -6161,7 +6161,7 @@ mod tests {
|
|||||||
let mut windows = WindowsDiskConfig::new(WINDOWS_IMAGE_NAME.to_string());
|
let mut windows = WindowsDiskConfig::new(WINDOWS_IMAGE_NAME.to_string());
|
||||||
let guest = Guest::new(&mut windows);
|
let guest = Guest::new(&mut windows);
|
||||||
|
|
||||||
let tmp_dir = TempDir::new("ch").unwrap();
|
let tmp_dir = TempDir::new_with_prefix("/tmp/ch").unwrap();
|
||||||
let mut workload_path = dirs::home_dir().unwrap();
|
let mut workload_path = dirs::home_dir().unwrap();
|
||||||
workload_path.push("workloads");
|
workload_path.push("workloads");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user