feat(userspace): log server sole console holder; init boots from manifest; adapter loads only init+storage
This commit is contained in:
@@ -180,3 +180,18 @@ fn garbage_gets_a_malformed_reply() {
|
||||
let (words, cap) = s.handle_call(0, [99, 0, 0, 0], None);
|
||||
assert_eq!((words[0], cap), (MALFORMED, None));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn only_the_unbadged_holder_sets_the_log_and_only_once() {
|
||||
let mut s = server();
|
||||
let log = CapSlot::new(7);
|
||||
let set = |s: &mut Srv, badge| {
|
||||
let (words, _) = s.handle_call(badge, StorageRequest::SetLog.encode(), log);
|
||||
StorageResponse::decode(words).unwrap()
|
||||
};
|
||||
assert_eq!(set(&mut s, 5), StorageResponse::Error);
|
||||
assert_eq!(s.log(), None);
|
||||
assert_eq!(set(&mut s, 0), StorageResponse::Ok);
|
||||
assert_eq!(s.log(), log);
|
||||
assert_eq!(set(&mut s, 0), StorageResponse::Error);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user