Машинний переклад, не перевірений носієм мови. Еталоном є англійська версія.

Валідація та доказиРедагувати на GitHubДжерело: docs/COVERAGE.md

Покриття рядків — офіційне вимірювання

«~95 % покриття рядків» на значку README, у таблиці CI (безперервна інтеграція) у README, на головних сторінках crates.io та PyPI (Python Package Index), на сторінці покриття рядків kshana.dev і в технічному звіті — це саме це вимірювання, округлене до найближчого цілого відсотка. tests/coverage_figure_doc_sync.rs завершується невдало, якщо будь-яка з цих шести поверхонь указує інше значення, ніж записане нижче, тож наступне повторне вимірювання змінює їх усі разом або жодної.

Виміряно 95.35 % — 55 970 із 58 697 рядків
Коміт db796dd (рушій 0.29.0, тег v0.29.0)
Запустити GitHub Actions, завдання ci.yml coverage, запуск 36809850252, 2026-10-01
Інструмент cargo tarpaulin --engine llvm (інструментування LLVM на рівні вихідного коду)
Сфера застосування src/, без згенерованих таблиць даних src/*_data.rs і тонкої точки входу CLI (інтерфейс командного рядка) src/main.rs; tests/ і web/ не вимірюються
Артефакт coverage-lcov (lcov.info, 290 вихідних файлів), прикріплений до цього запуску
Мінімум те саме завдання завершується невдало нижче 85 % (--fail-under 85) — мінімум застосовується на кожному пуші; наведене вище значення є записом, а не бар'єром

Команда дослівно з .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#

Кожен пуш до main повторно запускає завдання та прикріплює свіжий lcov.info. Щоб змінити опубліковане значення, завантажте артефакт із успішного запуску та підсумуйте його:

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

потім оновіть таблицю вище та шість поверхонь в одному коміті; тест синхронізації документації назве будь-які пропущені вами.

Історія#

Значення було виміряно повторно, а не передруковано: 95,63 % на коміті b1d350d (рушій 0.27.2 + невипущене, запуск 35934579709, 2026-09-24, 37 697 із 39 419 рядків, опубліковано як ~96 %), переглянуте до 95,35 % на 0.29.0 (вище), що округлюється до ~95 %: код зріс на 19 278 вимірюваних рядків, а нові рядки покриті трохи менше за старі; 95,85 % на v0.17.0 (коміт 1daa012, 2026-06-14, опубліковано як ~96 %) і ~97 % у двох раніших нотатках до випусків (CHANGELOG.md, залишено як історію). paper/kshana-technical-report.md казав «близько 97 %», доки його не привели до цього запису; тепер це шоста поверхня, яку фіксує тест.