docs(android-test): dual-stack GOA/stage run results (ANR fail)

Record time-bounded F-Droid smoke on both stacks: landings/URIs OK,
unattended withdraw+pay blocked by System UI ANR on low-RAM emulator.
This commit is contained in:
Hernâni Marques 2026-07-17 22:04:39 +02:00
parent 83a3369dd5
commit 8f42306db7
No known key found for this signature in database
2 changed files with 47 additions and 0 deletions

View file

@ -7,3 +7,4 @@ out-gui/
out-source-gui/
out-gui-chain/
out-matrix-*/
out-stack-run-*/

View file

@ -264,6 +264,51 @@ Scripts **today** implement Android only; they should honour:
| **GOA** | explorer mint / `demo-withdraw.json` @ bank.hacktivism.ch | goa-shop templates / Paivana pay-template |
| **stage** | explorer / demo-withdraw @ stage.bank… | fermes / jardin public templates |
### Dual-stack run result (2026-07-17 · headless AVD)
**What ran:** published F-Droid wallet **1.6.1** (`net.taler.wallet.fdroid`),
`run-android-pay-smoke.sh` with **Abheben + Bezahlen**, `SMOKE_STRICT=1`,
per-stack wall **480s** (no full matrix / no Gradle — time-bounded).
Device: `emulator-5554` (TalerWallet34, headless, SwiftShader).
Host RAM ~**3.7GiB** (~150MiB free during run) — under recommended ≥68GiB.
| Stack | Bank / pay entry | Exit | Elapsed | Withdraw URI | Pay URI | wallet-core withdraw | wallet-core pay | ANR | Overall |
|-------|------------------|------|---------|--------------|---------|----------------------|-----------------|-----|---------|
| **goa** | bank.hacktivism.ch · paivana pay-template | **10** | ~106s | delivered | delivered | **NO** | **NO** | **YES** (System UI) | **FAIL** |
| **stage** (*lefrancpaysan*) | stage.bank… · fermes `panier-legumes` order | **10** | ~176s | delivered | delivered | **NO** | **NO** | **YES** (Android System) | **FAIL** |
Neither stack hit the 480s timeout; both finished under 3min with hard fail.
**What worked (infra / landings):**
- adb install F-Droid APK
- GOA + stage **demo-withdraw.json** returned usable `taler://withdraw/…`
- GOA **pay-template** paivana URI built
- stage merchant **template POST**`taler://pay/…/fermes-des-collines/…`
- Intent delivery (`am start VIEW`) for withdraw and pay
- Artifacts under `out-stack-run-20260717-215934/{goa,stage}/` (gitignored)
**What failed (app/GUI on this host):**
- **System UI / Android System ANR** → only Close/Wait; no Confirm/Abheben/Pay taps
- **wallet-core** never showed `prepareBankIntegratedWithdrawal` / pay prepare in logcat
- Chooser noise: **Taler Wallet** + **Taler Wallet Debug** both installed (“Open with”)
- Unattended **Abheben + Bezahlen** not green on this emulator/RAM
**Interpretation:**
| Layer | GOA | stage |
|-------|-----|-------|
| HTTP / bank / merchant reachability for smoke inputs | OK | OK |
| Deep-link plumbing | OK | OK |
| Unattended GUI Confirm → settled | **blocked (ANR)** | **blocked (ANR)** |
| Strict smoke (`SMOKE_STRICT=1`) | fail rc=10 | fail rc=10 |
**Not a stack-specific regression** between GOA and stage in this run — same failure mode (host/emulator).
Settlement proof remains **host CLI e2e/ladder**, not this Android GUI path, until a device with enough RAM is used.
**Retry when:** physical phone or host with more free RAM; ideally uninstall one of fdroid / fdroid.debug to avoid “Open with”; optional `WINDOWED=0` stays default (headless).
---
## Upstream branches (`taler-android` `dev/hernani-inference/*`)
@ -282,6 +327,7 @@ Scripts **today** implement Android only; they should honour:
- [x] Minimal variant documented
- [x] Minimalvariante: was geht / was nicht (Beschränkungen)
- [x] Two stacks (goa / stage)
- [x] Dual-stack run documented (2026-07-17: both FAIL ANR, landings OK)
- [x] Flags design (`AUTO_ANDROID` / `AUTO_GUI` / platform defaults)
- [x] **Headless emulator default** (`EMULATOR_HEADLESS=1`, SwiftShader)
- [x] Linux default = Android suite only