Spaces:
Running
Running
RemiFabre commited on
Commit Β·
ce5ae30
1
Parent(s): 57e03b6
Update docs to reference deploy_wireless.sh and stop_app.sh
Browse files- MANUAL_TESTING.md: replace manual startup commands with deploy script,
add Wireless vs Lite instructions, reference stop_app.sh
- TESTING.md: add "Deploying to the robot" section, add scripts to layout
- REMOTE_TESTING.md: fix Python version (3.10 β 3.12), cross-ref deploy
- MANUAL_TESTING.md +26 -4
- TESTING.md +28 -0
- tests/REMOTE_TESTING.md +7 -1
MANUAL_TESTING.md
CHANGED
|
@@ -6,11 +6,33 @@ Run through this checklist after significant changes, on each platform
|
|
| 6 |
|
| 7 |
**Prerequisites:**
|
| 8 |
- Reachy Mini robot powered on and connected (Wireless or Lite)
|
| 9 |
-
- App
|
| 10 |
-
-
|
| 11 |
- A short WAV or MP3 file ready for upload tests (~2-5s)
|
| 12 |
- Hugging Face CLI logged in (`huggingface-cli login`) for HF tests
|
| 13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
---
|
| 15 |
|
| 16 |
## 1. Startup & Page Load
|
|
@@ -176,8 +198,8 @@ Run through this checklist after significant changes, on each platform
|
|
| 176 |
| 13.8 | **Rapid record/play cycles** | Record 1.5s, play it, record again, play again. Repeat 5 times. Robot should stay responsive, no stuck states. |
|
| 177 |
| 13.9 | **Delete a file externally** | While app is running, delete a `.json` file from the dataset folder. Click Refresh. Move disappears from list. No crash. |
|
| 178 |
| 13.10 | **Replace a .wav file** | Copy a different WAV file over an existing move's `.wav`. Click Refresh. Play the move β new audio plays. |
|
| 179 |
-
| 13.11 | **Server unavailable** | Stop the
|
| 180 |
-
| 13.12 | **No robot connected** | Start app without robot. App may fail to start or show error in terminal. UI should not hang. |
|
| 181 |
|
| 182 |
---
|
| 183 |
|
|
|
|
| 6 |
|
| 7 |
**Prerequisites:**
|
| 8 |
- Reachy Mini robot powered on and connected (Wireless or Lite)
|
| 9 |
+
- App deployed and running on the robot (see below)
|
| 10 |
+
- Browser open at `http://reachy-mini.local:8042`
|
| 11 |
- A short WAV or MP3 file ready for upload tests (~2-5s)
|
| 12 |
- Hugging Face CLI logged in (`huggingface-cli login`) for HF tests
|
| 13 |
|
| 14 |
+
**Starting the app (Wireless):**
|
| 15 |
+
|
| 16 |
+
The fastest way to deploy and start marionette on a Wireless robot:
|
| 17 |
+
|
| 18 |
+
```bash
|
| 19 |
+
cd marionette
|
| 20 |
+
./deploy_wireless.sh
|
| 21 |
+
```
|
| 22 |
+
|
| 23 |
+
This syncs your local code to the robot, starts the app via the daemon,
|
| 24 |
+
and streams logs to your terminal. See the script header for prerequisites
|
| 25 |
+
(SSH key setup, daemon status). Pass an IP if mDNS doesn't resolve:
|
| 26 |
+
`./deploy_wireless.sh 192.168.1.42`
|
| 27 |
+
|
| 28 |
+
To stop the app: `./stop_app.sh` (or use the dashboard).
|
| 29 |
+
|
| 30 |
+
**Starting the app (Lite or local dev):**
|
| 31 |
+
|
| 32 |
+
```bash
|
| 33 |
+
cd marionette && python -m marionette
|
| 34 |
+
```
|
| 35 |
+
|
| 36 |
---
|
| 37 |
|
| 38 |
## 1. Startup & Page Load
|
|
|
|
| 198 |
| 13.8 | **Rapid record/play cycles** | Record 1.5s, play it, record again, play again. Repeat 5 times. Robot should stay responsive, no stuck states. |
|
| 199 |
| 13.9 | **Delete a file externally** | While app is running, delete a `.json` file from the dataset folder. Click Refresh. Move disappears from list. No crash. |
|
| 200 |
| 13.10 | **Replace a .wav file** | Copy a different WAV file over an existing move's `.wav`. Click Refresh. Play the move β new audio plays. |
|
| 201 |
+
| 13.11 | **Server unavailable** | Stop the app (`./stop_app.sh`). UI shows "Unable to reach backend." Restart (`./deploy_wireless.sh`) β UI recovers on next poll. |
|
| 202 |
+
| 13.12 | **No robot connected** | Start app without robot (`python -m marionette`). App may fail to start or show error in terminal. UI should not hang. |
|
| 203 |
|
| 204 |
---
|
| 205 |
|
TESTING.md
CHANGED
|
@@ -265,9 +265,37 @@ git push
|
|
| 265 |
- `@pytest.mark.hardware` β tests that require a physical robot (skipped by
|
| 266 |
default unless you run with `-m hardware`)
|
| 267 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 268 |
## Project layout
|
| 269 |
|
| 270 |
```
|
|
|
|
|
|
|
|
|
|
| 271 |
tests/
|
| 272 |
βββ conftest.py # Shared fixtures (TestClient, temp paths, make_wav_bytes)
|
| 273 |
βββ test_api.py # Unit tests β backend API
|
|
|
|
| 265 |
- `@pytest.mark.hardware` β tests that require a physical robot (skipped by
|
| 266 |
default unless you run with `-m hardware`)
|
| 267 |
|
| 268 |
+
## Deploying to the robot (Wireless)
|
| 269 |
+
|
| 270 |
+
For manual testing or quick iteration on a Wireless robot, use the deploy
|
| 271 |
+
script instead of reinstalling via the dashboard:
|
| 272 |
+
|
| 273 |
+
```bash
|
| 274 |
+
cd marionette
|
| 275 |
+
./deploy_wireless.sh # default: reachy-mini.local
|
| 276 |
+
./deploy_wireless.sh 192.168.1.42 # custom IP
|
| 277 |
+
./deploy_wireless.sh --sync-only # sync without starting
|
| 278 |
+
```
|
| 279 |
+
|
| 280 |
+
This rsyncs your local `marionette/` into the robot's site-packages
|
| 281 |
+
(same location the dashboard installs to), stops the current app, starts
|
| 282 |
+
marionette via the daemon API, and streams logs to your terminal.
|
| 283 |
+
|
| 284 |
+
To stop the app:
|
| 285 |
+
|
| 286 |
+
```bash
|
| 287 |
+
./stop_app.sh # default: reachy-mini.local
|
| 288 |
+
./stop_app.sh 192.168.1.42 # custom IP
|
| 289 |
+
```
|
| 290 |
+
|
| 291 |
+
See the script headers for prerequisites (SSH key, daemon, Wireless-only).
|
| 292 |
+
|
| 293 |
## Project layout
|
| 294 |
|
| 295 |
```
|
| 296 |
+
deploy_wireless.sh # Deploy + start on Wireless robot (dev workflow)
|
| 297 |
+
stop_app.sh # Stop the running app via daemon API
|
| 298 |
+
|
| 299 |
tests/
|
| 300 |
βββ conftest.py # Shared fixtures (TestClient, temp paths, make_wav_bytes)
|
| 301 |
βββ test_api.py # Unit tests β backend API
|
tests/REMOTE_TESTING.md
CHANGED
|
@@ -155,7 +155,7 @@ This imports `ReachyMini()` and checks for a response. Times out after
|
|
| 155 |
|
| 156 |
### What's pre-installed on the robot
|
| 157 |
|
| 158 |
-
The robot runs Ubuntu with Python 3.
|
| 159 |
following are already available:
|
| 160 |
|
| 161 |
- `reachy_mini` SDK
|
|
@@ -178,6 +178,12 @@ result = subprocess.run(
|
|
| 178 |
print(result.stdout)
|
| 179 |
```
|
| 180 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 181 |
## Troubleshooting
|
| 182 |
|
| 183 |
| Problem | Solution |
|
|
|
|
| 155 |
|
| 156 |
### What's pre-installed on the robot
|
| 157 |
|
| 158 |
+
The robot runs Ubuntu with Python 3.12 in `/venvs/apps_venv/`. The
|
| 159 |
following are already available:
|
| 160 |
|
| 161 |
- `reachy_mini` SDK
|
|
|
|
| 178 |
print(result.stdout)
|
| 179 |
```
|
| 180 |
|
| 181 |
+
## Deploying the app (not tests)
|
| 182 |
+
|
| 183 |
+
To deploy and run marionette on a Wireless robot for manual testing
|
| 184 |
+
(not automated tests), use `deploy_wireless.sh` from the project root.
|
| 185 |
+
See `TESTING.md` for details.
|
| 186 |
+
|
| 187 |
## Troubleshooting
|
| 188 |
|
| 189 |
| Problem | Solution |
|