Skip to content

Commit 208001e

Browse files
committed
add coverage to runtime tests
1 parent 694841d commit 208001e

File tree

1 file changed

+42
-20
lines changed

1 file changed

+42
-20
lines changed

runtime/src/bank/tests.rs

Lines changed: 42 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7177,11 +7177,15 @@ fn test_bank_load_program() {
71777177
}
71787178

71797179
#[allow(deprecated)]
7180-
#[test]
7181-
fn test_bpf_loader_upgradeable_deploy_with_max_len() {
7180+
#[test_case(false; "informal_loaded_size")]
7181+
#[test_case(true; "simd186_loaded_size")]
7182+
fn test_bpf_loader_upgradeable_deploy_with_max_len(formalize_loaded_transaction_data_size: bool) {
71827183
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(1_000_000_000);
71837184
let mut bank = Bank::new_for_tests(&genesis_config);
71847185
bank.feature_set = Arc::new(FeatureSet::all_enabled());
7186+
if !formalize_loaded_transaction_data_size {
7187+
bank.deactivate_feature(&feature_set::formalize_loaded_transaction_data_size::id());
7188+
}
71857189
let (bank, bank_forks) = bank.wrap_with_bank_forks_for_tests();
71867190
let mut bank_client = BankClient::new_shared(bank.clone());
71877191

@@ -8376,10 +8380,15 @@ fn test_timestamp_fast() {
83768380
}
83778381
}
83788382

8379-
#[test]
8380-
fn test_program_is_native_loader() {
8383+
#[test_case(false; "informal_loaded_size")]
8384+
#[test_case(true; "simd186_loaded_size")]
8385+
fn test_program_is_native_loader(formalize_loaded_transaction_data_size: bool) {
83818386
let (genesis_config, mint_keypair) = create_genesis_config(50000);
8382-
let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config);
8387+
let mut bank = Bank::new_for_tests(&genesis_config);
8388+
if formalize_loaded_transaction_data_size {
8389+
bank.activate_feature(&feature_set::formalize_loaded_transaction_data_size::id());
8390+
}
8391+
let (bank, _bank_forks) = bank.wrap_with_bank_forks_for_tests();
83838392

83848393
let tx = Transaction::new_signed_with_payer(
83858394
&[Instruction::new_with_bincode(
@@ -8400,12 +8409,17 @@ fn test_program_is_native_loader() {
84008409
);
84018410
}
84028411

8403-
// HANA this breaks, expects UnsupportedProgramId but we produce InvalidProgramForExecution
8404-
#[test]
8405-
fn test_invoke_non_program_account_owned_by_a_builtin() {
8412+
#[test_case(false; "informal_loaded_size")]
8413+
#[test_case(true; "simd186_loaded_size")]
8414+
fn test_invoke_non_program_account_owned_by_a_builtin(
8415+
formalize_loaded_transaction_data_size: bool,
8416+
) {
84068417
let (genesis_config, mint_keypair) = create_genesis_config(10000000);
84078418
let mut bank = Bank::new_for_tests(&genesis_config);
84088419
bank.activate_feature(&feature_set::remove_accounts_executable_flag_checks::id());
8420+
if formalize_loaded_transaction_data_size {
8421+
bank.activate_feature(&feature_set::formalize_loaded_transaction_data_size::id());
8422+
}
84098423
let (bank, _bank_forks) = bank.wrap_with_bank_forks_for_tests();
84108424

84118425
let bogus_program = Pubkey::new_unique();
@@ -8432,13 +8446,12 @@ fn test_invoke_non_program_account_owned_by_a_builtin() {
84328446
&[&mint_keypair, &created_account_keypair],
84338447
bank.last_blockhash(),
84348448
);
8435-
assert_eq!(
8436-
bank.process_transaction(&tx),
8437-
Err(TransactionError::InstructionError(
8438-
0,
8439-
InstructionError::UnsupportedProgramId
8440-
))
8441-
);
8449+
let expected_error = if formalize_loaded_transaction_data_size {
8450+
TransactionError::InvalidProgramForExecution
8451+
} else {
8452+
TransactionError::InstructionError(0, InstructionError::UnsupportedProgramId)
8453+
};
8454+
assert_eq!(bank.process_transaction(&tx), Err(expected_error),);
84428455
}
84438456

84448457
#[test]
@@ -12225,8 +12238,11 @@ fn test_is_in_slot_hashes_history() {
1222512238
assert!(!new_bank.is_in_slot_hashes_history(&0));
1222612239
}
1222712240

12228-
#[test]
12229-
fn test_feature_activation_loaded_programs_cache_preparation_phase() {
12241+
#[test_case(false; "informal_loaded_size")]
12242+
#[test_case(true; "simd186_loaded_size")]
12243+
fn test_feature_activation_loaded_programs_cache_preparation_phase(
12244+
formalize_loaded_transaction_data_size: bool,
12245+
) {
1223012246
solana_logger::setup();
1223112247

1223212248
// Bank Setup
@@ -12235,6 +12251,9 @@ fn test_feature_activation_loaded_programs_cache_preparation_phase() {
1223512251
let mut feature_set = FeatureSet::all_enabled();
1223612252
feature_set.deactivate(&feature_set::disable_sbpf_v0_execution::id());
1223712253
feature_set.deactivate(&feature_set::reenable_sbpf_v0_execution::id());
12254+
if !formalize_loaded_transaction_data_size {
12255+
bank.deactivate_feature(&feature_set::formalize_loaded_transaction_data_size::id());
12256+
}
1223812257
bank.feature_set = Arc::new(feature_set);
1223912258
let (root_bank, bank_forks) = bank.wrap_with_bank_forks_for_tests();
1224012259

@@ -13384,9 +13403,9 @@ fn test_deploy_last_epoch_slot() {
1338413403
assert_eq!(result_with_feature_enabled, Ok(()));
1338513404
}
1338613405

13387-
// HANA this breaks, expects UnsupportedProgramId but we produce InvalidProgramForExecution
13388-
#[test]
13389-
fn test_loader_v3_to_v4_migration() {
13406+
#[test_case(false; "informal_loaded_size")]
13407+
#[test_case(true; "simd186_loaded_size")]
13408+
fn test_loader_v3_to_v4_migration(formalize_loaded_transaction_data_size: bool) {
1339013409
solana_logger::setup();
1339113410

1339213411
// Bank Setup
@@ -13397,6 +13416,9 @@ fn test_loader_v3_to_v4_migration() {
1339713416
);
1339813417
let mut bank = Bank::new_for_tests(&genesis_config);
1339913418
bank.activate_feature(&feature_set::remove_accounts_executable_flag_checks::id());
13419+
if formalize_loaded_transaction_data_size {
13420+
bank.activate_feature(&feature_set::formalize_loaded_transaction_data_size::id());
13421+
}
1340013422
let (bank, bank_forks) = bank.wrap_with_bank_forks_for_tests();
1340113423
let fee_calculator = genesis_config.fee_rate_governor.create_fee_calculator();
1340213424
let mut next_slot = 1;

0 commit comments

Comments
 (0)