pub struct ProgramTest { /* private fields */ }
Implementations§
source§impl ProgramTest
impl ProgramTest
sourcepub fn new(
program_name: &str,
program_id: Pubkey,
builtin_function: Option<BuiltinFunctionWithContext>,
) -> Self
pub fn new( program_name: &str, program_id: Pubkey, builtin_function: Option<BuiltinFunctionWithContext>, ) -> Self
Create a ProgramTest
.
This is a wrapper around default
and add_program
. See their documentation for more
details.
sourcepub fn prefer_bpf(&mut self, prefer_bpf: bool)
pub fn prefer_bpf(&mut self, prefer_bpf: bool)
Override default SBF program selection
sourcepub fn set_compute_max_units(&mut self, compute_max_units: u64)
pub fn set_compute_max_units(&mut self, compute_max_units: u64)
Override the default maximum compute units
sourcepub fn set_transaction_account_lock_limit(
&mut self,
transaction_account_lock_limit: usize,
)
pub fn set_transaction_account_lock_limit( &mut self, transaction_account_lock_limit: usize, )
Override the default transaction account lock limit
sourcepub fn set_bpf_compute_max_units(&mut self, bpf_compute_max_units: u64)
👎Deprecated since 1.8.0: please use set_compute_max_units
instead
pub fn set_bpf_compute_max_units(&mut self, bpf_compute_max_units: u64)
set_compute_max_units
insteadOverride the SBF compute budget
sourcepub fn add_account(&mut self, address: Pubkey, account: Account)
pub fn add_account(&mut self, address: Pubkey, account: Account)
Add an account to the test environment
sourcepub fn add_account_with_file_data(
&mut self,
address: Pubkey,
lamports: u64,
owner: Pubkey,
filename: &str,
)
pub fn add_account_with_file_data( &mut self, address: Pubkey, lamports: u64, owner: Pubkey, filename: &str, )
Add an account to the test environment with the account data in the provided filename
sourcepub fn add_account_with_base64_data(
&mut self,
address: Pubkey,
lamports: u64,
owner: Pubkey,
data_base64: &str,
)
pub fn add_account_with_base64_data( &mut self, address: Pubkey, lamports: u64, owner: Pubkey, data_base64: &str, )
Add an account to the test environment with the account data in the provided as a base 64 string
pub fn add_sysvar_account<S: Sysvar>(&mut self, address: Pubkey, sysvar: &S)
sourcepub fn add_program(
&mut self,
program_name: &str,
program_id: Pubkey,
builtin_function: Option<BuiltinFunctionWithContext>,
)
pub fn add_program( &mut self, program_name: &str, program_id: Pubkey, builtin_function: Option<BuiltinFunctionWithContext>, )
Add a SBF program to the test environment.
program_name
will also be used to locate the SBF shared object in the current or fixtures
directory.
If builtin_function
is provided, the natively built-program may be used instead of the
SBF shared object depending on the BPF_OUT_DIR
environment variable.
sourcepub fn add_builtin_program(
&mut self,
program_name: &str,
program_id: Pubkey,
builtin_function: BuiltinFunctionWithContext,
)
pub fn add_builtin_program( &mut self, program_name: &str, program_id: Pubkey, builtin_function: BuiltinFunctionWithContext, )
Add a builtin program to the test environment.
Note that builtin programs are responsible for their own stable_log
output.
sourcepub fn deactivate_feature(&mut self, feature_id: Pubkey)
pub fn deactivate_feature(&mut self, feature_id: Pubkey)
Deactivate a runtime feature.
Note that all features are activated by default.
pub async fn start(self) -> (BanksClient, Keypair, Hash)
sourcepub async fn start_with_context(self) -> ProgramTestContext
pub async fn start_with_context(self) -> ProgramTestContext
Start the test client
Returns a BanksClient
interface into the test environment as well as a payer Keypair
with SOL for sending transactions
Trait Implementations§
source§impl Default for ProgramTest
impl Default for ProgramTest
source§fn default() -> Self
fn default() -> Self
Initialize a new ProgramTest
If the BPF_OUT_DIR
environment variable is defined, BPF programs will be preferred over
over a native instruction processor. The ProgramTest::prefer_bpf()
method may be
used to override this preference at runtime. cargo test-bpf
will set BPF_OUT_DIR
automatically.
SBF program shared objects and account data files are searched for in
- the value of the
BPF_OUT_DIR
environment variable - the
tests/fixtures
sub-directory - the current working directory
Auto Trait Implementations§
impl Freeze for ProgramTest
impl RefUnwindSafe for ProgramTest
impl Send for ProgramTest
impl Sync for ProgramTest
impl Unpin for ProgramTest
impl !UnwindSafe for ProgramTest
Blanket Implementations§
source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more