From 34f5020457d93f8443e616f402c9f3b23916062e Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Mon, 20 Sep 2021 21:31:47 -0700 Subject: [PATCH] Add stable_log output when a program is loaded as native code instead of BPF --- program-test/src/lib.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/program-test/src/lib.rs b/program-test/src/lib.rs index 92e1175601..b1ef58becd 100644 --- a/program-test/src/lib.rs +++ b/program-test/src/lib.rs @@ -106,6 +106,9 @@ pub fn builtin_process_instruction( ) -> Result<(), InstructionError> { set_invoke_context(invoke_context); + let logger = invoke_context.get_logger(); + stable_log::program_invoke(&logger, program_id, invoke_context.invoke_depth()); + let keyed_accounts = invoke_context.get_keyed_accounts()?; // Copy all the accounts into a HashMap to ensure there are no duplicates @@ -154,7 +157,12 @@ pub fn builtin_process_instruction( .collect(); // Execute the program - process_instruction(program_id, &account_infos, input).map_err(u64::from)?; + process_instruction(program_id, &account_infos, input).map_err(|err| { + let err = u64::from(err); + stable_log::program_failure(&logger, program_id, &err.into()); + err + })?; + stable_log::program_success(&logger, program_id); // Commit AccountInfo changes back into KeyedAccounts for keyed_account in keyed_accounts {