36 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| #![cfg(feature = "test-bpf")]
 | |
| 
 | |
| use solana_bpf_rust_sanity::process_instruction;
 | |
| use solana_program_test::*;
 | |
| use solana_sdk::{
 | |
|     instruction::{AccountMeta, Instruction},
 | |
|     pubkey::Pubkey,
 | |
|     signature::{Keypair, Signer},
 | |
|     transaction::Transaction,
 | |
| };
 | |
| 
 | |
| #[tokio::test]
 | |
| async fn test_sysvars() {
 | |
|     let program_id = Pubkey::new_unique();
 | |
|     let program_test = ProgramTest::new(
 | |
|         "solana_bpf_rust_sanity",
 | |
|         program_id,
 | |
|         processor!(process_instruction),
 | |
|     );
 | |
|     let (mut banks_client, payer_keypair, recent_blockhash) = program_test.start().await;
 | |
| 
 | |
|     let mut transaction = Transaction::new_with_payer(
 | |
|         &[Instruction::new_with_bincode(
 | |
|             program_id,
 | |
|             &(),
 | |
|             vec![
 | |
|                 AccountMeta::new(payer_keypair.pubkey(), true),
 | |
|                 AccountMeta::new(Keypair::new().pubkey(), false),
 | |
|             ],
 | |
|         )],
 | |
|         Some(&payer_keypair.pubkey()),
 | |
|     );
 | |
|     transaction.sign(&[&payer_keypair], recent_blockhash);
 | |
|     banks_client.process_transaction(transaction).await.unwrap();
 | |
| }
 |