Rivikattavuus — virallisesti kirjattu mittaus
README-merkin ”~95 % rivikattavuus”, READMEn CI-taulukon (jatkuva integrointi), crates.io- ja PyPI-etusivujen (Python Package Index), kshana.dev-rivikattavuussivun ja teknisen raportin luku on tämä mittaus pyöristettynä lähimpään kokonaiseen prosenttiin. tests/coverage_figure_doc_sync.rs epäonnistuu, jos jokin näistä kuudesta pinnasta ilmoittaa eri luvun kuin alla kirjattu, joten seuraava uusintamittaus siirtää ne kaikki yhdessä tai ei yhtään.
| Mitattu | 95.35 % — 55 970 riviä kaikkiaan 58 697 rivistä |
| Commit | db796dd (moottori 0.29.0, tagi v0.29.0) |
| Aja | GitHub Actions, tiedoston ci.yml työ coverage, ajo 36809850252, 2026-10-01 |
| Työkalu | cargo tarpaulin --engine llvm (LLVM-lähdepohjainen instrumentointi) |
| Soveltamisala | src/, pois lukien generoidut datataulukot src/*_data.rs ja ohut komentorivikäyttöliittymän (CLI) sisääntulopiste src/main.rs; tests/ ja web/ eivät ole mitattuja |
| Artefakti | coverage-lcov (lcov.info, 290 lähdetiedostoa) liitettynä kyseiseen ajoon |
| Alaraja | sama työ epäonnistuu, jos kattavuus on alle 85 % (--fail-under 85) — alaraja pakotetaan jokaisessa push-toiminnossa; yllä oleva luku on kirjaus, ei portti |
Komento sanatarkasti tiedostosta .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#
Jokainen push haaraan main ajaa työn uudelleen ja liittää siihen tuoreen tiedoston lcov.info. Julkaistun luvun siirtämiseksi lataa artefakti vihreästä ajosta ja laske se yhteen:
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
päivitä sitten yllä oleva taulukko ja kuusi pintaa samassa commitissa; doc-sync-testi nimeää ne, jotka unohdat.
Historia#
Luku on mitattu uudelleen, ei kirjoitettu uudelleen käsin: 95,63 % commitissa b1d350d (moottori 0.27.2 + julkaisematon, ajo 35934579709, 2026-09-24, 37 697 riviä kaikkiaan 39 419 rivistä, julkaistu muodossa ~96 %), tarkistettu arvoon 95,35 % versiossa 0.29.0 (yllä), joka pyöristyy arvoon ~95 %: koodi kasvoi 19 278 mitatulla rivillä ja uudet rivit ovat katetut hieman vähemmän kuin vanhat; 95,85 % versiossa v0.17.0 (commit 1daa012, 2026-06-14, julkaistu muodossa ~96 %) ja ~97 % kahdessa aiemmassa julkaisutiedotteessa (CHANGELOG.md, jätetty historiaksi). paper/kshana-technical-report.md sanoi ”near 97 %” kunnes se saatettiin tämän kirjauksen mukaiseksi; se on nyt kuudes pinta, jonka testi kiinnittää.