diff --git a/program-test/src/lib.rs b/program-test/src/lib.rs index 20b9f5806e29c3..f0c22f10195dab 100644 --- a/program-test/src/lib.rs +++ b/program-test/src/lib.rs @@ -23,6 +23,7 @@ use { accounts_background_service::{AbsRequestSender, SnapshotRequestKind}, bank::Bank, bank_forks::BankForks, + builtins::BUILTINS, commitment::BlockCommitmentCache, genesis_utils::{create_genesis_config_with_leader_ex, GenesisConfigInfo}, }, @@ -526,6 +527,14 @@ impl ProgramTest { builtin_function: Option, ) -> Self { let mut me = Self::default(); + if BUILTINS.iter().any(|b| b.program_id == program_id) { + info!( + "Detected program ID matching builtin. Overwriting existing builtin with provided \ + program: {}", + program_id, + ); + me.prefer_bpf = false; + } me.add_program(program_name, program_id, builtin_function); me }