test(skills): expected-skips.mjs — ожидаемое число пропусков вместо запомненного

«skipped» — норма, а не падение, но само число ни о чём не говорит, пока не с чем сверить,
а запоминать его нельзя: оно растёт с набором кейсов. Прежняя сверка жила в личной памятке
как grep по 'external:|runtimeOnly|osOnly' и уже сломалась — она считает скипом ЛЮБОЙ osOnly,
а posix-кейсы фейка платформы на маке как раз выполняются (grep давал 67 против 59 реальных).

Скрипт повторяет правила гейтинга раннера и живёт рядом с ним, поэтому расходиться им негде.
--list печатает пропуски поимённо с причиной. Сверено: win32/powershell 8, win32/python 11,
darwin/python 59 — совпало с прогонами.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-08-13 15:55:07 +03:00
co-authored by Claude Opus 5
parent 64c629a897
commit 26ca7276e6
2 changed files with 78 additions and 0 deletions
+15
View File
@@ -21,6 +21,21 @@ node tests/skills/runner.mjs --help # полный
Exit code: 0 = все прошли, 1 = есть падения.
### Сколько кейсов должно быть пропущено
`○ skipped` — норма, а не падение: кейс может гейтиться по ОС (`osOnly`), по порту
(`runtimeOnly`) или требовать внешней выгрузки (`setup: external:`), которой на машине нет.
Но само число ни о чём не говорит, пока не с чем сверить, а запоминать его нельзя — оно растёт
с набором кейсов.
```bash
node tests/skills/expected-skips.mjs --runtime python # ожидаемое число для этой ОС и порта
node tests/skills/expected-skips.mjs --list # + поимённо, с причиной
```
Совпало со `Skipped: N` из прогона — норма. Разошлось — разбираться: появился новый источник
скипа либо кейс скипается не по той причине, что заявлена.
### Платформенная верификация снапшотов
```bash