Files
houseplan-card/docs/testing-notes/README.md
Claude 43459bcbe0 ci(mutants): an unmatched --test-name-pattern is setup-failure, not survived (#650)
A name-filtered `node --test` that matches no test exits 0 and TAP reports
only the file itself. The clean run took that for a healthy witness and the
mutant run for `survived`, although no assertion ran either time — as in
Validate 36151140394 on #649, where a renamed test left a guard pattern empty.

- mutation-guard-outcome: nodeTestSelection/executedTestNames/
  emptyTestSelection; a green oracle with a name filter and zero executed
  named tests is `setup-failure` (clean run: «FAIL чистая подготовка»,
  diff mode: attributed like any setup failure, #568).
- mutation-gate --check: staticTestSelectionProblems — every pattern must
  match a literal test(/it(/describe( name in the guard's files; files with
  ${…} names only warn. POSIX quoting keeps \( inside "…".
- Registry today: 349 unique name-filtered commands run on dev, all execute
  ≥ 1 test; --check: 0 errors, 3 warnings (dynamic names).
- Tests: 6 new in test/mutation-guard-outcome.test.mjs (incl. the installed
  node's real TAP and a registry-wide static check); 3 mutants.
- Docs: TESTING.md pointer, testing-notes/infrastructure.md section.

Issue: #650
User-Visible: no
2026-09-25 18:31:17 +03:00

9.6 KiB

Приложения к TESTING.md — индекс

Ручные чек-листы по поверхностям и приложения по отдельным issue, перенесённые из docs/TESTING.md дословно (#634). Действующие правила и гейты — в самом TESTING.md. Искать по номеру issue или теме: grep -n "#293" docs/testing-notes/README.md. Полноту индекса и каждую ссылку сверяет test/testing-notes-index.test.mjs: раздел без строки здесь — красный тест.

Ручной чек-лист по поверхностям

Диалоги, формы и сводная панель

Устройства и маркеры

Геометрия: стены, проёмы, комнаты, холст

Декор, подложка, мебель, слои

Живые слои и интеграции

Инфраструктура тестов и съёмки

История прогонов и партий