CHORE: Exclude vendored simdutf sources from coverage report#579
Open
bewithgaurav wants to merge 5 commits into
Open
CHORE: Exclude vendored simdutf sources from coverage report#579bewithgaurav wants to merge 5 commits into
bewithgaurav wants to merge 5 commits into
Conversation
PR microsoft#526 added simdutf as a FetchContent dependency. CMake places its sources at mssql_python/pybind/build/_deps/simdutf-src/ at build time, and clang's coverage instrumentation picks them up because they get linked into ddbc_bindings.so. The current ignore-filename-regex in generate_codecov.sh excludes Python headers, pybind11, and system includes, but not _deps/. This adds two layers of filtering: 1. Primary: extend the llvm-cov ignore-filename-regex with build/_deps/ so simdutf (and any future FetchContent dependency) is dropped at the C++ export step. 2. Defense-in-depth: lcov --remove '*/build/_deps/*' after the python + cpp merge, to catch anything that slips through the primary filter in future dependencies. Verified locally in an ubuntu:22.04 container matching the CI image: - Before: 79 cpp sources in coverage report, 70 of them simdutf - After: 9 cpp sources, all owned by mssql-python mssql-python's own coverage numbers are unchanged. The "Files Needing Attention" list no longer surfaces simdutf SIMD dispatch variants that inherently run at 0% on a single CI runner (haswell, westmere, arm64, etc are all built into the same .so but only one variant executes per CPU). Co-authored-by: Copilot <[email protected]>
Contributor
There was a problem hiding this comment.
Pull request overview
Excludes vendored simdutf sources (pulled in via CMake FetchContent in PR #526) from the C++ coverage report so they don't dilute the coverage percentage.
Changes:
- Extend
llvm-cov-ignore-filename-regexto includebuild/_deps/. - Add a follow-up
lcov --remove '*/build/_deps/*'step after merging Python and C++ coverage as defense-in-depth.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
gargsaumya
approved these changes
May 14, 2026
jahnvi480
approved these changes
May 15, 2026
📊 Code Coverage Report
Diff CoverageDiff: main...HEAD, staged and unstaged changesNo lines with coverage information in this diff. 📋 Files Needing Attention📉 Files with overall lowest coverage (click to expand)mssql_python.pybind.logger_bridge.cpp: 59.2%
mssql_python.pybind.ddbc_bindings.h: 59.7%
mssql_python.row.py: 70.5%
mssql_python.pybind.logger_bridge.hpp: 70.8%
mssql_python.pybind.ddbc_bindings.cpp: 74.2%
mssql_python.__init__.py: 77.3%
mssql_python.pybind.connection.connection.cpp: 77.6%
mssql_python.ddbc_bindings.py: 79.6%
mssql_python.connection.py: 85.3%
mssql_python.logging.py: 85.5%🔗 Quick Links
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Work Item / Issue Reference
Summary
PR #526 dropped overall coverage from 79% to 25% by pulling simdutf in via FetchContent. clang's coverage instrumentation walks
mssql_python/pybind/build/_deps/simdutf-src/and counts 70 vendored files (haswell, westmere, arm64, fallback SIMD variants) where only one dispatches per CPU. the rest sit at 0% forever and tank the denominator.fix: extend the
llvm-cov ignore-filename-regexingenerate_codecov.shwithbuild/_deps/, pluslcov --remove '*/build/_deps/*'after merge as defense-in-depth for future deps.verified in an ubuntu:22.04 container matching the CI runner: