Kotlin/kotlinx-kover

Suspend functions break branches coverage

zhkvdm opened this issue · 4 comments

Describe the bug
Branches coverage is wrong then call suspend functions.
Suspend function break coverage to half. But I check all posible branches.
Branches coverage is ok if I call the same non suspend function. Just delete suspend codeword.

Expected behavior
Branches coverage is not depends on function type (suspend/non suspend)

Reports
Coverage check with suspend function call:
suspend

Coverage check with non suspend function call:
non suspend

Environment

  • Kover Gradle Plugin version: 0.9.0-RC
  • Gradle version: 17.0.1
  • Kotlin project type: Kotlin/Multiplatform + Android
  • Coverage Toolset (if customized in build script): Kover

@shanshin Hello! Any comments to this issue? Do you reproduce the bug?

@zhkvdm, unfortunately, it was not possible to reproduce it locally.

var testVar: Int = 0

suspend fun testFun() {
    testVar = getTestData()
}

private suspend fun getTestData() = 1

Generated report
Screenshot 2024-10-17 at 16 43 44

Okay, in new empty project it works well. Looks like it is project specific issue..

Find the way how to reproduce this. Just add jacoco. Without jacoco everything is okay.