@@ -32,7 +32,9 @@ fn get_bitcoind() -> &'static BitcoinD {
3232 ) ;
3333 let mut conf = bitcoind:: Conf :: default ( ) ;
3434 conf. network = "regtest" ;
35- BitcoinD :: with_conf ( bitcoind_exe, & conf) . unwrap ( )
35+ let bitcoind = BitcoinD :: with_conf ( bitcoind_exe, & conf) . unwrap ( ) ;
36+ std:: thread:: sleep ( Duration :: from_secs ( 3 ) ) ;
37+ bitcoind
3638 } )
3739}
3840
@@ -46,7 +48,9 @@ fn get_electrsd() -> &'static ElectrsD {
4648 let mut conf = electrsd:: Conf :: default ( ) ;
4749 conf. http_enabled = true ;
4850 conf. network = "regtest" ;
49- ElectrsD :: with_conf ( electrs_exe, & bitcoind, & conf) . unwrap ( )
51+ let electrsd = ElectrsD :: with_conf ( electrs_exe, & bitcoind, & conf) . unwrap ( ) ;
52+ std:: thread:: sleep ( Duration :: from_secs ( 3 ) ) ;
53+ electrsd
5054 } )
5155}
5256
@@ -60,16 +64,19 @@ fn generate_blocks_and_wait(num: usize) {
6064}
6165
6266fn wait_for_block ( min_height : usize ) {
63- let mut header = get_electrsd ( ) . client . block_headers_subscribe ( ) . unwrap ( ) ;
67+ let mut cur_height = get_electrsd ( ) . client . block_headers_subscribe ( ) . map_or ( 0 , |header| header. height ) ;
68+
6469 loop {
65- if header . height >= min_height {
70+ if cur_height >= min_height {
6671 break ;
6772 }
68- header = exponential_backoff_poll ( || {
69- get_electrsd ( ) . trigger ( ) . unwrap ( ) ;
70- get_electrsd ( ) . client . ping ( ) . unwrap ( ) ;
71- get_electrsd ( ) . client . block_headers_pop ( ) . unwrap ( )
73+ let header = exponential_backoff_poll ( || {
74+ get_electrsd ( ) . trigger ( ) . expect ( "failed to trigger electrsd" ) ;
75+ get_electrsd ( ) . client . ping ( ) . expect ( "failed to ping electrsd" ) ;
76+ get_electrsd ( ) . client . block_headers_pop ( ) . expect ( "failed to pop block header" )
7277 } ) ;
78+
79+ cur_height = header. height ;
7380 }
7481}
7582
0 commit comments