From e20ea86ed9edbc45503a67ad55022d9baaa126eb Mon Sep 17 00:00:00 2001 From: Linghong Date: Mon, 7 Sep 2026 06:57:50 +0000 Subject: [PATCH] =?UTF-8?q?=E6=94=BE=E5=AE=BD=E5=90=8E=E5=8F=B0Agent?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E8=AE=A1=E5=88=92=E7=8E=AF=E8=B7=AF=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E8=B6=85=E6=97=B6=E5=8F=A3=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - final reply 请求捕获改用 wait_for_captured_mock_request 10 秒轮询预算,取代手写 recv_timeout 2 秒,消除持久化动作批次管线开销导致的单测 flaky - 收尾等待改用 wait_for_agent_runtime_terminal_and_lane_release,确认 lane 释放、不留僵尸 worker - 批量并行跑时的跨测试污染为既有系统性问题,本次不处理 --- .../planning_strategy/tool_planning.rs | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/apps/ai-game-creator-shell/src-tauri/src/tests/runtime_actions/planning_strategy/tool_planning.rs b/apps/ai-game-creator-shell/src-tauri/src/tests/runtime_actions/planning_strategy/tool_planning.rs index 1ce915e4e..346ffc3d1 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/tests/runtime_actions/planning_strategy/tool_planning.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/tests/runtime_actions/planning_strategy/tool_planning.rs @@ -1260,25 +1260,20 @@ async fn background_agent_runtime_task_executes_plan_tool_observation_loop() { assert!(plan_request.contains("后台分析当前玩法循环")); assert!(!plan_request.contains("核心循环:收集月光食材并躲避暗影")); assert!(!plan_request.contains("黑板:必须先确认核心循环")); - let final_request = receiver - .recv_timeout(Duration::from_secs(2)) - .expect("final reply llm request"); + let final_request = + wait_for_captured_mock_request(&receiver, "final reply llm request").await; assert!(final_request.contains("工具观察")); assert!(final_request.contains("核心循环:收集月光食材并躲避暗影")); assert!(final_request.contains("黑板:必须先确认核心循环")); - let mut runtime = read_game_creator_agent_runtime_at(&root, "design-director") - .expect("read runtime") - .state; - for _ in 0..250 { - if runtime.status == "idle" { - break; - } - std::thread::sleep(Duration::from_millis(20)); - runtime = read_game_creator_agent_runtime_at(&root, "design-director") - .expect("read runtime") - .state; - } + let runtime = wait_for_agent_runtime_terminal_and_lane_release( + &root, + "design-director", + "design-loop-run", + "idle", + "completed", + ) + .state; assert_eq!(runtime.status, "idle"); assert_eq!(runtime.phase, "completed");