mirror of
https://github.com/saphid/frame-control.git
synced 2026-10-06 10:00:34 +02:00
Devices: fixes from review round 8
- A batch of dropped files stays with the headset it was dropped on, and stops if the app switches. - Removing or moving the address in use reroutes at once; a headset with no addresses reaches nothing rather than whatever ~/.ssh/config says. - A late answer to an older device-list request is ignored. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
51ef5d8283
commit
175c39a2b0
3 files changed
+37
-8
No files matched your search
@@ -241,6 +241,17 @@ class Connecting(unittest.TestCase):
|
||||
self.assertIn("No headset", s["error"]["message"])
|
||||
self.assertEqual(self.routes[-1], ("frame-control-no-headset", ["-o", "HostName=no-headset.invalid"]))
|
||||
|
||||
def test_a_headset_without_addresses_reaches_nothing(self):
|
||||
d = self.device("localhost")
|
||||
self.hosts({"localhost": "ok"})
|
||||
self.link.connect(["start"])
|
||||
fl.devices_action(self.link, {"action": "address-remove", "id": d["id"], "host": "localhost"}, None)
|
||||
self.assertIn("HostName=no-address.invalid", self.routes[-1][1]) # at once, not after a retry
|
||||
self.link.connect(["switch"])
|
||||
s = self.link.snapshot()
|
||||
self.assertEqual((s["phase"], s["retry_at"]), ("failed", None))
|
||||
self.assertIn("no addresses", s["error"]["message"])
|
||||
|
||||
def test_a_bare_alias_lets_ssh_config_decide(self):
|
||||
self.link.override = "frame-bare"
|
||||
self.hosts({"frame-bare": "ok"}) # the stand-in ssh has no config: the alias is the host
|
||||
|
||||
Reference in new issue
Block a user