- Modified the autodev state to reflect the current testing phase and details of the new `jetson-e2e` tests. - Enhanced the "How to Test" documentation to provide clearer instructions on the demo replay validation process, including video and tlog alignment steps. - Updated architectural documentation to include the new demo replay operator flow and its dependencies. - Documented the removal of deprecated auto-sync features and clarified the operator-facing UI for replay validation. - Added new entries in the dependencies table for upcoming tasks related to the demo replay flow. These changes improve clarity and usability for operators and developers working with the demo replay system.
2.7 KiB
Phase 5: Test Synchronization
Role: QA engineer and developer Goal: Reconcile the test suite with the refactored codebase — remove obsolete tests, update broken tests, add tests for new code Constraints: All tests must pass at the end of this phase. Do not change production code here — only tests.
Skip condition: If the run name contains testability, skip Phase 5 entirely — no test suite exists yet to synchronize. Proceed directly to Phase 6.
5a. Identify Obsolete Tests
- Compare the pre-refactoring codebase structure (from Phase 0 inventory) with the current state
- Find tests that reference removed functions, classes, modules, or endpoints
- Find tests that duplicate coverage due to merged/consolidated code
- Decide per test: delete (functionality removed) or merge (duplicates)
Write RUN_DIR/test_sync/obsolete_tests.md:
- Test file, test name, reason (target removed / target merged / duplicate coverage), action taken (deleted / merged into)
5b. Update Existing Tests
- Run the full test suite — collect failures and errors
- For each failing test, determine the cause:
- Renamed/moved function or module → update import paths and references
- Changed function signature → update call sites and assertions
- Changed behavior (intentional per refactoring plan) → update expected values
- Changed data structures → update fixtures and assertions
- Fix each test, re-run to confirm it passes
Write RUN_DIR/test_sync/updated_tests.md:
- Test file, test name, change type (import path / signature / assertion / fixture), description of update
5c. Add New Tests
- Identify new code introduced during Phase 4 that lacks test coverage:
- New public functions, classes, or modules
- New interfaces or abstractions introduced during decoupling
- New error handling paths
- Write tests following the same patterns and conventions as the existing test suite
- Ensure coverage targets from Phase 3 are maintained or improved
Write RUN_DIR/test_sync/new_tests.md:
- Test file, test name, target function/module, coverage type (unit / integration / blackbox)
Self-verification:
- All obsolete tests removed or merged
- All pre-existing tests pass after updates
- New code from Phase 4 has test coverage
- Overall coverage meets or exceeds Phase 3 baseline (75% overall, 90% critical-path floor / 100% aim — per
.cursor/rules/cursor-meta.mdcQuality Thresholds) - No tests reference removed or renamed code
Save action: Write test_sync artifacts; implemented tests go into the project's test folder
GATE (BLOCKING): ALL tests must pass before proceeding to Phase 6. If tests fail, fix the tests or ask user for guidance.