Skip to content

chore: regenerate MC/DC obligations, rename shifted tagged tests - #610

Merged
iheitlager merged 3 commits into
mainfrom
fix/mcdc-obligations-refresh
Aug 27, 2026
Merged

chore: regenerate MC/DC obligations, rename shifted tagged tests#610
iheitlager merged 3 commits into
mainfrom
fix/mcdc-obligations-refresh

Conversation

@iheitlager

Copy link
Copy Markdown
Member

Summary

  • Fixed tests/fuzz/fuzz_targets/btree_cursor.rs: PageSource::read_page returns Rc<[u8]>, but the fuzz target's FuzzPageSource impl still returned Vec<u8>, breaking make fuzz-btree.
  • Regenerated tests/mcdc/obligations.json via make mcdc-obligations — source edits since it was last committed had shifted decision line numbers.
  • Renamed every mcdc__<id>__vN_... tagged test (plus doc-comment cross-references) to the obligation id its decision now resolves to, across src/btree.rs, src/btree/index.rs, src/btree/table/delete.rs, src/parser/grammar.rs, src/parser/tokenizer.rs, src/record/encode.rs, src/vdbe/exec.rs, src/vdbe/functions.rs.

This surfaces the true MC/DC discharge state for the scanned file set: 40/42 real multi-leaf obligations discharged (previously ~0/42, because cargo-mvl-mcdc harvest couldn't join stale-id tagged tests to current obligations). Two remain undischarged: btree_966 (src/btree.rs:966) and encode_68 (src/record/encode.rs:68) — out of scope for this PR.

Token spend: trivial, matched estimate — mechanical id rename + snapshot regen, no new test logic.

Test plan

  • cargo test --locked --lib — 924 passed
  • cargo test --locked --test unit_mcdc_discharge — passes (previously failed on stale delete_62 id)
  • cargo-mvl-mcdc harvest ... | tools/mcdc_report.py — 40/42 real MC/DC obligations discharged
  • make fuzz-btree (60s) — builds and runs clean, no crashes
  • cargo fmt --check, cargo clippy --locked --all-targets -D warnings
  • pre-push hook gate suite passed

🤖 Generated with Claude Code

@iheitlager
iheitlager force-pushed the fix/mcdc-obligations-refresh branch 2 times, most recently from a13865d to aa1eefa Compare August 27, 2026 20:58
iheitlager and others added 3 commits August 27, 2026 23:00
PageSource::read_page returns Rc<[u8]> to share page buffers instead of
copying, but the fuzz target's FuzzPageSource impl still returned
Vec<u8>, breaking `make fuzz-btree`.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ests

tests/mcdc/obligations.json had drifted from source line numbers.
Regenerated via `make mcdc-obligations` and renamed every
mcdc__<id>__vN tagged test (and its doc-comment cross-references) to
the id its decision now resolves to, so `unit_mcdc_discharge` and
`cargo-mvl-mcdc harvest` join tagged tests to obligations correctly
again.

This also surfaces the true discharge state: 40/42 real MC/DC
obligations are discharged (previously misreported near 0 due to the
id drift) — btree_966 and encode_68 remain undischarged.

Token spend: trivial, matched estimate (mechanical id rename, no new
test logic).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@iheitlager
iheitlager force-pushed the fix/mcdc-obligations-refresh branch from aa1eefa to 1ecbf22 Compare August 27, 2026 21:01
@iheitlager
iheitlager merged commit b3dd90c into main Aug 27, 2026
5 checks passed
@iheitlager
iheitlager deleted the fix/mcdc-obligations-refresh branch August 27, 2026 21:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant