case 并行(默认 3)后原 5 case 场景在取消请求到达前就跑完, 取消语义不再被观测到。扩到 30 case(10 波)保证取消窗口充分。
This commit is contained in:
parent
bd6efc3709
commit
0d074e5465
@ -135,13 +135,15 @@ async def test_start_run_then_get(client, seeded_db, mock_channel):
|
||||
|
||||
async def test_cancel_run(client, seeded_db, mock_channel):
|
||||
# Seed a multi-case scenario so the run takes long enough to cancel.
|
||||
# Cases run 3-concurrent, so 30 cases ≈ 10 waves × reply_delay — comfortably
|
||||
# longer than the pre-cancel window below.
|
||||
from agenteval.models import Case, CaseType, Scenario
|
||||
from agenteval.storage.repository import ScenarioRepository
|
||||
multi = Scenario(
|
||||
id="s-long", name="long-scenario",
|
||||
cases=[
|
||||
Case(id=f"lc{i}", type=CaseType.SINGLE, messages=[f"m{i}"])
|
||||
for i in range(5)
|
||||
for i in range(30)
|
||||
],
|
||||
)
|
||||
ScenarioRepository(seeded_db).create(multi)
|
||||
@ -170,8 +172,8 @@ async def test_cancel_run(client, seeded_db, mock_channel):
|
||||
final = (await client.get(f"/api/runs/{run_id}")).json()
|
||||
assert final["status"] == "failed"
|
||||
assert final["summary"]["error"]["code"] == "cancelled_by_user"
|
||||
# Not all 5 cases should have run.
|
||||
assert mock_channel.send_calls < 5
|
||||
# Not all 30 cases should have run.
|
||||
assert mock_channel.send_calls < 30
|
||||
|
||||
|
||||
async def test_get_run_logs(client, seeded_db, mock_channel):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user