solana/programs/sbf/rust/simulation/tests/lib.rs

45 lines
1.2 KiB
Rust

#![cfg(feature = "test-bpf")]
use {
solana_program_test::{processor, tokio, ProgramTest},
solana_sbf_rust_simulation::process_instruction,
solana_sdk::{
instruction::{AccountMeta, Instruction},
pubkey::Pubkey,
signature::Signer,
sysvar,
transaction::Transaction,
},
};
#[tokio::test]
async fn no_panic_banks_client() {
let program_id = Pubkey::new_unique();
let program_test = ProgramTest::new(
"solana_sbf_rust_simulation",
program_id,
processor!(process_instruction),
);
let mut context = program_test.start_with_context().await;
let transaction = Transaction::new_signed_with_payer(
&[Instruction {
program_id,
accounts: vec![
AccountMeta::new_readonly(sysvar::slot_history::id(), false),
AccountMeta::new_readonly(sysvar::clock::id(), false),
],
data: vec![],
}],
Some(&context.payer.pubkey()),
&[&context.payer],
context.last_blockhash,
);
context
.banks_client
.process_transaction_with_preflight(transaction)
.await
.unwrap();
}