Skip to content

Create a tool to manage coverage #47

@ljmf00

Description

@ljmf00

Proposal

There's a necessity on the dlang community and a missing tool on the D ecosystem to:

  • Generate merged coverage files
  • Manipulate .lst files to generate other coverage standard files
  • Upload them to other services
  • Generate various reports

Generate merged coverage files

Why do we need this? Sometimes we want to generate coverage for unittesting and some other tests like integration tests that is ran by a different binary but based on the same codebase. This will generate two coverage files for the same source and would be great to merge them or have a tool to consider both coverage outputs.

Generate other coverage standard files

There's some tools or services that only analyze coverage files like JaCoCo, Cobertura, LCOV... This is needed if you want to generate a fancy report with some other tool that doesn't support .lst D coverage reports.

Upload them to other services

Codecov for example, already parse D .lst report files, but some other services like Gitlab, Codacy and others doesn't support it. Would be great to have a tool supporting some services to visualize D coverage.

Generate various reports

Would be great to have a tool that generates HTML report of D coverage to easily visualize the covered and non-covered spots instead of rely on external services, for people who prefer that way.

Work done and summary

I'm already working on a very simple library to parse and manipulate D .lst coverage reports and to generate them called liblstparse http://liblstparse.dpldocs.info/liblstparse.parser.html. I'm also starting to design the tool for the purposes I mentioned above, but I would like to discuss here if this is a thing you would like to maintain and the community wants.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions