Missing paths in code coverage reports

I’m having problems with codecov integration not picking up code coverage for my open source project.

I investigated the issue and downloading the coverage reports I noticed that paths for the files are missing in the report.

# path=RxEnumKit.framework.coverage.txt
    1|       |import RxSwift
    2|       |import EnumKit
    3|       |
    4|       |public extension ObservableType where Element: CaseAccessible {
    5|       |    

This is what I get, while codecov expects

# path=RxEnumKit.framework.coverage.txt
/Users/travis/build/gringoireDM/RxEnumKit/ObservableType+CaseAccessible.swift:
    1|       |import RxSwift
    2|       |import EnumKit
    3|       |
    4|       |public extension ObservableType where Element: CaseAccessible {
    5|       |    

This is the only file in the framework for now. I don’t know if this is an important information.

Paths for my test suite reports are reported. as expected (same report)

# path=RxEnumKitTests.xctest.coverage.txt
/Users/travis/build/gringoireDM/RxEnumKit/RxEnumKitTests/CaptureTests.swift:
    1|       |import XCTest
    2|       |import RxSwift
    3|       |import RxTest
    4|       |import EnumKit
    5|       |
    6|       |@testable import RxEnumKit
    7|       |
    8|       |final class CaptureTests: XCTestCase {

My guess is either a different tool version that uses a different format, or that your local setup passes some additional switch to the tool (e.g. via envvar or a settings file) that instructs it to add a file name even if there’s only one file.

Without seeing the build, can’t say more.

Imprint