@@ -108,8 +108,9 @@ mod tests {
108108 fn spawn_peer_engines (
109109 context : deterministic:: Context ,
110110 registrations : & mut Registrations ,
111- ) -> BTreeMap < PublicKey , Mailbox < Sha256Digest , TestMessage > > {
112- let mut mailboxes = BTreeMap :: < PublicKey , Mailbox < Sha256Digest , TestMessage > > :: new ( ) ;
111+ ) -> BTreeMap < PublicKey , Mailbox < PublicKey , Sha256Digest , TestMessage > > {
112+ let mut mailboxes =
113+ BTreeMap :: < PublicKey , Mailbox < PublicKey , Sha256Digest , TestMessage > > :: new ( ) ;
113114 while let Some ( ( peer, network) ) = registrations. pop_first ( ) {
114115 let context = context. with_label ( & peer. to_string ( ) ) ;
115116 let config = Config {
@@ -141,7 +142,7 @@ mod tests {
141142 // Send a single broadcast message from the first peer
142143 let message = TestMessage :: new ( b"hello world test message" ) ;
143144 let mut first_mailbox = mailboxes. get ( peers. first ( ) . unwrap ( ) ) . unwrap ( ) . clone ( ) ;
144- first_mailbox. broadcast ( message. clone ( ) ) . await ;
145+ let result = first_mailbox. broadcast ( message. clone ( ) ) . await ;
145146
146147 // Allow time for propagation
147148 context. sleep ( Duration :: from_secs ( 1 ) ) . await ;
@@ -154,6 +155,7 @@ mod tests {
154155 let received_message = receiver. await . ok ( ) ;
155156 assert_eq ! ( received_message. unwrap( ) , message) ;
156157 }
158+ assert_eq ! ( result. await . unwrap( ) . len( ) , peers. len( ) - 1 ) ;
157159 } ) ;
158160 }
159161
@@ -177,7 +179,8 @@ mod tests {
177179 let receiver_before = mailbox_a. get ( digest_m1) . await ;
178180
179181 // Broadcast the message
180- mailbox_a. broadcast ( m1. clone ( ) ) . await ;
182+ let result = mailbox_a. broadcast ( m1. clone ( ) ) . await ;
183+ assert_eq ! ( result. await . unwrap( ) . len( ) , peers. len( ) - 1 ) ;
181184
182185 // Wait for the pre-broadcast retrieval to complete
183186 let msg_before = receiver_before
@@ -219,7 +222,7 @@ mod tests {
219222 let digest = message. digest ( ) ;
220223 for i in 0 ..100 {
221224 // Broadcast the message
222- first_mailbox. broadcast ( message. clone ( ) ) . await ;
225+ let result = first_mailbox. broadcast ( message. clone ( ) ) . await ;
223226 context. sleep ( NETWORK_SPEED_WITH_BUFFER ) . await ;
224227
225228 // Check if all peers received the message
@@ -233,6 +236,7 @@ mod tests {
233236 } ;
234237 all_received &= has;
235238 }
239+ assert_eq ! ( result. await . unwrap( ) . len( ) , peers. len( ) - 1 ) ;
236240
237241 // If all received, we're done
238242 if all_received {
@@ -255,7 +259,8 @@ mod tests {
255259 // Broadcast a message
256260 let message = TestMessage :: new ( b"cached message" ) ;
257261 let mut first_mailbox = mailboxes. get ( peers. first ( ) . unwrap ( ) ) . unwrap ( ) . clone ( ) ;
258- first_mailbox. broadcast ( message. clone ( ) ) . await ;
262+ let result = first_mailbox. broadcast ( message. clone ( ) ) . await ;
263+ assert_eq ! ( result. await . unwrap( ) . len( ) , peers. len( ) - 1 ) ;
259264
260265 // Wait for propagation
261266 context. sleep ( NETWORK_SPEED_WITH_BUFFER ) . await ;
@@ -294,7 +299,8 @@ mod tests {
294299 drop ( dummy2) ;
295300
296301 // Broadcast the message
297- mailbox1. broadcast ( message. clone ( ) ) . await ;
302+ let result = mailbox1. broadcast ( message. clone ( ) ) . await ;
303+ assert_eq ! ( result. await . unwrap( ) . len( ) , peers. len( ) - 1 ) ;
298304
299305 // Wait for propagation
300306 context. sleep ( NETWORK_SPEED_WITH_BUFFER ) . await ;
@@ -320,7 +326,8 @@ mod tests {
320326 messages. push ( TestMessage :: new ( format ! ( "message {}" , i) . as_bytes ( ) ) ) ;
321327 }
322328 for message in messages. iter ( ) {
323- mailbox. broadcast ( message. clone ( ) ) . await ;
329+ let result = mailbox. broadcast ( message. clone ( ) ) . await ;
330+ assert_eq ! ( result. await . unwrap( ) . len( ) , peers. len( ) - 1 ) ;
324331 }
325332
326333 // Wait for propagation
@@ -359,11 +366,13 @@ mod tests {
359366 // Create and broadcast message M1 from A
360367 let m1 = TestMessage :: new ( b"message M1" ) ;
361368 let digest_m1 = m1. digest ( ) ;
362- mailbox_a. broadcast ( m1. clone ( ) ) . await ;
369+ let result = mailbox_a. broadcast ( m1. clone ( ) ) . await ;
370+ assert_eq ! ( result. await . unwrap( ) . len( ) , peers. len( ) - 1 ) ;
363371 context. sleep ( NETWORK_SPEED_WITH_BUFFER ) . await ;
364372
365373 // Broadcast M1 from C
366- mailbox_c. broadcast ( m1. clone ( ) ) . await ;
374+ let result = mailbox_c. broadcast ( m1. clone ( ) ) . await ;
375+ assert_eq ! ( result. await . unwrap( ) . len( ) , peers. len( ) - 1 ) ;
367376 context. sleep ( NETWORK_SPEED_WITH_BUFFER ) . await ;
368377
369378 // M1 is now in A's and C's deques in B's engine
@@ -374,7 +383,8 @@ mod tests {
374383 new_messages_a. push ( TestMessage :: new ( format ! ( "A{}" , i) . as_bytes ( ) ) ) ;
375384 }
376385 for msg in & new_messages_a {
377- mailbox_a. broadcast ( msg. clone ( ) ) . await ;
386+ let result = mailbox_a. broadcast ( msg. clone ( ) ) . await ;
387+ assert_eq ! ( result. await . unwrap( ) . len( ) , peers. len( ) - 1 ) ;
378388 }
379389 context. sleep ( NETWORK_SPEED_WITH_BUFFER ) . await ;
380390
@@ -389,7 +399,8 @@ mod tests {
389399 new_messages_c. push ( TestMessage :: new ( format ! ( "C{}" , i) . as_bytes ( ) ) ) ;
390400 }
391401 for msg in & new_messages_c {
392- mailbox_c. broadcast ( msg. clone ( ) ) . await ;
402+ let result = mailbox_c. broadcast ( msg. clone ( ) ) . await ;
403+ assert_eq ! ( result. await . unwrap( ) . len( ) , peers. len( ) - 1 ) ;
393404 }
394405 context. sleep ( NETWORK_SPEED_WITH_BUFFER ) . await ;
395406
0 commit comments