Skip to content

Commit de0e824

Browse files
starr-openaicodex
andcommitted
Split app-server integration tests into shards
Replace the single all.rs integration root with smaller roots grouped by area so Bazel and CI can schedule them as independent app-server test targets. Co-authored-by: Codex <noreply@openai.com>
1 parent f53210d commit de0e824

9 files changed

Lines changed: 133 additions & 65 deletions

File tree

codex-rs/app-server/tests/all.rs

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// Integration tests for legacy/non-v2 app-server coverage.
2+
//
3+
// Each file in `tests/` becomes its own Bazel integration-test target, so keep
4+
// this split in sync with the generated target names expected by CI.
5+
#[path = "suite/auth.rs"]
6+
mod auth;
7+
#[path = "suite/conversation_summary.rs"]
8+
mod conversation_summary;
9+
#[path = "suite/fuzzy_file_search.rs"]
10+
mod fuzzy_file_search;

codex-rs/app-server/tests/suite/mod.rs

Lines changed: 0 additions & 4 deletions
This file was deleted.

codex-rs/app-server/tests/suite/v2/mod.rs

Lines changed: 0 additions & 58 deletions
This file was deleted.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// Core v2 app-server integration tests that do not depend on the thread/turn
2+
// analytics or websocket helper modules.
3+
#[path = "suite/v2/account.rs"]
4+
mod account;
5+
#[path = "suite/v2/app_list.rs"]
6+
mod app_list;
7+
#[path = "suite/v2/client_metadata.rs"]
8+
mod client_metadata;
9+
#[path = "suite/v2/collaboration_mode_list.rs"]
10+
mod collaboration_mode_list;
11+
#[path = "suite/v2/compaction.rs"]
12+
mod compaction;
13+
#[path = "suite/v2/config_rpc.rs"]
14+
mod config_rpc;
15+
#[path = "suite/v2/dynamic_tools.rs"]
16+
mod dynamic_tools;
17+
#[path = "suite/v2/experimental_api.rs"]
18+
mod experimental_api;
19+
#[path = "suite/v2/experimental_feature_list.rs"]
20+
mod experimental_feature_list;
21+
#[path = "suite/v2/fs.rs"]
22+
mod fs;
23+
#[path = "suite/v2/initialize.rs"]
24+
mod initialize;
25+
#[path = "suite/v2/memory_reset.rs"]
26+
mod memory_reset;
27+
#[path = "suite/v2/model_list.rs"]
28+
mod model_list;
29+
#[path = "suite/v2/output_schema.rs"]
30+
mod output_schema;
31+
#[path = "suite/v2/plan_item.rs"]
32+
mod plan_item;
33+
#[path = "suite/v2/rate_limits.rs"]
34+
mod rate_limits;
35+
#[path = "suite/v2/request_permissions.rs"]
36+
mod request_permissions;
37+
#[path = "suite/v2/request_user_input.rs"]
38+
mod request_user_input;
39+
#[path = "suite/v2/review.rs"]
40+
mod review;
41+
#[path = "suite/v2/safety_check_downgrade.rs"]
42+
mod safety_check_downgrade;
43+
#[path = "suite/v2/skills_list.rs"]
44+
mod skills_list;
45+
#[path = "suite/v2/windows_sandbox_setup.rs"]
46+
mod windows_sandbox_setup;
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// v2 app-server plugin and MCP integration tests.
2+
#[path = "suite/v2/marketplace_add.rs"]
3+
mod marketplace_add;
4+
#[path = "suite/v2/mcp_resource.rs"]
5+
mod mcp_resource;
6+
#[path = "suite/v2/mcp_server_elicitation.rs"]
7+
mod mcp_server_elicitation;
8+
#[path = "suite/v2/mcp_server_status.rs"]
9+
mod mcp_server_status;
10+
#[path = "suite/v2/mcp_tool.rs"]
11+
mod mcp_tool;
12+
#[path = "suite/v2/plugin_install.rs"]
13+
mod plugin_install;
14+
#[path = "suite/v2/plugin_list.rs"]
15+
mod plugin_list;
16+
#[path = "suite/v2/plugin_read.rs"]
17+
mod plugin_read;
18+
#[path = "suite/v2/plugin_uninstall.rs"]
19+
mod plugin_uninstall;
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// v2 realtime integration tests, split out because they are comparatively
2+
// large and expensive.
3+
#[path = "suite/v2/realtime_conversation.rs"]
4+
mod realtime_conversation;
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// v2 thread and turn integration tests. Keep `analytics` in this shard because
2+
// several thread/turn modules import its helpers via `super::analytics`.
3+
#[path = "suite/v2/analytics.rs"]
4+
mod analytics;
5+
#[path = "suite/v2/thread_archive.rs"]
6+
mod thread_archive;
7+
#[path = "suite/v2/thread_fork.rs"]
8+
mod thread_fork;
9+
#[path = "suite/v2/thread_inject_items.rs"]
10+
mod thread_inject_items;
11+
#[path = "suite/v2/thread_list.rs"]
12+
mod thread_list;
13+
#[path = "suite/v2/thread_loaded_list.rs"]
14+
mod thread_loaded_list;
15+
#[path = "suite/v2/thread_memory_mode_set.rs"]
16+
mod thread_memory_mode_set;
17+
#[path = "suite/v2/thread_metadata_update.rs"]
18+
mod thread_metadata_update;
19+
#[path = "suite/v2/thread_read.rs"]
20+
mod thread_read;
21+
#[path = "suite/v2/thread_resume.rs"]
22+
mod thread_resume;
23+
#[path = "suite/v2/thread_rollback.rs"]
24+
mod thread_rollback;
25+
#[path = "suite/v2/thread_shell_command.rs"]
26+
mod thread_shell_command;
27+
#[path = "suite/v2/thread_start.rs"]
28+
mod thread_start;
29+
#[path = "suite/v2/thread_status.rs"]
30+
mod thread_status;
31+
#[path = "suite/v2/thread_unarchive.rs"]
32+
mod thread_unarchive;
33+
#[path = "suite/v2/thread_unsubscribe.rs"]
34+
mod thread_unsubscribe;
35+
#[path = "suite/v2/turn_interrupt.rs"]
36+
mod turn_interrupt;
37+
#[path = "suite/v2/turn_start.rs"]
38+
mod turn_start;
39+
#[path = "suite/v2/turn_start_zsh_fork.rs"]
40+
mod turn_start_zsh_fork;
41+
#[path = "suite/v2/turn_steer.rs"]
42+
mod turn_steer;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// v2 websocket integration tests. Keep the websocket helper module in the same
2+
// shard as modules that import it via `super::connection_handling_websocket`.
3+
#[cfg(unix)]
4+
#[path = "suite/v2/command_exec.rs"]
5+
mod command_exec;
6+
#[path = "suite/v2/connection_handling_websocket.rs"]
7+
mod connection_handling_websocket;
8+
#[cfg(unix)]
9+
#[path = "suite/v2/connection_handling_websocket_unix.rs"]
10+
mod connection_handling_websocket_unix;
11+
#[path = "suite/v2/thread_name_websocket.rs"]
12+
mod thread_name_websocket;

0 commit comments

Comments
 (0)