1. Feb 15, 2021
  2. Jan 28, 2021
    • Ramon Nou's avatar
      Enable coverage information generation and tracking · 8487c78f
      Ramon Nou authored
      This MR enables the generation of code coverage reports for the source code. More specifically, it introduces the following changes:
      
      - Adds the `gkfs-code-coverage.cmake` CMake script under `{PROJECT_ROOT}/CMake/` and includes it in the project's main `CMakeLists.txt`. This script defines the `GKFS_ENABLE_CODE_COVERAGE` option to control whether code coverage should be enabled when building, as well as the `target_code_coverage()` function to ensure that the appropriate flags are added to a CMake target.
      - Adds `gcovr` to GekkoFS docker build image.
      - Adds a `coverage.sh` script under `{PROJECT_ROOT}/scripts/ci` that provides both a `capture` and a `merge` work modes. This script abstracts away the direct usage of `gcovr` and allows the appropriate generation of coverage reports when running tests **in parallel** in the CI. The script relies on a `.coverage-exclusions` file (also under `{PROJECT_ROOT}/scripts/ci`) to control which paths should be excluded from coverage reporting (e.g. `/usr/include/.*`).
      - Adds a new `report` stage in the CI pipeline that upon completion generates artifacts both for a Cobertura XML and a HTML code coverage reports.
      
      See merge request !77
      8487c78f
    • Alberto Miranda's avatar
      Add coverage badge to README.md · 2c750281
      Alberto Miranda authored
      2c750281
    • Alberto Miranda's avatar
      Enable coverage generation in CI · a49d3294
      Alberto Miranda authored
      a49d3294
    • Alberto Miranda's avatar
      39c14bbb
    • Alberto Miranda's avatar
      bb7ebd45
    • Alberto Miranda's avatar
      Teach CMake to generate coverage reports · 172fe4ce
      Alberto Miranda authored
      172fe4ce