Machinevertaling, niet beoordeeld door een moedertaalspreker. Engels is de referentie.

Validatie en bewijsBewerken op GitHubBron: docs/COVERAGE.md

Regeldekking: de meting van record

De "~95 % regeldekking" op de README-badge, in de README-tabel met CI (continue integratie), op de beginpagina's van crates.io en PyPI (Python Package Index), op de kshana.dev-pagina over regeldekking en in het technisch rapport is deze meting, afgerond op het dichtstbijzijnde hele procent. tests/coverage_figure_doc_sync.rs faalt als een van die zes plaatsen een ander cijfer vermeldt dan het hieronder vastgelegde, zodat de volgende nieuwe meting ze alle zes samen laat meebewegen of geen enkele.

Gemeten 95.35 % — 55.970 van 58.697 regels
Commit db796dd (engine 0.29.0, de tag v0.29.0)
Uitvoeren GitHub Actions, job coverage in ci.yml, run 36809850252, 2026-10-01
Hulpmiddel cargo tarpaulin --engine llvm (op LLVM gebaseerde broninstrumentatie)
Reikwijdte src/, met uitzondering van de gegenereerde gegevenstabellen src/*_data.rs en het dunne CLI-ingangspunt (opdrachtregelinterface) src/main.rs; tests/ en web/ worden niet gemeten
Artefact coverage-lcov (lcov.info, 290 bronbestanden) bij die run
Ondergrens dezelfde job faalt onder 85 % (--fail-under 85): de ondergrens wordt bij elke push afgedwongen; het cijfer hierboven is een vastlegging, geen poort

De opdracht, letterlijk uit .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#

Elke push naar main voert de job opnieuw uit en voegt een verse lcov.info toe. Om het gepubliceerde cijfer te verschuiven, downloadt u het artefact van een groene run en telt u het op:

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

werk daarna de tabel hierboven en de zes plaatsen in dezelfde commit bij; de doc-sync-test noemt elke plaats die u mist.

Geschiedenis#

Het cijfer is opnieuw gemeten, niet opnieuw getypt: 95,63 % op commit b1d350d (engine 0.27.2 + niet-uitgebracht, run 35934579709, 2026-09-24, 37.697 van 39.419 regels, gepubliceerd als ~96 %), herzien naar 95,35 % op 0.29.0 (hierboven), wat afrondt op ~95 %: de code groeide met 19.278 gemeten regels en de nieuwe regels worden iets minder gedekt dan de oude; 95,85 % bij v0.17.0 (commit 1daa012, 2026-06-14, gepubliceerd als ~96 %), en ~97 % in twee eerdere release notes (CHANGELOG.md, als geschiedenis gelaten). paper/kshana-technical-report.md zei "near 97 %" totdat het met deze vastlegging in overeenstemming werd gebracht; het is nu de zesde plaats die de test vastpint.