pub fn mock_process_instruction<F: FnMut(&mut InvokeContext<'_, '_>), G: FnMut(&mut InvokeContext<'_, '_>)>(
program_id: &Pubkey,
instruction_data: &[u8],
accounts: Vec<KeyedAccountSharedData>,
instruction_account_metas: Vec<AccountMeta>,
expected_result: Result<(), InstructionError>,
builtin: BuiltinFunctionRegisterer,
pre_adjustments: F,
post_adjustments: G,
) -> Vec<AccountSharedData>