feat(infra): auto-commit con 10 cambios
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -169,6 +169,39 @@ Para diagnosticar un diff: revisar el PNG actual en
|
||||
`cpp/build/tests/visual_actual/<demo>.png` vs el golden en
|
||||
`cpp/tests/golden/<demo>.png`.
|
||||
|
||||
### Tests de UI headless (Dear ImGui Test Engine)
|
||||
|
||||
`fn::run_app_test` (el harness del Test Engine usado por `/e2e-cpp`) crea la
|
||||
ventana GLFW **oculta por defecto** (`GLFW_VISIBLE=FALSE`). El contexto OpenGL
|
||||
real se crea igual, así que el render que el Test Engine ejercita sigue siendo
|
||||
fiel, pero la ventana nunca se mapea en pantalla: cero parpadeo y no roba foco
|
||||
mientras corre la suite. Es el comportamiento preferente para tests de
|
||||
frontend en C++.
|
||||
|
||||
Control del modo (en orden de prioridad):
|
||||
|
||||
| Mecanismo | Efecto |
|
||||
|---|---|
|
||||
| `FN_HEADLESS=0` (env) | Fuerza ventana **visible** — para depurar un test a ojo. |
|
||||
| `FN_HEADLESS=1` (env) | Fuerza oculta (es el default del path de test). |
|
||||
| `cfg.headless = true` | Oculta también `fn::run_app` (apps reales, p.ej. smoke/capture). |
|
||||
| sin nada | `run_app_test` → oculta; `run_app` → visible. |
|
||||
|
||||
Cómo correr la suite sin parpadeo:
|
||||
|
||||
```bash
|
||||
# Host con GL nativo (GPU real): binario directo, ventana oculta, sin parpadeo.
|
||||
./build/linux_tests/apps/<app>/<app>_tests
|
||||
|
||||
# CI / WSL sin display: display virtual en RAM (también headless).
|
||||
xvfb-run -a -s "-screen 0 1280x800x24" \
|
||||
env LIBGL_ALWAYS_SOFTWARE=1 GALLIUM_DRIVER=llvmpipe \
|
||||
./build/linux_tests/apps/<app>/<app>_tests
|
||||
|
||||
# Ver un test a ojo (desactiva headless):
|
||||
FN_HEADLESS=0 ./build/linux_tests/apps/<app>/<app>_tests
|
||||
```
|
||||
|
||||
### CI gate `check_tested.sh`
|
||||
|
||||
`cpp/scripts/check_tested.sh [days]` (default `30`) consulta `registry.db` y
|
||||
|
||||
Reference in New Issue
Block a user