From 580e4b04f458a00140a1255e0202755509c0e93f Mon Sep 17 00:00:00 2001 From: efrazer-oai Date: Tue, 23 Jun 2026 20:06:19 -0700 Subject: [PATCH] Test symlinked Codex home sockets --- codex-rs/cli/tests/app_server.rs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/codex-rs/cli/tests/app_server.rs b/codex-rs/cli/tests/app_server.rs index 3d742072eb..0d368e7141 100644 --- a/codex-rs/cli/tests/app_server.rs +++ b/codex-rs/cli/tests/app_server.rs @@ -96,3 +96,35 @@ fn proxy_ensure_listener_rejects_a_non_default_socket() -> Result<()> { ); Ok(()) } + + +#[cfg(unix)] +#[test] +fn proxy_ensure_listener_accepts_default_socket_through_symlinked_codex_home() -> Result<()> { + use std::os::unix::fs::symlink; + + let real_home = TempDir::new()?; + let link_parent = TempDir::new()?; + let linked_home = link_parent.path().join("linked-codex-home"); + symlink(real_home.path(), &linked_home)?; + + let socket_path = linked_home.join("app-server-control/app-server-control.sock"); + let mut proxy = codex_command(&linked_home)?; + proxy + .args([ + "app-server", + "proxy", + "--ensure-listener", + "--sock", + socket_path.to_str().expect("temp path should be UTF-8"), + ]) + .assert() + .success(); + + let mut stop = codex_command(&linked_home)?; + stop.args(["app-server", "daemon", "stop"]) + .assert() + .success(); + + Ok(()) +}