TinyOrch Test Notes¶
tiny_orch_self_test() covers 27 test cases in six categories:
| Category | Cases | Scenario | Verification |
|---|---|---|---|
| Happy Path | 1-3 | create + list_flows | Flow is queryable after creation |
| Error Path | 4-6 | src not found, tool not found, type mismatch | Returns corresponding error codes |
| Full Execution | 7-11 | Two-step flow: add5 → mul2 | Data correctly passes through (10→15→30) |
| Status Query | 12-14 | status, step_count | State is DONE, step count is correct |
| One-Shot Step | 15-16 | run temporary execution | Data correctly passes through |
| Lifecycle | 17-27 | destroy → list, max flows, NULL validation | Clean cleanup, boundaries working correctly |
Self-Test Output Example¶
===== TinyOrch Self-Test =====
✓ [1] create: 'pipe' succeeds
✓ [9] go: pipe executes OK
✓ [10] go: src(10) + add5 = mid(15)
✓ [11] go: mid(15) * mul2 = dst(30)
...
✓ [27] status: NULL orch returns ERR_NULL
-----
27 / 27 tests passed [ALL PASS]
===== TinyOrch Self-Test DONE =====
MQTT Full Flow Test¶
Complete orchestration flow via MQTT (19 steps):
1. BENCH,TEST # verify bench
2. ORCH,TEST # verify orchestrator
3. ORCH,CREATE,daily_scan # create flow
4. BENCH,PUT,raw_0,2 # reserve data slot
5-8. BENCH,PUT,... # reserve all 5 slots
9-12.ORCH,STEP,... ×4 # define 4 steps
13. ORCH,GO,daily_scan # execute
14. ORCH,STATUS,daily_scan # status should be DONE
15. BENCH,DATA # view data
16. ORCH,RUN,... # one-shot single step
17. ORCH,DESTROY,daily_scan # cleanup
18. ORCH,LIST # confirm no residuals
Remote Trigger¶
Send ORCH,TEST via MQTT to /mqtt/server; results are published to /mqtt/node.
Test Environment¶
- Compiled and run with host
gcc, no embedded dependencies - Full flow verified on ESP32-S3 hardware via flash