From 962826ef9718431db342b0bda35180d576a9270a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20M=C3=BCller?= Date: Thu, 5 Mar 2026 11:24:27 -0800 Subject: [PATCH] Add test for ProgramInfo::verified_insns attribute MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a test checking for sensible plumbing of the ProgramInfo::verified_insns attribute, as added by pull request #1322. Signed-off-by: Daniel Müller --- libbpf-rs/tests/test.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/libbpf-rs/tests/test.rs b/libbpf-rs/tests/test.rs index aa7195d2..6f2e5205 100644 --- a/libbpf-rs/tests/test.rs +++ b/libbpf-rs/tests/test.rs @@ -39,6 +39,7 @@ use std::time::Duration; use libbpf_rs::num_possible_cpus; use libbpf_rs::query::LinkTypeInfo; use libbpf_rs::query::PerfEventType; +use libbpf_rs::query::ProgInfoIter; use libbpf_rs::AsRawLibbpf; use libbpf_rs::Iter; use libbpf_rs::KprobeMultiOpts; @@ -2870,3 +2871,25 @@ fn test_run_prog_repeat_and_duration() { "duration should be non-zero" ); } + +/// Test that `ProgramInfo::verified_insns` is populated for loaded programs. +#[tag(root)] +#[test] +fn test_prog_info_verified_insns() { + let obj = get_test_object("tracepoint.bpf.o"); + let prog = obj + .progs() + .next() + .expect("should have at least one program"); + let prog_id = Program::id_from_fd(prog.as_fd()).expect("failed to get program ID"); + + let info = ProgInfoIter::default() + .find(|p| p.id == prog_id) + .unwrap_or_else(|| panic!("failed to find program with ID {prog_id} via ProgInfoIter")); + + assert!( + info.verified_insns > 0, + "expected verified_insns > 0, got {}", + info.verified_insns, + ); +}