@@ -156,7 +156,8 @@ async fn test_extract_state_nonce_and_run_validations(
156156}
157157
158158#[ rstest]
159- fn test_instantiate_validator ( ) {
159+ #[ tokio:: test( flavor = "multi_thread" ) ]
160+ async fn test_instantiate_validator ( ) {
160161 let stateful_validator_factory = StatefulTransactionValidatorFactory {
161162 config : StatefulTransactionValidatorConfig :: default ( ) ,
162163 chain_info : ChainInfo :: create_for_testing ( ) ,
@@ -168,12 +169,16 @@ fn test_instantiate_validator() {
168169 let mut mock_state_reader_factory = MockStateReaderFactory :: new ( ) ;
169170
170171 // Make sure stateful_validator uses the latest block in the initial call.
171- let latest_state_reader = state_reader_factory. get_state_reader_from_latest_block ( ) ;
172+ let latest_state_reader = state_reader_factory. get_state_reader_from_latest_block ( ) . await ;
172173 mock_state_reader_factory
173174 . expect_get_state_reader_from_latest_block ( )
174- . return_once ( || latest_state_reader) ;
175+ . return_once ( move || latest_state_reader) ;
175176
176- let validator = stateful_validator_factory. instantiate_validator ( & mock_state_reader_factory) ;
177+ // TODO(Itamar): Remove using runtime when instantiate_validator is async.
178+ let validator = tokio:: task:: block_in_place ( || {
179+ stateful_validator_factory
180+ . instantiate_validator ( & mock_state_reader_factory, tokio:: runtime:: Handle :: current ( ) )
181+ } ) ;
177182 assert ! ( validator. is_ok( ) ) ;
178183}
179184
0 commit comments