Speculative fix for a sometimes speech crash bug.

This commit is contained in:
Storm Dragon
2026-05-19 01:54:09 -04:00
parent 19194e73fc
commit f09437ea60
4 changed files with 215 additions and 113 deletions
@@ -0,0 +1,35 @@
import json
import time
from fenrirscreenreader.core import remoteInstanceRegistry
def test_write_instance_prunes_stale_registry_files(tmp_path, monkeypatch):
monkeypatch.setattr(
remoteInstanceRegistry, "get_registry_dir", lambda: str(tmp_path)
)
monkeypatch.setattr(
remoteInstanceRegistry,
"process_exists",
lambda pid: pid == 456,
)
stale_instance = tmp_path / "123.json"
stale_instance.write_text(
json.dumps(
{
"pid": 123,
"updated_at": time.time(),
}
)
+ "\n",
encoding="utf-8",
)
invalid_instance = tmp_path / "invalid.json"
invalid_instance.write_text("not json\n", encoding="utf-8")
remoteInstanceRegistry.write_instance({"pid": 456})
assert not stale_instance.exists()
assert not invalid_instance.exists()
assert (tmp_path / "456.json").exists()