Skip to content

Code Coverage Feature From Adil - #5036

Open
adilzhetigenov wants to merge 3 commits into
Ericsson:masterfrom
adilzhetigenov:master
Open

Code Coverage Feature From Adil#5036
adilzhetigenov wants to merge 3 commits into
Ericsson:masterfrom
adilzhetigenov:master

Conversation

@adilzhetigenov

Copy link
Copy Markdown

Code Coverage Feature that was built as Thesis with supervision of Tibor Brunner.

adilzhetigenov and others added 3 commits November 26, 2025 19:24
Implement comprehensive code coverage functionality with hierarchical
navigation and LCOV-compatible visualization.

Frontend:
- Add CoverageStatistics component for hierarchical directory/file navigation
  with coverage metrics (line and function coverage)
- Enhance CodeCoverageView with LCOV-style line-by-line coverage display:
  * Two-column layout (line data + source code)
  * Right-aligned execution counts
  * Color-coded coverage (green/yellow/red based on thresholds)
  * Breadcrumb navigation with one-level-at-a-time navigation
  * Coverage summary table matching LCOV format
- Add routes for coverage statistics and file views
- Update component exports

Backend:
- Enhance mass_store_run.py with 6-strategy path matching for coverage data
  association (exact, trimmed, filename-only, both in-memory and DB queries)
- Add duplicate coverage line detection to prevent data duplication
- Protect files with coverage data from cleanup in db_cleanup.py
- Add Tasks endpoint to webpack dev server proxy configuration

Configuration:
- Update .gitignore to exclude runtime-generated analysis and coverage files
  (plist, gcda, gcno, coverage.json, reports/, etc.)

The implementation follows LCOV's coverage calculation logic:
- Only executable lines are counted (excludes comments, includes, closing braces)
- Simple return statements are excluded from coverage metrics
- Coverage percentages match LCOV calculations exactly
- Display format matches LCOV HTML reports
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