• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

vbpf / prevail / 26368619075 / 2
86%
main: 86%

Build:
DEFAULT BRANCH: main
Ran 24 May 2026 07:00PM UTC
Files 76
Run time 3s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 May 2026 05:57PM UTC coverage: 85.796% (+0.08%) from 85.72%
26368619075.2

push

github

web-flow
Untangle test-helper string parsing from the production verifier API (#1115)

- Removes the test-helper string layer that had leaked into the production verifier API per #1103.
- `AnalysisResult::is_valid_after` (dead) is removed; the remaining observation methods (`check_observation_at_label`, `is_consistent_before`, `is_consistent_after`) now take `EbpfDomain` instead of `StringInvariant`, so the verifier no longer parses constraint strings.
- `analyze(StringInvariant, …)` is replaced with `analyze(const EbpfDomain&, AnalysisContext)`. Callers pass a pre-built entry domain; the no-entry overload still drives `setup_entry()` itself.
- `EbpfDomain::from_constraints(set<string>, …)` is removed. A structured overload `from_constraints(const ParsedConstraints&, const AnalysisContext&)` replaces it. `ParsedConstraints` (formerly `TypeValueConstraints`) bundles type equalities, type-set restrictions, value constraints, and stack numeric ranges as a single coherent parser output. `setup_constraints` is read from the context rather than passed alongside.
- `src/ir/parse.{hpp,cpp}` and `src/ir/marshal.{hpp,cpp}` move to `src/test/`. The dead `parse_program` is dropped. `StringInvariant`'s printing operators (`+`, `-`, `<<`) move to a new `src/string_constraints.cpp` because they're user-facing output, not test-only parsing. `size(const Instruction&)` moves from `marshal.cpp` to `src/ir/unmarshal.cpp` because `printing.cpp` (production) uses it.
- `src/test/ebpf_yaml.cpp` gains the only bridges that still parse constraint strings, and only from YAML tests: `string_invariant_to_entry_domain` (clears `ZoneDomain::SplitDBM::scratch_` first for cross-run memory hygiene) and `string_invariant_to_observation_domain` (no clear; analysis is done).
---------

Signed-off-by: Elazar Gershuni <elazarg@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

8601 of 10025 relevant lines covered (85.8%)

3298691.83 hits per line

Source Files on job run-Release - 26368619075.2
  • Tree
  • List 76
  • Changed 8
  • Source Changed 0
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 26368619075
  • 7518c096 on github
  • Prev Job for on main (#26218991840.2)
  • Next Job for on main (#26372764981.1)
  • Delete
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