refactor(device): remove single-device state and test branches

This commit is contained in:
somew1nd committed 2026-09-01 11:50:14 -07:00
1 parent cbe8f4f0c6
commit 33c4a0d112
12 files changed
+175 -88

No files matched your search

+21 -2
View File
@@ -156,11 +156,30 @@ def test_disconnect_reconciliation_stops_heartbeat_and_allows_reenrollment(
assert configure.call_count == 2
@patch("artemis.runtime.device_pool.device_pool.get_claimed_serials")
@patch("artemis.runtime.awake_service.AdbClient")
def test_discovery_honors_single_device_policy(adb_client):
def test_discovery_keeps_only_pool_claimed_devices(adb_client, claimed):
"""The pool manages two devices while the ADB server lists three: only the
two claimed devices are kept awake; the unrelated one is left untouched."""
adb_client.return_value.device_list.return_value = [
MagicMock(serial="device-1"),
MagicMock(serial="device-2"),
MagicMock(serial="device-3"),
]
claimed.return_value = {"device-1", "device-2"}
assert _discover_connected_device_ids() == ["device-1", "device-2"]
@patch(
"artemis.runtime.device_pool.device_pool.get_claimed_serials",
return_value=set(),
)
@patch("artemis.runtime.awake_service.AdbClient")
def test_discovery_returns_nothing_when_pool_claims_no_device(adb_client, _claimed):
adb_client.return_value.device_list.return_value = [
MagicMock(serial="device-1"),
MagicMock(serial="device-2"),
]
assert _discover_connected_device_ids() == ["device-1"]
assert _discover_connected_device_ids() == []
+27
View File
@@ -91,6 +91,33 @@ def test_device_pool_list_devices_and_busy_status(monkeypatch):
lock.release()
def test_get_claimed_serials_reflects_locks_and_reservations():
pool = DevicePool()
assert pool.get_claimed_serials() == set()
lock = DeviceExecutionLock("emulator-5554", "claimed by test")
lock.acquire()
bound_ticket = DeviceExecutionLock.reserve(
description="queued task",
device_id="pixel-8-pro",
session_id="queued-session",
)
unbound_ticket = DeviceExecutionLock.reserve(
description="unbound task",
device_id="pending",
session_id="pending-session",
)
try:
# Locked and reserved serials are claimed; the unbound placeholder is not.
assert pool.get_claimed_serials() == {"emulator-5554", "pixel-8-pro"}
finally:
DeviceExecutionLock.cancel_reservation(bound_ticket)
DeviceExecutionLock.cancel_reservation(unbound_ticket)
lock.release()
assert pool.get_claimed_serials() == set()
RAW_DEVICE = ("emulator-5554", "device", "Emulator", "sdk")