Speculative fix for a sometimes speech crash bug.
This commit is contained in:
@@ -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()
|
||||
Reference in New Issue
Block a user