Commit 07afcbc
committed
test(check): build the cross-engine collision after migration 9 runs
`check --rule <id>` selects every engine holding the id, and #385's test
proved it by seeding `vale/no-eval` beside the fixture's `sg/no-eval`.
Migration 9 now renames exactly that state, and `runCli` migrates on every
invocation through `migrateFixture`, so the collision was renamed to
`no-eval-sg`/`no-eval-vale` before `check` ever saw it: `--rule no-eval`
exited `RULE_NOT_FOUND` and the test died reading `.map` of an undefined
`results`.
The migration invalidated the setup, not the behaviour. An id held by two
engines still selects both, and a project can still reach that state — by
hand, or by a merge landing a same-id rule under another engine — which is
the case the new per-rule check in `verify` exists to catch. So the fixture
is migrated first and the second engine's copy seeded after, with a comment
naming migration 9 so the setup is not "simplified" back.
Also names the consequence in the changeset: an id passed to `--rule`
yesterday may not exist today, and that failure is `RULE_NOT_FOUND` rather
than a quiet zero findings.1 parent 06d32f7 commit 07afcbc
2 files changed
Lines changed: 20 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
319 | 319 | | |
320 | 320 | | |
321 | 321 | | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
322 | 341 | | |
323 | 342 | | |
324 | 343 | | |
| |||
0 commit comments