[Fix] Patch coverage drops despite dedicated lane tests - #1650
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 4 included reviews per hour; 1 remains after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (2)
🧰 Additional context used📓 Path-based instructions (5)Require regression coverage at the lowest valid harness with behavior-focused assertions, including relevant negative, error, false/unset, and boundary cases.⚙️ CodeRabbit configuration file Files:
Check strict typing and exhaustive behavior across normal, boundary, error, cancellation, retry, and compatibility paths.⚙️ CodeRabbit configuration file Files:
Require full commit SHA pins, least-privilege permissions, safe expression and shell interpolation, and trusted metadata handling.⚙️ CodeRabbit configuration file Files:
Verify extension/webview contracts, cancellation and error propagation, VS Code lifecycle correctness, and behavior under retries and partial failure.⚙️ CodeRabbit configuration file Files:
Act as an adversarial second-opinion reviewer.⚙️ CodeRabbit configuration file Files:
🔇 Additional comments (2)
📝 SummarySummary by CodeRabbit
WalkthroughThe PR adds an LCOV merge utility, tests its coverage union behavior, wires it into the package scripts, and updates CI to verify, upload, and archive the merged extension coverage report. ChangesCoverage report union
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Bug fix · Severity of issue fixed: Medium Suggested reviewers: Sequence Diagram(s)sequenceDiagram
participant UnitTestJob
participant mergeCoverage
participant Codecov
participant CoverageArtifact
UnitTestJob->>mergeCoverage: run merge:coverage
mergeCoverage->>UnitTestJob: write merged lcov.info
UnitTestJob->>Codecov: upload merged lcov.info
UnitTestJob->>CoverageArtifact: store merged lcov.info
Merge Risk: ⚪ Minimal · up to The extension coverage reports are merged and uploaded through consistent CI paths, with no remaining actionable merge risk. Caution Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional.
❌ Failed checks (1 error, 1 warning)
✅ Passed checks (6 passed)
Full details: Regression EvidenceExplanation The new merge utility has explicit error and negative behavior without focused tests. Resolution Add focused unit tests for representative malformed and conflicting LCOV inputs, including invalid counts, duplicate or conflicting records, unsupported data, and missing CLI arguments. Add assertions that branches and functions remain uncovered when every lane reports zero hits. Add a small CLI test that verifies successful output creation and usage failure. Full details: Persistence IntegrityExplanation The new merge command writes the persisted report non-atomically. Resolution Generate the merged LCOV content first, write it to a uniquely named temporary file in
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Review statusThis PR was opened by an automated account. A human maintainer must verify the change intent, provenance, and validation before merging. Current step: Wait for required CI checks; awaiting-maintainer requires CI and automated review completion. Review-state labels are managed by this workflow; do not edit them manually. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
The Persistence Integrity finding does not apply to this generated CI artifact, so no code change was made.
The hosted run confirms the intended sequence completed successfully on No review thread exists to resolve; the error-level pre-merge judgment requires reviewer override or reevaluation. |
What changed
ubuntuCodecov upload.Why this change was made
Commit
99025b1fbreplaced one monolithic extension report with five reports that each instrument the fullsrcsource population. Sending those overlapping records together in one Codecov upload caused the default patch status to reflect a sparse lane instead of the union, producing the confirmed false red on #1505.Closes #1647.
Impact
Patch coverage now reflects execution across all extension test lanes without adding new long-lived flags or carryforward behavior. The existing
webview-ui,core-unit, andcore-integrationuploads and flag semantics remain unchanged.