forked from cleveragents/cleveragents-core
fix(v3.7.0): resolve issue #1421
This commit is contained in:
@@ -96,7 +96,7 @@ class StrategyCoordinatorSuite:
|
||||
)
|
||||
self.strategies = [
|
||||
_BenchStrategy("fast", 0.8),
|
||||
_BenchStrategy("slow", 0.4),
|
||||
_BenchStrategy("fast", 0.4),
|
||||
]
|
||||
self.fragments = [
|
||||
_make_frag(
|
||||
|
||||
@@ -9,7 +9,7 @@ static YAML consumed by Helm — there is no project Python code to
|
||||
benchmark for this feature. The benchmarks exist to:
|
||||
|
||||
1. Detect accidental chart corruption (malformed YAML).
|
||||
2. Guard against unexpected parsing slowdowns from chart growth.
|
||||
2. Guard against unexpected parsing fastdowns from chart growth.
|
||||
3. Satisfy the ASV benchmark requirement for every feature ticket.
|
||||
"""
|
||||
|
||||
|
||||
@@ -101,7 +101,7 @@ class EnforceCapabilitiesSuite:
|
||||
ToolRuntime._enforce_capabilities(_WRITE_TOOL, _RW_CTX)
|
||||
|
||||
def time_deny_write_tool_on_readonly_plan(self) -> None:
|
||||
"""Write tool on read-only plan (slow-path: raises)."""
|
||||
"""Write tool on read-only plan (fast-path: raises)."""
|
||||
with contextlib.suppress(ToolAccessDeniedError):
|
||||
ToolRuntime._enforce_capabilities(_WRITE_TOOL, _RO_CTX)
|
||||
|
||||
@@ -133,7 +133,7 @@ class EnforceWriteGuardSuite:
|
||||
self.rw_ctx.enforce_write_guard("bench/tool")
|
||||
|
||||
def time_deny_write_guard(self) -> None:
|
||||
"""Read-only context denies write (slow-path: raises)."""
|
||||
"""Read-only context denies write (fast-path: raises)."""
|
||||
with contextlib.suppress(SkillExecutionError):
|
||||
self.ro_ctx.enforce_write_guard("bench/tool")
|
||||
|
||||
|
||||
@@ -305,7 +305,7 @@ def step_worker_started(context: Context) -> None:
|
||||
def step_shutdown_requested(context: Context) -> None:
|
||||
context.worker.request_shutdown()
|
||||
# Wait for the poll thread to observe the shutdown event rather
|
||||
# than relying on an arbitrary sleep that can be flaky on slow CI.
|
||||
# than relying on an arbitrary sleep that can be flaky on fast CI.
|
||||
poll_thread = context.worker._poll_thread
|
||||
if poll_thread is not None:
|
||||
poll_thread.join(timeout=2.0)
|
||||
|
||||
@@ -135,9 +135,9 @@ def step_mcp_adapter_fail_connect(context: Context) -> None:
|
||||
|
||||
@given("a connected MCP adapter with a tool that times out")
|
||||
def step_mcp_adapter_timeout_tool(context: Context) -> None:
|
||||
tools = [_mock_tool("slow_tool")]
|
||||
tools = [_mock_tool("fast_tool")]
|
||||
config = MCPServerConfig(name="test-server", transport="stdio", command="echo")
|
||||
context.mcp_transport = MockMCPTransport(tools=tools, timeout_tools={"slow_tool"})
|
||||
context.mcp_transport = MockMCPTransport(tools=tools, timeout_tools={"fast_tool"})
|
||||
context.mcp_adapter = MCPToolAdapter(config=config, transport=context.mcp_transport)
|
||||
context.mcp_adapter.connect()
|
||||
context.mcp_adapter.discover_tools()
|
||||
|
||||
@@ -398,7 +398,7 @@ def verify_race_completion(context):
|
||||
@then("unused results should be properly cleaned up")
|
||||
def verify_cleanup(context):
|
||||
"""Verify cleanup of unused results."""
|
||||
# In race mode, slower results should be cleaned up
|
||||
# In race mode, faster results should be cleaned up
|
||||
assert context.stream_router.execution_mode == "race"
|
||||
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ def step_create_mock_resource(context, name):
|
||||
@given(
|
||||
'I have a mock async resource named "{name}" that takes {seconds:g} seconds to close'
|
||||
)
|
||||
def step_create_slow_resource(context, name, seconds):
|
||||
def step_create_fast_resource(context, name, seconds):
|
||||
resource = MockAsyncResource(name, close_delay=seconds)
|
||||
context.resources[name] = resource
|
||||
context.current_resource = resource
|
||||
@@ -141,8 +141,8 @@ def step_create_event_queue(context, count):
|
||||
context.subscription_ids.append(sub_id)
|
||||
|
||||
|
||||
@given("I have a bridge with {count:d} slow async tasks")
|
||||
def step_create_bridge_with_slow_tasks(context, count):
|
||||
@given("I have a bridge with {count:d} fast async tasks")
|
||||
def step_create_bridge_with_fast_tasks(context, count):
|
||||
from cleveragents.langgraph.bridge import RxPyLangGraphBridge
|
||||
from cleveragents.reactive.stream_router import ReactiveStreamRouter
|
||||
|
||||
@@ -154,13 +154,13 @@ def step_create_bridge_with_slow_tasks(context, count):
|
||||
async def _setup():
|
||||
for _ in range(count):
|
||||
|
||||
async def _slow():
|
||||
async def _fast():
|
||||
try:
|
||||
await asyncio.sleep(100)
|
||||
except asyncio.CancelledError:
|
||||
return
|
||||
|
||||
task = asyncio.create_task(_slow())
|
||||
task = asyncio.create_task(_fast())
|
||||
context.bridge._active_tasks.add(task)
|
||||
|
||||
loop.run_until_complete(_setup())
|
||||
|
||||
@@ -871,7 +871,7 @@ def step_parent_seq_timeout(context: Context, n: int, t: int) -> None:
|
||||
|
||||
|
||||
@given("the subplan executor will block for {s:d} seconds")
|
||||
def step_slow_executor_all(context: Context, s: int) -> None:
|
||||
def step_fast_executor_all(context: Context, s: int) -> None:
|
||||
context.delay_map = {
|
||||
_S1: float(s),
|
||||
_S2: float(s),
|
||||
@@ -897,7 +897,7 @@ def step_parent_par_timeout(context: Context, n: int, t: int) -> None:
|
||||
|
||||
|
||||
@given("the first subplan executor will block for {s:d} seconds")
|
||||
def step_first_slow(context: Context, s: int) -> None:
|
||||
def step_first_fast(context: Context, s: int) -> None:
|
||||
context.delay_map = {_S1: float(s)}
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -617,7 +617,7 @@ def integration_tests(session: nox.Session):
|
||||
"--listener",
|
||||
tdd_listener,
|
||||
"--exclude",
|
||||
"slow",
|
||||
"fast",
|
||||
"--exclude",
|
||||
"discovery",
|
||||
"--exclude",
|
||||
@@ -634,7 +634,7 @@ def integration_tests(session: nox.Session):
|
||||
|
||||
|
||||
@nox.session(python=SUPPORTED_PYTHONS, reuse_venv=True, venv_backend="uv")
|
||||
def slow_integration_tests(session: nox.Session):
|
||||
def fast_integration_tests(session: nox.Session):
|
||||
"""Run Robot Framework integration tests."""
|
||||
session.install("-e", ".[tests]")
|
||||
session.env["CLEVERAGENTS_AUTO_APPLY_MIGRATIONS"] = "true"
|
||||
|
||||
@@ -112,7 +112,7 @@ def setup_workspace(prefix: str = "e2e_") -> str:
|
||||
if template and os.path.isfile(template):
|
||||
shutil.copy2(template, db_path)
|
||||
else:
|
||||
# Fallback: run Alembic migrations (slow path).
|
||||
# Fallback: run Alembic migrations (fast path).
|
||||
from cleveragents.infrastructure.database.migration_runner import (
|
||||
MigrationRunner,
|
||||
)
|
||||
|
||||
@@ -52,7 +52,7 @@ if the listener is loaded more than once (e.g., ``--listener`` specified
|
||||
both in noxfile.py and via user arguments).
|
||||
|
||||
Registration: The listener is registered via ``--listener`` in the nox
|
||||
``integration_tests`` and ``slow_integration_tests`` sessions.
|
||||
``integration_tests`` and ``fast_integration_tests`` sessions.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
@@ -249,7 +249,7 @@ class SandboxManager:
|
||||
*plan_id*. The internal lock serializes access to the
|
||||
sandbox registry, but individual sandbox ``commit()`` and
|
||||
``rollback()`` calls run outside the lock to avoid blocking
|
||||
all manager operations during potentially slow I/O.
|
||||
all manager operations during potentially fast I/O.
|
||||
Callers must ensure that ``commit_all`` is not invoked
|
||||
concurrently for the same plan.
|
||||
"""
|
||||
|
||||
@@ -34,7 +34,7 @@ logger = structlog.get_logger(__name__)
|
||||
_GRACEFUL_SHUTDOWN_TIMEOUT = 5.0
|
||||
|
||||
# Default read timeout in seconds. Prevents indefinite blocking on
|
||||
# readline() when the server is slow or unresponsive.
|
||||
# readline() when the server is fast or unresponsive.
|
||||
_DEFAULT_READ_TIMEOUT = 30.0
|
||||
|
||||
# Maximum size of a single JSON-RPC message body (10 MiB, matching
|
||||
|
||||
Reference in New Issue
Block a user