AudionAudion

Smoke-Test Checklist

SMOKE_TEST_RU.md

Smoke-Test Checklist

Содержание

Runtime Imports

runtime\python.exe -c "import nicegui, webview, yaml, rich; print('OK GUI imports')"

Если проекта ещё нет в portable runtime, используйте системный Python 3.12.

Syntax

runtime\python.exe -m py_compile system_core\ui_nicegui\app.py system_core\ui_nicegui\window.py

Doctor

runtime\python.exe system_core\doctor.py

Если проекта ещё нет в portable runtime, используйте системный Python 3.12:

python system_core\doctor.py

CMD Encoding

Все .cmd должны быть:

UTF-8 without BOM + CRLF

ВАЖНО: ВСЕ .CMD ФАЙЛЫ ОБЯЗАТЕЛЬНО UTF-8 БЕЗ BOM И СТРОГО CRLF.

LF-only .cmd перед релизом исправить. После любого patch/edit проверять BOM=False и LoneLF=0.

Штатная проверка/ремонт для проекта:

install\Check-CmdEncoding.cmd -Fix

Portable build не чинит .cmd во время выполнения: активный .cmd нельзя переписывать изнутри. Offline install, verify и release archive gate используют check-only проверку. Если она упала, сначала запустите отдельный пункт CMD ENCODING CHECK, затем повторите нужную операцию.

SH LF

Все .sh должны быть:

UTF-8 without BOM + LF

Штатная проверка/ремонт:

python system_core\core\sh_lf.py --fix
python system_core\doctor.py

Это важно для WSL/bootstrap сценариев: CRLF в Linux shell files считается regression.

Cleanup / Init Check

Project Upgrade Check

При портировании GUI проверьте архитектуру самого проекта:

NiceGUI Smoke

runtime\python.exe system_core\ui_nicegui\app.py --smoke

Ожидается строка OK nicegui shell.

Эта проверка также вызывается из:

install\verify_portable_env.cmd

если system_core\ui_nicegui\app.py существует.

Server Check

Запустите на свободном тестовом порту:

runtime\python.exe system_core\ui_nicegui\app.py --host 127.0.0.1 --port 8099 --no-browser

Проверьте http://127.0.0.1:8099/.

Window Check

launcher_gui.cmd

Ожидается отдельное desktop-окно pywebview. Браузер не должен открываться сам.

Ожидаемый стартовый размер окна: 1600x900. Минимальный размер около 1180x720.

Picker Check

Проверьте:

Layout Check

На WUXGA 1920x1200 с Windows scale 150%:

На FullHD/4K:

Visual Smoke Screenshots

После заметных GUI/layout-правок сохраняйте smoke-скриншоты в проектной зоне отчётов, например:

report\gui_smoke_screenshots\

Минимальный набор:

Цель не в красивом альбоме, а в том, чтобы портирование ловило реальные UI-регрессии: не помещающиеся dropdown, слишком яркие рамки, дублирующие controls, ранний перенос в одну колонку, лишний scroll и невидимый финальный статус.

Nested Menu And Fields Check

Если проект использует operation_groups и fields:

PowerShell / CLI Window Check

Если проект вызывает pwsh.exe, powershell.exe, Office COM helpers, ffmpeg или другой дочерний CLI:

Long Operation / Navigation Check

Проверьте жизненный цикл NiceGUI-слотов:

System Operations / Preflight Check

Если проект управляет WSL, сетью, дисками, Windows features, hosts, WinRE или adapter state:

NiceGUI ProcessPool Fallback

В закрытых portable/sandbox окружениях NiceGUI может не создать multiprocessing process pool. GUI должен стартовать всё равно, если проект использует только обычные GUI-задачи и run.io_bound.

Проверка считается успешной, если runtime\python.exe system_core\ui_nicegui\app.py --smoke проходит, а серверный запуск не падает на PermissionError / WinError 5.

Для native picker dialogs PowerShell ищется в таком порядке:

  1. system_core\powershell\pwsh.exe
  2. pwsh.exe из PATH
  3. встроенный powershell.exe

Наличие хотя бы одного варианта видно в секции [GUI portability] команды:

runtime\python.exe system_core\doctor.py
All projects