Traducción automática, no revisada por un hablante nativo. El inglés es la referencia.

Validación y evidenciasEditar en GitHubFuente: docs/COVERAGE.md

Cobertura de líneas: la medición de referencia

La "cobertura de líneas de ~95 %" de la insignia del README, de la tabla de CI (integración continua) del README, de las portadas de crates.io y PyPI (Python Package Index), de la página de cobertura de líneas de kshana.dev y del informe técnico es esta medición, redondeada al porcentaje entero más próximo. tests/coverage_figure_doc_sync.rs falla si alguna de esas seis superficies indica una cifra distinta de la registrada abajo, de modo que la siguiente nueva medición las mueve todas juntas o ninguna.

Medido 95.35 % — 55.970 de 58.697 líneas
Commit db796dd (motor 0.29.0, la etiqueta v0.29.0)
Ejecutar GitHub Actions, ci.yml trabajo coverage, ejecución 36809850252, 2026-10-01
Herramienta cargo tarpaulin --engine llvm (instrumentación basada en código fuente de LLVM)
Ámbito src/, excluidas las tablas de datos generadas src/*_data.rs y el punto de entrada delgado de la CLI (interfaz de línea de comandos) src/main.rs; tests/ y web/ no se miden
Artefacto coverage-lcov (lcov.info, 290 archivos fuente) adjunto a esa ejecución
Mínimo el mismo trabajo falla por debajo de 85 % (--fail-under 85): el mínimo se aplica en cada push; la cifra de arriba es un registro, no una barrera

El comando, textual de .github/workflows/ci.yml:

cargo tarpaulin --engine llvm --out Lcov --output-dir coverage \
  --exclude-files 'src/*_data.rs' --exclude-files 'src/main.rs' \
  --exclude-files 'tests/*' --exclude-files 'web/*' \
  --timeout 3600 --fail-under 85

Re-measuring#

Cada push a main vuelve a ejecutar el trabajo y adjunta un lcov.info nuevo. Para mover la cifra publicada, descargue el artefacto de una ejecución en verde y súmelo:

gh run download <run-id> -n coverage-lcov -D /tmp/cov
awk -F: '/^LF:/{f+=$2} /^LH:/{h+=$2} END{printf "%.2f%% (%d/%d)\n", 100*h/f, h, f}' /tmp/cov/lcov.info

después actualice la tabla de arriba y las seis superficies en el mismo commit; la prueba de sincronización de documentos nombra las que se le pasen por alto.

Historial#

La cifra se ha vuelto a medir, no a teclear: 95,63 % en el commit b1d350d (motor 0.27.2 + sin publicar, ejecución 35934579709, 2026-09-24, 37.697 de 39.419 líneas, publicado como ~96 %), revisada a 95,35 % en 0.29.0 (arriba), que se redondea a ~95 %: el código creció en 19.278 líneas medidas y las líneas nuevas están cubiertas algo menos que las antiguas; 95,85 % en v0.17.0 (commit 1daa012, 2026-06-14, publicado como ~96 %), y ~97 % en dos notas de versión anteriores (CHANGELOG.md, que se dejan como historia). paper/kshana-technical-report.md decía "cerca del 97 %" hasta que se ajustó a este registro; ahora es la sexta superficie que fija la prueba.