Adds an integration test comparing round-by-round resInUse and scheduling outcomes between a real driven normal-mode recording and a simulation-mode replay of the identical contention scenario (worker capacity 10.0, jobs wanting 8.0/5.0/2.0, plus a 4th job proving cross-round persistence). Confirmed (by direct read of sim_picker_thread_fn(), independently re-verified in review) that sim's live picker is structurally PEND-only -- it has no capacity-check/dispatch path for a freshly-evaluated job. This means task 1.2's single-round fixture cannot be literally replayed-and- diffed for full parity: that comparison would be tautological for freshly-arriving jobs (sim always PENDs them regardless of accounting correctness) and can't prove multi-round persistence anyway. Built instead as a real recording plus a hand-crafted sim fixture modeling the identical facts, including an already-resolved-before-replay job to exercise reconciliation -- the same documented-carve-out approach test_sim_equivalence.c already established for PEND-only proofs, applied here to reconciled jobs too. No production code touched (task 3 already completed the feature). RED phase proven by temporarily reverting task 3's reconciliation call site: new test failed with "Expected 10 Was 0", restored and green. 48/49 scheduler tests pass; the 1 failure is pre-existing bug-1560 (unrelated). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| settings | ||
| specs | ||
| steering | ||