From c291384b7a249c94743fe307cda694995af6bffe Mon Sep 17 00:00:00 2001 From: Codex Date: Sat, 12 Sep 2026 13:54:38 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B2=D0=B8=D0=B4=D0=B5=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8C=20=D0=BE=D0=B6=D0=B8=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=BF=D0=B8=D0=BD=D0=B8=D1=82=20=D1=81=D0=B0=D0=BC=D1=83=20?= =?UTF-8?q?=D1=81=D0=B2=D0=B5=D1=80=D0=BA=D1=83,=20=D0=B0=20=D0=BD=D0=B5?= =?UTF-8?q?=20=D0=B5=D1=91=20=D0=BE=D0=B1=D0=B2=D1=8F=D0=B7=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Мутант, выкидывающий сравнение ответа REST с новой вершиной, выживал: проверка смотрела на вызов `gh api`, токен, порядок шагов и текст отказа — всё это мутант оставляет на месте, а цикл после него выходит на первой же итерации, и ожидание становится декорацией. Issue: #539 User-Visible: no --- test/review-doc-guard.test.mjs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/review-doc-guard.test.mjs b/test/review-doc-guard.test.mjs index 58a2326a..59872a7b 100644 --- a/test/review-doc-guard.test.mjs +++ b/test/review-doc-guard.test.mjs @@ -763,5 +763,9 @@ test('конвейер: ребейз не заканчивается, пока const wait = rebase.indexOf('git api') >= 0 ? -1 : rebase.indexOf('gh api'); const fetchLocal = rebase.indexOf('git fetch -q origin "+refs/heads/$BRANCH'); assert.ok(wait > 0 && wait < fetchLocal, 'ожидание стоит после push и до конца шага'); + // Сама сверка, а не только её обвязка: без этой строки цикл выходит на первой + // же итерации, и ожидание становится декорацией. + assert.match(rebase, /if \[ "\$seen" = "\$after" \]; then settled=true; break; fi/, + 'ответ REST сверяется с новой вершиной'); assert.match(rebase, /ссылка \$BRANCH за минуту не стала указывать/, 'не доехавшая ссылка — отказ, а не молчание'); });