From d1390906c85a2c868785ed6e125b488da9740f09 Mon Sep 17 00:00:00 2001 From: Sebastien Boeuf Date: Fri, 13 Dec 2019 11:56:37 +0100 Subject: [PATCH] vmm: config: Derive Debug and PartialEq for configuration structures In anticipation for the writing of unit tests comparing two VmConfig structures, this commit derives the PartialEq trait for VmConfig and all embedded structures. This patch also derives the Debug trait for the same set of structures so that we can print them to facilitate debugging. Signed-off-by: Sebastien Boeuf --- vmm/src/config.rs | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/vmm/src/config.rs b/vmm/src/config.rs index da2d17448..35afc2062 100644 --- a/vmm/src/config.rs +++ b/vmm/src/config.rs @@ -182,7 +182,7 @@ fn parse_on_off(param: &str) -> Result { } } -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct CpusConfig { pub boot_vcpus: u8, pub max_vcpus: u8, @@ -241,7 +241,7 @@ impl Default for CpusConfig { } } -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct MemoryConfig { pub size: u64, #[serde(default)] @@ -299,12 +299,12 @@ impl Default for MemoryConfig { } } -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct KernelConfig { pub path: PathBuf, } -#[derive(Clone, Default, Deserialize, Serialize)] +#[derive(Clone, Debug, Default, PartialEq, Deserialize, Serialize)] pub struct CmdlineConfig { pub args: String, } @@ -319,7 +319,7 @@ impl CmdlineConfig { } } -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct DiskConfig { pub path: PathBuf, #[serde(default)] @@ -349,7 +349,7 @@ impl DiskConfig { } } -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct NetConfig { #[serde(default = "default_netconfig_tap")] pub tap: Option, @@ -433,7 +433,7 @@ impl NetConfig { } } -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct RngConfig { pub src: PathBuf, #[serde(default)] @@ -472,7 +472,7 @@ impl Default for RngConfig { } } -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct FsConfig { pub tag: String, pub sock: PathBuf, @@ -582,7 +582,7 @@ impl FsConfig { } } -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct PmemConfig { pub file: PathBuf, pub size: u64, @@ -627,7 +627,7 @@ impl PmemConfig { } } -#[derive(Clone, PartialEq, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub enum ConsoleOutputMode { Off, Tty, @@ -644,7 +644,7 @@ impl ConsoleOutputMode { } } -#[derive(Clone, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct ConsoleConfig { #[serde(default = "default_consoleconfig_file")] pub file: Option, @@ -718,7 +718,7 @@ impl ConsoleConfig { } } -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct DeviceConfig { pub path: PathBuf, #[serde(default)] @@ -748,7 +748,7 @@ impl DeviceConfig { } } -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct VhostUserNetConfig { pub sock: String, #[serde(default = "default_vunetconfig_num_queues")] @@ -823,7 +823,7 @@ impl VhostUserNetConfig { } } -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct VsockConfig { pub cid: u64, pub sock: PathBuf, @@ -862,7 +862,7 @@ impl VsockConfig { } } -#[derive(Clone, Debug, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct VhostUserBlkConfig { pub sock: String, #[serde(default = "default_vublkconfig_num_queues")] @@ -934,7 +934,7 @@ impl VhostUserBlkConfig { } } -#[derive(Clone, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct VmConfig { #[serde(default)] pub cpus: CpusConfig,