Files
aider/tests/basic/test_utils.py
coder_3 b2bec25c2c fix: handle symlink loops in safe_abs_path() (#4711)
Path.resolve() raises RuntimeError on circular symlinks. Catch
RuntimeError and OSError, fall back to Path.absolute().

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 22:39:35 +13:00

16 lines
410 B
Python

import os
from aider.utils import safe_abs_path
def test_safe_abs_path_symlink_loop(tmp_path):
# Create circular symlink: a -> b -> a
link_a = tmp_path / "link_a"
link_b = tmp_path / "link_b"
link_a.symlink_to(link_b)
link_b.symlink_to(link_a)
# safe_abs_path must not raise, and must return an absolute path
result = safe_abs_path(str(link_a))
assert os.path.isabs(result)