Repository navigation
CBSTM03A: coverage line map reads the staged text, 0/46 -> 34/46 branches (Part of #6072) - #6594
Conversation
…A 0/46 -> 34/46 (Part of #6072) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
No description provided. |
|
PR #6594 @ ed6f095: 1 failed check(s) == det (failure) -- real |
…rd (Part of #6072) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
CI shepherd: the head of this PR (4f621b1) is not the one a maintainer labelled |
|
No description provided. |
|
No description provided. |
Part of #6072. Code + tests only, no case data.
Root cause
equivalence.cobol_coveragebuilt its line map fromcompile_options(case, source)and swapped in the stagedsrc/PROGRAM.cblonly for Db2 and BMP cases. The CBSTM03A PSA -> TCB -> TIOT lowering (equivalence_mvs.lower, register A2) adds 6 lines before the first IF, so every trace line was off and 0/46 outcomes matched.Change
cobol_coveragenow always reads the staged text the oracle compiled (every harness rewrite is covered, not just the three it named). Test:test_a_case_run_reads_branches_against_the_staged_text_not_the_original.Class / Sibling gaps
Class: a harness rewrite that moves lines between the original and what runs, so the coverage line map misses. Members: Db2 precompile (handled before), IMS BMP rewrite (handled before), MVS lowering (this PR, the only
mvs_stepcase is CBSTM03A). Sibling gaps: none: every member handled.Evidence
equivalence.py run carddemo-cbstm03a: before 25/25 paragraphs, 0/46 branches; after 25/25, 34/46 branches. Open (scenario gaps, data slice): 287 false, 298 OTHER, 318 false, 353/379/403 OTHER, 748 false, 837 OTHER, 862/879/895/911 false.Gates:
pr_gates --fast7/7,--ratchets9/9; tree-wide guards 243 passed.Remaining slices
The det-sweep ledger
det_sweep_coverage/carddemo-cbstm03a.jsonstill says 0/46; it refreshes in the data slice (ladder_refresh.py carddemo-cbstm03a) with the new scenarios.Checklist: partial [c:bbdf83af] -- CBSTM03A 12 branch outcomes need scenarios/infeasible entries (data slice)
🤖 Generated with Claude Code