diff options
author | Liu Jiang <gerry@linux.alibaba.com> | 2021-02-21 22:56:35 +0800 |
---|---|---|
committer | Sergio Lopez <slp@sinrega.org> | 2021-03-01 12:50:56 +0100 |
commit | ec6eae722ef7c6fcecbb8acddf1d9905083dc3de (patch) | |
tree | de3776314e023cb30b9b5e631f49f84fad57fbdf /src/vhost_user/slave_req_handler.rs | |
parent | 56b823482b1f47392aeec9051ed3bcf526926864 (diff) | |
download | vmm_vhost-ec6eae722ef7c6fcecbb8acddf1d9905083dc3de.tar.gz |
vhost_user: add more unit test cases
Add more unit test cases for vhost-user protocol.
Signed-off-by: Liu Jiang <gerry@linux.alibaba.com>
Diffstat (limited to 'src/vhost_user/slave_req_handler.rs')
-rw-r--r-- | src/vhost_user/slave_req_handler.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/vhost_user/slave_req_handler.rs b/src/vhost_user/slave_req_handler.rs index 344afff..ff07304 100644 --- a/src/vhost_user/slave_req_handler.rs +++ b/src/vhost_user/slave_req_handler.rs @@ -743,3 +743,24 @@ impl<S: VhostUserSlaveReqHandler> AsRawFd for SlaveReqHandler<S> { self.main_sock.as_raw_fd() } } + +#[cfg(test)] +mod tests { + use std::os::unix::io::AsRawFd; + + use super::*; + use crate::vhost_user::dummy_slave::DummySlaveReqHandler; + + #[test] + fn test_slave_req_handler_new() { + let (p1, _p2) = UnixStream::pair().unwrap(); + let endpoint = Endpoint::<MasterReq>::from_stream(p1); + let backend = Arc::new(Mutex::new(DummySlaveReqHandler::new())); + let mut handler = SlaveReqHandler::new(endpoint, backend); + + handler.check_state().unwrap(); + handler.set_failed(libc::EAGAIN); + handler.check_state().unwrap_err(); + assert!(handler.as_raw_fd() >= 0); + } +} |