From b6cd40b8ba973eb2c49cdfcd1f8ca7de839ef938 Mon Sep 17 00:00:00 2001 From: Andrei Silviu Dragnea Date: Sun, 14 Jan 2024 20:14:31 +0200 Subject: [PATCH 1/3] Fix ProgramTestContext::set_account not updating programs --- program-test/helloworld.so | Bin 0 -> 40064 bytes program-test/helloworld0.so | Bin 0 -> 36072 bytes program-test/helloworld1.so | Bin 0 -> 36072 bytes program-test/src/lib.rs | 283 +++++++++++++++++++++++++++++++++++- 4 files changed, 282 insertions(+), 1 deletion(-) create mode 100755 program-test/helloworld.so create mode 100755 program-test/helloworld0.so create mode 100755 program-test/helloworld1.so diff --git a/program-test/helloworld.so b/program-test/helloworld.so new file mode 100755 index 0000000000000000000000000000000000000000..bbba24bf9bd87b672d925a7bcf34e38949c39fd1 GIT binary patch literal 40064 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 literal 0 HcmV?d00001 diff --git a/program-test/helloworld0.so b/program-test/helloworld0.so new file mode 100755 index 0000000000000000000000000000000000000000..6cf9ef3c449033fa58fa47032003b32eb11109ee GIT binary patch literal 36072 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 AccountSharedData { + let account_len = UpgradeableLoaderState::size_of_program(); + + let mut account = Account { + lamports: Rent::default().minimum_balance(account_len).max(1), + data: vec![0; account_len], + owner: bpf_loader_upgradeable::id(), + executable: true, + rent_epoch: 0, + }; + + account + .set_state(&UpgradeableLoaderState::Program { + programdata_address: program_data_address, + }) + .unwrap(); + + AccountSharedData::from(account) + } + + fn program_data_account(path: &str, slot: Slot) -> AccountSharedData { + let program_data = read_file(path); + + let program_data_len = + UpgradeableLoaderState::size_of_programdata_metadata() + program_data.len(); + + let mut program_data_account = Account { + lamports: Rent::default().minimum_balance(program_data_len).max(1), + data: vec![0; program_data_len], + owner: bpf_loader_upgradeable::id(), + executable: true, + rent_epoch: 0, + }; + + program_data_account + .set_state(&UpgradeableLoaderState::ProgramData { + slot, + upgrade_authority_address: None, + }) + .unwrap(); + + program_data_account.data[UpgradeableLoaderState::size_of_programdata_metadata()..] + .copy_from_slice(&program_data); + + AccountSharedData::from(program_data_account) + } + + async fn simulate_transaction( + context: &mut ProgramTestContext, + program_id: Pubkey, + ) -> solana_banks_interface::BanksTransactionResultWithSimulation { + let tx = Transaction::new_signed_with_payer( + &[Instruction::new_with_bytes( + program_id, + &[], + vec![AccountMeta::new_readonly(program_id, false)], + )], + Some(&context.payer.pubkey()), + &[&context.payer], + context.last_blockhash, + ); + + context.banks_client.simulate_transaction(tx).await.unwrap() + } + + async fn simulate_transaction_with_account( + context: &mut ProgramTestContext, + program_id: Pubkey, + account_address: Pubkey, + ) -> solana_banks_interface::BanksTransactionResultWithSimulation { + let tx = Transaction::new_signed_with_payer( + &[Instruction::new_with_bytes( + program_id, + &[], + vec![ + AccountMeta::new_readonly(program_id, false), + AccountMeta::new_readonly(account_address, false), + ], + )], + Some(&context.payer.pubkey()), + &[&context.payer], + context.last_blockhash, + ); + + context.banks_client.simulate_transaction(tx).await.unwrap() + } +} From f6e4007834168e93e05a41d9fd716b8cdc3f9e23 Mon Sep 17 00:00:00 2001 From: Andrei Silviu Dragnea Date: Sun, 14 Jan 2024 22:04:02 +0200 Subject: [PATCH 2/3] Use BankForks::insert_from_ledger everywhere in ProgramTestContext --- program-test/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/program-test/src/lib.rs b/program-test/src/lib.rs index de2cd85ef2a7be..79ee90f8d844dd 100644 --- a/program-test/src/lib.rs +++ b/program-test/src/lib.rs @@ -1149,7 +1149,7 @@ impl ProgramTestContext { bank } else { bank_forks - .insert(Bank::warp_from_parent( + .insert_from_ledger(Bank::warp_from_parent( bank, &Pubkey::default(), pre_warp_slot, @@ -1235,7 +1235,7 @@ impl ProgramTestContext { let mut warp_bank = Bank::new_from_parent(bank, &Pubkey::default(), warp_slot); warp_bank.force_reward_interval_end_for_tests(); - bank_forks.insert(warp_bank); + bank_forks.insert_from_ledger(warp_bank); // Update block commitment cache, otherwise banks server will poll at // the wrong slot From d941dfeb76ca968085741138bde97b6a6b6eab6b Mon Sep 17 00:00:00 2001 From: Andrei Silviu Dragnea Date: Sun, 14 Jan 2024 21:56:32 +0200 Subject: [PATCH 3/3] Fix typo --- program-runtime/src/loaded_programs.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/program-runtime/src/loaded_programs.rs b/program-runtime/src/loaded_programs.rs index b7b92a0409c800..64b08bd4218521 100644 --- a/program-runtime/src/loaded_programs.rs +++ b/program-runtime/src/loaded_programs.rs @@ -691,7 +691,7 @@ impl LoadedPrograms { /// Assign the program `entry` to the given `key` in the cache. /// This is typically called when a deployed program is managed (un-/re-/deployed) via - /// loader instructions. Because of the cooldown, entires can not have the same + /// loader instructions. Because of the cooldown, entries can not have the same /// deployment_slot and effective_slot. pub fn assign_program(&mut self, key: Pubkey, entry: Arc) -> Arc { let (was_occupied, entry) = self.replenish(key, entry);