• 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 926 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_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

12 Jul 2026 11:38AM UTC coverage: 86.649%. Remained the same
29191196250

push

github

web-flow
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 compiled into the test binary. The
generated files duplicated the inventory and could drift from it (there
was no check keeping them in sync), and the whole corpus ran in one
single-threaded Catch2 process.

Data-driven tests (dedup)
-------------------------
- Add src/test/test_verify_samples.cpp, which reads elf_inventory.json at
  runtime (via yaml-cpp; JSON is a subset of YAML) and registers one
  Catch2 DYNAMIC_SECTION per (object, section[, program]). Adding or
  retagging a sample is now a JSON edit: no code generation, no recompile.
- Delete the 17 generated test_verify_<project>.cpp files and
  scripts/generate_verify_project_tests.py. The inventory is the single
  source of truth. A coverage-guard test asserts the registered projects
  match the inventory exactly, so a new project cannot be left untested.
- Trim test_verify.hpp to the ELF-parse cache and the VerifyIssueKind
  taxonomy the driver and the multithreading test still use.

  Catch2's [!shouldfail] is a compile-time per-TEST_CASE tag and cannot be
  applied per data-driven entry, so an expected_failure (a safe program
  the verifier is currently too imprecise to accept) is asserted as
  *still rejected* -- an xfail/golden marker. A verifier improvement that
  starts accepting it fails the case, prompting an inventory update; a
  regression on a passing program fails it too.

Parallel CI (ctest)
-------------------
- Register ctest entries: one per project (sharded by tag) plus a "unit"
  entry for everything else. The shard list is derived from the inventory
  via string(JSON), so it cannot drift from the corpus.
- CI runs `ctest -j` instead of a single `bin/tests` process. Locally, a
  full run drops from ~104s to ~42s on 16 cores (bounded by t... (continued)

9313 of 10748 relevant lines covered (86.65%)

6392518.66 hits per line

Relevant lines Covered
Build:
Build:
10748 RELEVANT LINES 9313 COVERED LINES
6392518.66 HITS PER LINE
Source Files on main
  • Tree
  • List 79
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
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
28931795960 main Assert sample-test infrastructure preconditions outside [!shouldfail] The [!shouldfail] expected-failure macros inverted the entire test result, so any assertion failure -- including infrastructure ones like REQUIRE(raw_progs.size() == count) or ... push 08 Jul 2026 09:30AM UTC elazarg github
86.5
See All Builds (904)

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