chore: auto-commit (97 archivos)
- .claude/CLAUDE.md - .claude/agents/fn-recopilador/SKILL.md - .claude/rules/INDEX.md - .claude/rules/cpp_apps.md - bash/functions/infra/build_cpp_windows.sh - cpp/CMakeLists.txt - cpp/PATTERNS.md - cpp/framework/app_base.cpp - cpp/framework/app_base.h - dev/issues/README.md - ... Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
---
|
||||
name: e2e_run_cpp_windows
|
||||
lang: bash
|
||||
domain: infra
|
||||
description: "Cross-compila una app C++ del registry para Windows con mingw-w64, deploy al Desktop\\apps de Windows (matando instancia previa con taskkill.exe), lanza el .exe nativamente desde WSL y devuelve stdout + exit code. Pensado para tests headless tipo altsnap_jitter_test."
|
||||
tags: [windows, e2e, cross-compile, test, mingw]
|
||||
purity: impure
|
||||
kind: function
|
||||
signature: "e2e_run_cpp_windows(target string, --no-build, --no-deploy) int"
|
||||
params:
|
||||
- name: target
|
||||
desc: "Nombre del target CMake del registry (ej. altsnap_jitter_test)"
|
||||
- name: --no-build
|
||||
desc: "Saltar cross-compile (usa el .exe ya construido en cpp/build/windows/)"
|
||||
- name: --no-deploy
|
||||
desc: "Saltar copia a Desktop\\apps (asume que ya esta deployed)"
|
||||
output: "Exit code del .exe (0 = pass, no-cero = fail). stdout/stderr del .exe se imprimen tal cual."
|
||||
uses_functions:
|
||||
- build_cpp_windows_bash_infra
|
||||
uses_types: []
|
||||
returns: ""
|
||||
returns_optional: false
|
||||
error_type: "exit_code_bash_core"
|
||||
imports: []
|
||||
example: |
|
||||
source bash/functions/infra/e2e_run_cpp_windows.sh
|
||||
e2e_run_cpp_windows altsnap_jitter_test
|
||||
# cross-compila, taskkill previo, copia a /mnt/c/Users/lucas/Desktop/apps/altsnap_jitter_test/
|
||||
# ejecuta y devuelve exit code
|
||||
tested: false
|
||||
file_path: "bash/functions/infra/e2e_run_cpp_windows.sh"
|
||||
---
|
||||
|
||||
Lanzador para tests e2e de apps C++ en Windows desde WSL. Workflow:
|
||||
|
||||
1. **Cross-compile** via `build_cpp_windows_bash_infra` (skipable con `--no-build`).
|
||||
2. **Localiza** `${target}.exe` bajo `cpp/build/windows/apps/<target>/` o el arbol completo de build.
|
||||
3. **Mata instancia previa** con `taskkill.exe /IM <target>.exe /F` (evita `Permission denied` al copiar el exe).
|
||||
4. **Deploy** a `/mnt/c/Users/lucas/Desktop/apps/<target>/` con sidecars (`assets/`, `runtime/`, `enrichers/`, `*.dll`).
|
||||
5. **Run** nativamente desde WSL (`./target.exe` con cwd en deploy_dir, asi `local_files/` se crea ahi).
|
||||
6. **Exit code** del .exe propaga al return de la funcion.
|
||||
|
||||
Variables de entorno:
|
||||
- `FN_REGISTRY_ROOT` — raiz del registry (auto-detectado).
|
||||
- `BUILD_WIN` — directorio de build cross (default `cpp/build/windows`).
|
||||
- `WIN_DESKTOP_APPS` — root de deploy en Windows (default `/mnt/c/Users/lucas/Desktop/apps`).
|
||||
|
||||
Requiere WSL2 con interop a Windows (cmd.exe, taskkill.exe en PATH) y mingw-w64.
|
||||
Reference in New Issue
Block a user