Radtäckning — den fastställda mätningen
"~95 % radtäckning" på README-märket, i README-tabellen för CI (kontinuerlig integration), på förstasidorna för crates.io och PyPI (Python Package Index), på kshana.dev-sidan om radtäckning och i den tekniska rapporten är den här mätningen, avrundad till närmaste hela procent. tests/coverage_figure_doc_sync.rs misslyckas om någon av dessa sex ytor anger en annan siffra än den som antecknas nedan, så nästa nymätning flyttar alla tillsammans eller ingen.
| Uppmätt | 95.35 % — 55 970 av 58 697 rader |
| Commit | db796dd (motor 0.29.0, taggen v0.29.0) |
| Kör | GitHub Actions, ci.yml jobb coverage, körning 36809850252, 2026-10-01 |
| Verktyg | cargo tarpaulin --engine llvm (LLVM-baserad källinstrumentering) |
| Omfattning | src/, exklusive de genererade datatabellerna src/*_data.rs och den tunna ingångspunkten för kommandoraden (CLI) src/main.rs; tests/ och web/ mäts inte |
| Artefakt | coverage-lcov (lcov.info, 290 källfiler) bifogad den körningen |
| Golv | samma jobb misslyckas under 85 % (--fail-under 85) — golvet upprätthålls vid varje push; siffran ovan är en notering, inte en spärr |
Kommandot, ordagrant från .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#
Varje push till main kör jobbet på nytt och bifogar en ny lcov.info. För att flytta den publicerade siffran: ladda ner artefakten från en grön körning och summera den:
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
uppdatera sedan tabellen ovan och de sex ytorna i samma commit; synkroniseringstestet för dokumentationen namnger alla du missar.
Historik#
Siffran har mätts om, inte skrivits om: 95,63 % vid commit b1d350d (motor 0.27.2 + ej släppt, körning 35934579709, 2026-09-24, 37 697 av 39 419 rader, publicerad som ~96 %), reviderad till 95,35 % vid 0.29.0 (ovan), vilket avrundas till ~95 %: koden växte med 19 278 uppmätta rader och de nya raderna täcks något sämre än de gamla; 95,85 % vid v0.17.0 (commit 1daa012, 2026-06-14, publicerad som ~96 %), och ~97 % i två tidigare versionsanteckningar (CHANGELOG.md, lämnade som historik). paper/kshana-technical-report.md sa "nära 97 %" tills den bringades i linje med den här noteringen; den är nu den sjätte ytan som testet fäster.