1.9 KiB
1.9 KiB
Specification: Test Suite Stabilization & Consolidation (test_stabilization_20260302)
Overview
The goal of this track is to stabilize and unify the project's test suite. This involves resolving pervasive asyncio lifecycle errors, consolidating redundant testing paradigms (specifically manual GUI subprocesses), ensuring artifact isolation in ./tests/artifacts/, and implementing functional assertions for currently mocked-out tests.
Functional Requirements
- Asyncio Lifecycle Stabilization:
- Resolve
RuntimeError: Event loop is closedacross the suite. - Implement
ThreadPoolExecutorfor blocking calls in GUI-bound tests. - Audit and fix fixture cleanup in
conftest.py.
- Resolve
- Paradigm Consolidation (from testing_consolidation_20260302):
- Refactor integration/visual tests to exclusively use the
live_guipytest fixture. - Eliminate all manual
subprocess.Popencalls togui_2.pyin thetests/andsimulation/directories.
- Refactor integration/visual tests to exclusively use the
- Artifact Isolation & Discipline:
- All test-generated files (temporary projects, mocks, sessions) MUST be isolated in
./tests/artifacts/. - Prevent leakage into
conductor/tracks/or project root.
- All test-generated files (temporary projects, mocks, sessions) MUST be isolated in
- Enhanced Test Reporting:
- Implement structured, sectioned logging in
./tests/logs/with timestamps.
- Implement structured, sectioned logging in
- Assertion Implementation:
- Replace
pytest.failplaceholders with full functional implementation.
- Replace
- Simulation Regression Fixes:
- Debug and resolve
test_context_sim_liveentry count issues.
- Debug and resolve
Acceptance Criteria
- Full suite run completes without
RuntimeError: Event loop is closedwarnings. - No
subprocess.Popencalls togui_2.pyexist in the test codebase. - All test artifacts are isolated in
./tests/artifacts/. - All tests previously marked with
pytest.failnow have passing functional assertions. - Simulation tests pass with correct entry counts.