test(skills): движковая матрица 1cv8/ibcmd в интеграционных тестах

Раннер: контекст платформы дорезолвит ibcmd.exe рядом с 1cv8.exe;
тест объявляет `engines: ['1cv8','ibcmd']` → одни и те же шаги прогоняются
на каждом движке ({v8path} подставляется в нужный exe), результаты помечаются
суффиксом [1cv8]/[ibcmd]. ibcmd-проход авто-skip, если ibcmd.exe нет.
Дефолт engines=['1cv8'] — прочие тесты не меняются.

Новые типы шагов: editFile (подстановочная замена) и assertContains
(проверка подстроки) — для round-trip проверок.

platform-config и platform-epf переведены в матрицу. Новый platform-partial:
частичная выгрузка/загрузка объекта с round-trip маркера на обоих движках.

README: раздел про интеграционные тесты, матрицу и типы шагов.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-22 16:04:01 +03:00
parent 89496f535d
commit ceacaa3509
5 changed files with 199 additions and 12 deletions
@@ -5,6 +5,9 @@
export const name = 'Загрузка конфигурации в платформу 1С';
export const setup = 'none';
export const requiresPlatform = true;
// Engine matrix: same load path must hold on DESIGNER (1cv8) and ibcmd.
// The ibcmd pass is skipped automatically when ibcmd.exe is not present.
export const engines = ['1cv8', 'ibcmd'];
export const steps = [
// ── 1. Build minimal config ──