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

vbpf / prevail
87%

Build:
DEFAULT BRANCH: main
Repo Added 03 Apr 2025 12:08AM UTC
Token ENVZUPw7kXSVTNwI0SnEWS5mIrwoBd6UH regen
Build 928 Last
Files 79
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

LAST BUILD ON BRANCH main
branch: main
CHANGE BRANCH
x
Reset
Sync Branches
  • main
  • 1103-test-only-string-parsing
  • CMP0167-NEW
  • add-ifndefs
  • analysis-engine
  • arith
  • array-map-through-context
  • better-error-handling
  • better-print
  • boost-headers-setup
  • btf_cycles
  • bulk-rename-callee-saved
  • bump-catch2-to-3.9.1
  • bump-ebpf-samples
  • c++23
  • cache-ci
  • call-builtins
  • catch2-3.10.0
  • catch2-3.11.0
  • catch2-3.12.0
  • catch2-3.8.2
  • catch2-3.9.0
  • cfg-dir
  • chore/bump-catch2-3.15.2
  • claude/fix-close-after-widen-bug-Un4eW
  • cli11-v2.5.0
  • cli11-v2.6.1
  • cmake-explicit-sources-144
  • co-re
  • coderabbitai/docstrings/aacd752
  • codex/add-catch2-test-suite-for-ebpfdomain
  • codex/add-catch2-test-suite-for-ebpftransformer
  • codex/create-agents.md-file
  • codex/fix-negative-sdiv-singleton
  • codex/fix-zero-shift-finite-domain
  • codex/handle-out-of-window-numbytes
  • codex/optimize-test-execution-speed
  • codex/reject-misaligned-relocations
  • codex/reject-out-of-range-section-table
  • codex/reject-oversized-map-access-width
  • compute-slice-from-label
  • coverage-exclude-test-344
  • coverage-repository
  • dependabot/github_actions/actions/cache-5
  • dependabot/github_actions/actions/cache-6
  • dependabot/github_actions/actions/checkout-5
  • dependabot/github_actions/actions/checkout-6
  • dependabot/github_actions/actions/checkout-7
  • dependabot/github_actions/actions/upload-artifact-7
  • dependabot/github_actions/github/codeql-action-4
  • dependabot/github_actions/softprops/action-gh-release-3
  • dependabot/submodules/ebpf-samples-058b5c0
  • dependabot/submodules/ebpf-samples-65b12c6
  • dependabot/submodules/ebpf-samples-6a81f8e
  • dependabot/submodules/ebpf-samples-c504fda
  • dependabot/submodules/external/bpf_conformance-057d705
  • dependabot/submodules/external/bpf_conformance-13029d4
  • dependabot/submodules/external/bpf_conformance-151bcd7
  • dependabot/submodules/external/bpf_conformance-15e0553
  • dependabot/submodules/external/bpf_conformance-3203c1f
  • dependabot/submodules/external/bpf_conformance-35b1eb1
  • dependabot/submodules/external/bpf_conformance-394a188
  • dependabot/submodules/external/bpf_conformance-4334864
  • dependabot/submodules/external/bpf_conformance-498ee85
  • dependabot/submodules/external/bpf_conformance-5d1c9f5
  • dependabot/submodules/external/bpf_conformance-5df55bc
  • dependabot/submodules/external/bpf_conformance-5fbe1c3
  • dependabot/submodules/external/bpf_conformance-6e648f2
  • dependabot/submodules/external/bpf_conformance-6fa6a20
  • dependabot/submodules/external/bpf_conformance-8670f73
  • dependabot/submodules/external/bpf_conformance-8b5330d
  • dependabot/submodules/external/bpf_conformance-8e6ed4a
  • dependabot/submodules/external/bpf_conformance-8f3c2fe
  • dependabot/submodules/external/bpf_conformance-93549c2
  • dependabot/submodules/external/bpf_conformance-d280fcd
  • dependabot/submodules/external/bpf_conformance-e208f52
  • dependabot/submodules/external/bpf_conformance-e2318cb
  • dependabot/submodules/external/bpf_conformance-f16282e
  • dependabot/submodules/external/bpf_conformance-f558566
  • dependabot/submodules/external/libbtf-04281ee
  • dependabot/submodules/external/libbtf-0570bf0
  • dependabot/submodules/external/libbtf-11e41e2
  • dependabot/submodules/external/libbtf-1362c17
  • dependabot/submodules/external/libbtf-3115538
  • dependabot/submodules/external/libbtf-35e6a53
  • dependabot/submodules/external/libbtf-55c22b7
  • dependabot/submodules/external/libbtf-5efd6a0
  • dependabot/submodules/external/libbtf-643757e
  • dependabot/submodules/external/libbtf-6a09e51
  • dependabot/submodules/external/libbtf-846bf15
  • dependabot/submodules/external/libbtf-8588c66
  • dependabot/submodules/external/libbtf-9224231
  • dependabot/submodules/external/libbtf-ba5ab5e
  • dependabot/submodules/external/libbtf-cdf441a
  • dependabot/submodules/external/libbtf-e1e4e01
  • dependabot/submodules/external/libbtf-e3a95e2
  • dependabot/submodules/external/libbtf-f3864e6
  • dependabot/submodules/external/libbtf-f96afc3
  • detach-type-domain
  • docs
  • docs/helper-output-initialization-contract
  • dynamic-packet
  • dynamic-stack
  • elazarg-patch-1
  • expected
  • explicit-context
  • extrapolator-api
  • failure-slice
  • fast-slow-tests
  • fast-yaml
  • feature/abi-classes
  • feature/call-model
  • feature/callbacks
  • feature/conformance-direct-parse
  • feature/human-friendly-cli
  • feature/kfunc
  • feature/map-by-index-pseudos
  • feature/platform-tables
  • feature/pointer-types
  • feature/runtime-config
  • feature/safety-parity
  • fix-c26817-range-for-copy
  • fix-ci-apt-update
  • fix-cmake-git-hooks
  • fix-ebpf-domain-to-set-bottom
  • fix-issue-626-validmapkeyvalue-print
  • fix-reallocate-packet
  • fix-stacksize
  • fix-ub-radix-substr
  • fix-unaligned-func-symbol-overflow
  • fix/1071-widen-bottom-short-circuit
  • fix/1098-thread-callbtf-module
  • fix/absdiv-infinite-sign
  • fix/adapt-sgraph-defects
  • fix/array-domain-weak-havoc-width
  • fix/assume-type-mismatch
  • fix/boolean-and-null-precision
  • fix/btf-map-fallback
  • fix/cfg-builder-seen-labels
  • fix/conformance-group-selection
  • fix/dev-script-bugs
  • fix/dockerfile-cmake-version
  • fix/docs-sync-with-code
  • fix/elf-subprogram-reloc-identity
  • fix/exit-optional-deref
  • fix/finite-domain-32bit
  • fix/ghsa-2qc8-nonsingleton-add
  • fix/ghsa-65fp-alu32-ptr
  • fix/ghsa-65rv-ctx-write
  • fix/hide-boost-public-abi
  • fix/install-ci
  • fix/issue-1099-validmapkeyvalue-packet-size
  • fix/load-narrow-and-ptr-sum-bounds
  • fix/packaging-ci-gaps
  • fix/pentest-soundness-bugs
  • fix/phase6-helper-abi
  • fix/shouldfail-infra-precondition
  • fix/signed-division-soundness
  • fix/socket-direct-access
  • fix/stack-numeric-imprecise-store
  • fix/stale-svalue-copy
  • fix/store-immediate-sign-extension
  • fix/svalue-type-kind-strong-updates
  • fix/test-gen-inventory-gaps
  • fix/tracing-context-descriptor
  • fix/type-subsumed-equality
  • fix/update-expectations-unknown-fail
  • fix/widening-termination
  • fix/windows-ci-vs2026
  • fix/writable-mem-stack-havoc
  • fix/wto-iterative-consumers
  • fix/yaml-diff-bottom-invariant
  • fix_cmake_issue
  • fix_fuzzer_debug
  • fix_prevail_cmake
  • folder-structure
  • get-local-storage-flags
  • get_helper_prototype_use_fix
  • global-var
  • gsl-narrow-heap
  • hard-assert
  • int128
  • inventory-reject-1043
  • issue-728-observation-check
  • lazy-allocator-constant-limits
  • lazy-allocator-constant-limits-dco
  • lib
  • llm-context-doc
  • load-elf-fix
  • long-test-names
  • loop-mask-constraints
  • maintain_enum_order
  • map-count-fix
  • map-func-compat
  • may_have_type
  • milestones
  • minmax
  • modernize-graph-iterators
  • more-proto
  • mov-imm-fix
  • msvc-debug-assert-handler
  • namespace
  • no-patricia
  • opt
  • passes
  • prevail-mcp
  • prevail-namespace
  • principled-context-cleanup
  • prog-env
  • project-name
  • proposal/diagnostic-reporting
  • readme-compiler-630
  • refactor/call-resolver-kfunc
  • refactor/data-driven-verify-tests
  • remove-thread-local-options
  • remove-thresholds
  • rename-classes
  • rename-library
  • resolve_by_name
  • review-fixes
  • sleepable-might-sleep
  • split-call
  • svalue-num-specific
  • test-join
  • test/rfc9669-llm-conformance
  • tidy
  • type-domain-rcu
  • unreachable
  • update_assertion_creation
  • update_cfg_computation
  • update_read_elf
  • user/anusa/add_inner_map_template
  • user/anusa/array_opt
  • user/anusa/asan_fix
  • user/anusa/verification_issue
  • user/khorton/StringInvariant_to_use_moves
  • v0.2.0
  • verification-context
  • verify-all-conformance
  • version-flag-1108
  • yaml-dynamic

14 Jul 2026 08:50AM UTC coverage: 86.742% (+0.09%) from 86.649%
29319503431

push

github

elazarg
Diff YAML invariants by line set instead of lattice subtraction

The YAML test harness renders each expected/actual post-invariant diff via
StringInvariant::operator-, which special-cased bottom by returning bottom().
Because StringInvariant::empty() counts bottom (`_|_`) as non-empty, a matching
`_|_`-vs-`_|_` comparison produced `actual - expected == bottom` and
`expected - actual == bottom`, so print_failure listed the identical `_|_` under
both "Unexpected properties" and "Unseen properties" even though the invariants
matched.

The underlying issue is that a diff result is not an invariant: typing it as the
lattice StringInvariant forced operator- to reason about a bottom sentinel and
about the constraint-set-vs-lattice duality. Replace that with the same honest
representation already used for the messages diff.

Add StringInvariant::to_lines(), which renders an invariant as its set of text
lines (bottom -> the single line "_|_", exactly the form read_invariant parses
back into bottom; non-bottom -> its constraint lines). Change Failure::invariant
to Diff<std::set<std::string>> and diff via the ordinary set difference already
used for messages, with no special-casing of bottom. `_|_` now appears only when
one side genuinely is bottom and the other is not.

Remove the now-unused StringInvariant::operator-. Add a regression test covering
to_lines() and the bottom/non-bottom diff cases.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PWoziCvt88zfAvcCqTshPo
Signed-off-by: Elazar Gershuni <elazarg@gmail.com>

4 of 4 new or added lines in 1 file covered. (100.0%)

1 existing line in 1 file now uncovered.

9317 of 10741 relevant lines covered (86.74%)

6396402.75 hits per line

Relevant lines Covered
Build:
Build:
10741 RELEVANT LINES 9317 COVERED LINES
6396402.75 HITS PER LINE
Source Files on main
  • Tree
  • List 79
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
29319503431 main Diff YAML invariants by line set instead of lattice subtraction The YAML test harness renders each expected/actual post-invariant diff via StringInvariant::operator-, which special-cased bottom by returning bottom(). Because StringInvariant::empt... push 14 Jul 2026 09:00AM UTC elazarg github
86.74
29191196250 main Drive sample verification tests from the inventory; parallelize CI (#1195) Full-program verification of the ebpf-samples corpus was 17 C++ files generated by scripts/generate_verify_project_tests.py from test-data/elf_inventory.json, then compile... push 12 Jul 2026 11:49AM UTC web-flow github
86.65
29188734909 main Bump actions/upload-artifact from 4 to 7 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 7. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload... push 12 Jul 2026 10:23AM UTC elazarg github
86.65
29162777435 main Bump actions/checkout from 4 to 7 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)... push 11 Jul 2026 06:15PM UTC elazarg github
86.65
29018859372 main Model direct socket reads conservatively After stale type-dependent numeric facts are discarded, previously hidden paths reach socket-returning helpers such as skc_lookup_tcp(). Those helpers can produce a non-null T_SOCKET, and real accepted pro... push 09 Jul 2026 12:56PM UTC elazarg github
86.65
28980383561 main Bump Catch2 to v3.15.2 Update the FetchContent pin from v3.14.0 to v3.15.2. Full test suite builds and passes (1811 cases, 417183 assertions, 0 real failures). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claud... push 08 Jul 2026 10:44PM UTC elazarg github
86.61
28972716456 main Replace Boost.Multiprecision with a portable int128 (#1189 phase 1) (#1190) Phase 1 of #1189 (hide Boost from prevail's public headers). num_big.hpp used boost::multiprecision::int128_t/uint128_t on compilers without a native __int128 (MSVC), whi... push 08 Jul 2026 08:27PM UTC web-flow github
86.61
28958483115 main Bump Docker base image to ubuntu:24.04 for CMake 3.24+ The Dockerfile built from ubuntu:22.04, whose apt `cmake` package is 3.22, but the top-level `cmake_minimum_required(VERSION 3.24)` rejects it, so `docker build` failed at the configure step.... push 08 Jul 2026 04:42PM UTC elazarg github
86.5
28936391633 main Fix test-generation/inventory script correctness gaps (#1184) * scripts: fix test-generation/inventory correctness gaps Address six correctness gaps in the test-generation and inventory scripts (issue #1171): 1. update_verify_expectations.py: r... push 08 Jul 2026 10:57AM UTC web-flow github
86.5
28936354882 main Enable install/consume CI and fix the packaging path (follow-up to #1173) (#1188) Follow-up to #1173 (the install-CI enablement and NuGet-Boost consume were deferred there). Enables .github/workflows/test-installation.yml and fixes the packaging ... push 08 Jul 2026 10:49AM UTC web-flow github
86.5
See All Builds (906)

Badge your Repo: prevail

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

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

Refresh
  • Settings
  • Repo on GitHub
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