Live Test Results¶
16 tests | 1 passed | 15 failed, 2026-05-11 11:13
Platform: ? (http://192.168.1.234:80), version
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 |
❌ FAIL | 16/18 |
| test2 | Add a second EffectsLayer (LinesEffectModule) and verify both effects run simultaneously. | integration |
❌ FAIL | 5/8 |
| test3 | Change GridLayout depth then width and verify the pipeline resizes without crashing. | behavioral |
❌ FAIL | 0/10 |
| test4 | Verify DeviceDiscoveryModule is running and has discovered at least one peer. | integration |
❌ FAIL | 0/3 |
| test5 | Art-Net loopback: ArtNetOut on sender DriverLayer, ArtNetIn on receiver EffectsLayer; verify packets_rx > 0. | integration |
❌ FAIL | 1/12 |
| test6 | GET / returns 200 with gzip-encoded HTML body (frontend bundle embedded in firmware). | smoke |
❌ FAIL | 0/3 |
| test7 | Two GridLayouts side by side under one DriverLayer: combined extent 8x2, driver ms_per_tick > 0. | behavioral |
❌ FAIL | 0/23 |
| test8 | Change SineEffect type twice via REST and verify schema (control set) updates each time; confirm no crash. | behavioral |
❌ FAIL | 4/13 |
| scenario_base_pipeline_32x32 | Scenario replay: base-pipeline-32x32 | behavioral |
❌ FAIL | 0/11 |
| scenario_base_pipeline_64x64 | Scenario replay: base-pipeline-64x64 | behavioral |
❌ FAIL | 0/13 |
| scenario_base_pipeline_speed | Scenario replay: base-pipeline-speed | behavioral |
❌ FAIL | 0/12 |
| scenario_base_pipeline | Scenario replay: base-pipeline | behavioral |
❌ FAIL | 0/10 |
| scenario_four_layers | Scenario replay: four-layers | behavioral |
❌ FAIL | 0/15 |
| scenario_two_layers | Scenario replay: two-layers | behavioral |
❌ FAIL | 0/11 |
| scenario_xmas_tree_3d | Scenario replay: xmas-tree-3d | behavioral |
❌ FAIL | 0/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 | n/a | n/a |
| base-pipeline-32x32 | resize-32h | n/a | n/a |
| base-pipeline-64x64 | add-ripples | n/a | n/a |
| base-pipeline-64x64 | resize-32h | n/a | n/a |
| base-pipeline-64x64 | resize-64h | n/a | n/a |
| base-pipeline-speed | add-ripples | n/a | n/a |
| base-pipeline-speed | speed-slow | n/a | n/a |
| base-pipeline-speed | speed-default | n/a | n/a |
| base-pipeline-speed | speed-fast | n/a | n/a |
| base-pipeline | add-status | n/a | n/a |
| base-pipeline | add-driver | n/a | n/a |
| base-pipeline | add-ripples | n/a | n/a |
| base-pipeline | set-speed | n/a | n/a |
| four-layers | add-ripples | n/a | n/a |
| four-layers | add-lines | n/a | n/a |
| four-layers | add-gameoflife | n/a | n/a |
| four-layers | add-noise | n/a | n/a |
| two-layers | add-ripples | n/a | n/a |
| two-layers | add-lines | n/a | n/a |
| xmas-tree-3d | add-ripples | n/a | n/a |
Failures¶
test1¶
- ❌ grid1 width=10 — got 64
- ❌ grid1 height=10 — got 32
test2¶
- ❌ effects2 ms_per_tick > 0 — ms_per_tick=0.000
- ❌ ripples1 still running after lines added — checksum=0
- ❌ driver1 blending two sources, ms_per_tick > 0 — ms_per_tick=0.000
test3¶
- ❌ set grid1 depth=5
- ❌ grid1 depth=5 applied — got None
- ❌ ripples1 running after depth resize — checksum=0
- ❌ ripples1 checksum changed (pixel space grew 5×) — before=0 after=0
- ❌ driver1 running after depth resize
- ❌ set grid1 width=20
- ❌ grid1 width=20 applied — got None
- ❌ ripples1 running after width resize — checksum=0
- ❌ ripples1 checksum changed (pixel space grew 2×) — before=0 after=0
- ❌ driver1 running after width resize
test4¶
- ❌ discovery1 present
- ❌ healthReport format ok ('')
- ❌ at least 1 peer discovered (devices=0) — devices=0 — expected ≥1 (both PC and ESP32 must be running)
test5¶
- ❌ add tx_eff
- ❌ add tx_sine
- ❌ add tx_drv
- ❌ add preview_tx as child of tx_drv
- ❌ add artout
- ❌ add rx_eff
- ❌ add artin
- ❌ add rx_drv
- ❌ add preview_rx as child of rx_drv
- ❌ artout sent packets — packets_tx=0
- ❌ artin received packets (broadcast loopback) — packets_rx=0
test6¶
- ❌ GET / returns HTTP 200 — got 0
- ❌ response body non-empty (frontend bundle present in firmware) — 0 bytes
- ❌ Content-Encoding: gzip — got ''
test7¶
- ❌ add driver7
- ❌ add preview7 as child of driver7
- ❌ add grid7a as child of driver7
- ❌ set grid7a width=4
- ❌ set grid7a height=2
- ❌ set grid7a depth=1
- ❌ set grid7a offsetX=0
- ❌ add grid7b as child of driver7
- ❌ set grid7b width=4
- ❌ set grid7b height=2
- ❌ set grid7b depth=1
- ❌ set grid7b offsetX=4
- ❌ add eff7
- ❌ add ripples7
- ❌ driver7 present
- ❌ grid7a present
- ❌ grid7b present
- ❌ eff7 present
- ❌ ripples7 present
- ❌ driver7 health parseable — {}
- ❌ driver7 ms_per_tick > 0 (pipeline running) — ms_per_tick=0.000
- ❌ eff7 ms_per_tick > 0 — ms_per_tick=0.000
- ❌ ripples7 producing pixels (checksum non-zero) — checksum=0
test8¶
- ❌ add effects_rc
- ❌ add sine_rc
- ❌ type=0 baseline: frequency control present
- ❌ set type=1 (1st change)
- ❌ type=1 after 1st change: speed control present
- ❌ set type=0 (2nd change)
- ❌ type=0 after 2nd change: frequency control present
- ❌ set type=1 (3rd change)
- ❌ type=1 after 3rd change: speed control present
scenario_base_pipeline_32x32¶
- ❌ add-network: addModule NetworkModule/network1 —
- ❌ add-sta: addModule WifiStaModule/sta1 —
- ❌ add-ap: addModule WifiApModule/ap1 —
- ❌ add-status: addModule SystemStatusModule/sysinfo1 —
- ❌ add-driver: addModule DriverLayer/driver1 —
- ❌ add-grid-16: addModule GridLayout/grid1 —
- ❌ add-preview: addModule PreviewModule/preview1 —
- ❌ add-effects: addModule EffectsLayer/effects1 —
- ❌ add-ripples: addModule RipplesEffectModule/ripples1 —
- ❌ resize-32: setControl grid1.width=32 —
- ❌ resize-32h: setControl grid1.height=32 —
scenario_base_pipeline_64x64¶
- ❌ add-network: addModule NetworkModule/network1 —
- ❌ add-sta: addModule WifiStaModule/sta1 —
- ❌ add-ap: addModule WifiApModule/ap1 —
- ❌ add-status: addModule SystemStatusModule/sysinfo1 —
- ❌ add-driver: addModule DriverLayer/driver1 —
- ❌ add-grid-16: addModule GridLayout/grid1 —
- ❌ add-preview: addModule PreviewModule/preview1 —
- ❌ add-effects: addModule EffectsLayer/effects1 —
- ❌ add-ripples: addModule RipplesEffectModule/ripples1 —
- ❌ resize-32: setControl grid1.width=32 —
- ❌ resize-32h: setControl grid1.height=32 —
- ❌ resize-64: setControl grid1.width=64 —
- ❌ resize-64h: setControl grid1.height=64 —
scenario_base_pipeline_speed¶
- ❌ add-network: addModule NetworkModule/network1 —
- ❌ add-sta: addModule WifiStaModule/sta1 —
- ❌ add-ap: addModule WifiApModule/ap1 —
- ❌ add-status: addModule SystemStatusModule/sysinfo1 —
- ❌ add-driver: addModule DriverLayer/driver1 —
- ❌ add-grid: addModule GridLayout/grid1 —
- ❌ add-preview: addModule PreviewModule/preview1 —
- ❌ add-effects: addModule EffectsLayer/effects1 —
- ❌ add-ripples: addModule RipplesEffectModule/ripples1 —
- ❌ speed-slow: setControl ripples1.speed=10 —
- ❌ speed-default: setControl ripples1.speed=50 —
- ❌ speed-fast: setControl ripples1.speed=90 —
scenario_base_pipeline¶
- ❌ add-network: addModule NetworkModule/network1 —
- ❌ add-sta: addModule WifiStaModule/sta1 —
- ❌ add-ap: addModule WifiApModule/ap1 —
- ❌ add-status: addModule SystemStatusModule/sysinfo1 —
- ❌ add-driver: addModule DriverLayer/driver1 —
- ❌ add-grid: addModule GridLayout/grid1 —
- ❌ add-preview: addModule PreviewModule/preview1 —
- ❌ add-effects: addModule EffectsLayer/effects1 —
- ❌ add-ripples: addModule RipplesEffectModule/ripples1 —
- ❌ set-speed: setControl ripples1.speed=75 —
scenario_four_layers¶
- ❌ add-network: addModule NetworkModule/network1 —
- ❌ add-sta: addModule WifiStaModule/sta1 —
- ❌ add-ap: addModule WifiApModule/ap1 —
- ❌ add-status: addModule SystemStatusModule/sysinfo1 —
- ❌ add-driver: addModule DriverLayer/driver1 —
- ❌ add-grid: addModule GridLayout/grid1 —
- ❌ add-preview: addModule PreviewModule/preview1 —
- ❌ add-effects1: addModule EffectsLayer/effects1 —
- ❌ add-ripples: addModule RipplesEffectModule/ripples1 —
- ❌ add-effects2: addModule EffectsLayer/effects2 —
- ❌ add-lines: addModule LinesEffectModule/lines1 —
- ❌ add-effects3: addModule EffectsLayer/effects3 —
- ❌ add-gameoflife: addModule GameOfLifeEffect/gol1 —
- ❌ add-effects4: addModule EffectsLayer/effects4 —
- ❌ add-noise: addModule NoiseEffect2D/noise1 —
scenario_two_layers¶
- ❌ add-network: addModule NetworkModule/network1 —
- ❌ add-sta: addModule WifiStaModule/sta1 —
- ❌ add-ap: addModule WifiApModule/ap1 —
- ❌ add-status: addModule SystemStatusModule/sysinfo1 —
- ❌ add-driver: addModule DriverLayer/driver1 —
- ❌ add-grid: addModule GridLayout/grid1 —
- ❌ add-preview: addModule PreviewModule/preview1 —
- ❌ add-effects1: addModule EffectsLayer/effects1 —
- ❌ add-ripples: addModule RipplesEffectModule/ripples1 —
- ❌ add-effects2: addModule EffectsLayer/effects2 —
- ❌ add-lines: addModule LinesEffectModule/lines1 —
scenario_xmas_tree_3d¶
- ❌ add-network: addModule NetworkModule/network1 —
- ❌ add-sta: addModule WifiStaModule/sta1 —
- ❌ add-ap: addModule WifiApModule/ap1 —
- ❌ add-status: addModule SystemStatusModule/sysinfo1 —
- ❌ add-driver: addModule DriverLayer/driver1 —
- ❌ add-tree: addModule XmasTreeLayout/tree1 —
- ❌ add-preview: addModule PreviewModule/preview1 —
- ❌ add-effects: addModule EffectsLayer/effects1 —
- ❌ add-ripples: addModule RipplesEffectModule/ripples1 —