fix: replace object.__new__ and MinimalExecutor subclass with proper construction

This commit is contained in:
Greyson LaLonde
2026-04-03 18:42:31 +08:00
parent 0b980db1e9
commit 3a08e954e7
2 changed files with 17 additions and 33 deletions

View File

@@ -1158,17 +1158,13 @@ class TestNativeToolCallingJsonParseError:
mock_task.description = "test"
mock_task.id = "test-id"
executor = object.__new__(CrewAgentExecutor)
executor.agent = mock_agent
executor.task = mock_task
executor.crew = Mock()
executor.tools = structured_tools
executor.original_tools = tools
executor.tools_handler = None
executor._printer = Mock()
executor.messages = []
return executor
return CrewAgentExecutor(
agent=mock_agent,
task=mock_task,
crew=Mock(),
tools=structured_tools,
original_tools=tools,
)
def test_malformed_json_returns_parse_error(self) -> None:
"""Malformed JSON args must return a descriptive error, not silently become {}."""

View File

@@ -331,17 +331,11 @@ def test_executor_save_to_memory_calls_extract_then_remember_per_item() -> None:
mock_task.description = "Do research"
mock_task.expected_output = "A report"
class MinimalExecutor(CrewAgentExecutorMixin):
crew = None
agent = mock_agent
task = mock_task
iterations = 0
max_iter = 1
messages = []
_i18n = MagicMock()
_printer = Printer()
executor = MinimalExecutor()
executor = CrewAgentExecutorMixin(
crew=None,
agent=mock_agent,
task=mock_task,
)
executor._save_to_memory(
AgentFinish(thought="", output="We found X and Y.", text="We found X and Y.")
)
@@ -366,19 +360,13 @@ def test_executor_save_to_memory_skips_delegation_output() -> None:
mock_agent._logger = MagicMock()
mock_task = MagicMock(description="Task", expected_output="Out")
class MinimalExecutor(CrewAgentExecutorMixin):
crew = None
agent = mock_agent
task = mock_task
iterations = 0
max_iter = 1
messages = []
_i18n = MagicMock()
_printer = Printer()
delegate_text = f"Action: {sanitize_tool_name('Delegate work to coworker')}"
full_text = delegate_text + " rest"
executor = MinimalExecutor()
executor = CrewAgentExecutorMixin(
crew=None,
agent=mock_agent,
task=mock_task,
)
executor._save_to_memory(
AgentFinish(thought="", output=full_text, text=full_text)
)