[BUG] XML generated from coverage.py `.coverage` doesn’t respect config
@thomasrockhu-codecov ya está trabajando en esto.
Desde el 26/2/2025.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Describe the bug
In my project, I configured coverage.py using pyproject.toml to
- write all files into a
test-filesfolder (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.
------------------------------------------------------------------ TOTAL 110 5 95%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%
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_alsosetting in a pyproject.toml to ignore some lines - collect coverage in
.coveragefile and runcoverage 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 xmlrun from the codecov CLI uses the same config as when I run it, or- when the file passed via
--filealready exists, have the codecov CLI skip runningcoverage xml
Regression
This probably worked using the old coverage PyPI package, but IDK.
Screenshots
NA
Product Area
coverage
Versions
- OS: linux
- Git Host: GitHub
- CI/CD: GitHub Actions
- Uploader: codecov-action@v5.3.1, codecov-cli@v10.1.0
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.
See https://github.com/scverse/fast-array-utils/pull/29 for the workaround, which results in the correct coverage of 95.45% being reported.
- Lenguaje dominante
- Python
- Estrellas
- 89
- Forks
- 64
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de codecov/codecov-cli
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
codecov/codecov-cli#795 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
codecov/codecov-cli#721 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
codecov/codecov-cli#777 ·
-
Codecov is joining Harness Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 5/100
codecov/codecov-cli#715 ·
-
codecov/codecov-cli#706 · 1 comentario · 1 asignado ·
Todos los issues de codecov/codecov-cli
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stephrobert/dsoxlab#238 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
sublimehq/package_control#1780 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
nwg-piotr/nwg-displays#145 ·