mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
tests: move shared constants and helpers to test_infra
Move test constants (MAX_NUM_PCI_SEGMENTS, DIRECT_KERNEL_BOOT_CMDLINE, CONSOLE_TEST_STRING), arch-specific image name modules (x86_64, aarch64), and helper functions (direct_kernel_boot_path, edk2_path) from integration.rs to test_infra/src/lib.rs. This centralizes shared test definitions so they can be reused across multiple test crates instead of being confined to integration.rs. Signed-off-by: Muminul Islam <muislam@microsoft.com>
This commit is contained in:
committed by
Rob Bradford
parent
511e682909
commit
838a4f86c4
@@ -29,69 +29,6 @@ use vmm_sys_util::tempdir::TempDir;
|
|||||||
use vmm_sys_util::tempfile::TempFile;
|
use vmm_sys_util::tempfile::TempFile;
|
||||||
use wait_timeout::ChildExt;
|
use wait_timeout::ChildExt;
|
||||||
|
|
||||||
// Constant taken from the VMM crate.
|
|
||||||
const MAX_NUM_PCI_SEGMENTS: u16 = 96;
|
|
||||||
|
|
||||||
#[cfg(target_arch = "x86_64")]
|
|
||||||
mod x86_64 {
|
|
||||||
pub const FOCAL_IMAGE_NAME: &str = "focal-server-cloudimg-amd64-custom-20210609-0.raw";
|
|
||||||
pub const JAMMY_VFIO_IMAGE_NAME: &str =
|
|
||||||
"jammy-server-cloudimg-amd64-custom-vfio-20241012-0.raw";
|
|
||||||
pub const FOCAL_IMAGE_NAME_VHD: &str = "focal-server-cloudimg-amd64-custom-20210609-0.vhd";
|
|
||||||
pub const FOCAL_IMAGE_NAME_VHDX: &str = "focal-server-cloudimg-amd64-custom-20210609-0.vhdx";
|
|
||||||
pub const JAMMY_IMAGE_NAME: &str = "jammy-server-cloudimg-amd64-custom-20241017-0.raw";
|
|
||||||
pub const JAMMY_IMAGE_NAME_QCOW2: &str = "jammy-server-cloudimg-amd64-custom-20241017-0.qcow2";
|
|
||||||
pub const JAMMY_IMAGE_NAME_QCOW2_ZLIB: &str =
|
|
||||||
"jammy-server-cloudimg-amd64-custom-20241017-0-zlib.qcow2";
|
|
||||||
pub const JAMMY_IMAGE_NAME_QCOW2_ZSTD: &str =
|
|
||||||
"jammy-server-cloudimg-amd64-custom-20241017-0-zstd.qcow2";
|
|
||||||
pub const JAMMY_IMAGE_NAME_QCOW2_BACKING_ZSTD_FILE: &str =
|
|
||||||
"jammy-server-cloudimg-amd64-custom-20241017-0-backing-zstd.qcow2";
|
|
||||||
pub const JAMMY_IMAGE_NAME_QCOW2_BACKING_UNCOMPRESSED_FILE: &str =
|
|
||||||
"jammy-server-cloudimg-amd64-custom-20241017-0-backing-uncompressed.qcow2";
|
|
||||||
pub const JAMMY_IMAGE_NAME_QCOW2_BACKING_RAW_FILE: &str =
|
|
||||||
"jammy-server-cloudimg-amd64-custom-20241017-0-backing-raw.qcow2";
|
|
||||||
pub const WINDOWS_IMAGE_NAME: &str = "windows-server-2022-amd64-2.raw";
|
|
||||||
pub const OVMF_NAME: &str = "CLOUDHV.fd";
|
|
||||||
pub const GREP_SERIAL_IRQ_CMD: &str = "grep -c 'IO-APIC.*ttyS0' /proc/interrupts || true";
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(target_arch = "x86_64")]
|
|
||||||
use x86_64::*;
|
|
||||||
|
|
||||||
#[cfg(target_arch = "aarch64")]
|
|
||||||
mod aarch64 {
|
|
||||||
pub const FOCAL_IMAGE_NAME: &str = "focal-server-cloudimg-arm64-custom-20210929-0.raw";
|
|
||||||
pub const FOCAL_IMAGE_UPDATE_KERNEL_NAME: &str =
|
|
||||||
"focal-server-cloudimg-arm64-custom-20210929-0-update-kernel.raw";
|
|
||||||
pub const FOCAL_IMAGE_NAME_VHD: &str = "focal-server-cloudimg-arm64-custom-20210929-0.vhd";
|
|
||||||
pub const FOCAL_IMAGE_NAME_VHDX: &str = "focal-server-cloudimg-arm64-custom-20210929-0.vhdx";
|
|
||||||
pub const JAMMY_IMAGE_NAME: &str = "jammy-server-cloudimg-arm64-custom-20220329-0.raw";
|
|
||||||
pub const JAMMY_IMAGE_NAME_QCOW2: &str = "jammy-server-cloudimg-arm64-custom-20220329-0.qcow2";
|
|
||||||
pub const JAMMY_IMAGE_NAME_QCOW2_ZLIB: &str =
|
|
||||||
"jammy-server-cloudimg-arm64-custom-20220329-0-zlib.qcow2";
|
|
||||||
pub const JAMMY_IMAGE_NAME_QCOW2_ZSTD: &str =
|
|
||||||
"jammy-server-cloudimg-arm64-custom-20220329-0-zstd.qcow2";
|
|
||||||
pub const JAMMY_IMAGE_NAME_QCOW2_BACKING_ZSTD_FILE: &str =
|
|
||||||
"jammy-server-cloudimg-arm64-custom-20220329-0-backing-zstd.qcow2";
|
|
||||||
pub const JAMMY_IMAGE_NAME_QCOW2_BACKING_UNCOMPRESSED_FILE: &str =
|
|
||||||
"jammy-server-cloudimg-arm64-custom-20220329-0-backing-uncompressed.qcow2";
|
|
||||||
pub const JAMMY_IMAGE_NAME_QCOW2_BACKING_RAW_FILE: &str =
|
|
||||||
"jammy-server-cloudimg-arm64-custom-20220329-0-backing-raw.qcow2";
|
|
||||||
pub const WINDOWS_IMAGE_NAME: &str = "windows-11-iot-enterprise-aarch64.raw";
|
|
||||||
pub const OVMF_NAME: &str = "CLOUDHV_EFI.fd";
|
|
||||||
pub const GREP_SERIAL_IRQ_CMD: &str = "grep -c 'GICv3.*uart-pl011' /proc/interrupts || true";
|
|
||||||
pub const GREP_PMU_IRQ_CMD: &str = "grep -c 'GICv3.*arm-pmu' /proc/interrupts || true";
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(target_arch = "aarch64")]
|
|
||||||
use aarch64::*;
|
|
||||||
|
|
||||||
const DIRECT_KERNEL_BOOT_CMDLINE: &str =
|
|
||||||
"root=/dev/vda1 console=hvc0 rw systemd.journald.forward_to_console=1";
|
|
||||||
|
|
||||||
const CONSOLE_TEST_STRING: &str = "Started OpenBSD Secure Shell server";
|
|
||||||
|
|
||||||
// This enum exists to make it more convenient to
|
// This enum exists to make it more convenient to
|
||||||
// implement test for both D-Bus and REST APIs.
|
// implement test for both D-Bus and REST APIs.
|
||||||
enum TargetApi {
|
enum TargetApi {
|
||||||
@@ -541,31 +478,6 @@ fn temp_vmcore_file_path(tmp_dir: &TempDir) -> String {
|
|||||||
String::from(tmp_dir.as_path().join("vmcore").to_str().unwrap())
|
String::from(tmp_dir.as_path().join("vmcore").to_str().unwrap())
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creates the path for direct kernel boot and return the path.
|
|
||||||
// For x86_64, this function returns the vmlinux kernel path.
|
|
||||||
// For AArch64, this function returns the PE kernel path.
|
|
||||||
fn direct_kernel_boot_path() -> PathBuf {
|
|
||||||
let mut workload_path = dirs::home_dir().unwrap();
|
|
||||||
workload_path.push("workloads");
|
|
||||||
|
|
||||||
let mut kernel_path = workload_path;
|
|
||||||
#[cfg(target_arch = "x86_64")]
|
|
||||||
kernel_path.push("vmlinux-x86_64");
|
|
||||||
#[cfg(target_arch = "aarch64")]
|
|
||||||
kernel_path.push("Image-arm64");
|
|
||||||
|
|
||||||
kernel_path
|
|
||||||
}
|
|
||||||
|
|
||||||
fn edk2_path() -> PathBuf {
|
|
||||||
let mut workload_path = dirs::home_dir().unwrap();
|
|
||||||
workload_path.push("workloads");
|
|
||||||
let mut edk2_path = workload_path;
|
|
||||||
edk2_path.push(OVMF_NAME);
|
|
||||||
|
|
||||||
edk2_path
|
|
||||||
}
|
|
||||||
|
|
||||||
fn cloud_hypervisor_release_path() -> String {
|
fn cloud_hypervisor_release_path() -> String {
|
||||||
let mut workload_path = dirs::home_dir().unwrap();
|
let mut workload_path = dirs::home_dir().unwrap();
|
||||||
workload_path.push("workloads");
|
workload_path.push("workloads");
|
||||||
|
|||||||
@@ -2050,3 +2050,91 @@ fn generate_host_data() -> String {
|
|||||||
rand::rng().fill_bytes(&mut bytes);
|
rand::rng().fill_bytes(&mut bytes);
|
||||||
bytes.iter().map(|b| format!("{b:02x}")).collect()
|
bytes.iter().map(|b| format!("{b:02x}")).collect()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Creates the path for direct kernel boot and return the path.
|
||||||
|
// For x86_64, this function returns the vmlinux kernel path.
|
||||||
|
// For AArch64, this function returns the PE kernel path.
|
||||||
|
pub fn direct_kernel_boot_path() -> PathBuf {
|
||||||
|
let mut workload_path = dirs::home_dir().unwrap();
|
||||||
|
workload_path.push("workloads");
|
||||||
|
|
||||||
|
let mut kernel_path = workload_path;
|
||||||
|
#[cfg(target_arch = "x86_64")]
|
||||||
|
kernel_path.push("vmlinux-x86_64");
|
||||||
|
#[cfg(target_arch = "aarch64")]
|
||||||
|
kernel_path.push("Image-arm64");
|
||||||
|
|
||||||
|
kernel_path
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn edk2_path() -> PathBuf {
|
||||||
|
let mut workload_path = dirs::home_dir().unwrap();
|
||||||
|
workload_path.push("workloads");
|
||||||
|
let mut edk2_path = workload_path;
|
||||||
|
edk2_path.push(OVMF_NAME);
|
||||||
|
|
||||||
|
edk2_path
|
||||||
|
}
|
||||||
|
|
||||||
|
pub const DIRECT_KERNEL_BOOT_CMDLINE: &str =
|
||||||
|
"root=/dev/vda1 console=hvc0 rw systemd.journald.forward_to_console=1";
|
||||||
|
|
||||||
|
pub const CONSOLE_TEST_STRING: &str = "Started OpenBSD Secure Shell server";
|
||||||
|
|
||||||
|
// Constant taken from the VMM crate.
|
||||||
|
pub const MAX_NUM_PCI_SEGMENTS: u16 = 96;
|
||||||
|
|
||||||
|
#[cfg(target_arch = "x86_64")]
|
||||||
|
pub mod x86_64 {
|
||||||
|
pub const FOCAL_IMAGE_NAME: &str = "focal-server-cloudimg-amd64-custom-20210609-0.raw";
|
||||||
|
pub const JAMMY_VFIO_IMAGE_NAME: &str =
|
||||||
|
"jammy-server-cloudimg-amd64-custom-vfio-20241012-0.raw";
|
||||||
|
pub const FOCAL_IMAGE_NAME_VHD: &str = "focal-server-cloudimg-amd64-custom-20210609-0.vhd";
|
||||||
|
pub const FOCAL_IMAGE_NAME_VHDX: &str = "focal-server-cloudimg-amd64-custom-20210609-0.vhdx";
|
||||||
|
pub const JAMMY_IMAGE_NAME: &str = "jammy-server-cloudimg-amd64-custom-20241017-0.raw";
|
||||||
|
pub const JAMMY_IMAGE_NAME_QCOW2: &str = "jammy-server-cloudimg-amd64-custom-20241017-0.qcow2";
|
||||||
|
pub const JAMMY_IMAGE_NAME_QCOW2_ZLIB: &str =
|
||||||
|
"jammy-server-cloudimg-amd64-custom-20241017-0-zlib.qcow2";
|
||||||
|
pub const JAMMY_IMAGE_NAME_QCOW2_ZSTD: &str =
|
||||||
|
"jammy-server-cloudimg-amd64-custom-20241017-0-zstd.qcow2";
|
||||||
|
pub const JAMMY_IMAGE_NAME_QCOW2_BACKING_ZSTD_FILE: &str =
|
||||||
|
"jammy-server-cloudimg-amd64-custom-20241017-0-backing-zstd.qcow2";
|
||||||
|
pub const JAMMY_IMAGE_NAME_QCOW2_BACKING_UNCOMPRESSED_FILE: &str =
|
||||||
|
"jammy-server-cloudimg-amd64-custom-20241017-0-backing-uncompressed.qcow2";
|
||||||
|
pub const JAMMY_IMAGE_NAME_QCOW2_BACKING_RAW_FILE: &str =
|
||||||
|
"jammy-server-cloudimg-amd64-custom-20241017-0-backing-raw.qcow2";
|
||||||
|
pub const WINDOWS_IMAGE_NAME: &str = "windows-server-2022-amd64-2.raw";
|
||||||
|
pub const OVMF_NAME: &str = "CLOUDHV.fd";
|
||||||
|
pub const GREP_SERIAL_IRQ_CMD: &str = "grep -c 'IO-APIC.*ttyS0' /proc/interrupts || true";
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(target_arch = "x86_64")]
|
||||||
|
pub use x86_64::*;
|
||||||
|
|
||||||
|
#[cfg(target_arch = "aarch64")]
|
||||||
|
pub mod aarch64 {
|
||||||
|
pub const FOCAL_IMAGE_NAME: &str = "focal-server-cloudimg-arm64-custom-20210929-0.raw";
|
||||||
|
pub const FOCAL_IMAGE_UPDATE_KERNEL_NAME: &str =
|
||||||
|
"focal-server-cloudimg-arm64-custom-20210929-0-update-kernel.raw";
|
||||||
|
pub const FOCAL_IMAGE_NAME_VHD: &str = "focal-server-cloudimg-arm64-custom-20210929-0.vhd";
|
||||||
|
pub const FOCAL_IMAGE_NAME_VHDX: &str = "focal-server-cloudimg-arm64-custom-20210929-0.vhdx";
|
||||||
|
pub const JAMMY_IMAGE_NAME: &str = "jammy-server-cloudimg-arm64-custom-20220329-0.raw";
|
||||||
|
pub const JAMMY_IMAGE_NAME_QCOW2: &str = "jammy-server-cloudimg-arm64-custom-20220329-0.qcow2";
|
||||||
|
pub const JAMMY_IMAGE_NAME_QCOW2_ZLIB: &str =
|
||||||
|
"jammy-server-cloudimg-arm64-custom-20220329-0-zlib.qcow2";
|
||||||
|
pub const JAMMY_IMAGE_NAME_QCOW2_ZSTD: &str =
|
||||||
|
"jammy-server-cloudimg-arm64-custom-20220329-0-zstd.qcow2";
|
||||||
|
pub const JAMMY_IMAGE_NAME_QCOW2_BACKING_ZSTD_FILE: &str =
|
||||||
|
"jammy-server-cloudimg-arm64-custom-20220329-0-backing-zstd.qcow2";
|
||||||
|
pub const JAMMY_IMAGE_NAME_QCOW2_BACKING_UNCOMPRESSED_FILE: &str =
|
||||||
|
"jammy-server-cloudimg-arm64-custom-20220329-0-backing-uncompressed.qcow2";
|
||||||
|
pub const JAMMY_IMAGE_NAME_QCOW2_BACKING_RAW_FILE: &str =
|
||||||
|
"jammy-server-cloudimg-arm64-custom-20220329-0-backing-raw.qcow2";
|
||||||
|
pub const WINDOWS_IMAGE_NAME: &str = "windows-11-iot-enterprise-aarch64.raw";
|
||||||
|
pub const OVMF_NAME: &str = "CLOUDHV_EFI.fd";
|
||||||
|
pub const GREP_SERIAL_IRQ_CMD: &str = "grep -c 'GICv3.*uart-pl011' /proc/interrupts || true";
|
||||||
|
pub const GREP_PMU_IRQ_CMD: &str = "grep -c 'GICv3.*arm-pmu' /proc/interrupts || true";
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(target_arch = "aarch64")]
|
||||||
|
pub use aarch64::*;
|
||||||
|
|||||||
Reference in New Issue
Block a user