• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Build has been canceled!

vbpf / prevail / 24616572414

18 Apr 2026 11:46PM UTC coverage: 89.017% (-0.005%) from 89.022%
24616572414

push

github

web-flow
Remove thread_local_program_info; make Program self-contained (#1091)

* Thread EbpfProgramType and map cache through explicit parameters

Replace thread_local_program_info reads in platform helper functions
with explicit const EbpfProgramType& parameters on is_helper_usable,
get_helper_prototype, make_call, and parse_instruction. This removes
the implicit dependency on ambient thread-local state from the
platform layer and instruction parsing.

Change Program::from_sequence to take ProgramInfo& (non-const) so
callback targets are computed directly on the caller's ProgramInfo
rather than through the thread-local copy.

Move the map equivalence cache from ProgramInfo into a local variable
in parse_maps_section_linux, passed explicitly through create_map_linux
and create_map_crab. This fixes a pre-existing test-ordering bug where
stale cache entries from a previous test caused FD number mismatches.

* Thread ProgramInfo through get_map_descriptor platform function

Add const ProgramInfo& parameter to ebpf_get_map_descriptor_fn and
make it return const EbpfMapDescriptor&. Update find_map_descriptor,
get_map_descriptor_linux, and the test platform implementation.

Change EbpfDomain map query methods (get_map_type, get_map_key_size,
get_map_value_size, get_map_inner_map_fd, get_map_max_entries) to take
const AnalysisContext& instead of const ebpf_platform_t&, since they
now need both platform and program_info for map descriptor lookup.

This eliminates thread_local_program_info from elf_loader.cpp entirely.

* Store ProgramInfo in Program; remove thread_local_program_info (#1082)

Program now owns its ProgramInfo, populated by from_sequence. The
analyze(prog) shims construct AnalysisContext from prog.info() and
thread_local_options, eliminating all reads of thread_local_program_info.

Add explicit AnalysisContext parameter to AnalysisResult methods
(is_valid_after, check_observation_at_label, compute_failure_slices)
and const Program& to print_error for li... (continued)

139 of 153 new or added lines in 19 files covered. (90.85%)

8 existing lines in 5 files now uncovered.

13414 of 15069 relevant lines covered (89.02%)

4477329.41 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

76.15
/src/result.cpp


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc