Quick test mode for simulation tests

This commit is contained in:
Fahad
2025-06-23 18:05:31 +04:00
parent 9167e6d845
commit 8c1814d4eb
2 changed files with 21 additions and 18 deletions

View File

@@ -145,7 +145,9 @@ python communication_simulator_test.py --quick --verbose
- `planner_validation` - Planner tool with flash model and complex planning workflows - `planner_validation` - Planner tool with flash model and complex planning workflows
- `token_allocation_validation` - Token allocation and conversation history buildup testing - `token_allocation_validation` - Token allocation and conversation history buildup testing
**Why these 6 tests:** They cover all major tools (chat, planner, consensus, codereview + analyze, debug, thinkdeep), extensively test conversation memory functionality, use flash/flashlite models, and provide comprehensive app functionality coverage in minimal time. **Why these 6 tests:** They cover the core functionality including conversation memory (`utils/conversation_memory.py`), chat tool functionality, file processing and deduplication, model selection (flash/flashlite/o3), and cross-tool conversation workflows. These tests validate the most critical parts of the system in minimal time.
**Note:** Some workflow tools (analyze, codereview, planner, consensus, etc.) require specific workflow parameters and may need individual testing rather than quick mode testing.
#### Run Individual Simulator Tests (For Detailed Testing) #### Run Individual Simulator Tests (For Detailed Testing)
```bash ```bash

View File

@@ -40,12 +40,12 @@ Available tests:
Quick Test Mode (for time-limited testing): Quick Test Mode (for time-limited testing):
Use --quick to run the essential 6 tests that provide maximum coverage: Use --quick to run the essential 6 tests that provide maximum coverage:
- cross_tool_continuation - cross_tool_continuation (cross-tool conversation memory)
- conversation_chain_validation - basic_conversation (basic chat functionality)
- consensus_workflow_accurate - content_validation (content validation and deduplication)
- codereview_validation - model_thinking_config (flash/flashlite model testing)
- planner_validation - o3_model_selection (o3 model selection testing)
- token_allocation_validation - per_tool_deduplication (file deduplication for individual tools)
Examples: Examples:
# Run all tests # Run all tests
@@ -91,19 +91,25 @@ class CommunicationSimulator:
self.server_process = None self.server_process = None
self.python_path = self._get_python_path() self.python_path = self._get_python_path()
# Configure logging first
log_level = logging.DEBUG if verbose else logging.INFO
logging.basicConfig(level=log_level, format="%(asctime)s - %(levelname)s - %(message)s")
self.logger = logging.getLogger(__name__)
# Import test registry # Import test registry
from simulator_tests import TEST_REGISTRY from simulator_tests import TEST_REGISTRY
self.test_registry = TEST_REGISTRY self.test_registry = TEST_REGISTRY
# Define quick mode tests (essential tests for time-limited testing) # Define quick mode tests (essential tests for time-limited testing)
# Focus on tests that work with current tool configurations
self.quick_mode_tests = [ self.quick_mode_tests = [
"cross_tool_continuation", "cross_tool_continuation", # Cross-tool conversation memory
"conversation_chain_validation", "basic_conversation", # Basic chat functionality
"consensus_workflow_accurate", "content_validation", # Content validation and deduplication
"codereview_validation", "model_thinking_config", # Flash/flashlite model testing
"planner_validation", "o3_model_selection", # O3 model selection testing
"token_allocation_validation" "per_tool_deduplication" # File deduplication for individual tools
] ]
# If quick mode is enabled, override selected_tests # If quick mode is enabled, override selected_tests
@@ -119,11 +125,6 @@ class CommunicationSimulator:
# Test result tracking # Test result tracking
self.test_results = dict.fromkeys(self.test_registry.keys(), False) self.test_results = dict.fromkeys(self.test_registry.keys(), False)
# Configure logging
log_level = logging.DEBUG if verbose else logging.INFO
logging.basicConfig(level=log_level, format="%(asctime)s - %(levelname)s - %(message)s")
self.logger = logging.getLogger(__name__)
def _get_python_path(self) -> str: def _get_python_path(self) -> str:
"""Get the Python path for the virtual environment""" """Get the Python path for the virtual environment"""
current_dir = os.getcwd() current_dir = os.getcwd()