Merge d8043f0dc6 into sapling-pr-archive-bolinfest

This commit is contained in:
Michael Bolin
2026-04-26 03:43:50 -07:00
committed by GitHub
15 changed files with 20 additions and 1 deletions
-1
View File
@@ -2870,7 +2870,6 @@ dependencies = [
"codex-plugin",
"codex-protocol",
"codex-rmcp-client",
"codex-utils-absolute-path",
"codex-utils-plugins",
"futures",
"pretty_assertions",
@@ -344,6 +344,7 @@ async fn test_fuzzy_file_search_accepts_cancellation_token() -> Result<()> {
}
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn test_fuzzy_file_search_session_streams_updates() -> Result<()> {
let codex_home = TempDir::new()?;
let root = TempDir::new()?;
@@ -954,6 +954,7 @@ async fn login_account_api_key_rejected_when_forced_chatgpt() -> Result<()> {
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn login_account_chatgpt_rejected_when_forced_api() -> Result<()> {
let codex_home = TempDir::new()?;
create_config_toml(
@@ -1122,6 +1123,7 @@ async fn login_account_chatgpt_device_code_succeeds_and_notifies() -> Result<()>
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn login_account_chatgpt_device_code_failure_notifies_without_account_update() -> Result<()> {
let codex_home = TempDir::new()?;
let mock_server = MockServer::start().await;
@@ -389,6 +389,7 @@ async fn command_exec_rejects_disable_timeout_with_timeout_ms() -> Result<()> {
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn command_exec_rejects_disable_output_cap_with_output_bytes_cap() -> Result<()> {
let server = create_mock_responses_server_sequence_unchecked(Vec::new()).await;
let codex_home = TempDir::new()?;
@@ -465,6 +466,7 @@ async fn command_exec_rejects_negative_timeout_ms() -> Result<()> {
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn command_exec_without_process_id_rejects_streaming() -> Result<()> {
let server = create_mock_responses_server_sequence_unchecked(Vec::new()).await;
let codex_home = TempDir::new()?;
@@ -173,6 +173,7 @@ view_image = false
}
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn config_read_includes_nested_web_search_tool_config() -> Result<()> {
let codex_home = TempDir::new()?;
write_config(
@@ -661,6 +662,7 @@ model = "gpt-old"
}
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn config_batch_write_applies_multiple_edits() -> Result<()> {
let tmp_dir = TempDir::new()?;
let codex_home = tmp_dir.path().canonicalize()?;
@@ -57,6 +57,7 @@ async fn websocket_transport_ctrl_c_waits_for_running_turn_before_exit() -> Resu
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn websocket_transport_second_ctrl_c_forces_exit_while_turn_running() -> Result<()> {
let GracefulCtrlCFixture {
_codex_home,
@@ -156,6 +156,7 @@ async fn experimental_feature_list_marks_apps_and_plugins_disabled_by_workspace_
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn experimental_feature_enablement_set_applies_to_global_and_thread_config_reads()
-> Result<()> {
let codex_home = TempDir::new()?;
@@ -123,6 +123,7 @@ async fn external_agent_config_import_sends_completion_notification_for_local_pl
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn external_agent_config_import_sends_completion_notification_after_pending_plugins_finish()
-> Result<()> {
let codex_home = TempDir::new()?;
+1
View File
@@ -371,6 +371,7 @@ async fn fs_write_file_rejects_invalid_base64() -> Result<()> {
}
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn fs_methods_reject_relative_paths() -> Result<()> {
let codex_home = TempDir::new()?;
let absolute_file = codex_home.path().join("absolute.txt");
@@ -73,6 +73,7 @@ const TOOL_CALL_ID: &str = "call-calendar-confirm";
const ELICITATION_MESSAGE: &str = "Allow this request?";
#[tokio::test(flavor = "multi_thread", worker_threads = 4)]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn mcp_server_elicitation_round_trip() -> Result<()> {
let responses_server = responses::start_mock_server().await;
let tool_call_arguments = serde_json::to_string(&json!({}))?;
@@ -573,6 +573,7 @@ async fn plugin_install_tracks_analytics_event() -> Result<()> {
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn plugin_install_returns_apps_needing_auth() -> Result<()> {
let connectors = vec![
AppInfo {
@@ -336,6 +336,7 @@ async fn plugin_list_returns_empty_when_workspace_codex_plugins_disabled() -> Re
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn plugin_list_reuses_cached_workspace_codex_plugins_setting() -> Result<()> {
let codex_home = TempDir::new()?;
let repo_root = TempDir::new()?;
@@ -548,6 +549,7 @@ async fn plugin_list_uses_alternate_discoverable_manifest_and_keeps_undiscoverab
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn plugin_list_accepts_omitted_cwds() -> Result<()> {
let codex_home = TempDir::new()?;
std::fs::create_dir_all(codex_home.path().join(".agents/plugins"))?;
@@ -1028,6 +1030,7 @@ async fn plugin_list_accepts_legacy_string_default_prompt() -> Result<()> {
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn app_server_startup_remote_plugin_sync_runs_once() -> Result<()> {
let codex_home = TempDir::new()?;
let server = MockServer::start().await;
@@ -922,6 +922,7 @@ async fn plugin_read_describes_uninstalled_git_source_without_cloning() -> Resul
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn plugin_read_returns_invalid_request_when_plugin_is_missing() -> Result<()> {
let codex_home = TempDir::new()?;
let repo_root = TempDir::new()?;
@@ -20,6 +20,7 @@ use tokio::time::timeout;
const DEFAULT_TIMEOUT: Duration = Duration::from_secs(10);
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn plugin_uninstall_removes_plugin_cache_and_config_entry() -> Result<()> {
let codex_home = TempDir::new()?;
write_installed_plugin(&codex_home, "debug", "sample-plugin")?;
@@ -59,6 +59,7 @@ async fn get_account_rate_limits_requires_auth() -> Result<()> {
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn get_account_rate_limits_requires_chatgpt_auth() -> Result<()> {
let codex_home = TempDir::new()?;
@@ -264,6 +265,7 @@ async fn send_add_credits_nudge_email_requires_auth() -> Result<()> {
}
#[tokio::test]
#[cfg_attr(windows, ignore = "temporary CI isolation for #19606 Windows hang")]
async fn send_add_credits_nudge_email_requires_chatgpt_auth() -> Result<()> {
let codex_home = TempDir::new()?;