You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[FEATURE] Count unit tests from every module in code coverage, so codecov/patch is not 0% for code tested from another module #5890
Is your feature request related to a problem?
JaCoCo coverage is collected and reported per Gradle module, and CI uploads the 12 per-module jacocoTestReport.xml files to Codecov. A class therefore gets credit only for tests in its own module. Much of core is tested from other modules, mostly from ppl's CalcitePPL*Test classes: in core's own report, CalciteRelNodeVisitor has 11 of 2,622 lines covered and JoinAndLookupUtils 14 of 55, although the ppl tests run almost all of them.
So codecov/patch reports 0% for well-tested changes to these classes:
Because the status is wrong for the code that changes most often, reviewers cannot use it and learn to ignore it.
What solution would you like?
One JaCoCo report that merges the unit test execution data of all modules, uploaded to Codecov instead of the per-module files:
Same classes as today: the classes of the 12 modules that CI uploads now, with each module's own excludes (for example core's **/ast/**), so only the hit counts change.
Execution data from every module's unit tests, including opensearch-sql-plugin, whose classes are not reported.
The per-module jacocoTestReport and jacocoTestCoverageVerification stay as they are, so no module's threshold changes meaning.
What alternatives have you considered?
keep as is.
Activity