From 708dbb973ac2bf26c2e9728e80ad5f0895c24760 Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Thu, 2 Apr 2020 10:08:02 +0100 Subject: [PATCH] vmm: config: Add RNG parsing unit test Signed-off-by: Rob Bradford --- vmm/src/config.rs | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/vmm/src/config.rs b/vmm/src/config.rs index f12ad9d6a..aaa629fdd 100644 --- a/vmm/src/config.rs +++ b/vmm/src/config.rs @@ -717,7 +717,7 @@ impl RngConfig { // Split the parameters based on the comma delimiter let params_list: Vec<&str> = rng.split(',').collect(); - let mut src_str: &str = ""; + let mut src_str: &str = DEFAULT_RNG_SOURCE; let mut iommu_str: &str = ""; for param in params_list.iter() { @@ -1485,4 +1485,31 @@ mod tests { Ok(()) } + + #[test] + fn test_parse_rng() -> Result<()> { + assert_eq!(RngConfig::parse("")?, RngConfig::default()); + assert_eq!( + RngConfig::parse("src=/dev/random")?, + RngConfig { + src: PathBuf::from("/dev/random"), + ..Default::default() + } + ); + assert_eq!( + RngConfig::parse("src=/dev/random,iommu=on")?, + RngConfig { + src: PathBuf::from("/dev/random"), + iommu: true, + } + ); + assert_eq!( + RngConfig::parse("iommu=on")?, + RngConfig { + iommu: true, + ..Default::default() + } + ); + Ok(()) + } }