diff --git a/codex-rs/tui/tests/suite/model_availability_nux.rs b/codex-rs/tui/tests/suite/model_availability_nux.rs index 512db97974..7a0c64f711 100644 --- a/codex-rs/tui/tests/suite/model_availability_nux.rs +++ b/codex-rs/tui/tests/suite/model_availability_nux.rs @@ -9,6 +9,10 @@ use tokio::select; use tokio::time::sleep; use tokio::time::timeout; +fn is_bare_ctrl_c_exit(exit_code: i32, output: &[u8]) -> bool { + exit_code == 1 && String::from_utf8_lossy(output).trim() == "^C" +} + #[tokio::test] async fn resume_startup_does_not_consume_model_availability_nux_count() -> Result<()> { // run_codex_cli() does not work on Windows due to PTY limitations. @@ -177,7 +181,7 @@ trust_level = "trusted" } }; anyhow::ensure!( - exit_code == 0 || exit_code == 130, + exit_code == 0 || exit_code == 130 || is_bare_ctrl_c_exit(exit_code, &output), "unexpected exit code from codex resume: {exit_code}; output: {}", String::from_utf8_lossy(&output) ); diff --git a/codex-rs/tui_app_server/tests/suite/model_availability_nux.rs b/codex-rs/tui_app_server/tests/suite/model_availability_nux.rs index 512db97974..7a0c64f711 100644 --- a/codex-rs/tui_app_server/tests/suite/model_availability_nux.rs +++ b/codex-rs/tui_app_server/tests/suite/model_availability_nux.rs @@ -9,6 +9,10 @@ use tokio::select; use tokio::time::sleep; use tokio::time::timeout; +fn is_bare_ctrl_c_exit(exit_code: i32, output: &[u8]) -> bool { + exit_code == 1 && String::from_utf8_lossy(output).trim() == "^C" +} + #[tokio::test] async fn resume_startup_does_not_consume_model_availability_nux_count() -> Result<()> { // run_codex_cli() does not work on Windows due to PTY limitations. @@ -177,7 +181,7 @@ trust_level = "trusted" } }; anyhow::ensure!( - exit_code == 0 || exit_code == 130, + exit_code == 0 || exit_code == 130 || is_bare_ctrl_c_exit(exit_code, &output), "unexpected exit code from codex resume: {exit_code}; output: {}", String::from_utf8_lossy(&output) );