Skip to content

Commit ce3ea06

Browse files
os-zhuangclaude
andauthored
feat(pm): hold the in-tree fixture-root ignore rule as a class, not two named paths (#12830)
The dispatch derivation reads untracked files on purpose, so the ignore rules are the only thing between a killed test run's leftover fixture and every seat's gate list. The self-test pinned that property for two paths by name; a fifth fixture author picking a new in-tree root reproduced the hazard exactly and nothing went red. Sweep the tracked sources for the directories they create, resolve each base expression against the repo root, and ask `git check-ignore` about a representative leftover at every in-tree one. A site whose base cannot be resolved is reported rather than skipped, and for `mkdtempSync` — the shape every in-tree fixture in this tree is built from — it fails: a detector that silently dropped what it could not read would be the same defect one level up. Two escapes, both derived from the tree rather than declared: a covering rule that lives in a tracked ignore file (one in `.git/info/exclude` covers its own clone and nobody else's), and a directory git already tracks content under. No count is asserted anywhere — the family inventory grows same-day. What is asserted is non-emptiness, so a sweep that found nothing cannot satisfy "every root is covered" by finding no roots. Claude-Session: https://claude.ai/code/session_01PfaSTikked61BkcsB5Rn69 Co-authored-by: Claude <noreply@anthropic.com>
1 parent 5ced18a commit ce3ea06

1 file changed

Lines changed: 693 additions & 0 deletions

File tree

0 commit comments

Comments
 (0)