Перайсці да зместа

Справаздача праверак · 2026-10-24

Лакальная справаздача да выпуску

Тут зафіксаваныя праверкі да адкрытага выпуску. Версія 0.3.0a1 ужо даступная ў PyPI; наступныя аддаленыя вынікі глядзіце ў GitHub Actions.

Асяроддзе і вынікі

Пакет 0.3.0a1. macOS arm64, Python 3.13.7, Django 6.0.4, SQLite, Node 22.19.0, npm 10.9.3. Залежнасці frontend зафіксаваныя ў frontend/package-lock.json. Браўзерныя тэсты выкарыстоўвалі мясцовы Chromium праз MODELSHEET_CHROMIUM і лакальны Django-сервер Playwright.

Праверка Вынік
pytest: сервер, формулы, правы, транзакцыі 102 паспяховыя
Vitest: буфер і формулы 57 паспяховых
Playwright: браўзерныя сцэнары 10 паспяховых
TypeScript, Vite, Ruff, Django checks Паспяхова
Адсутныя міграцыі Змен няма
Зборка wheel/sdist, метаданыя twine Паспяхова
Усталяванне wheel па-за шляхам імпарту рэпазіторыя Паспяхова
migrate/collectstatic усталяванага пакета Паспяхова без Node.js
Шаблоны, статыка, ліцэнзіі залежнасцей Прысутнічаюць
Змест sdist Без node_modules і браўзерных справаздач

Smoke test стварае новае віртуальнае асяроддзе з доступам да сістэмных залежнасцей, усталёўвае wheel без іх развязання і запускаецца па-за рэпазіторыем з асобнымі БД і settings. Гэта праверка змесціва і інтэграцыі, а не новай загрузкі Django з індэкса.

Браўзерныя праверкі ахопліваюць формулы, адмену/паўтор/захаванне/перазагрузку, устаўку ў read-only, прагляд і пацвярджэнне, захаванне буфера пасля памылкі, старонкі і пошук Admin, віртуалізацыю 50 калонак, клавіятуру, серверны парадак, Ctrl+D і адхіленне пазіцыйнай устаўкі пасля змены віду.

Серверныя тэсты ахопліваюць абыход правоў, схаваныя палі і гісторыю, read-only аўдыт Admin, канфлікты са стандартным Admin, атамарны адкат, асобныя канкурэнтныя злучэнні, дублікаты ключоў, фіксаваны набор кандыдатаў, залежнасці, адмену/працяг фону, дублі дастаўкі, частковы вынік і адкліканне правоў паміж порцыямі.

Вымярэнні

Часовая SQLite БД мае 50 скалярных калонак і вокны па 200 радкоў. Кожны сцэнар вымяраўся 10 разоў. Затрымка ўключае захаванне здымка і дакладны падлік, але не HTTP/браўзер. Гэта лакальныя назіранні, не агульная гарантыя. Запускі не былі ізаляваныя ад іншай распрацоўкі; даныя CPU/RAM не былі даступныя праз sandbox.

Даныя / аперацыя Медыяна p95
100k / першая старонка 29.94 ms 40.70 ms
100k / пятая старонка 33.75 ms 40.94 ms
100k / дакладны індэксны фільтр 2.99 ms 4.80 ms
100k / пошук падрадка 46.60 ms 57.19 ms
1M / першая старонка 36.07 ms 300.50 ms
1M / пятая старонка 37.32 ms 60.13 ms
1M / дакладны індэксны фільтр 2.15 ms 3.37 ms
1M / пошук падрадка 377.84 ms 442.33 ms

Кожны выклік рабіў 4 SQL-запыты. Зыходныя вынікі: 100k, 1M. Узнаўленне: тэсты прадукцыйнасці.

Што не праверана ў гэтым лакальным запуску

PostgreSQL/MySQL/Docker лакальна адсутнічалі. Іншыя спалучэнні Python/Django настроеныя ў CI; правярайце фактычны вынік запуску. Першая праверка назвы PyPI сутыкнулася з сертыфікатамі/сеткай і нічога не рэзервавала. На момант справаздачы загрузкі ў PyPI/TestPyPI і аддаленага CI яшчэ не было; пазней адкрыты выпуск у PyPI адбыўся, гл. заўвагу ўверсе. Для першай версіі немагчыма праверыць абнаўленне з папярэдняй. Гл. публікацыю.