Skip to content

Sync upstream coverage changes - #795

Open
keith wants to merge 1 commit into
bazelbuild:mainfrom
keith:ks/sync-upstream-coverage-changes
Open

Sync upstream coverage changes#795
keith wants to merge 1 commit into
bazelbuild:mainfrom
keith:ks/sync-upstream-coverage-changes

Conversation

@keith

@keith keith commented Jul 17, 2026

Copy link
Copy Markdown
Member

@keith
keith requested review from c-mita, pzembrod and trybka as code owners July 17, 2026 23:46
eder-matheus pushed a commit to The-OpenROAD-Project/OpenROAD that referenced this pull request Jul 27, 2026
hermetic-llvm 0.8.14 enables the cc_toolchain coverage features and declares
gcov / llvm-cov / llvm-profdata as toolchain files (hermeticbuild/hermetic-llvm
#675, fixed by #677), so instrumentation, tool staging into the test sandbox
and LLVM_COV/LLVM_PROFDATA all come from the toolchain.

Remove the hand-rolled instrumentation copts/linkopts, the two --test_env
paths that hardcoded the LLVM release (they broke on every module bump) and
--strategy=TestRunner=local: coverage tests run sandboxed again.

Add --noexperimental_fetch_all_coverage_outputs to work around a rules_cc bug
(dangling `gcov` symlink in each test's raw _coverage tree in llvm mode);
drop it once rules_cc >= 0.2.23 (bazelbuild/rules_cc#795) is released.

0.8.14 still pins LLVM 22.1.8, so the compiler is unchanged.

Verified: `bazelisk coverage --config=coverage -- //src/utl/test:cpp_tests`
passes 4/4 sandboxed, combined lcov report has 1464 DA: lines across 57 files
(all under src/), genhtml renders 39.6% lines / 44.2% functions -- identical
to the numbers from the original coverage config. `bazelisk build //:openroad`
succeeds.

Signed-off-by: SombraSoft <sombrio@sombrasoft.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Port fix for bazelbuild/bazel#29109

1 participant