Skip to content

Commit d9b51d4

Browse files
committed
Add two unit test cases
Add two unit test cases for SubscriberId and remote endpoint. Signed-off-by: Liu Jiang <[email protected]>
1 parent 49ba509 commit d9b51d4

File tree

3 files changed

+47
-1
lines changed

3 files changed

+47
-1
lines changed

coverage_config_x86_64.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"coverage_score": 85.6,
2+
"coverage_score": 87.0,
33
"exclude_path": "tests/,benches/,utilities/",
44
"crate_features": "remote_endpoint,test_utilities"
55
}

src/lib.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,3 +279,22 @@ impl<T: MutEventSubscriber + ?Sized> MutEventSubscriber for Box<T> {
279279
self.deref_mut().init(ops);
280280
}
281281
}
282+
283+
#[cfg(test)]
284+
mod tests {
285+
use super::*;
286+
287+
#[test]
288+
fn test_subscriber_id_derives() {
289+
let a = SubscriberId(1);
290+
let b = SubscriberId(1);
291+
let c = SubscriberId(2);
292+
293+
assert_eq!(a, b);
294+
assert_ne!(a, c);
295+
assert_ne!(c, b);
296+
297+
let d = c.clone();
298+
assert_eq!(c, d);
299+
}
300+
}

src/manager.rs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -497,4 +497,31 @@ mod tests {
497497
Error::InvalidId
498498
);
499499
}
500+
501+
#[test]
502+
#[cfg(feature = "remote_endpoint")]
503+
fn test_endpoint() {
504+
use std::thread;
505+
506+
let mut event_manager = EventManager::<DummySubscriber>::new().unwrap();
507+
let dummy = DummySubscriber::new();
508+
let endpoint = event_manager.remote_endpoint();
509+
let kicker = event_manager.remote_endpoint();
510+
511+
let thread_handle = thread::spawn(move || {
512+
event_manager.run().unwrap();
513+
event_manager.run().unwrap();
514+
});
515+
516+
dummy.event_fd_1.write(1).unwrap();
517+
518+
let token = endpoint
519+
.call_blocking(|sub_ops| -> Result<SubscriberId> { Ok(sub_ops.add_subscriber(dummy)) })
520+
.unwrap();
521+
assert_eq!(token, SubscriberId(1));
522+
523+
kicker.kick().unwrap();
524+
525+
thread_handle.join().unwrap();
526+
}
500527
}

0 commit comments

Comments
 (0)