Describe the bug
In my project, I configured coverage.py using pyproject.toml to
- write all files into a
test-files folder (idk if that’s relevant)
- skip coverage for
if TYPE_CHECKING: blocks
The reported coverage reflects that (see table below), and when I run coverage xml, the test-files/coverage.xml file is also correct.
Name Stmts Miss Cover
------------------------------------------------------------------
src/fast_array_utils/__init__.py 4 0 100%
src/fast_array_utils/_patches.py 2 0 100%
src/fast_array_utils/conv/__init__.py 3 0 100%
src/fast_array_utils/conv/_asarray.py 25 3 88%
src/fast_array_utils/conv/scipy/__init__.py 3 0 100%
src/fast_array_utils/conv/scipy/_to_dense.py 12 0 100%
src/fast_array_utils/stats/__init__.py 3 0 100%
src/fast_array_utils/stats/_sum.py 33 0 100%
src/fast_array_utils/types.py 25 2 92%
------------------------------------------------------------------
TOTAL 110 5 95%
But when the codecov CLI runs coverage xml via its coveragepy plugin, the lines are not skipped and codecov reports a 82.87% coverage instead of the expected 95.45% (see codecov report for the linked run below)
See also Additional context below for a workaround I’m using
To Reproduce
- set coverage.py’s
report.exclude_also setting in a pyproject.toml to ignore some lines
- collect coverage in
.coverage file and run coverage xml
- run codecov CLI’s upload (which will re-generate the XML)
- compare the XML you created with the one codecov’s CLI created
Expected behavior
either
coverage xml run from the codecov CLI uses the same config as when I run it, or
- when the file passed via
--file already exists, have the codecov CLI skip running coverage xml
Regression
This probably worked using the old coverage PyPI package, but IDK.
Screenshots
NA
Product Area
coverage
Versions
Commit and CI link
scverse/fast-array-utils@13436951846
https://github.com/scverse/fast-array-utils/actions/runs/13436951846/job/37541444988
Additional context
I can manually work around this by generating the XML myself and then deleting the test-files/.coverage file, but this should be fixed on your side.
codecov/codecov-cli#648
Describe the bug
In my project, I configured coverage.py using
pyproject.tomltotest-filesfolder (idk if that’s relevant)if TYPE_CHECKING:blocksThe reported coverage reflects that (see table below), and when I run
coverage xml, thetest-files/coverage.xmlfile is also correct.But when the codecov CLI runs
coverage xmlvia its coveragepy plugin, the lines are not skipped and codecov reports a 82.87% coverage instead of the expected 95.45% (see codecov report for the linked run below)See also Additional context below for a workaround I’m using
To Reproduce
report.exclude_alsosetting in a pyproject.toml to ignore some lines.coveragefile and runcoverage xmlExpected behavior
either
coverage xmlrun from the codecov CLI uses the same config as when I run it, or--filealready exists, have the codecov CLI skip runningcoverage xmlRegression
This probably worked using the old
coveragePyPI package, but IDK.Screenshots
NA
Product Area
coverage
Versions
Commit and CI link
scverse/fast-array-utils@13436951846
https://github.com/scverse/fast-array-utils/actions/runs/13436951846/job/37541444988
Additional context
I can manually work around this by generating the XML myself and then deleting the
test-files/.coveragefile, but this should be fixed on your side.codecov/codecov-cli#648