add smoke test for loaded_programs()

Add a smoke test for the loaded_programs() API as well as
all the relevant methods on the ProgramInfo type.

Signed-off-by: Andrew Stoycos <astoycos@redhat.com>
reviewable/pr637/r20
Andrew Stoycos 2 years ago
parent 85ce71d42e
commit 5e953e7df6
No known key found for this signature in database
GPG Key ID: 66735B92BB71C096

@ -1,5 +1,5 @@
use aya::{
programs::{Extension, Xdp, XdpFlags},
programs::{loaded_programs, Extension, Xdp, XdpFlags},
util::KernelVersion,
Bpf, BpfLoader,
};
@ -34,3 +34,31 @@ fn extension() {
let drop_: &mut Extension = bpf.program_mut("drop").unwrap().try_into().unwrap();
drop_.load(pass.fd().unwrap(), "xdp_pass").unwrap();
}
#[test]
fn list_loaded_programs() {
if loaded_programs().count() == 0 {
eprintln!("No programs to list");
return;
}
// Ensure the loaded_programs() api doesn't panic.
loaded_programs().for_each(|p| {
let prog = p.unwrap();
// Ensure all relevant helper functions don't panic
prog.name();
prog.name_as_str();
prog.id();
prog.tag();
prog.program_type();
prog.gpl_compatible();
prog.map_ids().unwrap();
prog.btf_id();
prog.size_translated();
prog.size_translated();
prog.memory_locked().unwrap();
prog.verified_instruction_count();
prog.loaded_at();
prog.fd().unwrap();
})
}

Loading…
Cancel
Save