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()