From 9e1dca788515f22528f3b9e99777d58ce88c84c7 Mon Sep 17 00:00:00 2001 From: Light1YT Date: Fri, 3 Jul 2026 01:41:07 +0500 Subject: [PATCH] =?UTF-8?q?test(program-optimizer):=20=D0=B3=D1=80=D1=83?= =?UTF-8?q?=D0=B1=D1=8B=D0=B9=20=D0=BF=D0=B5=D1=80=D1=84-=D0=BF=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=B3=201=D1=81=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=BE=20100=D0=BC=D1=81=20(flaky=20=D0=BD=D0=B0=20CI-=D1=80?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D0=B5=D1=80=D0=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Run 3917: shared-раннер занял 199 мс на гриде, который локально идёт 15 мс. Порог теперь ловит деградацию на порядки, а не загрузку раннера. --- .../services/site_finder/test_program_optimizer.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/backend/tests/services/site_finder/test_program_optimizer.py b/backend/tests/services/site_finder/test_program_optimizer.py index 0418b1c0..88984a5b 100644 --- a/backend/tests/services/site_finder/test_program_optimizer.py +++ b/backend/tests/services/site_finder/test_program_optimizer.py @@ -6,7 +6,7 @@ • кламп floors_grid по max_floors_allowed (10 → [5, 9]); • ЕДИНАЯ откалиброванная цена во все комбо (price_per_sqm_used одинакова); • сбой одного комбо не валит грид; - • полный вызов быстрый (<100 мс). + • полный вызов быстрый (грубый порог 1 с — защита от деградации на порядки). Детерминированно, без LLM / БД. """ @@ -220,11 +220,17 @@ def test_result_carries_caveat_and_metadata() -> None: # ── производительность ──────────────────────────────────────────────────────── -def test_full_grid_under_100ms() -> None: - """Полный вызов (12 комбо) укладывается в <100 мс (синхронно в теле запроса).""" +def test_full_grid_fast_enough_for_sync_request() -> None: + """Полный грид достаточно быстр для синхронного вызова в теле запроса. + + Локально 12 комбо ≈ 15 мс; порог 1000 мс намеренно грубый — ловим + деградацию НА ПОРЯДКИ (случайный I/O, БД, квадратичный взрыв), а не + миллисекунды: на нагруженном shared CI-раннере тот же вызов занимал + 199 мс и валил жёсткий порог 100 мс (flaky, run 3917). + """ kwargs = _big_profitable_kwargs() start = time.perf_counter() result = optimize_program(**kwargs) elapsed_ms = (time.perf_counter() - start) * 1000.0 assert result is not None - assert elapsed_ms < 100.0, f"optimize_program took {elapsed_ms:.1f} ms (>100 ms)" + assert elapsed_ms < 1000.0, f"optimize_program took {elapsed_ms:.1f} ms (>1000 ms)"