@@ -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,15 +64,22 @@ 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 header = match get_electrsd ( ) . client . block_headers_subscribe ( ) {
68+ Ok ( header) => header,
69+ Err ( _) => {
70+ std:: thread:: sleep ( Duration :: from_secs ( 3 ) ) ;
71+ get_electrsd ( ) . client . block_headers_subscribe ( ) . expect ( "failed to subscribe to block headers" )
72+ }
73+ } ;
74+
6475 loop {
6576 if header. height >= min_height {
6677 break ;
6778 }
6879 header = exponential_backoff_poll ( || {
69- get_electrsd ( ) . trigger ( ) . unwrap ( ) ;
70- get_electrsd ( ) . client . ping ( ) . unwrap ( ) ;
71- get_electrsd ( ) . client . block_headers_pop ( ) . unwrap ( )
80+ get_electrsd ( ) . trigger ( ) . expect ( "failed to trigger electrsd" ) ;
81+ get_electrsd ( ) . client . ping ( ) . expect ( "failed to ping electrsd" ) ;
82+ get_electrsd ( ) . client . block_headers_pop ( ) . expect ( "failed to pop block header" )
7283 } ) ;
7384 }
7485}
0 commit comments