Skip to content

Added a new reusable full-denominator C++ coverage workflow and coverage tooling (target discovery, LCOV processing, denominator validation, local runner script, and unit tests).#115

Open
olivembo wants to merge 4 commits into
eclipse-score:mainfrom
etas-contrib:fix/coverage-baseline-line-map
Open

Added a new reusable full-denominator C++ coverage workflow and coverage tooling (target discovery, LCOV processing, denominator validation, local runner script, and unit tests).#115
olivembo wants to merge 4 commits into
eclipse-score:mainfrom
etas-contrib:fix/coverage-baseline-line-map

Conversation

@olivembo
Copy link
Copy Markdown

@olivembo olivembo commented Jun 3, 2026

Implemented coverage accuracy fixes:

  • Synthetic baseline now applies only to sources missing from runtime LCOV.
  • Baseline DA line numbering preserves real source line numbers.
  • Branch coverage records are preserved during LCOV merge/filter.
  • HTML report generation now resolves source paths with the correct repo root and includes legend output.
  • Exclusions parsing now ignores comment lines.

Repo hygiene:

  • Python bytecode and cache folders are ignored in git.

Copy link
Copy Markdown
Member

@AlexanderLanin AlexanderLanin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This belongs somewhere else, as it should be executable locally as well. If all the scripting is here, then its only executable by ci.

Copy link
Copy Markdown
Contributor

@MaximilianSoerenPollak MaximilianSoerenPollak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with @AlexanderLanin here.
This should be not in CI/CD Repo, but rather in a place that is central for CPP things so it's also enabled to run locally.
Having coverage only be calculatable in CI would be rather bad for workflow and also logically it does not make sense for me.

I haven't checked the details of the implementation, but this IMO does not belong in this Repo. We should keep this truly only for CI/CD related things that do not need to run locally or already have a mechanism to run locally.

@olivembo
Copy link
Copy Markdown
Author

olivembo commented Jun 3, 2026

I agree with @AlexanderLanin here. This should be not in CI/CD Repo, but rather in a place that is central for CPP things so it's also enabled to run locally. Having coverage only be calculatable in CI would be rather bad for workflow and also logically it does not make sense for me.

I haven't checked the details of the implementation, but this IMO does not belong in this Repo. We should keep this truly only for CI/CD related things that do not need to run locally or already have a mechanism to run locally.

Would https://github.com/eclipse-score/score_cpp_policies fit?

@MaximilianSoerenPollak
Copy link
Copy Markdown
Contributor

Would https://github.com/eclipse-score/score_cpp_policies fit?

I can't say for sure as I'm not a codeowner there, but gut feeling tells me it for sure is a much better fit than here.
As it's c++ related & something all of the c++ repos should use anyhow in the end (as far as I know)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

3 participants