Audion Media Tools

v3.0.0 ·

Проверки перед выпуском

RU

Проверки перед выпуском

О программе · Руководство · Консольная команда · Замеры

Содержание

Что прогоняется перед выпуском и чем. Всё запускается из папки программы.

Кодировка .cmd

Все .cmd программы — UTF-8 без BOM и строго CRLF:

install\Check-CmdEncoding.cmd -Fix

Тот же шаг — пункт [72] сборщика builder_main.cmd; сборка окружения проверяет кодировку сама.

Окружение

install\verify_portable_env.cmd

Пункт [71] сборщика. Проверяет Python программы (runtime\) и его пакеты, кодировку .cmd, что консольная команда читает манифест, что Start.exe и окно в App\ на месте и собранное окно проходит свою самопроверку.

Движок

runtime\python.exe -m pytest -q -p no:cacheprovider tests system_core\tests

Около пяти минут: обёртки и нарезки гоняют настоящий FFmpeg. Что держат тесты:

  • консольная команда: вызовы, коды выхода, файл итога, отказ --dry-run там, где операция не умеет только назвать команды;
  • модель формы: что ставит пресет и что выключает выбор — одно правило для окна и консоли;
  • 95 обёрток Scripts\ — их команды FFmpeg и yt-dlp сверяются с записанными;
  • нарезка, частота кадров, звук, пробы источника — на настоящих файлах;
  • карта программы: у каждой операции, поля, варианта, пресета и обёртки есть текст на двух языках;
  • документы из карты (Docs\OPERATIONS_*, Docs\SCRIPTS_*, таблицы руководств) совпадают с данными; устаревшие переписываются.

Окно

install\Build-App.cmd

Проверки окна (консольная команда, раскладка, сервер форм, карта, документы, четыре темы, значки, словарь — у каждой русской подписи есть английская пара), сборка App\ и самопроверка собранной копии. После сборки Source\bin, Source\obj, Source\Ps\bin, Source\Ps\obj убираются — пункт [70] сборщика.

pwsh -File Source\Tools\release-walk.ps1 -Stand C:\Temp\media_stand

Нужен установленный PowerShell 7 (pwsh): UI Automation живёт в сборках WindowsDesktop, а PowerShell программы (App\AudionPs.exe) собран без них.

Проход собранной программы без мыши: копия программы в пустой папке, окно вне экрана, кнопки нажимаются через UI Automation — раздел и режим, выбор формы, КОМАНДА, ЗАПУСТИТЬ, СВЕДЕНИЯ, закрепление, В ИСТОЧНИК и ОЧИСТИТЬ с их вопросами, плеер нарезки, СТОП, закрытие во время работы. Файлы и настройки рабочей копии не читаются и не пишутся.

СЕРВИС

В окне, меню СЕРВИС, или media_cli.cmd run --operation ...:

  1. Самопроверка (selftest) — FFmpeg, ffprobe, yt-dlp, Deno.
  2. Возможности оборудования (hardware_capabilities) — какие аппаратные пути работают на этой машине.
  3. Проверка профилей (profile_doctor) — манифест, обёртки и каталог профилей.
  4. Тест матрицы пресетов (preset_test_matrix) — секундные прогоны пресетов всех разделов.

Ожидаемые MISS — нормальный ответ на машине без соответствующего железа.

Живой прогон

По операции из каждого раздела на коротком материале — камерном, а не сгенерированном: результат проверяется ffprobe (кодек, размер, частота, длительность, звук), у нарезки — числом кадров. СКАЧАТЬ — одной ссылкой и списком ссылок.

Консольные меню

set AUDION_LAUNCHER_SMOKE=1
cli\launcher-fps.cmd

С этой переменной меню cli\launcher-*.cmd выбирают «назад» сами и проверяют, что открываются. launcher_project.cmd и launcher_tools.cmd открываются и находят обёртку набором букв.

Установщики

  • install\Install-Portable-FFmpeg-Gyan.cmd, -BtbN.cmd, install\Install-Portable-yt-dlp.cmd (вместе с Deno), install\Install-Portable-mpv.cmd, install\Install-Portable-7Zip.cmd после успешной загрузки очищают свою папку в Tools\ целиком и кладут свежую: старые EXE и DLL не остаются поверх.
  • До скачивания каждый называет файлы, источник и размер — то же говорит media_cli.cmd plan --operation install_ffmpeg.

Чистка

cleanup_project.cmd возвращает программу к исходникам: очищает input, output (кроме output\Download), logs, report, workspace, runtime, wheelhouse, кэш установщиков, содержимое Tools\ffmpeg, Tools\mpv, Tools\yt-dlp, Tools\deno, Tools\7zip, кэши Python, состояние окна и cookies; затем install\init_folders.cmd создаёт рабочие папки заново. Остаются output\Download, LUTs, обёртки, документы, постоянные настройки и лицензии. Папка, которая сама ссылка (junction, символическая ссылка), не очищается — её содержимое лежит в другом месте; ссылка внутри очищаемой папки снимается как ссылка, внутрь неё очистка не заходит.