From 65968564df27c5daee6cc374d5f857ff4593289b Mon Sep 17 00:00:00 2001 From: starr-openai Date: Fri, 29 May 2026 10:32:27 -0700 Subject: [PATCH] Avoid stderr smoke pipe hang --- codex-rs/cli/tests/exec_server.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/codex-rs/cli/tests/exec_server.rs b/codex-rs/cli/tests/exec_server.rs index a2dd80471c..5999434978 100644 --- a/codex-rs/cli/tests/exec_server.rs +++ b/codex-rs/cli/tests/exec_server.rs @@ -2,7 +2,6 @@ use std::io::Read as _; use std::io::Write as _; use std::net::TcpListener; use std::path::Path; -use std::process::Stdio; use std::sync::mpsc; use std::thread; use std::time::Duration; @@ -113,6 +112,8 @@ fn remote_exec_server_preserves_websocket_error_in_stderr() -> Result<()> { let registry = TestRegistry::start(&failed_websocket_url)?; let codex_home = TempDir::new()?; + let stderr_path = codex_home.path().join("remote.stderr"); + let stderr_file = std::fs::File::create(&stderr_path)?; let mut cmd = std::process::Command::new(codex_utils_cargo_bin::cargo_bin("codex")?); cmd.env("CODEX_HOME", codex_home.path()) .env("CODEX_API_KEY", "test-key") @@ -124,16 +125,16 @@ fn remote_exec_server_preserves_websocket_error_in_stderr() -> Result<()> { "--environment-id", "env-test", ]) - .stdout(Stdio::piped()) - .stderr(Stdio::piped()); + .stdout(std::process::Stdio::null()) + .stderr(stderr_file); let mut child = cmd.spawn()?; thread::sleep(Duration::from_secs(2)); let _ = child.kill(); - let output = child.wait_with_output()?; + child.wait()?; registry.finish()?; - let stderr = String::from_utf8_lossy(&output.stderr); + let stderr = std::fs::read_to_string(stderr_path)?; assert!( stderr.contains("failed to connect remote exec-server websocket"), "{stderr}"