Repository navigation
Update dependency score_coverage to v0.4.1 - abandoned - #356
eclipse-score-bot wants to merge 2 commits into
Conversation
License Check Results🚀 The license check job ran with the Bazel command: bazel run --lockfile_mode=error //:license-checkStatus: Click to expand output |
5584f2f to
43c686e
Compare
|
Signed-off-by: Dan Calavrezo <195309321+dcalavrezo-qorix@users.noreply.github.com>
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
Autoclosing SkippedThis PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error. |
This PR contains the following updates:
0.3.1→0.4.1Release Notes
eclipse-score/coverage_tool (score_coverage)
v0.4.1What's Changed
Full Changelog: eclipse-score/coverage_tool@v0.4.0...v0.4.1
In plain words
Measuring system headers no longer empties the report. Headers that a
library publishes through
includes = [...]reach the compiler as systemheaders, and clang records no coverage for functions defined in system
headers unless the build adds
-mllvm -system-headers-coverage. With thatflag the data also contains real system headers such as
/usr/include/c++/..., and llvm-cov then prints every file name relative to/. The reporter did not recognise the names in that form, treated everyin-scope file as untested and let the out-of-scope system headers into the
report. Found on qorix_middleware, where the flag is needed for the public
headers of every component. Without the flag nothing changes: the reporter
takes the same path as in 0.4.0.
Details for integrators
get_covered_filesrestores the leading slash when llvm-cov reportdisplays names relative to the root, and keeps files outside the workspace
absolute so the exclusion filter matches them (unit test with such a
table).
includes, add--copt=-mllvm --copt=-system-headers-coverageto the coverage config;without it those headers show as uncovered or
no-data. The real systemheaders the flag instruments stay out of the report through the scope.
Known-problems entry added.
no file lost coverage, line coverage 12.37 % to 17.11 %.
v0.4.0What's Changed
Full Changelog: eclipse-score/coverage_tool@v0.3.1...v0.4.0
In plain words
The QNX report now shows QNX code, not Linux code. The first QNX report
of baselibs listed the Linux-only files at 0 % and did not contain the
QNX-only files at all. Cause: Bazel evaluates the list of files to measure
for the machine the tool runs on, not for the platform the tests run on. A
scope can now name its platform, and a QNX run gets a scope of its own that
says so. Everything that is not platform-specific was already measured
correctly. Linux-only consumers are not affected and need no change.
Details for integrators
--platforms. The transition on the scope rule sets --platforms next to
--collect_code_coverage, so the traversal, the baseline objects, the gcno
notes and a select() in the scope's own deps are those of the target
platform. Without platform nothing changes (issue #23).
(user manual, steps 3 and 4b):
scope's deps. A root that is incompatible with the platform does not fail
loudly: Bazel marks the scope, the report generator and every test
incompatible, and bazel coverage executes no test and writes no report.
The manual documents the diagnostic (bazel build --config= --collect_code_coverage //tools/coverage:coverage_scope_qnx prints the
dependency chain) and the known problem is listed (ERR-14).
the host do not analyse it for a platform whose toolchains are not
registered.
analysis tests and platform-selected libraries in the end-to-end workspace,
measured as the host variant by the LLVM run and as the target variant by
the gcov run. Verification report updated.
tests/downstream; an end-to-end pytest target runs in CI with requirement
metadata, and the downstream tests exercise the real baselibs and lifecycle
coverage workflows against the checkout. Formatting and copyright checks run
through pre-commit with the shared S-CORE hooks. None of this changes the
consumer API or the published Bazel module content.
Known limitation
Platform-only roots still have to be listed per platform in the consumer's
scope. A scope computed from a target pattern, where Bazel drops incompatible
targets itself, is under discussion for a later release.
This PR was generated by #infrastructure automation. Contact us if you have any questions or feedback.