MCPcopy Create free account
hub / github.com/MegEngine/MegFlow / test_dummy_msg

Function test_dummy_msg

flow-rs/src/channel/mod.rs:34–60  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

32
33 #[rt::test]
34 async fn test_dummy_msg() {
35 let chan = ChannelStorage::unbound();
36 assert_eq!(chan.sender_count(), 0);
37 assert_eq!(chan.receiver_count(), 0);
38 let s1 = chan.sender();
39 let s2 = chan.sender();
40 let r1 = chan.receiver();
41 let r2 = chan.receiver();
42 assert_eq!(chan.sender_count(), 2);
43 assert_eq!(chan.receiver_count(), 2);
44 let _ = chan.clone();
45 assert_eq!(chan.sender_count(), 2);
46 assert_eq!(chan.receiver_count(), 2);
47
48 s1.send_any(DummyEnvelope {}.seal()).await.ok();
49 s2.send_any(DummyEnvelope {}.seal()).await.ok();
50 assert_eq!(chan.len(), 1);
51
52 assert!(r1.recv_any().await.is_err());
53 assert!(!r1.is_closed());
54 assert!(r2.recv_any().await.is_err());
55 assert!(!r2.is_closed());
56
57 s2.send_any(DummyEnvelope {}.seal()).await.ok();
58 s2.send_any(DummyEnvelope {}.seal()).await.ok();
59 assert!(chan.is_empty());
60 }
61
62 #[rt::test]
63 async fn test_closed() {

Callers

nothing calls this directly

Calls 5

senderMethod · 0.80
receiverMethod · 0.80
send_anyMethod · 0.80
sealMethod · 0.80
cloneMethod · 0.45

Tested by

no test coverage detected