Linjedækning — den gældende måling
"~95 % linjedækning" på README-badget, i README's CI-tabel (kontinuerlig integration), på forsiderne hos crates.io og PyPI (Python Package Index), på kshana.dev's side om linjedækning og i den tekniske rapport er denne måling, afrundet til nærmeste hele procent. tests/coverage_figure_doc_sync.rs fejler, hvis nogen af disse seks flader angiver et andet tal end det, der er registreret nedenfor, så den næste ommåling flytter dem alle sammen eller ingen.
| Målt | 95.35 % — 55.970 af 58.697 linjer |
| Commit | db796dd (motor 0.29.0, tagget v0.29.0) |
| Kør | GitHub Actions, ci.yml-job coverage, kørsel 36809850252, 2026-10-01 |
| Værktøj | cargo tarpaulin --engine llvm (LLVM-kildebaseret instrumentering) |
| Omfang | src/, undtagen de genererede datatabeller src/*_data.rs og det tynde CLI-indgangspunkt (kommandolinjegrænseflade) src/main.rs; tests/ og web/ måles ikke |
| Artefakt | coverage-lcov (lcov.info, 290 kildefiler) vedhæftet den kørsel |
| Gulv | det samme job fejler under 85 % (--fail-under 85) — gulvet håndhæves ved hvert push; tallet ovenfor er en registrering, ikke en port |
Kommandoen, ordret fra .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#
Hvert push til main kører jobbet igen og vedhæfter en ny lcov.info. For at flytte det offentliggjorte tal skal du hente artefakten fra en grøn kørsel og lægge den sammen:
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
og derefter opdatere tabellen ovenfor og de seks flader i samme commit; doc-sync-testen nævner dem, du overser.
Historik#
Tallet er målt igen, ikke skrevet om: 95,63 % på commit b1d350d (motor 0.27.2 + ikke-udgivet, kørsel 35934579709, 2026-09-24, 37.697 af 39.419 linjer, offentliggjort som ~96 %), revideret til 95,35 % på 0.29.0 (ovenfor), hvilket afrundes til ~95 %: koden voksede med 19.278 målte linjer, og de nye linjer er dækket lidt mindre end de gamle; 95,85 % ved v0.17.0 (commit 1daa012, 2026-06-14, offentliggjort som ~96 %) og ~97 % i to tidligere udgivelsesnoter (CHANGELOG.md, efterladt som historik). paper/kshana-technical-report.md sagde "near 97 %", indtil den blev bragt i overensstemmelse med denne registrering; den er nu den sjette flade, testen fastholder.