-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Collect C++ lcov coverage if runtime object not in runfiles #15118
Collect C++ lcov coverage if runtime object not in runfiles #15118
Conversation
Before this commit, collecting C++ coverage in lcov format would fail at the llvm-cov export step if a shared library listed in the runtime_objects_list.txt was not contained in the runfiles of the top- level target. This can happen e.g. if a cc_library depends on a java_binary that has a cc_binary shared library in its resources. This is fixed by not including objects that don't exist at runtime in the llvm-cov invocation.
@c-mita I suspect this is also something for you to take a look at. The fix is the most direct one I could think of, but I am completely open to other suggestions (e.g. filtering the runtime objects list in the first place). |
@c-mita Do you think that it will be possible to get this PR reviewed in time for the 5.2.0 release? It's the final full blocker for cross-language coverage reports for us and now that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Sorry for the delay.
@bazel-io flag |
@bazel-io fork 5.2.0 |
Before this commit, collecting C++ coverage in lcov format would fail at the llvm-cov export step if a shared library listed in the runtime_objects_list.txt was not contained in the runfiles of the top- level target. This can happen e.g. if a cc_library depends on a java_binary that has a cc_binary shared library in its resources. This is fixed by not including objects that don't exist at runtime in the llvm-cov invocation. Fixes bazelbuild#15121. Closes bazelbuild#15118. PiperOrigin-RevId: 442799461
Before this commit, collecting C++ coverage in lcov format would fail at the llvm-cov export step if a shared library listed in the runtime_objects_list.txt was not contained in the runfiles of the top- level target. This can happen e.g. if a cc_library depends on a java_binary that has a cc_binary shared library in its resources. This is fixed by not including objects that don't exist at runtime in the llvm-cov invocation. Fixes #15121. Closes #15118. PiperOrigin-RevId: 442799461
Before this commit, collecting C++ coverage in lcov format would fail
at the llvm-cov export step if a shared library listed in the
runtime_objects_list.txt was not contained in the runfiles of the top-
level target. This can happen e.g. if a cc_library depends on a
java_binary that has a cc_binary shared library in its resources.
This is fixed by not including objects that don't exist at runtime
in the llvm-cov invocation.
Fixes #15121.