diff --git a/tests/test_core.py b/tests/test_core.py index bc28281..9fa455e 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -288,24 +288,32 @@ def test_backup_skips_venv_symlinks_and_unix_sockets(self) -> None: socket_path = home / "app-server-control" / "app-server-control.sock" socket_created = False if hasattr(socket, "AF_UNIX"): - socket_path.parent.mkdir(parents=True) - server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - try: + socket_path.parent.mkdir(parents=True, exist_ok=True) + with tempfile.TemporaryDirectory(prefix="ceb-sock-", dir=temp_parent) as socket_dir: + short_link = Path(socket_dir) / "app-server-control" try: - server.bind(str(socket_path)) - socket_created = True + short_link.symlink_to(socket_path.parent, target_is_directory=True) + bind_path = short_link / socket_path.name except OSError: - if os.name != "nt": - raise - socket_created = False - result = create_backup( - home, - backup_root=root / "backups", - timestamp="codex-backup-special-files", - run_doctor_commands=False, - ) - finally: - server.close() + bind_path = socket_path + if len(str(bind_path)) < 100: + server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + try: + try: + server.bind(str(bind_path)) + except OSError: + if os.name != "nt": + raise + else: + socket_created = True + finally: + server.close() + result = create_backup( + home, + backup_root=root / "backups", + timestamp="codex-backup-special-files", + run_doctor_commands=False, + ) else: result = create_backup( home,