finish the testing framework

This commit is contained in:
2026-01-16 20:15:34 +01:00
parent 2e097e4e54
commit 8de36aa975
10 changed files with 1044 additions and 62 deletions

View File

@@ -28,7 +28,7 @@ Mosis is a **virtual smartphone OS** for VR games and applications. It provides
| # | Milestone | Status | Description |
|---|-----------|--------|-------------|
| 1 | Cross-Platform Kernel | ✅ Complete | Desktop designer with shared kernel code |
| 2 | Testing Framework | 🔶 80% | Automated UI testing and inspection |
| 2 | Testing Framework | ✅ Complete | Automated UI testing and inspection |
| 3 | Virtual Hardware | ❌ Not started | Camera, mic, speaker, filesystem APIs |
| 4 | App Sandboxing | ❌ Not started | Lua/WASM runtime, package format |
| 5 | WebRTC Bridge | ❌ Not started | Phone-to-phone communication |
@@ -59,7 +59,7 @@ Mosis is a **virtual smartphone OS** for VR games and applications. It provides
---
## Milestone 2: Testing Automation 🔶 80% COMPLETE
## Milestone 2: Testing Automation COMPLETE
**Goal**: Automated UI testing for rapid iteration and AI agent verification.
@@ -74,23 +74,10 @@ Mosis is a **virtual smartphone OS** for VR games and applications. It provides
- LogParser (navigation event verification)
- [x] All 5 navigation tests passing
- [x] Android event injection via ADB broadcast
### Remaining Tasks
- [ ] **Action Recording**
- Capture tap, swipe, long_press to JSON
- Record timestamps for replay timing
- Save to `test-recordings/*.json`
- [ ] **Action Playback**
- Load recorded JSON
- Replay with timing
- Capture results at each step
- [ ] **Screenshot Diff**
- Compare two PNG screenshots
- Highlight pixel differences
- Report diff percentage
- [x] **Action Recording** - Capture tap, swipe, long_press to JSON with timestamps
- [x] **Action Playback** - Load recorded JSON and replay with timing
- [x] **Screenshot Diff** - Pixel-level PNG comparison with configurable tolerance
- [x] **GLFW Input Hooks** - Automatic mouse/key recording via forked backend
### Test Recording Format
@@ -435,10 +422,11 @@ cmake --build build --config Debug
## Current Sprint: Complete Partial Tasks
### Priority 1: Testing Framework Completion
- [ ] Action recording (capture interactions to JSON)
- [ ] Action playback (replay with timing)
- [ ] Screenshot diff (visual regression)
### Priority 1: Testing Framework Completion ✅ DONE
- [x] Action recording (capture interactions to JSON)
- [x] Action playback (replay with timing)
- [x] Screenshot diff (visual regression)
- [x] GLFW input hooks for automatic recording
### Priority 2: Remaining System Apps
- [ ] Store app (UI only - browse, install)
@@ -472,4 +460,4 @@ cmake --build build --config Debug
---
*Last updated: 2024-01-16*
*Last updated: 2026-01-16*