A simple, high performance text editor.
Replaces the ad-hoc adb/nohup sequences used throughout verification with one self-contained script: up/down/status, app start|stop|restart, shot, log, tap, type, cmd (one-shot editor debug command), perf on|off|pull, push/pull of Notes test files. Encodes the machine-local paths (Notes/, PadPerf/ profiler + cmd file) in one auditable place. Reliability findings baked in (each hit during testing): - The AVD auto-saves a 'default_boot' instant-boot snapshot on clean shutdown; a corrupted one makes the emulator segfault during restore (device never comes online). up() detects it (process death / no adb device within PAD_ONLINE_TIMEOUT) and falls back to a cold boot with -no-snapshot-load; the next clean down() re-saves a good snapshot, so this self-heals. down() is the only sanctioned stop (clean kill saves the snapshot; SIGKILL corrupts it). - The emulator process identity is ambiguous (launcher vs qemu-system-*-headless), and crashpad/netsimd children carry the AVD name in their command lines. Liveness and kill therefore use a tight signature: comm matches qemu-system-* AND cmdline contains ' -avd <AVD>' (never a broad pkill -f pattern — one matched and killed the calling shell during testing). - Before any launch, orphaned qemu instances are cleared (they hold the AVD lock and make new launches fail silently); before starting a replacement, the old one must be fully gone (lingering device/lock causes false success). - Timeouts: short online window for the snapshot attempt, full BOOT_TIMEOUT for the fallback cold boot (~20 s). Tested: idempotent up, 10 s snapshot-restore boot, forced fallback (30 s end-to-end, verified correct instance), orphan cleanup, perf/cmd/ push/pull/shot/log on-device. doc/README.md now documents it. |
||
|---|---|---|
| .qwen | ||
| cmd/pad | ||
| doc | ||
| internal | ||
| scripts | ||
| .DS_Store | ||
| .gitignore | ||
| go.mod | ||
| go.sum | ||