test_add_instruction_processor_for_existing_unrelated_accounts works with write cache (#29031)
This commit is contained in:
parent
0475c2f0af
commit
911a8d2a4a
|
@ -12888,6 +12888,7 @@ pub(crate) mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_add_instruction_processor_for_existing_unrelated_accounts() {
|
fn test_add_instruction_processor_for_existing_unrelated_accounts() {
|
||||||
|
for pass in 0..5 {
|
||||||
let mut bank = create_simple_test_bank(500);
|
let mut bank = create_simple_test_bank(500);
|
||||||
|
|
||||||
fn mock_ix_processor(
|
fn mock_ix_processor(
|
||||||
|
@ -12903,7 +12904,11 @@ pub(crate) mod tests {
|
||||||
assert!(stakes.vote_accounts().as_ref().is_empty());
|
assert!(stakes.vote_accounts().as_ref().is_empty());
|
||||||
}
|
}
|
||||||
assert!(bank.stakes_cache.stakes().stake_delegations().is_empty());
|
assert!(bank.stakes_cache.stakes().stake_delegations().is_empty());
|
||||||
|
if pass == 0 {
|
||||||
|
add_root_and_flush_write_cache(&bank);
|
||||||
assert_eq!(bank.calculate_capitalization(true), bank.capitalization());
|
assert_eq!(bank.calculate_capitalization(true), bank.capitalization());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
let ((vote_id, vote_account), (stake_id, stake_account)) =
|
let ((vote_id, vote_account), (stake_id, stake_account)) =
|
||||||
crate::stakes::tests::create_staked_node_accounts(1_0000);
|
crate::stakes::tests::create_staked_node_accounts(1_0000);
|
||||||
|
@ -12916,7 +12921,11 @@ pub(crate) mod tests {
|
||||||
assert!(!stakes.vote_accounts().as_ref().is_empty());
|
assert!(!stakes.vote_accounts().as_ref().is_empty());
|
||||||
}
|
}
|
||||||
assert!(!bank.stakes_cache.stakes().stake_delegations().is_empty());
|
assert!(!bank.stakes_cache.stakes().stake_delegations().is_empty());
|
||||||
|
if pass == 1 {
|
||||||
|
add_root_and_flush_write_cache(&bank);
|
||||||
assert_eq!(bank.calculate_capitalization(true), bank.capitalization());
|
assert_eq!(bank.calculate_capitalization(true), bank.capitalization());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
bank.add_builtin("mock_program1", &vote_id, mock_ix_processor);
|
bank.add_builtin("mock_program1", &vote_id, mock_ix_processor);
|
||||||
bank.add_builtin("mock_program2", &stake_id, mock_ix_processor);
|
bank.add_builtin("mock_program2", &stake_id, mock_ix_processor);
|
||||||
|
@ -12925,7 +12934,11 @@ pub(crate) mod tests {
|
||||||
assert!(stakes.vote_accounts().as_ref().is_empty());
|
assert!(stakes.vote_accounts().as_ref().is_empty());
|
||||||
}
|
}
|
||||||
assert!(bank.stakes_cache.stakes().stake_delegations().is_empty());
|
assert!(bank.stakes_cache.stakes().stake_delegations().is_empty());
|
||||||
|
if pass == 2 {
|
||||||
|
add_root_and_flush_write_cache(&bank);
|
||||||
assert_eq!(bank.calculate_capitalization(true), bank.capitalization());
|
assert_eq!(bank.calculate_capitalization(true), bank.capitalization());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
"mock_program1",
|
"mock_program1",
|
||||||
String::from_utf8_lossy(bank.get_account(&vote_id).unwrap_or_default().data())
|
String::from_utf8_lossy(bank.get_account(&vote_id).unwrap_or_default().data())
|
||||||
|
@ -12940,6 +12953,7 @@ pub(crate) mod tests {
|
||||||
let old_hash = bank.get_accounts_hash();
|
let old_hash = bank.get_accounts_hash();
|
||||||
bank.add_builtin("mock_program1", &vote_id, mock_ix_processor);
|
bank.add_builtin("mock_program1", &vote_id, mock_ix_processor);
|
||||||
bank.add_builtin("mock_program2", &stake_id, mock_ix_processor);
|
bank.add_builtin("mock_program2", &stake_id, mock_ix_processor);
|
||||||
|
add_root_and_flush_write_cache(&bank);
|
||||||
bank.update_accounts_hash_for_tests();
|
bank.update_accounts_hash_for_tests();
|
||||||
let new_hash = bank.get_accounts_hash();
|
let new_hash = bank.get_accounts_hash();
|
||||||
assert_eq!(old_hash, new_hash);
|
assert_eq!(old_hash, new_hash);
|
||||||
|
@ -12958,6 +12972,7 @@ pub(crate) mod tests {
|
||||||
String::from_utf8_lossy(bank.get_account(&stake_id).unwrap_or_default().data())
|
String::from_utf8_lossy(bank.get_account(&stake_id).unwrap_or_default().data())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[allow(deprecated)]
|
#[allow(deprecated)]
|
||||||
#[test]
|
#[test]
|
||||||
|
|
Loading…
Reference in New Issue