Skip to content

Commit 03f1d05

Browse files
committed
blockifier: share the test utl assert_eq_test_result
1 parent 213e583 commit 03f1d05

File tree

4 files changed

+27
-35
lines changed

4 files changed

+27
-35
lines changed

crates/apollo_gateway/src/state_reader_test.rs

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ use blockifier::execution::contract_class::RunnableCompiledClass;
1818
use blockifier::state::contract_class_manager::ContractClassManager;
1919
use blockifier::state::errors::StateError;
2020
use blockifier::state::state_api::{StateReader, StateResult};
21+
use blockifier::state::state_api_test_utils::assert_eq_state_result;
2122
use blockifier::state::state_reader_and_contract_manager::StateReaderAndContractManager;
2223
use blockifier::test_utils::initial_test_state::state_reader_and_contract_manager_for_testing;
2324
use lazy_static::lazy_static;
@@ -42,7 +43,7 @@ use starknet_api::{class_hash, contract_address, felt, nonce, storage_key};
4243
use crate::state_reader::{GatewayStateReaderWithCompiledClasses, MempoolStateReader};
4344
use crate::sync_state_reader::SyncStateReader;
4445

45-
fn state_reader_and_contract_manager(
46+
fn sync_state_reader_and_contract_manager(
4647
state_sync_client: SharedStateSyncClient,
4748
class_manager_client: SharedClassManagerClient,
4849
contract_class_manager: ContractClassManager,
@@ -281,7 +282,7 @@ async fn test_get_block_info() {
281282
},
282283
);
283284

284-
let state_reader_and_contract_manager = state_reader_and_contract_manager(
285+
let state_reader_and_contract_manager = sync_state_reader_and_contract_manager(
285286
Arc::new(mock_state_sync_client),
286287
Arc::new(mock_class_manager_client),
287288
contract_class_manager.clone(),
@@ -339,7 +340,7 @@ async fn test_get_storage_at() {
339340
)
340341
.returning(move |_, _, _| Ok(value));
341342

342-
let state_reader_and_contract_manager = state_reader_and_contract_manager(
343+
let state_reader_and_contract_manager = sync_state_reader_and_contract_manager(
343344
Arc::new(mock_state_sync_client),
344345
Arc::new(mock_class_manager_client),
345346
contract_class_manager.clone(),
@@ -370,7 +371,7 @@ async fn test_get_nonce_at() {
370371
.with(predicate::eq(block_number), predicate::eq(contract_address))
371372
.returning(move |_, _| Ok(expected_result));
372373

373-
let state_reader_and_contract_manager = state_reader_and_contract_manager(
374+
let state_reader_and_contract_manager = sync_state_reader_and_contract_manager(
374375
Arc::new(mock_state_sync_client),
375376
Arc::new(mock_class_manager_client),
376377
contract_class_manager.clone(),
@@ -402,7 +403,7 @@ async fn test_get_class_hash_at() {
402403
.with(predicate::eq(block_number), predicate::eq(contract_address))
403404
.returning(move |_, _| Ok(expected_result));
404405

405-
let state_reader_and_contract_manager = state_reader_and_contract_manager(
406+
let state_reader_and_contract_manager = sync_state_reader_and_contract_manager(
406407
Arc::new(mock_state_sync_client),
407408
Arc::new(mock_class_manager_client),
408409
contract_class_manager.clone(),
@@ -430,21 +431,6 @@ lazy_static! {
430431
DUMMY_CONTRACT_CLASS_V0.clone().try_into().unwrap();
431432
}
432433

433-
fn assert_eq_state_result(
434-
a: &StateResult<RunnableCompiledClass>,
435-
b: &StateResult<RunnableCompiledClass>,
436-
) {
437-
match (a, b) {
438-
(Ok(a), Ok(b)) => assert_eq!(a, b),
439-
(Err(StateError::UndeclaredClassHash(a)), Err(StateError::UndeclaredClassHash(b))) => {
440-
assert_eq!(a, b)
441-
}
442-
_ => panic!("StateResult mismatch (or unsupported comparison): {a:?} vs {b:?}"),
443-
}
444-
}
445-
446-
// TODO(Arni): Check if any test cases here should move to the tests of
447-
// `StateReaderAndContractManager`.
448434
#[rstest]
449435
#[case::cairo_0_declared_and_cached(
450436
cairo_0_declared_scenario(),
@@ -483,7 +469,7 @@ async fn test_get_compiled_class(
483469
first_scenario.expectations,
484470
);
485471

486-
let first_state_reader_and_class_manager = state_reader_and_contract_manager(
472+
let first_state_reader_and_class_manager = sync_state_reader_and_contract_manager(
487473
Arc::new(mock_state_sync_client),
488474
Arc::new(mock_class_manager_client),
489475
contract_class_manager.clone(),
@@ -506,7 +492,7 @@ async fn test_get_compiled_class(
506492
second_scenario.expectations,
507493
);
508494

509-
let second_state_reader_and_class_manager = state_reader_and_contract_manager(
495+
let second_state_reader_and_class_manager = sync_state_reader_and_contract_manager(
510496
Arc::new(mock_state_sync_client),
511497
Arc::new(mock_class_manager_client),
512498
contract_class_manager,

crates/apollo_gateway/src/sync_state_reader_test.rs

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ use apollo_test_utils::{get_rng, GetTestInstance};
1111
use blockifier::execution::contract_class::RunnableCompiledClass;
1212
use blockifier::state::errors::StateError;
1313
use blockifier::state::state_api::{StateReader, StateResult};
14+
use blockifier::state::state_api_test_utils::assert_eq_state_result;
1415
use lazy_static::lazy_static;
1516
use mockall::predicate;
1617
use rstest::rstest;
@@ -200,19 +201,6 @@ lazy_static! {
200201
static ref DUMMY_CONTRACT_CLASS: ContractClass = ContractClass::test_casm_contract_class();
201202
}
202203

203-
fn assert_eq_state_result(
204-
a: &StateResult<RunnableCompiledClass>,
205-
b: &StateResult<RunnableCompiledClass>,
206-
) {
207-
match (a, b) {
208-
(Ok(a), Ok(b)) => assert_eq!(a, b),
209-
(Err(StateError::UndeclaredClassHash(a)), Err(StateError::UndeclaredClassHash(b))) => {
210-
assert_eq!(a, b)
211-
}
212-
_ => panic!("StateResult mismatch (or unsupported comparison): {a:?} vs {b:?}"),
213-
}
214-
}
215-
216204
#[rstest]
217205
#[case::class_declared(
218206
Ok(Some(DUMMY_CONTRACT_CLASS.clone())),

crates/blockifier/src/state.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ pub mod global_cache;
88
#[cfg(feature = "cairo_native")]
99
pub mod native_class_manager;
1010
pub mod state_api;
11+
#[cfg(any(feature = "testing", test))]
12+
pub mod state_api_test_utils;
1113
pub mod state_reader_and_contract_manager;
1214
pub mod stateful_compression;
1315
#[cfg(any(feature = "testing", test))]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
use crate::execution::contract_class::RunnableCompiledClass;
2+
use crate::state::errors::StateError;
3+
use crate::state::state_api::StateResult;
4+
5+
pub fn assert_eq_state_result(
6+
a: &StateResult<RunnableCompiledClass>,
7+
b: &StateResult<RunnableCompiledClass>,
8+
) {
9+
match (a, b) {
10+
(Ok(a), Ok(b)) => assert_eq!(a, b),
11+
(Err(StateError::UndeclaredClassHash(a)), Err(StateError::UndeclaredClassHash(b))) => {
12+
assert_eq!(a, b)
13+
}
14+
_ => panic!("StateResult mismatch (or unsupported comparison): {a:?} vs {b:?}"),
15+
}
16+
}

0 commit comments

Comments
 (0)