README.md
test_custom_chips_boards
Multi-board validation suite for the Velxio Custom Chip system. These tests hit a running backend (the same uvicorn the frontend talks to) and assert that the integration works end-to-end on every supported board family.
Pre-requisites
- Backend running and reachable. By default the suite expects it at
http://127.0.0.1:8765. Override with:export VELXIO_BACKEND_URL=http://localhost:8001 - WASI-SDK installed on the backend host (the
/api/compile-chip/statusendpoint reports this). - Python deps:
pip install httpx websockets pytest pytest-asyncio.
Running
From the repo root:
# All tests
pytest test/test_custom_chips_boards/ -v
# Just the compile-endpoint smoke (no QEMU needed):
pytest test/test_custom_chips_boards/test_compile_endpoint.py -v
# Just the ESP32 WS bridge E2E (requires QEMU running in backend):
pytest test/test_custom_chips_boards/test_esp32_gpio_bridge.py -v
Files
| Test | What it validates |
|---|---|
test_compile_endpoint.py |
All 11 example chips compile via /api/compile-chip and produce valid WASM |
test_esp32_gpio_bridge.py |
An ESP32 sketch can exchange GPIO events with the WebSocket — the same path a custom chip would use |
Why "validation" not "integration"
Custom chips run inside the browser for AVR, RP2040 and ESP32-C3. There's
no Python runtime that can host them. So this suite tests the parts that
do live on the backend (compile endpoint, ESP32 QEMU GPIO bridge), and the
browser-side AVR coverage stays in the JS sandbox at test/test_custom_chips/.
The full multi-board support matrix is documented in
../autosearch/07_multi_board_support.md.