Follows the same pattern as test_esp32_spice_analog.mjs and test_esp32_spice_ntc_bridge.mjs: compile an ESP32 sketch on-the-fly via /api/compile/, boot QEMU through the backend WebSocket, and sweep lux levels while verifying analogRead() returns what ngspice solved. The netlist uses the exact photodiode cards emitted by frontend/.../componentToSpice.ts (D_<id> + I_<id>_ph + DPHOTO model), so any drift in the frontend SPICE mapper surfaces here. Validated against the live Docker container — lux=0/1000/2500 produce raw=4095/2854/992, matching the expected 4095/2854/993 within ±1 LSB and monotonically decreasing with brightness as expected. The package-lock.json churn is a pre-existing drift: eecircuit-engine was in package.json but missing from the lock — npm install re-added it. Companion workflow change (registering the test in backend-e2e-tests.yml) lives in a separate commit that requires a PAT with workflow scope to push. |
||
|---|---|---|
| .. | ||
| e2e | ||
| integration | ||
| unit | ||
| conftest.py | ||