mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-01 20:29:00 +00:00
test: the backend mutant follows the registry convention (#329 r2-H1)
The reviewer is right twice over. My previous commit fixed the red CI by relaxing the contract — a guard could name a `.py` file — when the registry already had a convention for exactly this case: every backend mutant runs `node scripts/backend-test-guard.mjs <pattern> <file>`, which owns the python executable choice and the `-k` selection. Bending a rule to fit my one-off is the worse of the two possible fixes, so the contract goes back to demanding a `.mjs` guard, and junction-limit-backend-raw-baseline now uses the helper and targets the one test that proves the migration (test_legacy_baseline_is_judged_after_the_same_migration). Re-verified: registry --check clean, the mutant still catches its regression 1/1, npm test 1390 passed / 0 failed. Issue: #329 User-Visible: no
This commit is contained in:
@@ -539,7 +539,9 @@ export const MUTANTS = [
|
||||
},
|
||||
{
|
||||
id: 'junction-limit-backend-raw-baseline',
|
||||
guard: 'python3 -m pytest tests_backend/test_junction_limits.py -q',
|
||||
guard: 'node scripts/backend-test-guard.mjs '
|
||||
+ 'test_legacy_baseline_is_judged_after_the_same_migration '
|
||||
+ 'tests_backend/test_junction_limits.py',
|
||||
because: 'a legacy baseline carries no wall catalogue, so judging it raw reports "no '
|
||||
+ 'violations" whatever its geometry and turns every inherited one into a refusal of '
|
||||
+ 'an unrelated edit (#329 §3, code review r1 H1)',
|
||||
|
||||
@@ -32,11 +32,7 @@ test('every mutant patch anchors exactly once in the current source', () => {
|
||||
|
||||
test('every guard command points at a file that exists', () => {
|
||||
for (const mutant of MUTANTS) {
|
||||
// Гвард — не обязательно node: бэкенд-зеркала (#329) красит pytest, и
|
||||
// окружение мутант-джоба его ставит. Проверяем одно: команда называет
|
||||
// существующий файл, а не выдуманный путь.
|
||||
const script = mutant.guard.split(' ')
|
||||
.find((part) => part.endsWith('.mjs') || part.endsWith('.py'));
|
||||
const script = mutant.guard.split(' ').find((part) => part.endsWith('.mjs'));
|
||||
assert.ok(script, `${mutant.id}: guard не называет исполняемый файл`);
|
||||
assert.ok(existsSync(join(repoRoot, script)),
|
||||
`${mutant.id}: guard-файла ${script} не существует`);
|
||||
|
||||
Reference in New Issue
Block a user