@@ -2390,6 +2390,13 @@ mod tests {
2390
2390
network_payment_count : Rc < RefCell < u8 > > ,
2391
2391
network_chan_count : Rc < RefCell < u32 > > ,
2392
2392
}
2393
+ impl Drop for Node {
2394
+ fn drop ( & mut self ) {
2395
+ // Check that we processed all pending events
2396
+ assert_eq ! ( self . node. get_and_clear_pending_events( ) . len( ) , 0 ) ;
2397
+ assert_eq ! ( self . chan_monitor. added_monitors. lock( ) . unwrap( ) . len( ) , 0 ) ;
2398
+ }
2399
+ }
2393
2400
2394
2401
fn create_chan_between_nodes ( node_a : & Node , node_b : & Node ) -> ( msgs:: ChannelAnnouncement , msgs:: ChannelUpdate , msgs:: ChannelUpdate , [ u8 ; 32 ] , Transaction ) {
2395
2402
node_a. node . create_channel ( node_b. node . get_our_node_id ( ) , 100000 , 10001 , 42 ) . unwrap ( ) ;
@@ -3036,12 +3043,6 @@ mod tests {
3036
3043
close_channel ( & nodes[ 2 ] , & nodes[ 3 ] , & chan_3. 2 , chan_3. 3 , true ) ;
3037
3044
close_channel ( & nodes[ 1 ] , & nodes[ 3 ] , & chan_4. 2 , chan_4. 3 , false ) ;
3038
3045
close_channel ( & nodes[ 1 ] , & nodes[ 3 ] , & chan_5. 2 , chan_5. 3 , false ) ;
3039
-
3040
- // Check that we processed all pending events
3041
- for node in nodes {
3042
- assert_eq ! ( node. node. get_and_clear_pending_events( ) . len( ) , 0 ) ;
3043
- assert_eq ! ( node. chan_monitor. added_monitors. lock( ) . unwrap( ) . len( ) , 0 ) ;
3044
- }
3045
3046
}
3046
3047
3047
3048
#[ test]
@@ -3351,12 +3352,6 @@ mod tests {
3351
3352
get_announce_close_broadcast_events ( & nodes, 0 , 1 ) ;
3352
3353
assert_eq ! ( nodes[ 0 ] . node. list_channels( ) . len( ) , 0 ) ;
3353
3354
assert_eq ! ( nodes[ 1 ] . node. list_channels( ) . len( ) , 0 ) ;
3354
-
3355
- // Check that we processed all pending events
3356
- for node in nodes {
3357
- assert_eq ! ( node. node. get_and_clear_pending_events( ) . len( ) , 0 ) ;
3358
- assert_eq ! ( node. chan_monitor. added_monitors. lock( ) . unwrap( ) . len( ) , 0 ) ;
3359
- }
3360
3355
}
3361
3356
3362
3357
#[ test]
@@ -3541,6 +3536,16 @@ mod tests {
3541
3536
while !headers. is_empty ( ) {
3542
3537
nodes[ 0 ] . node . block_disconnected ( & headers. pop ( ) . unwrap ( ) ) ;
3543
3538
}
3539
+ {
3540
+ let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
3541
+ assert_eq ! ( events. len( ) , 1 ) ;
3542
+ match events[ 0 ] {
3543
+ Event :: BroadcastChannelUpdate { msg : msgs:: ChannelUpdate { contents : msgs:: UnsignedChannelUpdate { flags, .. } , .. } } => {
3544
+ assert_eq ! ( flags & 0b10 , 0b10 ) ;
3545
+ } ,
3546
+ _ => panic ! ( "Unexpected event" ) ,
3547
+ }
3548
+ }
3544
3549
let channel_state = nodes[ 0 ] . node . channel_state . lock ( ) . unwrap ( ) ;
3545
3550
assert_eq ! ( channel_state. by_id. len( ) , 0 ) ;
3546
3551
assert_eq ! ( channel_state. short_to_id. len( ) , 0 ) ;
0 commit comments