Live Test Results¶
15 tests | 12 passed | 3 failed — 2026-05-06 23:01
Platform: arduino-esp32 3.3.7 (esp32dev) (http://192.168.1.234:80) — version 1.7.0
Summary¶
| Test | Description | Level | Result | Checks |
|---|---|---|---|---|
| test0 | Verify infrastructure modules (network, system status) are present; add any that are missing. | format |
✅ PASS | 5/5 |
| test1 | Build a Ripples pipeline from scratch: DriverLayer + GridLayout + EffectsLayer + RipplesEffectModule. | integration |
✅ PASS | 18/18 |
| test2 | Add a second EffectsLayer (LinesEffectModule) and verify both effects run simultaneously. | integration |
✅ PASS | 8/8 |
| test3 | Change GridLayout depth then width and verify the pipeline resizes without crashing. | behavioral |
✅ PASS | 10/10 |
| test4 | Verify DeviceDiscoveryModule is running and has discovered at least one peer. | integration |
✅ PASS | 3/3 |
| test5 | Art-Net loopback: ArtNetOut on sender DriverLayer, ArtNetIn on receiver EffectsLayer; verify packets_rx > 0. | integration |
✅ PASS | 10/10 |
| test6 | GET / returns 200 with gzip-encoded HTML body (frontend bundle embedded in firmware). | smoke |
✅ PASS | 4/4 |
| test7 | Two GridLayouts side by side under one DriverLayer: combined extent 8x2, driver ms_per_tick > 0. | behavioral |
✅ PASS | 23/23 |
| scenario_base_pipeline_32x32 | Scenario replay: base-pipeline-32x32 | behavioral |
✅ PASS | 11/11 |
| scenario_base_pipeline_64x64 | Scenario replay: base-pipeline-64x64 | behavioral |
❌ FAIL | 12/13 |
| scenario_base_pipeline_speed | Scenario replay: base-pipeline-speed | behavioral |
✅ PASS | 12/12 |
| scenario_base_pipeline | Scenario replay: base-pipeline | behavioral |
❌ FAIL | 10/11 |
| scenario_four_layers | Scenario replay: four-layers | behavioral |
❌ FAIL | 13/15 |
| scenario_two_layers | Scenario replay: two-layers | behavioral |
✅ PASS | 11/11 |
| scenario_xmas_tree_3d | Scenario replay: xmas-tree-3d | behavioral |
✅ PASS | 9/9 |
Scenarios¶
Scenarios are replayed via REST against a live server. Steps marked measure wait 1+ s for the scheduler window and collect fps and heap from the API.
On PC, fps and heap show as
n/a(sub-µs per tick, below float precision;pal::free_heap_kb()returns 0). Meaningful numbers come from ESP32 runs.
| Scenario | Step | fps | heap free (KB) |
|---|---|---|---|
| base-pipeline-32x32 | add-ripples | 947 | 131 |
| base-pipeline-32x32 | resize-32h | 606 | 114 |
| base-pipeline-64x64 | add-ripples | 995 | 132 |
| base-pipeline-64x64 | resize-32h | 598 | 114 |
| base-pipeline-64x64 | resize-64h | 326 | 95 |
| base-pipeline-speed | add-ripples | 304 | 94 |
| base-pipeline-speed | speed-slow | 298 | 94 |
| base-pipeline-speed | speed-default | 293 | 94 |
| base-pipeline-speed | speed-fast | 309 | 90 |
| base-pipeline | add-status | 17379 | 143 |
| base-pipeline | add-driver | 5143 | 139 |
| base-pipeline | add-ripples | 291 | 95 |
| base-pipeline | set-speed | 281 | 95 |
| four-layers | add-ripples | 289 | 95 |
| four-layers | add-lines | 254 | 68 |
| four-layers | add-gameoflife | n/a | n/a |
| four-layers | add-noise | n/a | 110 |
| two-layers | add-ripples | n/a | 110 |
| two-layers | add-lines | n/a | 110 |
| xmas-tree-3d | add-ripples | n/a | 110 |
Failures¶
scenario_base_pipeline_64x64¶
- ❌ resize-64h: setControl grid1.height=64 — not found
scenario_base_pipeline¶
- ❌ add-ripples: fps 291 >= min 1000 — fps=291 below threshold 1000
scenario_four_layers¶
- ❌ add-effects4: addModule EffectsLayer/effects4 — low heap
- ❌ add-noise: addModule NoiseEffect2D/noise1 — [Errno 54] Connection reset by peer