hpc-lcov

Convert HPC output into LCOV format.


Keywords
control, library, program, Propose Tags, Report a vulnerability, Skip to Readme, Last Documentation, hpc-lcov-1.2.0.tar.gz, browse, Package description, Package maintainers, brandonchinn178, edit package information , Codecov, https://github.com/brandonchinn178/hpc-lcov/issues/3, LCOV format description, More info on HPC, coverage, haskell, test
License
BSD-3-Clause
Install
cabal install hpc-lcov-1.2.0

Documentation

hpc-lcov

GitHub Actions codecov Hackage

Convert HPC output into lcov.info files that can be uploaded to coverage services, like Codecov.

Quickstart

  1. Download hpc-lcov from the releases page or install it from Hackage with your favorite package manager
  2. Run your tests with coverage enabled
    • stack test --coverage
    • Cabal is not yet supported (#3)
  3. Run hpc-lcov
  4. Upload the generated lcov.info file to your coverage service

FAQs

How do I convert coverage for an executable?

Note: If you have both tests and executables, HPC will write module information to the same file. Because of this, you'll have to load the coverage for each separately, with a stack clean in between.

  1. Build a single executable with coverage enabled (e.g. stack build :my-exe --coverage)
  2. Run the executable
  3. This should generate a .tix file in the current directory
  4. Run the following, specifying the package that builds the executable:
    stack exec -- hpc-lcov --file my-exe.tix --main-package my-package

How do I merge coverage files?

  1. Install LCOV (e.g. brew install lcov)

  2. Run

    lcov -a lcov1.info -a lcov2.info ... > lcov.info

Resources