chore(conductor): Add new track 'Live GUI Testing Infrastructure'

This commit is contained in:
2026-02-23 15:43:32 -05:00
parent 79ebc210bf
commit 8ba5ed4d90
5 changed files with 67 additions and 0 deletions

View File

@@ -12,5 +12,10 @@ This file tracks all major tracks for the project. Each track has its own detail
- [x] **Track: Review vendor api usage in regards to conservative context handling**
*Link: [./tracks/api_metrics_20260223/](./tracks/api_metrics_20260223/)*
---
- [ ] **Track: Live GUI Testing Infrastructure**
*Link: [./tracks/live_gui_testing_20260223/](./tracks/live_gui_testing_20260223/)*

View File

@@ -0,0 +1,5 @@
# Track live_gui_testing_20260223 Context
- [Specification](./spec.md)
- [Implementation Plan](./plan.md)
- [Metadata](./metadata.json)

View File

@@ -0,0 +1,8 @@
{
"track_id": "live_gui_testing_20260223",
"type": "chore",
"status": "new",
"created_at": "2026-02-23T15:43:00Z",
"updated_at": "2026-02-23T15:43:00Z",
"description": "Update all tests to use a live running gui.py with --enable-test-hooks for real-time state and metrics verification."
}

View File

@@ -0,0 +1,24 @@
# Implementation Plan: Live GUI Testing Infrastructure
## Phase 1: Infrastructure & Core Utilities
Establish the mechanism for managing the live GUI process and providing it to tests.
- [ ] Task: Create `tests/conftest.py` with a session-scoped fixture to manage the `gui.py --enable-test-hooks` process.
- [ ] Task: Enhance `api_hook_client.py` with robust connection retries and health checks to handle GUI startup time.
- [ ] Task: Update `conductor/workflow.md` to formally document the "Live GUI Testing" requirement and the use of the `--enable-test-hooks` flag.
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Infrastructure & Core Utilities' (Protocol in workflow.md)
## Phase 2: Test Suite Migration
Migrate existing tests to use the live GUI fixture and API hooks.
- [ ] Task: Refactor `tests/test_api_hook_client.py` and `tests/test_conductor_api_hook_integration.py` to use the live GUI fixture.
- [ ] Task: Refactor GUI performance tests (`tests/test_gui_performance_requirements.py`, `tests/test_gui_stress_performance.py`) to verify real metrics (FPS, memory) via hooks.
- [ ] Task: Audit and update all remaining tests in `tests/` to ensure they either use the live server or are explicitly marked as pure unit tests.
- [ ] Task: Conductor - User Manual Verification 'Phase 2: Test Suite Migration' (Protocol in workflow.md)
## Phase 3: Conductor Integration & Validation
Ensure the Conductor framework itself supports and enforces this new testing paradigm.
- [ ] Task: Verify that new track creation generates plans that include specific API hook verification tasks.
- [ ] Task: Perform a full test run using `run_tests.py` (or equivalent) to ensure 100% pass rate in the new environment.
- [ ] Task: Conductor - User Manual Verification 'Phase 3: Conductor Integration & Validation' (Protocol in workflow.md)

View File

@@ -0,0 +1,25 @@
# Specification: Live GUI Testing Infrastructure
## Overview
Update the testing suite to ensure all tests (especially GUI-related and integration tests) communicate with a live running instance of `gui.py` started with the `--enable-test-hooks` argument. This ensures that tests can verify the actual application state and metrics via the built-in API hooks.
## Functional Requirements
- **Server-Based Testing:** All tests must be updated to interact with the application through its REST API hooks rather than mocking internal components where live verification is possible.
- **Automated GUI Management:** Implement a robust mechanism (preferably a pytest fixture) to start `gui.py --enable-test-hooks` before test execution and ensure it is cleanly terminated after tests complete.
- **Hook Client Integration:** Ensure `api_hook_client.py` is the primary interface for tests to communicate with the running GUI.
- **Documentation Alignment:** Update `conductor/workflow.md` to reflect the requirement for live testing and API hook verification.
## Non-Functional Requirements
- **Reliability:** The process of starting and stopping the GUI must be stable and not leave orphaned processes.
- **Speed:** The setup/teardown of the live GUI should be optimized to minimize test suite overhead.
- **Observability:** Tests should log communication with the API hooks for easier debugging.
## Acceptance Criteria
- [ ] All tests in the `tests/` directory pass when executed against a live `gui.py` instance.
- [ ] New track creation (e.g., via `/conductor:newTrack`) generates plans that include specific API hook verification tasks.
- [ ] `conductor/workflow.md` accurately describes the live testing protocol.
- [ ] Real-time UI metrics (FPS, CPU, etc.) are successfully retrieved and verified in at least one performance test.
## Out of Scope
- Rewriting the entire GUI framework.
- Implementing new API hooks not required for existing test verification.