diff --git a/codex-rs/app-server-protocol/src/export.rs b/codex-rs/app-server-protocol/src/export.rs index 0f86001aed..0f90faf920 100644 --- a/codex-rs/app-server-protocol/src/export.rs +++ b/codex-rs/app-server-protocol/src/export.rs @@ -2494,32 +2494,6 @@ mod tests { Ok(()) } - #[test] - fn stable_schema_filter_removes_mock_thread_start_field() -> Result<()> { - let output_dir = std::env::temp_dir().join(format!("codex_schema_{}", Uuid::now_v7())); - fs::create_dir(&output_dir)?; - let schema = write_json_schema_with_return::( - &output_dir, - "ThreadStartParams", - )?; - let mut bundle = build_schema_bundle(vec![schema])?; - filter_experimental_schema(&mut bundle)?; - - let definitions = bundle["definitions"] - .as_object() - .expect("schema bundle should include definitions"); - let (_, def_schema) = definitions - .iter() - .find(|(name, _)| definition_matches_type(name, "ThreadStartParams")) - .expect("ThreadStartParams definition should exist"); - let properties = def_schema["properties"] - .as_object() - .expect("ThreadStartParams should have properties"); - assert_eq!(properties.contains_key("mockExperimentalField"), false); - let _cleanup = fs::remove_dir_all(&output_dir); - Ok(()) - } - #[test] fn build_schema_bundle_rewrites_root_helper_refs_to_namespaced_defs() -> Result<()> { let bundle = build_schema_bundle(vec![ @@ -2928,21 +2902,6 @@ permissionProfile?: string | null}; Ok(()) } - #[test] - fn stable_schema_filter_removes_mock_experimental_method() -> Result<()> { - let output_dir = std::env::temp_dir().join(format!("codex_schema_{}", Uuid::now_v7())); - fs::create_dir(&output_dir)?; - let schema = - write_json_schema_with_return::(&output_dir, "ClientRequest")?; - let mut bundle = build_schema_bundle(vec![schema])?; - filter_experimental_schema(&mut bundle)?; - - let bundle_str = serde_json::to_string(&bundle)?; - assert_eq!(bundle_str.contains("mock/experimentalMethod"), false); - let _cleanup = fs::remove_dir_all(&output_dir); - Ok(()) - } - #[test] fn generate_json_filters_experimental_fields_and_methods() -> Result<()> { let output_dir = std::env::temp_dir().join(format!("codex_schema_{}", Uuid::now_v7())); diff --git a/codex-rs/app-server-protocol/src/protocol/common.rs b/codex-rs/app-server-protocol/src/protocol/common.rs index e934ae7ad1..b710f18f14 100644 --- a/codex-rs/app-server-protocol/src/protocol/common.rs +++ b/codex-rs/app-server-protocol/src/protocol/common.rs @@ -4388,16 +4388,6 @@ mod tests { Ok(()) } - #[test] - fn mock_experimental_method_is_marked_experimental() { - let request = ClientRequest::MockExperimentalMethod { - request_id: RequestId::Integer(1), - params: v2::MockExperimentalMethodParams::default(), - }; - let reason = crate::experimental_api::ExperimentalApi::experimental_reason(&request); - assert_eq!(reason, Some("mock/experimentalMethod")); - } - #[test] fn environment_add_is_marked_experimental() { let request = ClientRequest::EnvironmentAdd { @@ -4441,37 +4431,6 @@ mod tests { assert_eq!(reason, Some("command/exec.permissionProfile")); } - #[test] - fn thread_realtime_start_is_marked_experimental() { - let request = ClientRequest::ThreadRealtimeStart { - request_id: RequestId::Integer(1), - params: v2::ThreadRealtimeStartParams { - client_managed_handoffs: None, - delegation_ack_filler: None, - flush_transcript_tail_on_session_end: None, - codex_responses_as_items: None, - codex_response_item_prefix: None, - codex_response_handoff_mode: None, - backend_reasoning_status: false, - codex_response_handoff_channel_prefixes: None, - thread_id: "thr_123".to_string(), - model: None, - output_modality: RealtimeOutputModality::Audio, - include_startup_context: None, - initial_items: None, - realtime_start_instructions: None, - realtime_end_instructions: None, - prompt: Some(Some("You are on a call".to_string())), - realtime_session_id: None, - transport: None, - version: None, - voice: None, - }, - }; - let reason = crate::experimental_api::ExperimentalApi::experimental_reason(&request); - assert_eq!(reason, Some("thread/realtime/start")); - } - #[test] fn thread_goal_methods_are_not_marked_experimental() { let set_request = ClientRequest::ThreadGoalSet { diff --git a/codex-rs/apply-patch/src/invocation.rs b/codex-rs/apply-patch/src/invocation.rs index d72f0d66e9..203a161611 100644 --- a/codex-rs/apply-patch/src/invocation.rs +++ b/codex-rs/apply-patch/src/invocation.rs @@ -406,7 +406,6 @@ fn extract_apply_patch_from_bash( #[cfg(test)] mod tests { use super::*; - use crate::unified_diff_from_chunks; use assert_matches::assert_matches; use codex_exec_server::LOCAL_FS; use pretty_assertions::assert_eq; @@ -741,87 +740,6 @@ PATCH"#, assert_not_match(&heredoc_script("echo foo; cd bar && ")); } - #[tokio::test] - async fn test_unified_diff_last_line_replacement() { - // Replace the very last line of the file. - let dir = tempdir().unwrap(); - let path = dir.path().join("last.txt"); - fs::write(&path, "foo\nbar\nbaz\n").unwrap(); - - let patch = wrap_patch(&format!( - r#"*** Update File: {} -@@ - foo - bar --baz -+BAZ -"#, - path.display() - )); - - let patch = parse_patch(&patch).unwrap(); - let chunks = match patch.hunks.as_slice() { - [Hunk::UpdateFile { chunks, .. }] => chunks, - _ => panic!("Expected a single UpdateFile hunk"), - }; - - let path_uri = PathUri::from_host_native_path(&path).expect("absolute test path"); - let diff = - unified_diff_from_chunks(&path_uri, chunks, LOCAL_FS.as_ref(), /*sandbox*/ None) - .await - .unwrap(); - let expected_diff = r#"@@ -2,2 +2,2 @@ - bar --baz -+BAZ -"#; - let expected = ApplyPatchFileUpdate { - unified_diff: expected_diff.to_string(), - original_content: "foo\nbar\nbaz\n".to_string(), - content: "foo\nbar\nBAZ\n".to_string(), - }; - assert_eq!(expected, diff); - } - - #[tokio::test] - async fn test_unified_diff_insert_at_eof() { - // Insert a new line at end‑of‑file. - let dir = tempdir().unwrap(); - let path = dir.path().join("insert.txt"); - fs::write(&path, "foo\nbar\nbaz\n").unwrap(); - - let patch = wrap_patch(&format!( - r#"*** Update File: {} -@@ -+quux -*** End of File -"#, - path.display() - )); - - let patch = parse_patch(&patch).unwrap(); - let chunks = match patch.hunks.as_slice() { - [Hunk::UpdateFile { chunks, .. }] => chunks, - _ => panic!("Expected a single UpdateFile hunk"), - }; - - let path_uri = PathUri::from_host_native_path(&path).expect("absolute test path"); - let diff = - unified_diff_from_chunks(&path_uri, chunks, LOCAL_FS.as_ref(), /*sandbox*/ None) - .await - .unwrap(); - let expected_diff = r#"@@ -3 +3,2 @@ - baz -+quux -"#; - let expected = ApplyPatchFileUpdate { - unified_diff: expected_diff.to_string(), - original_content: "foo\nbar\nbaz\n".to_string(), - content: "foo\nbar\nbaz\nquux\n".to_string(), - }; - assert_eq!(expected, diff); - } - #[tokio::test] async fn test_apply_patch_should_resolve_absolute_paths_in_cwd() { let session_dir = tempdir().unwrap(); diff --git a/codex-rs/codex-mcp/src/mcp/mod_tests.rs b/codex-rs/codex-mcp/src/mcp/mod_tests.rs index 79eeefb4e7..248e0956e5 100644 --- a/codex-rs/codex-mcp/src/mcp/mod_tests.rs +++ b/codex-rs/codex-mcp/src/mcp/mod_tests.rs @@ -305,17 +305,6 @@ fn mcp_prompt_auto_approval_honors_approved_tools_in_all_permission_modes() { )); } -#[test] -fn mcp_prompt_auto_approval_rejects_auto_mode_in_default_permission_mode() { - assert!(!mcp_permission_prompt_is_auto_approved( - AskForApproval::OnRequest, - &PermissionProfile::read_only(), - McpPermissionPromptAutoApproveContext { - tool_approval_mode: Some(AppToolApproval::Auto), - }, - )); -} - #[test] fn tool_plugin_context_collects_app_and_mcp_sources() { let mut config = test_mcp_config(PathBuf::new()); diff --git a/codex-rs/tui/src/markdown_render/local_links.rs b/codex-rs/tui/src/markdown_render/local_links.rs index 4fee5da46a..70c30b763d 100644 --- a/codex-rs/tui/src/markdown_render/local_links.rs +++ b/codex-rs/tui/src/markdown_render/local_links.rs @@ -20,7 +20,6 @@ static COLON_LOCATION_SUFFIX_RE: LazyLock = }, ); -// Covered by load_location_suffix_regexes. static HASH_LOCATION_SUFFIX_RE: LazyLock = LazyLock::new(|| match Regex::new(r"^L\d+(?:C\d+)?(?:-L\d+(?:C\d+)?)?$") { Ok(regex) => regex, diff --git a/codex-rs/tui/src/markdown_render/local_links_tests.rs b/codex-rs/tui/src/markdown_render/local_links_tests.rs index d54d982f27..c6ed70bfc9 100644 --- a/codex-rs/tui/src/markdown_render/local_links_tests.rs +++ b/codex-rs/tui/src/markdown_render/local_links_tests.rs @@ -1,16 +1,8 @@ //! Tests for local-link parsing and root-preserving separator normalization. -use super::COLON_LOCATION_SUFFIX_RE; -use super::HASH_LOCATION_SUFFIX_RE; use super::trim_trailing_local_path_separator; use pretty_assertions::assert_eq; -#[test] -fn load_location_suffix_regexes() { - let _colon = &*COLON_LOCATION_SUFFIX_RE; - let _hash = &*HASH_LOCATION_SUFFIX_RE; -} - #[test] fn trailing_separator_trimming_preserves_local_roots() { let paths = ["/", "//", "C:/", "dir/", "//server/share/", "C:/dir/"];