Pokrytí řádků: rozhodující měření
„~95 % pokrytí řádků“ na odznaku v README, v tabulce CI (kontinuální integrace) v README, na úvodních stránkách crates.io a PyPI (Python Package Index), na stránce o pokrytí řádků na kshana.dev a v technické zprávě je toto měření zaokrouhlené na nejbližší celé procento. tests/coverage_figure_doc_sync.rs selže, pokud kterýkoli z těchto šesti míst uvádí jiné číslo, než je níže zaznamenané, takže další nové měření posune všechna najednou, nebo žádné.
| Změřeno | 95.35 % — 55 970 z 58 697 řádků |
| Commit | db796dd (engine 0.29.0, tag v0.29.0) |
| Spustit | GitHub Actions, ci.yml úloha coverage, běh 36809850252, 2026-10-01 |
| Nástroj | cargo tarpaulin --engine llvm (instrumentace založená na zdrojovém kódu LLVM) |
| Rozsah | src/, bez generovaných datových tabulek src/*_data.rs a tenkého vstupního bodu CLI (rozhraní příkazové řádky) src/main.rs; tests/ a web/ se neměří |
| Artefakt | coverage-lcov (lcov.info, 290 zdrojových souborů) připojený k tomuto běhu |
| Dolní mez | tatáž úloha selže pod hodnotou 85 % (--fail-under 85) — dolní mez se vynucuje při každém pushi; uvedená hodnota je záznam, nikoli brána |
Příkaz doslovně ze souboru .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#
Každý push do větve main úlohu znovu spustí a připojí nový soubor lcov.info. Chcete-li změnit zveřejněnou hodnotu, stáhněte artefakt ze zeleného běhu a sečtěte jej:
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
poté aktualizujte tabulku výše a těch šest míst ve stejném commitu; test synchronizace dokumentace pojmenuje každé, které vynecháte.
Historie#
Hodnota byla znovu naměřena, nikoli přepsána: 95,63 % u commitu b1d350d (engine 0.27.2 + nevydané změny, běh 35934579709, 2026-09-24, 37 697 z 39 419 řádků, zveřejněno jako ~96 %), revidováno na 95,35 % ve verzi 0.29.0 (výše), což se zaokrouhluje na ~95 %: kód narostl o 19 278 měřených řádků a nové řádky jsou pokryty o něco méně než staré; 95,85 % ve verzi v0.17.0 (commit 1daa012, 2026-06-14, zveřejněno jako ~96 %) a ~97 % ve dvou dřívějších poznámkách k vydání (CHANGELOG.md, ponecháno jako historie). Dokument paper/kshana-technical-report.md uváděl „téměř 97 %“, dokud nebyl uveden do souladu s tímto záznamem; je to nyní šesté místo, které test hlídá.