* WIP: new workflow architecture * WIP: further improvements and cleanup * WIP: cleanup and docks, replace old tool with new * WIP: cleanup and docks, replace old tool with new * WIP: new planner implementation using workflow * WIP: precommit tool working as a workflow instead of a basic tool Support for passing False to use_assistant_model to skip external models completely and use Claude only * WIP: precommit workflow version swapped with old * WIP: codereview * WIP: replaced codereview * WIP: replaced codereview * WIP: replaced refactor * WIP: workflow for thinkdeep * WIP: ensure files get embedded correctly * WIP: thinkdeep replaced with workflow version * WIP: improved messaging when an external model's response is received * WIP: analyze tool swapped * WIP: updated tests * Extract only the content when building history * Use "relevant_files" for workflow tools only * WIP: updated tests * Extract only the content when building history * Use "relevant_files" for workflow tools only * WIP: fixed get_completion_next_steps_message missing param * Fixed tests Request for files consistently * Fixed tests Request for files consistently * Fixed tests * New testgen workflow tool Updated docs * Swap testgen workflow * Fix CI test failures by excluding API-dependent tests - Update GitHub Actions workflow to exclude simulation tests that require API keys - Fix collaboration tests to properly mock workflow tool expert analysis calls - Update test assertions to handle new workflow tool response format - Ensure unit tests run without external API dependencies in CI 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * WIP - Update tests to match new tools * WIP - Update tests to match new tools --------- Co-authored-by: Claude <noreply@anthropic.com>
50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
"""
|
|
Integration test demonstrating that all tools get line numbers by default.
|
|
"""
|
|
|
|
from tools.analyze import AnalyzeTool
|
|
from tools.chat import ChatTool
|
|
from tools.codereview import CodeReviewTool
|
|
from tools.debug import DebugIssueTool
|
|
from tools.precommit import PrecommitTool as Precommit
|
|
from tools.refactor import RefactorTool
|
|
from tools.testgen import TestGenTool
|
|
|
|
|
|
class TestLineNumbersIntegration:
|
|
"""Test that all tools inherit line number behavior correctly."""
|
|
|
|
def test_all_tools_want_line_numbers(self):
|
|
"""Verify that all tools want line numbers by default."""
|
|
tools = [
|
|
ChatTool(),
|
|
AnalyzeTool(),
|
|
CodeReviewTool(),
|
|
DebugIssueTool(),
|
|
RefactorTool(),
|
|
TestGenTool(),
|
|
Precommit(),
|
|
]
|
|
|
|
for tool in tools:
|
|
assert tool.wants_line_numbers_by_default(), f"{tool.get_name()} should want line numbers by default"
|
|
|
|
def test_no_tools_override_line_numbers(self):
|
|
"""Verify that no tools override the base class line number behavior."""
|
|
# Check that tools don't have their own wants_line_numbers_by_default method
|
|
tools_classes = [
|
|
ChatTool,
|
|
AnalyzeTool,
|
|
CodeReviewTool,
|
|
DebugIssueTool,
|
|
RefactorTool,
|
|
TestGenTool,
|
|
Precommit,
|
|
]
|
|
|
|
for tool_class in tools_classes:
|
|
# Check if the method is defined in the tool class itself
|
|
# (not inherited from base)
|
|
has_override = "wants_line_numbers_by_default" in tool_class.__dict__
|
|
assert not has_override, f"{tool_class.__name__} should not override wants_line_numbers_by_default"
|