@@ -52,26 +52,26 @@ impl ProviderCheck for ExtendedBlocksCheck {
5252 match adapter. provides_extended_blocks ( ) . await {
5353 Ok ( true ) => ProviderCheckStatus :: Valid ,
5454 Ok ( false ) => {
55- error ! (
56- logger,
55+ let message = format ! (
5756 "Provider '{}' does not support extended blocks on chain '{}'" ,
58- provider_name,
59- chain_name,
57+ provider_name, chain_name,
6058 ) ;
6159
62- ProviderCheckStatus :: Failed
60+ error ! ( logger, "{}" , message) ;
61+
62+ ProviderCheckStatus :: Failed { message }
6363 }
6464 Err ( err) => {
65- error ! (
66- logger,
65+ let message = format ! (
6766 "Failed to check if provider '{}' supports extended blocks on chain '{}': {:#}" ,
68- provider_name,
69- chain_name,
70- err,
67+ provider_name, chain_name, err,
7168 ) ;
7269
70+ error ! ( logger, "{}" , message) ;
71+
7372 ProviderCheckStatus :: TemporaryFailure {
7473 checked_at : Instant :: now ( ) ,
74+ message,
7575 }
7676 }
7777 }
@@ -89,17 +89,27 @@ mod tests {
8989 use crate :: blockchain:: ChainIdentifier ;
9090 use crate :: log:: discard;
9191
92- macro_rules! lock {
93- ( $obj: ident. $field: ident. $( $call: tt ) +) => { {
94- $obj. $field. lock( ) . unwrap( ) . $( $call ) +
95- } } ;
96- }
97-
9892 #[ derive( Default ) ]
9993 struct TestAdapter {
10094 provides_extended_blocks_calls : Mutex < Vec < Result < bool > > > ,
10195 }
10296
97+ impl TestAdapter {
98+ fn provides_extended_blocks_call ( & self , x : Result < bool > ) {
99+ self . provides_extended_blocks_calls . lock ( ) . unwrap ( ) . push ( x)
100+ }
101+ }
102+
103+ impl Drop for TestAdapter {
104+ fn drop ( & mut self ) {
105+ assert ! ( self
106+ . provides_extended_blocks_calls
107+ . lock( )
108+ . unwrap( )
109+ . is_empty( ) ) ;
110+ }
111+ }
112+
103113 #[ async_trait]
104114 impl NetworkDetails for TestAdapter {
105115 fn provider_name ( & self ) -> ProviderName {
@@ -111,13 +121,10 @@ mod tests {
111121 }
112122
113123 async fn provides_extended_blocks ( & self ) -> Result < bool > {
114- lock ! ( self . provides_extended_blocks_calls. remove( 0 ) )
115- }
116- }
117-
118- impl Drop for TestAdapter {
119- fn drop ( & mut self ) {
120- assert ! ( lock!( self . provides_extended_blocks_calls. is_empty( ) ) ) ;
124+ self . provides_extended_blocks_calls
125+ . lock ( )
126+ . unwrap ( )
127+ . remove ( 0 )
121128 }
122129 }
123130
@@ -171,7 +178,7 @@ mod tests {
171178 let check = ExtendedBlocksCheck :: new ( [ ] ) ;
172179
173180 let adapter = TestAdapter :: default ( ) ;
174- lock ! { adapter. provides_extended_blocks_calls . push ( Ok ( true ) ) } ;
181+ adapter. provides_extended_blocks_call ( Ok ( true ) ) ;
175182
176183 let status = check
177184 . check (
@@ -190,7 +197,7 @@ mod tests {
190197 let check = ExtendedBlocksCheck :: new ( [ ] ) ;
191198
192199 let adapter = TestAdapter :: default ( ) ;
193- lock ! { adapter. provides_extended_blocks_calls . push ( Ok ( false ) ) } ;
200+ adapter. provides_extended_blocks_call ( Ok ( false ) ) ;
194201
195202 let status = check
196203 . check (
@@ -201,15 +208,15 @@ mod tests {
201208 )
202209 . await ;
203210
204- assert_eq ! ( status, ProviderCheckStatus :: Failed ) ;
211+ assert ! ( matches! ( status, ProviderCheckStatus :: Failed { .. } ) ) ;
205212 }
206213
207214 #[ tokio:: test]
208215 async fn check_temporary_failure_when_provider_request_fails ( ) {
209216 let check = ExtendedBlocksCheck :: new ( [ ] ) ;
210217
211218 let adapter = TestAdapter :: default ( ) ;
212- lock ! { adapter. provides_extended_blocks_calls . push ( Err ( anyhow!( "error" ) ) ) } ;
219+ adapter. provides_extended_blocks_call ( Err ( anyhow ! ( "error" ) ) ) ;
213220
214221 let status = check
215222 . check (
0 commit comments