mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-10 19:07:04 +01:00
Several sessions can now share one phone: a lease covers one package (the real screen stays the default scope, so existing callers keep their meaning), and only phone-wide actions take `--whole-phone`, which is capped at 300 s and runs its `--cleanup` commands exactly once on release or, via a detached reaper, on expiry. The serial is always resolved, never the "default" placeholder that let android_ui and phone_deploy lease different keys for the same phone (2026-09-25). Adds status --json, holds and whoami for phone_vd.sh and the raw-adb hook. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012Ajzz98xksbfak8CaunZWC
15 lines
1.1 KiB
JSON
15 lines
1.1 KiB
JSON
{
|
|
"title": "phone_lease: per-app leases, a short self-cleaning whole-phone lease, one serial",
|
|
"objective": "Two sessions each drive a different app on their own virtual display at the same time, only phone-wide actions take the whole phone, and a forgotten forced-Doze cannot outlive five minutes.",
|
|
"acceptance_criteria": [
|
|
"Package leases on different apps coexist; the same app is exclusive (exit 3).",
|
|
"A whole-phone lease conflicts with every foreign lease in both directions and is clamped to 300 s.",
|
|
"--cleanup commands run exactly once, on release or on expiry, with no holder action needed.",
|
|
"`holds` answers exit 0/1 for this owner and a scope (whole-phone implies every scope); `status --json` lists all live leases.",
|
|
"No caller ever leases a placeholder serial.",
|
|
"phone_deploy.sh and android_ui keep working unchanged."
|
|
],
|
|
"out_of_scope": ["phone_deploy virtual-display default, android_ui --display, the raw-adb hook (other session)."],
|
|
"verifier": "CLI scenario on a temp lease dir; two concurrent phone_vd displays on the real phone; pytest python_pkg/phone_lease 65 passed at 100% branch coverage."
|
|
}
|