Enable RBPF trace output for BPF tests that are not using bpf_loader
This commit is contained in:
committed by
Dmitri Makarov
parent
88626b2945
commit
4ed828e4ee
3
programs/bpf/Cargo.lock
generated
3
programs/bpf/Cargo.lock
generated
@ -1,5 +1,7 @@
|
|||||||
# This file is automatically @generated by Cargo.
|
# This file is automatically @generated by Cargo.
|
||||||
# It is not intended for manual editing.
|
# It is not intended for manual editing.
|
||||||
|
version = 3
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "Inflector"
|
name = "Inflector"
|
||||||
version = "0.11.4"
|
version = "0.11.4"
|
||||||
@ -2777,6 +2779,7 @@ dependencies = [
|
|||||||
"byteorder 1.3.4",
|
"byteorder 1.3.4",
|
||||||
"elf",
|
"elf",
|
||||||
"itertools 0.10.0",
|
"itertools 0.10.0",
|
||||||
|
"log",
|
||||||
"miow 0.2.2",
|
"miow 0.2.2",
|
||||||
"net2",
|
"net2",
|
||||||
"solana-account-decoder",
|
"solana-account-decoder",
|
||||||
|
@ -23,6 +23,7 @@ bincode = "1.1.4"
|
|||||||
byteorder = "1.3.2"
|
byteorder = "1.3.2"
|
||||||
elf = "0.0.10"
|
elf = "0.0.10"
|
||||||
itertools = "0.10.0"
|
itertools = "0.10.0"
|
||||||
|
log = "0.4.11"
|
||||||
miow = "0.2.2"
|
miow = "0.2.2"
|
||||||
net2 = "0.2.37"
|
net2 = "0.2.37"
|
||||||
solana-bpf-loader-program = { path = "../bpf_loader", version = "=1.7.0" }
|
solana-bpf-loader-program = { path = "../bpf_loader", version = "=1.7.0" }
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
extern crate solana_bpf_loader_program;
|
extern crate solana_bpf_loader_program;
|
||||||
|
|
||||||
use itertools::izip;
|
use itertools::izip;
|
||||||
|
use log::{log_enabled, trace, Level::Trace};
|
||||||
use solana_account_decoder::parse_bpf_loader::{
|
use solana_account_decoder::parse_bpf_loader::{
|
||||||
parse_bpf_upgradeable_loader, BpfUpgradeableLoaderAccountType,
|
parse_bpf_upgradeable_loader, BpfUpgradeableLoaderAccountType,
|
||||||
};
|
};
|
||||||
@ -252,6 +253,14 @@ fn run_program(
|
|||||||
.unwrap();
|
.unwrap();
|
||||||
println!("TRACE (jit): {}", tracer_display);
|
println!("TRACE (jit): {}", tracer_display);
|
||||||
assert!(false);
|
assert!(false);
|
||||||
|
} else if log_enabled!(Trace) {
|
||||||
|
let mut trace_buffer = String::new();
|
||||||
|
tracer
|
||||||
|
.as_ref()
|
||||||
|
.unwrap()
|
||||||
|
.write(&mut trace_buffer, vm.get_program())
|
||||||
|
.unwrap();
|
||||||
|
trace!("BPF Program Instruction Trace:\n{}", trace_buffer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tracer = Some(vm.get_tracer().clone());
|
tracer = Some(vm.get_tracer().clone());
|
||||||
|
Reference in New Issue
Block a user