Skip to content

Commit 3ebe61e

Browse files
committed
Add tests for default impls of Frontend req handlers
Add tests to assert return values (and existence) of default implemenation of VhostUserFrontendReqHandler and VhostUserFrontendReqHandlerMut trait methods. Signed-off-by: Matej Hrica <mhrica@redhat.com>
1 parent 3e1d20d commit 3ebe61e

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

vhost/src/vhost_user/frontend_req_handler.rs

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,7 @@ mod tests {
396396
use super::*;
397397

398398
use std::collections::HashSet;
399+
use std::io::ErrorKind;
399400

400401
use uuid::Uuid;
401402

@@ -455,6 +456,72 @@ mod tests {
455456
}
456457
}
457458

459+
#[test]
460+
fn test_default_frontend_impl() {
461+
struct Frontend;
462+
impl VhostUserFrontendReqHandler for Frontend {}
463+
464+
let f = Frontend;
465+
assert_eq!(
466+
f.shared_object_add(&Default::default()).unwrap_err().kind(),
467+
ErrorKind::Unsupported
468+
);
469+
assert_eq!(
470+
f.shared_object_remove(&Default::default())
471+
.unwrap_err()
472+
.kind(),
473+
ErrorKind::Unsupported
474+
);
475+
assert_eq!(
476+
f.shared_object_lookup(&Default::default(), &0)
477+
.unwrap_err()
478+
.kind(),
479+
ErrorKind::Unsupported
480+
);
481+
482+
assert_eq!(
483+
f.shmem_map(&Default::default(), &0).unwrap_err().kind(),
484+
ErrorKind::Unsupported
485+
);
486+
assert_eq!(
487+
f.shmem_unmap(&Default::default()).unwrap_err().kind(),
488+
ErrorKind::Unsupported
489+
);
490+
}
491+
492+
#[test]
493+
fn test_default_frontend_impl_mut() {
494+
struct FrontendMut;
495+
impl VhostUserFrontendReqHandlerMut for FrontendMut {}
496+
497+
let mut f = FrontendMut;
498+
assert_eq!(
499+
f.shared_object_add(&Default::default()).unwrap_err().kind(),
500+
ErrorKind::Unsupported
501+
);
502+
assert_eq!(
503+
f.shared_object_remove(&Default::default())
504+
.unwrap_err()
505+
.kind(),
506+
ErrorKind::Unsupported
507+
);
508+
assert_eq!(
509+
f.shared_object_lookup(&Default::default(), &0)
510+
.unwrap_err()
511+
.kind(),
512+
ErrorKind::Unsupported
513+
);
514+
515+
assert_eq!(
516+
f.shmem_map(&Default::default(), &0).unwrap_err().kind(),
517+
ErrorKind::Unsupported
518+
);
519+
assert_eq!(
520+
f.shmem_unmap(&Default::default()).unwrap_err().kind(),
521+
ErrorKind::Unsupported
522+
);
523+
}
524+
458525
#[test]
459526
fn test_new_frontend_req_handler() {
460527
let backend = Arc::new(Mutex::new(MockFrontendReqHandler::new()));

0 commit comments

Comments
 (0)