Skip to content

Commit 928f270

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 <[email protected]>
1 parent b482edb commit 928f270

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

Diff for: vhost/src/vhost_user/frontend_req_handler.rs

+67
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

@@ -449,6 +450,72 @@ mod tests {
449450
}
450451
}
451452

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

0 commit comments

Comments
 (0)