@@ -7177,11 +7177,15 @@ fn test_bank_load_program() {
7177
7177
}
7178
7178
7179
7179
#[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) {
7182
7183
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(1_000_000_000);
7183
7184
let mut bank = Bank::new_for_tests(&genesis_config);
7184
7185
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
+ }
7185
7189
let (bank, bank_forks) = bank.wrap_with_bank_forks_for_tests();
7186
7190
let mut bank_client = BankClient::new_shared(bank.clone());
7187
7191
@@ -8376,10 +8380,15 @@ fn test_timestamp_fast() {
8376
8380
}
8377
8381
}
8378
8382
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) {
8381
8386
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();
8383
8392
8384
8393
let tx = Transaction::new_signed_with_payer(
8385
8394
&[Instruction::new_with_bincode(
@@ -8400,12 +8409,17 @@ fn test_program_is_native_loader() {
8400
8409
);
8401
8410
}
8402
8411
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
+ ) {
8406
8417
let (genesis_config, mint_keypair) = create_genesis_config(10000000);
8407
8418
let mut bank = Bank::new_for_tests(&genesis_config);
8408
8419
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
+ }
8409
8423
let (bank, _bank_forks) = bank.wrap_with_bank_forks_for_tests();
8410
8424
8411
8425
let bogus_program = Pubkey::new_unique();
@@ -8432,13 +8446,12 @@ fn test_invoke_non_program_account_owned_by_a_builtin() {
8432
8446
&[&mint_keypair, &created_account_keypair],
8433
8447
bank.last_blockhash(),
8434
8448
);
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),);
8442
8455
}
8443
8456
8444
8457
#[test]
@@ -12225,8 +12238,11 @@ fn test_is_in_slot_hashes_history() {
12225
12238
assert!(!new_bank.is_in_slot_hashes_history(&0));
12226
12239
}
12227
12240
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
+ ) {
12230
12246
solana_logger::setup();
12231
12247
12232
12248
// Bank Setup
@@ -12235,6 +12251,9 @@ fn test_feature_activation_loaded_programs_cache_preparation_phase() {
12235
12251
let mut feature_set = FeatureSet::all_enabled();
12236
12252
feature_set.deactivate(&feature_set::disable_sbpf_v0_execution::id());
12237
12253
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
+ }
12238
12257
bank.feature_set = Arc::new(feature_set);
12239
12258
let (root_bank, bank_forks) = bank.wrap_with_bank_forks_for_tests();
12240
12259
@@ -13384,9 +13403,9 @@ fn test_deploy_last_epoch_slot() {
13384
13403
assert_eq!(result_with_feature_enabled, Ok(()));
13385
13404
}
13386
13405
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 ) {
13390
13409
solana_logger::setup();
13391
13410
13392
13411
// Bank Setup
@@ -13397,6 +13416,9 @@ fn test_loader_v3_to_v4_migration() {
13397
13416
);
13398
13417
let mut bank = Bank::new_for_tests(&genesis_config);
13399
13418
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
+ }
13400
13422
let (bank, bank_forks) = bank.wrap_with_bank_forks_for_tests();
13401
13423
let fee_calculator = genesis_config.fee_rate_governor.create_fee_calculator();
13402
13424
let mut next_slot = 1;
0 commit comments