python / python/cpython

"make coverage-lcov" doesn't work with lcov v2.x

Abierto
#151,001 2 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

build type-bug
Lenguaje dominante
Python
Estrellas
77.2k
Forks
35.9k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

Bug report

Bug description:

The Python Developer’s Guide says:

In order to create a HTML report you can install lcov.

Unfortunately, this doesn't work with a modern version of the lcov: e.g. first I got error about missing --path option. It "works for me" (with some warnings) on the patch:

diff --git a/Makefile.pre.in b/Makefile.pre.in
index 2b34b009fd7..20b895d488a 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -917,7 +917,6 @@ coverage-lcov:
        @lcov $(COVERAGE_LCOV_OPTIONS) --capture \
            --directory $(abs_builddir) \
            --base-directory $(realpath $(abs_builddir)) \
-           --path $(realpath $(abs_srcdir)) \
            --output-file $(COVERAGE_INFO)
        @ # remove 3rd party modules, system headers and internal files with
        @ # debug, test or dummy functions.
@@ -931,8 +930,11 @@ coverage-lcov:
            '/usr/include/*' \
            '/usr/local/include/*' \
            '/usr/lib/gcc/*' \
+               --ignore-errors inconsistent \
+               --ignore-errors unused \
            --output-file $(COVERAGE_INFO)
        @genhtml $(COVERAGE_INFO) \
+               --ignore-errors inconsistent \
            --output-directory $(COVERAGE_REPORT) \
            $(COVERAGE_REPORT_OPTIONS)
        @echo
CPython versions tested on:

CPython main branch

Operating systems tested on:

No response

Linked PRs
  • gh-151008

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comience en Makefile.pre.in, en el objetivo coverage-lcov, y revise los comandos lcov y genhtml mostrados en el informe. Ejecute make coverage-lcov con lcov 2.x y, después, verifique que los datos de cobertura y el informe HTML se generen sin los errores de opción y coherencia indicados.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
build-system, testing-qa
Tipo de issue
Error
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.