diff --git a/OpenProjects.html b/OpenProjects.html --- a/OpenProjects.html +++ b/OpenProjects.html @@ -42,6 +42,13 @@
  • Optimizing MLIR’s Presburger library
  • +
  • + Code Coverage + +
  • + @@ -968,6 +975,36 @@

    + +
    + Support a hierarchical directory structure in generated coverage html reports +
    + +
    +

    Description of the project:
    + Clang supports source-based coverage that shows which lines of code are covered by the executed tests[1]. It uses llvm-profdata [2] and llvm-cov [3] tools to generate coverage reports. llvm-cov currently generates a single top-level index HTML file. For example, a single top-level directory code coverage report [4] for LLVM repo is published on a coverage bot. Top-level indexing causes rendering scalability issues in large projects, such as Fuchsia [5]. The goal of this project is to generate a hierarchical directory structure in generated coverage html reports to match the directory structure and solve scalability issues. Chromium uses its own post-processing tools to show a per-directory hierarchical structure for coverage results [6]. Similarly, Lcov, which is a graphical front-end Gcov[7], provides a one-level directory structure to display coverage results [8].

    +

    +

    Resources:
    + [1] Source-based code coverage
    + [2] llvm-profdata
    + [3] llvm-cov
    + [4] LLVM coverage reports
    + [5] Fuchsia
    + [6] Coverage summary for Chromium
    + [7] Gcov
    + [8] Lcov coverage reports
    + [9] Issue #54711: Support per-directory index files for HTML coverage report

    +

    +

    Expected result: Implement a support in hierarchical directory structure in generated coverage html reports and show the usage of this feature in LLVM repo code coverage reports.

    +

    Project size: Medium or Large

    +

    Difficulty: Medium

    +

    Confirmed Mentors: + Gulfem Savrun Yeniceri + Peter Hosek +

    +

    Discourse: URL +

    +
    Google Summer of Code 2022