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

kaidokert / fixed-bigint-rs / 26999934421
98%

Build:
DEFAULT BRANCH: main
Ran 05 Jun 2026 06:44AM UTC
Jobs 1
Files 26
Run time 1min
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

05 Jun 2026 06:44AM UTC coverage: 98.316%. Remained the same
26999934421

push

github

web-flow
Extend asm-grep scope to follow helpers reachable from fixtures (#122)

* Extend asm-grep scope to follow helpers reachable from fixtures

Previously the gate scoped to `ct_fix__*` / `nct_fix__*` symbols only,
on the assumption that LTO would inline every Ct helper into the
fixture body and bring it under inspection. That assumption broke in
PR #119 — `const_leading_zeros_ct` doesn't inline (too large), so
when its `u32::leading_zeros()` intrinsic call lowered to `test/je/bsr`
on baseline x86_64, asm-grep didn't see the `je` and the bug only
surfaced via ctgrind. We worked around that one with a workflow
RUSTFLAGS, but only ctgrind targets benefit from that mitigation.

Walk call-graph reachability instead. From each Ct fixture symbol,
follow `bl` / `call` / `jal` / `rcall` / etc. edges transitively
through the disassembly, building the set of helpers actually reached
from a Ct call path. Scan every reachable helper for forbidden
mnemonics. Negative-control fixtures are deliberately excluded from
the seed set — their bodies pull in Nct helpers that have branchful
behaviour by design.

Resolving call targets in a static archive uses `objdump --reloc`:
unresolved cross-CGU calls print as self-relative placeholders
otherwise, so the relocation entries are interleaved with the
disassembly and a new parse line picks them up.

False positives — public-parameter loops like
`<FixedUInt as ConditionallySelectable>::conditional_select`'s
`for i in 0..N` compiling to `cmp/b.lt` — are handled by a per-target
`allowed_helpers` regex list in `TargetSpec`. The shared `HELPER_ALLOWLIST`
covers every helper the smoke run on aarch64-apple-darwin surfaced:
the bit-shift family, `const_ct_select`, the per-limb scanners, the
bitwise / num_traits / subtle trait impls on `FixedUInt`. Each entry
was inspected and confirmed to be a compile-time-bounded loop; the
corresponding CT property is also exercised by ctgrind, so any future
secret-dependent branch slipping in still get... (continued)

2860 of 2909 relevant lines covered (98.32%)

367.57 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26999934421.1 05 Jun 2026 06:44AM UTC 26
98.32
GitHub Action Run
Source Files on build 26999934421
  • Tree
  • List 26
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26999934421
  • ad4f47c4 on github
  • Prev Build on main (#26997019830)
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