diff --git a/coverage_config_x86_64.json b/coverage_config_x86_64.json index bdb93ef..0ed9680 100644 --- a/coverage_config_x86_64.json +++ b/coverage_config_x86_64.json @@ -1,5 +1,5 @@ { - "coverage_score": 36.3, + "coverage_score": 40.6, "exclude_path": "", "crate_features": "" } diff --git a/src/i2c/src/vhu_i2c.rs b/src/i2c/src/vhu_i2c.rs index 3066652..cac7368 100644 --- a/src/i2c/src/vhu_i2c.rs +++ b/src/i2c/src/vhu_i2c.rs @@ -299,3 +299,26 @@ impl VhostUserBackendMut for VhostUserI2cBa Some(self.exit_event.try_clone().expect("Cloning exit eventfd")) } } + +#[cfg(test)] +mod tests { + use super::*; + use crate::i2c::tests::I2cMockAdapter; + + #[test] + fn verify_backend() { + let i2c_map: I2cMap = I2cMap::new("1:4,2:32:21,5:10:23").unwrap(); + let mut backend = VhostUserI2cBackend::new(Arc::new(i2c_map)).unwrap(); + + assert_eq!(backend.num_queues(), NUM_QUEUES); + assert_eq!(backend.max_queue_size(), QUEUE_SIZE); + assert_eq!(backend.features(), 0x171000000); + assert_eq!(backend.protocol_features(), VhostUserProtocolFeatures::MQ); + + assert_eq!(backend.queues_per_thread(), vec![0xffff_ffff]); + assert_eq!(backend.get_config(0, 0), vec![]); + + backend.set_event_idx(true); + assert!(backend.event_idx); + } +}