4.4 KiB
4.4 KiB
type, work_item_id, result
| type | work_item_id | result |
|---|---|---|
| test-report | ORCH-043 | PASS |
Test Report — ORCH-043 (merge-gate + auto-rebase + re-test)
Окружение
- Python: 3.12.13
- pytest: 8.3.3
- Ветка:
feature/ORCH-043-merge-gate-auto-rebase-re-test(HEADba51aa1) - Дата: 2026-06-06T17:37Z
Smoke API (read-only, прод-контейнер не трогался)
GET /health→ HTTP 200{"status":"ok","service":"orchestrator"}GET /status→ HTTP 200, активная задача ORCH-043 на стадииtestingGET /queue→ HTTP 200, breakerclosed, preflight_ok=true, max_concurrency=1
Результаты (test-plan 04-test-plan.yaml)
| TC ID | Описание | Модуль | Результат |
|---|---|---|---|
| TC-01 | branch_is_behind_main → True (main ушёл вперёд) | test_merge_gate.py | PASS |
| TC-02 | branch_is_behind_main → False (ветка содержит main) | test_merge_gate.py | PASS |
| TC-03 | branch_is_behind_main never-raise | test_merge_gate.py | PASS |
| TC-04 | auto_rebase: чистый догон + push --force-with-lease | test_merge_gate.py | PASS |
| TC-05 | auto_rebase: конфликт → abort, worktree чист, main не тронут | test_merge_gate.py | PASS |
| TC-06 | auto_rebase не пушит/форс-пушит main | test_merge_gate.py | PASS |
| TC-07 | retest_branch: rc=0 → (True,'re-test green') | test_merge_gate.py | PASS |
| TC-08 | retest_branch: rc!=0 → (False) с хвостом вывода | test_merge_gate.py | PASS |
| TC-09 | retest_branch: тайм-аут → (False,'re-test timeout') | test_merge_gate.py | PASS |
| TC-10 | merge-lock: повторный захват блокируется, release в finally | test_merge_gate.py | PASS |
| TC-11 | merge-lock restart-safe: устаревший lock не блокирует | test_merge_gate.py | PASS |
| TC-12 | check_branch_mergeable: актуальна → (True,'up-to-date') | test_qg_merge_gate.py | PASS |
| TC-13 | check_branch_mergeable: отстаёт+rebase+зелёный re-test → True | test_qg_merge_gate.py | PASS |
| TC-14 | check_branch_mergeable: конфликт rebase → (False) | test_qg_merge_gate.py | PASS |
| TC-15 | check_branch_mergeable: красный re-test → (False) | test_qg_merge_gate.py | PASS |
| TC-16 | check_branch_mergeable never-raise, lock освобождён | test_qg_merge_gate.py | PASS |
| TC-17 | merge_gate_enabled=False / вне merge_gate_repos → no-op | test_qg_merge_gate.py | PASS |
| TC-18 | 'check_branch_mergeable' в QG_CHECKS и callable | test_qg_registry_snapshot.py | PASS |
| TC-19 | snapshot реестра/стадий обновлён, порядок ключей сохранён | test_qg_registry_snapshot.py | PASS |
| TC-20 | _run_qg диспетчеризует check_branch_mergeable | test_stage_engine.py | PASS |
| TC-21 | merge-gate FAIL → откат на development + Plane/Telegram | test_stage_engine.py | PASS |
| TC-22 | merge-gate FAIL уважает MAX_DEVELOPER_RETRIES | test_stage_engine.py | PASS |
| TC-23 | merge-gate PASS → продвижение к слиянию/деплою | test_stage_engine.py | PASS |
| TC-24 | сквозной сценарий гонки A/B, main остаётся зелёным | test_merge_gate_race.py | PASS |
| TC-25 | новые ORCH_* настройки: дефолты + env-override | test_config.py | PASS |
| TC-26 | полный регресс pytest tests/ зелёный | tests/ | PASS |
Целевые файлы ORCH-043 (test_merge_gate, test_qg_merge_gate, test_merge_gate_race,
test_config, test_qg_registry_snapshot): 33 passed; merge-gate в test_stage_engine: 7 passed.
Соответствие критериям приёмки
AC-1..AC-15 — все покрыты прошедшими тестами (см. маппинг TC выше) и подтверждены
APPROVED-ревью (12-review.md). AC-15 (зелёный регресс) — подтверждён ниже.
Вывод pytest
======================= 535 passed, 1 warning in 12.70s ========================
(единственное warning — PydanticDeprecatedSince20 в src/config.py:4, не относится к ORCH-043, нефатальное)
Итог
PASS — 535/535 тестов зелёные, smoke API OK, прод-контейнер не затронут.
Задача готова к стадии deploy-staging.