Tłumaczenie maszynowe, niezweryfikowane przez osobę, dla której polski jest językiem ojczystym. Wzorcem jest wersja angielska.

Walidacja i dowodyEdytuj na GitHubieŹródło: docs/COVERAGE.md

Pokrycie linii — pomiar wiążący

„~95 % pokrycia linii” na plakietce README, w tabeli CI (ciągła integracja) w README, na stronach głównych crates.io i PyPI (Python Package Index), na stronie pokrycia linii kshana.dev oraz w raporcie technicznym to ten pomiar, zaokrąglony do najbliższego pełnego procenta. tests/coverage_figure_doc_sync.rs kończy się niepowodzeniem, jeśli którakolwiek z tych sześciu powierzchni podaje inną wartość niż zapisana poniżej, więc następny ponowny pomiar przesuwa je wszystkie razem albo żadnej.

Zmierzono 95.35 % — 55 970 z 58 697 linii
Commit db796dd (silnik 0.29.0, tag v0.29.0)
Uruchom GitHub Actions, zadanie ci.yml coverage, przebieg 36809850252, 2026-10-01
Narzędzie cargo tarpaulin --engine llvm (instrumentacja źródłowa LLVM)
Zakres src/, z wyłączeniem generowanych tabel danych src/*_data.rs i cienkiego punktu wejścia CLI (interfejsu wiersza poleceń) src/main.rs; tests/ i web/ nie są mierzone
Artefakt coverage-lcov (lcov.info, 290 plików źródłowych) dołączony do tego przebiegu
Próg minimalny to samo zadanie kończy się niepowodzeniem poniżej 85 % (--fail-under 85) — próg minimalny jest egzekwowany przy każdym pushu; powyższa wartość jest zapisem, nie bramką

Polecenie, dosłownie z .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żdy push do main ponownie uruchamia zadanie i dołącza nowy lcov.info. Aby zmienić opublikowaną wartość, pobierz artefakt z zielonego przebiegu i zsumuj go:

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

następnie zaktualizuj tabelę powyżej i sześć powierzchni w tym samym commicie; test synchronizacji dokumentacji wskaże każdą pominiętą.

Historia#

Wartość została zmierzona ponownie, a nie przepisana: 95,63 % dla commitu b1d350d (silnik 0.27.2 + niewydane zmiany, przebieg 35934579709, 2026-09-24, 37 697 z 39 419 linii, opublikowana jako ~96 %), skorygowana do 95,35 % dla 0.29.0 (powyżej), co po zaokrągleniu daje ~95 %: kod urósł o 19 278 mierzonych linii, a nowe linie są pokryte nieco słabiej niż stare; 95,85 % dla v0.17.0 (commit 1daa012, 2026-06-14, opublikowana jako ~96 %) oraz ~97 % w dwóch wcześniejszych notach wydania (CHANGELOG.md, pozostawionych jako historia). paper/kshana-technical-report.md mówił „blisko 97 %”, dopóki nie został dostosowany do tego zapisu; jest to teraz szósta powierzchnia, którą test przypina.