--- name: gradle_instrumented_test kind: function lang: bash domain: infra version: "1.0.0" purity: impure signature: "gradle_instrumented_test(project_dir: string, module: string) -> int" description: "Corre instrumented tests Compose en emulador/device Android conectado." tags: ["android", "gradle", "test", "compose", "emulator"] uses_functions: ["gradle_run_bash_infra", "adb_wsl_bash_infra"] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [] tested: false tests: [] test_file_path: "" file_path: "bash/functions/infra/gradle_instrumented_test.sh" params: - name: project_dir desc: "Raiz del proyecto Gradle" - name: module desc: "Modulo. Default app" output: "Stdout con resultados. Linea final 'REPORT: '. Exit: 0=OK, 3=no device, otro=fallos tests." notes: "Requiere emulador corriendo. Lanzar antes con android_emulator_start. connectedAndroidTest corre en TODOS los devices conectados." --- ## Ejemplo ```bash # Correr instrumented tests del modulo app gradle_instrumented_test /home/user/MyAndroidProject # Correr instrumented tests de un modulo especifico gradle_instrumented_test /home/user/MyAndroidProject feature_login ``` ## Notas Requiere emulador corriendo. Lanzar antes con android_emulator_start. connectedAndroidTest corre en TODOS los devices conectados. El script verifica que haya al menos un emulador o device conectado antes de lanzar Gradle. Si no hay ninguno, imprime un mensaje descriptivo a stderr y sale con exit code 3, permitiendo al llamador distinguir "no device" de "tests fallaron". La linea `REPORT: ` se imprime siempre al final (incluso si los tests fallan), para que el llamador pueda abrir el reporte HTML independientemente del resultado.