mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-13 22:35:16 +03:00
fix(tests): verify-snapshots — honor v8path на исполняемый файл (ibcmd)
loadV8Context трактовал v8path только как каталог: путь на файл (.../ibcmd) не резолвился и МОЛЧА подменялся авто-детектом обратно на 1cv8 (Platform-строка печатала 1cv8 при заданном ibcmd). Теперь: v8path-файл используется как есть → db-* навыки сами выбирают движок по basename, verify умеет гонять цикл через ibcmd. Явно заданный неразрешимый путь → null (ошибка), а не тихая подмена платформой. Авто-детект только при пустом v8path. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -103,14 +103,18 @@ function loadV8Context() {
|
||||
if (existsSync(projectFile)) {
|
||||
try { v8bin = JSON.parse(readFileSync(projectFile, 'utf8')).v8path || null; } catch { /* ignore */ }
|
||||
}
|
||||
let v8exe = resolveV8Exe(v8bin);
|
||||
if (!v8exe) {
|
||||
// v8path пуст/не резолвится — пробуем авто-детект (актуально на маке с /opt/1cv8/<ver>/).
|
||||
const detected = autodetectV8bin();
|
||||
if (detected) { v8bin = detected; v8exe = resolveV8Exe(detected); }
|
||||
if (v8bin) {
|
||||
// v8path указывает прямо на исполняемый файл (1cv8/ibcmd) — используем как есть, не подменяя авто-детектом.
|
||||
// Так verify умеет гонять цикл через ibcmd (db-* навыки сами выбирают движок по basename).
|
||||
if (existsSync(v8bin) && statSync(v8bin).isFile()) return { v8path: v8bin, v8exe: v8bin };
|
||||
const v8exe = resolveV8Exe(v8bin);
|
||||
// Явно заданный, но неразрешимый путь — это ошибка конфигурации, НЕ повод молча брать другую платформу.
|
||||
return v8exe ? { v8path: v8bin, v8exe } : null;
|
||||
}
|
||||
if (!v8exe) return null;
|
||||
return { v8path: v8bin, v8exe };
|
||||
// v8path не задан — авто-детект (актуально на маке с /opt/1cv8/<ver>/).
|
||||
const detected = autodetectV8bin();
|
||||
if (!detected) return null;
|
||||
return { v8path: detected, v8exe: resolveV8Exe(detected) };
|
||||
}
|
||||
|
||||
// ─── Script execution ───────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user