Skip to content

test: Tier 8 dev GUI / test-runner infrastructure (post-#784) — registry rewrite + new shortcuts #796

@SlyWombat

Description

@SlyWombat

Scope

Tier 8 of the post-#784 test-suite overhaul. Covers test-running infrastructure under tools/devgui/:

  • tools/devgui/server.py — Dev GUI that auto-discovers test files and runs them via subprocess (port 9090, python tools/devgui/server.py)
  • tools/devgui/build_runner.py — wraps build_release.ps1
  • tools/devgui/test_registry.py — test-discovery helper
  • tools/devgui/spa/ — Dev GUI SPA assets

The Dev GUI lives next to the orchestrator; it's used to run individual test files and view results in a browser. Post-PR-7, the auto-discovered test list shrinks (multiple test files delete) and several files rename or migrate. The Dev GUI must reflect the new layout without manual config edits.

Architectural ground rules

  • The Dev GUI auto-discovers test files via filesystem scan (tests/test_*.py, tests/regression/*.py, tests/aim/test_*.py). After PR-7's deletions, the scan should automatically reflect the new state.
  • If test_registry.py carries a hardcoded test list (e.g. for grouping or labelling), entries pointing at deleted files must be removed.
  • The Dev GUI also runs build commands (build_release.ps1, etc.); those are independent of the aim/cal rewrite.

Inventory

KEEP

File Concern PR gate Action
tools/devgui/server.py Dev GUI HTTP server dependent on test_registry KEEP. Verify auto-discovery still works after PR-7 deletes ~25 cal-test files.
tools/devgui/build_runner.py Build runner wrapper independent KEEP.
tools/devgui/spa/ Dev GUI SPA assets independent KEEP.

REWRITE

File / subsection Old target New target New shape PR gate Action
tools/devgui/test_registry.py § hardcoded test list (if any) List entries for test_coverage_math.py, test_mover_calibration.py, test_mover_inverted.py, test_sphere_model.py, test_sphere_model-DAVEBOOK-5.py, test_calibrate_aim.py, test_calibrate_flash.py, test_calibrate_live.py, test_calibration_synthetic.py, test_battleship_camera_visible.py, test_battleship_seed_grid.py, test_advanced_scan_recommend.py, test_realspace_cal.py, test_settle_sweep.py, test_surface_aware_cal.py, test_target_selection.py, test_live_scan_aim.py, test_calibration_lock.py (if rewritten — see Tier 1), test_cal_home_anchor.py, test_cal_orphan_recovery.py, test_cal_trace.py, test_cal_trace_v2.py New entries for tests/aim/test_park.py, tests/aim/test_save_home_persistence.py, tests/regression/test_sphere_corpus.py Updated registry PR-7 REWRITE the registry alongside PR-7 deletions.

DELETE

None — no Dev GUI module is itself on the deletion track.

ADD

New entry Purpose Suggested location PR gate
Self-test for the Dev GUI's auto-discovery Verify the registry rebuilds itself when test files are added/removed (smoke test against a fixture directory). tools/devgui/tests/test_discovery.py (NEW) independent
Sphere-corpus runner shortcut One-click run for tools/sphere_corpus_runner.py (Tier 7 deliverable) from the Dev GUI homepage. tools/devgui/spa/ UI button + handler in server.py PR-7
Save-Home wizard end-to-end test runner shortcut One-click run for the new tests/test_save_home_wizard.py Playwright test. tools/devgui/spa/ PR-6

PR sequencing

  • KEEP rows independent.
  • REWRITE row lands in PR-7 alongside the cal-test deletions.
  • ADD rows land with the corresponding new test files.

Acceptance

  • After PR-7, python tools/devgui/server.py starts cleanly, navigates to http://localhost:9090, and auto-discovers the post-deletion test set without errors or stale entries.
  • The Dev GUI runs the new sphere-corpus runner via a one-click shortcut.
  • No registry entry points at a deleted file.

Open questions for human review

  1. Does tools/devgui/test_registry.py use auto-discovery (glob('tests/test_*.py')) or a hardcoded list? Determines whether REWRITE is a code edit or a no-op. Need a head -50 tools/devgui/test_registry.py during execution.
  2. Is the Dev GUI used in CI (e.g. headless test orchestration) or only for manual dev-time runs? Determines the urgency of the post-PR-7 verification.

Cross-references

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions