Skip to content

Add aggregate Kover coverage verification for line and branch thresholds #56

@nficano

Description

@nficano

Coverage cannot currently be proven or enforced above 80 percent from the Gradle configuration. The Kover plugin is applied only in lib/build.gradle.kts:4, there is no kover verification rule in lib/build.gradle.kts, and the integration tests in the separate :tests module are not wired into an aggregate Kover report. The root build declares the Kover plugin at build.gradle.kts:6 with apply false, but there is no root aggregation task or CI-enforced threshold. In this local environment I could not measure line or branch coverage because ./gradlew :lib:koverXmlReport :tests:test failed before Gradle started with "Unable to locate a Java Runtime". Based on the test-to-code map, with 4,848 lines under lib/src/main/kotlin, 1,942 lines of unit and integration tests, and several large runtime branches only partially exercised, the static estimate is roughly 55 to 65 percent line coverage and 40 to 50 percent branch coverage. Treat those numbers as estimates, not measured Kover output.

Fix prompt: Configure Kover aggregation so library unit tests and the :tests integration suite both contribute to the report for :lib, then add koverVerify rules requiring at least 80 percent line coverage and 80 percent branch coverage. Exclude generated code only if there is generated code to exclude, and publish the XML/HTML report from CI. Add a README or contributing note with the exact command, such as ./gradlew test koverXmlReport koverVerify, so contributors can reproduce the measured line and branch percentages locally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    severity:mediumMedium severity issuetestingTest coverage or test infrastructure

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions