Skip to content

bazel coverage workflow doesn't work #21

@umaucher

Description

@umaucher

In the PR #20 I created an example to demonstrate the code coverage measurement. The example works when using a host gcc (commend register_toolchains("@gcc_toolchain//:all") in MODULE.bazel.

Steps to reproduce:

✔ :~/Projects/git/eclipse-score/toolchains_gcc [um_coverage_test|✔] 
$ cd test/coverage/
✔ :~/Projects/git/eclipse-score/toolchains_gcc/test/coverage [um_coverage_test|✔] 
$ bazel clean
INFO: Starting clean (this may take a while). Use --async if the clean takes more than several minutes.
INFO: Multiplexer process for Javac has closed its output stream
✔ :~/Projects/git/eclipse-score/toolchains_gcc/test/coverage [um_coverage_test|✔] 
$ grep register_toolchains MODULE.bazel
register_toolchains("@gcc_toolchain//:all")
✔ :~/Projects/git/eclipse-score/toolchains_gcc/test/coverage [um_coverage_test|✔] 
$ bazel coverage --combined_report=lcov --subcommands -- //:all_tests
[...]
 and execpath is bazel-out/_coverage/_coverage_report.dat
INFO: Found 1 test target...
Target //:coverage_test up-to-date:
  bazel-bin/coverage_test
INFO: Elapsed time: 12.981s, Critical Path: 8.22s
INFO: 43 processes: 15 internal, 27 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 43 total actions
//:coverage_test                                                         PASSED in 0.3s

Executed 1 out of 1 test: 1 test passes.
✔ :~/Projects/git/eclipse-score/toolchains_gcc/test/coverage [um_coverage_test|✔] 
$ lcov --summary --rc branch_coverage=1 bazel-out/_coverage/_coverage_report.dat
lcov: ERROR: no valid records found in tracefile bazel-out/_coverage/_coverage_report.dat
        (use "lcov --ignore-errors empty ..." to bypass this error)

when a host toolchain is used instead:

✔ :~/Projects/git/eclipse-score/toolchains_gcc/test/coverage [um_coverage_test|✚ 1] 
$ grep -nH register_toolchains MODULE.bazel
MODULE.bazel:21:# register_toolchains("@gcc_toolchain//:all")
✔ :~/Projects/git/eclipse-score/toolchains_gcc/test/coverage [um_coverage_test|✚ 1] 
$ bazel coverage --combined_report=lcov --subcommands -- //:all_tests
[...]
Executed 1 out of 1 test: 1 test passes.
✔ :~/Projects/git/eclipse-score/toolchains_gcc/test/coverage [um_coverage_test|✚ 1] 
$ lcov --summary --rc branch_coverage=1 bazel-out/_coverage/_coverage_report.dat
Summary coverage rate:
  lines......: 100.0% (10 of 10 lines)
  functions..: 100.0% (2 of 2 functions)
  branches...: 100.0% (4 of 4 branches)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    Status

    Draft

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions