llamacppctl/tests/test_lock_ops.py

31 lines
799 B
Python
Raw Normal View History

import sys
from pathlib import Path
import pytest
sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "src"))
from llamacppctl.lock_ops import FileLock, LockError # noqa: E402
def test_lock_acquire_and_release(tmp_path):
lock_path = tmp_path / "test.lock"
with FileLock(lock_path):
assert lock_path.exists()
# released cleanly, can acquire again
with FileLock(lock_path):
pass
def test_lock_busy_raises(tmp_path):
lock_path = tmp_path / "busy.lock"
with FileLock(lock_path):
with pytest.raises(LockError):
with FileLock(lock_path):
pass
def test_lock_creates_parent_dirs(tmp_path):
lock_path = tmp_path / "nested" / "dir" / "test.lock"
with FileLock(lock_path):
assert lock_path.exists()