From da166845cba1bdc49528f86d588a3d59390b7d27 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Thu, 20 Aug 2026 20:11:18 +0300 Subject: [PATCH] =?UTF-8?q?fix(tests):=20=D0=BA=D0=B5=D0=B9=D1=81=D1=8B=20?= =?UTF-8?q?=D0=BD=D0=B0=20fixture-=D1=84=D0=B8=D0=BA=D1=81=D1=82=D1=83?= =?UTF-8?q?=D1=80=D0=B0=D1=85=20=D0=BF=D0=BE=D0=BF=D0=B0=D0=B4=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=20=D0=BC=D0=B8=D0=BC=D0=BE=20=D0=BF=D0=BB=D0=B0=D1=82?= =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE=D0=B9=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit verify-snapshots отбирал кейсы по правилу «нет input, preRun и params → read-only, пропускаем». Кейс на `setup: fixture:` под него подходил, хотя навык правит скопированную фикстуру, — и молча выпадал из проверки, ради которой инструмент и существует. Отчёт при этом оставался зелёным. Co-Authored-By: Claude Opus 5 --- tests/skills/verify-snapshots.mjs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/skills/verify-snapshots.mjs b/tests/skills/verify-snapshots.mjs index 31f019b33..6a212769f 100644 --- a/tests/skills/verify-snapshots.mjs +++ b/tests/skills/verify-snapshots.mjs @@ -1456,8 +1456,12 @@ function discoverCases(skillFilter, caseFilter) { // Skip error cases if (caseName.startsWith('error-')) continue; - // Skip cases without input AND without preRun AND without params (truly read-only) - if (caseData.input === undefined && !caseData.preRun && !caseData.params) continue; + // Skip cases without input AND without preRun AND without params (truly read-only). + // Кейс на `setup: fixture:` тоже не read-only: навык правит скопированную фикстуру, и + // без этой ветки такие кейсы молча выпадали из платформенной проверки — то есть ровно + // из той, ради которой этот файл и существует. + const hasFixtureSetup = typeof caseData.setup === 'string' && caseData.setup.startsWith('fixture:'); + if (caseData.input === undefined && !caseData.preRun && !caseData.params && !hasFixtureSetup) continue; results.push({ skill: skillDir, caseName, caseData, skillConfig }); }