Skip to main content
Glama

MCP Git Server

by MementoRC
test-status-README.md6.54 kB
# Test Status Tracking System This system provides intelligent tracking of test implementation status to distinguish between **intentional failures** (TDD red phase) and **real bugs**. ## Problem Solved Before this system: ``` FAILED tests/unit/types/test_git_types.py::TestGitRepositoryPath::test_should_accept_valid_git_repository_path ``` ❌ **Hard to tell**: Is this a bug or expected failure? After this system: ``` EXPECTED FAIL tests/unit/types/test_git_types.py::TestGitRepositoryPath::test_should_accept_valid_git_repository_path [XFAIL] Expected to fail in phase_1_foundation - implementation pending ``` ✅ **Clear**: This is intentional (TDD red phase) ## Key Features ### 1. **Automatic Test Classification** - Tests are automatically marked as `expected_fail` or `critical` - Clear visual distinction in test output - Pattern-based matching for flexible test grouping ### 2. **Development Phase Tracking** - **Phase 1**: Foundation (type system setup) - **Phase 2**: Implementation (core classes) - **Phase 3**: Integration (composite functionality) ### 3. **Enhanced Test Reports** ``` ========== DEVELOPMENT PHASE SUMMARY ========== Current Phase: phase_1_foundation Description: Core type system and basic structures Status: in_progress Expected Failures (TDD Red Phase): 23 Unexpected Failures: 0 ✅ ALL FAILURES ARE EXPECTED (TDD Red Phase) No action required - continue with implementation ``` ### 4. **Immediate Bug Detection** When real bugs occur: ``` ❌ 2 UNEXPECTED FAILURES DETECTED These require immediate attention: - tests/unit/test_server.py::test_basic_functionality - tests/integration/test_api.py::test_error_handling 🚨 NEXT ACTIONS: 1. Fix unexpected failures before proceeding 2. Update .taskmaster/test-status.json if failures are intentional 3. Commit fixes and re-run tests ``` ## Configuration Files ### `.taskmaster/test-status.json` Central configuration defining: - Current development phase - Expected passing/failing test patterns - Phase descriptions and target commits ```json { "current_phase": "phase_1_foundation", "test_phases": { "phase_1_foundation": { "description": "Core type system and basic structures", "status": "in_progress", "expected_passing": [ "tests/unit/test_server.py::test_server_initialization" ], "expected_failing": [ "tests/unit/types/test_git_types.py::*", "tests/unit/types/test_composite_types.py::*" ] } } } ``` ### `tests/conftest.py` Enhanced pytest configuration with: - Automatic test marking based on status - Custom markers for development phases - Enhanced terminal reporting ## Usage Commands ### Check Current Status ```bash python scripts/test_status_manager.py status ``` ### Mark Tests as Implemented ```bash # When you implement GitRepositoryPath class python scripts/test_status_manager.py mark-implemented "tests/unit/types/test_git_types.py::TestGitRepositoryPath::*" ``` ### Mark Tests as Intentionally Failing ```bash # Add new failing tests to tracking python scripts/test_status_manager.py mark-failing "tests/unit/types/test_new_feature.py::*" ``` ### Advance to Next Phase ```bash # Move from phase_1 to phase_2 python scripts/test_status_manager.py next-phase ``` ### Generate Progress Report ```bash python scripts/test_status_manager.py report ``` ### Validate Configuration ```bash python scripts/test_status_manager.py validate ``` ## Workflow Integration ### 1. **Initial Setup** (Done) - Configuration files created - Test tracking system active - All type system tests marked as expected failures ### 2. **Development Workflow** ```bash # 1. Run tests to see current status pytest -v # 2. Implement a feature (e.g., GitRepositoryPath) # ... write code ... # 3. Mark tests as implemented when they pass python scripts/test_status_manager.py mark-implemented "tests/unit/types/test_git_types.py::TestGitRepositoryPath::*" # 4. Run tests again to confirm pytest -v # 5. Commit progress git add . && git commit -m "feat: implement GitRepositoryPath class" ``` ### 3. **Phase Transitions** ```bash # When phase 1 complete, advance to phase 2 python scripts/test_status_manager.py next-phase # Update commit hash in status # Run full test suite to verify phase transition pytest ``` ## Benefits ### 🎯 **Immediate Bug Detection** - Real bugs stand out immediately - No more hidden bugs among expected failures - Clear action items when problems occur ### 📊 **Progress Tracking** - Visual progress through development phases - Percentage completion per phase - Historical tracking of implementation status ### 🔄 **TDD Workflow Support** - Red phase failures clearly marked as expected - Green phase transitions automatically tracked - Refactor phase can safely run all tests ### 👥 **Team Communication** - New team members immediately understand test status - Code reviews include test implementation progress - Stakeholders can see development progress ## Pattern Examples ### Wildcard Patterns ```json "tests/unit/types/test_git_types.py::*" // All tests in file "tests/unit/types/test_git_types.py::TestGitBranch::*" // All tests in class "tests/unit/types/test_*.py::*" // All type tests ``` ### Specific Tests ```json "tests/unit/types/test_git_types.py::TestGitRepositoryPath::test_should_accept_valid_path" ``` ### Phase-Based Patterns ```json // Phase 1: Basic type structure tests "tests/unit/types/test_git_types.py::TestGitRepositoryPath::test_basic_*" // Phase 2: Advanced functionality tests "tests/unit/types/test_git_types.py::TestGitRepositoryPath::test_validation_*" // Phase 3: Integration tests "tests/integration/test_type_integration.py::*" ``` ## Integration with CI/CD The system works seamlessly with existing CI/CD: - Expected failures don't break CI - Unexpected failures immediately fail CI - Progress reports can be included in build artifacts - Status can be updated automatically via commits ## Next Steps 1. ✅ **System Implemented** - Test status tracking active 2. 🔄 **Current**: Begin implementing type classes (GitRepositoryPath, etc.) 3. 📈 **Track Progress**: Use `mark-implemented` as features complete 4. 🚀 **Phase Transitions**: Advance through phases systematically 5. 🎯 **Completion**: All tests passing, no expected failures This system ensures **high confidence** that test failures reflect the **actual project status** and immediately highlights **real issues** that need attention.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MementoRC/mcp-git'

If you have feedback or need assistance with the MCP directory API, please join our Discord server