refactor(backend): flatten leaf modules

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Zyy
2026-09-29 18:42:28 +08:00
co-authored by Codex
parent fe78c230e5
commit ec21d83415
35 changed files with 30 additions and 5 deletions
+26 -1
View File
@@ -383,7 +383,9 @@ fn workspace_modules_follow_conventional_file_layout() {
let targets = test_source_roots();
for member in WORKSPACE_MEMBERS {
let member_root = backend_root().join(member);
assert_module_tree(&member_root.join("src"), &["lib.rs", "main.rs"]);
let src = member_root.join("src");
assert_module_tree(&src, &["lib.rs", "main.rs"]);
assert_directory_modules_have_children(&src, &["lib.rs", "main.rs"]);
let tests = member_root.join("tests");
if tests.is_dir() {
@@ -396,6 +398,29 @@ fn workspace_modules_follow_conventional_file_layout() {
}
}
fn assert_directory_modules_have_children(root: &Path, crate_roots: &[&str]) {
let files = super::rust_files(root);
for relative in &files {
if crate_roots
.iter()
.any(|candidate| relative == Path::new(candidate))
|| relative.file_name().and_then(|value| value.to_str()) != Some("mod.rs")
{
continue;
}
let directory = relative.parent().expect("mod.rs parent");
assert!(
files
.iter()
.any(|candidate| candidate != relative && candidate.starts_with(directory)),
"{} is a leaf module and must use {}",
root.join(relative).display(),
root.join(directory).with_extension("rs").display(),
);
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
enum ModuleLayout {
File,
@@ -68,7 +68,7 @@ fn source_tree_should_match_frozen_machine_manifest() {
"src/lib.rs",
"src/middleware/headers.rs",
"src/middleware/mod.rs",
"src/middleware/websocket/mod.rs",
"src/middleware/websocket.rs",
"src/openai/middleware/http.rs",
"src/openai/middleware/mod.rs",
"src/openai/middleware/request.rs",
@@ -87,7 +87,7 @@ fn source_tree_should_match_frozen_machine_manifest() {
"src/openai/responses/response.rs",
"src/openai/responses/validation.rs",
"src/openai/responses/websocket/connection/mod.rs",
"src/openai/responses/websocket/connection/middleware/mod.rs",
"src/openai/responses/websocket/connection/middleware.rs",
"src/openai/responses/websocket/forward.rs",
"src/openai/responses/websocket/mod.rs",
"src/openai/responses/websocket/protocol.rs",
@@ -136,7 +136,7 @@ fn test_tree_should_match_frozen_rust_mirror() {
"tests/key_usage/fixtures.rs",
"tests/main.rs",
"tests/middleware/mod.rs",
"tests/middleware/websocket/mod.rs",
"tests/middleware/websocket.rs",
"tests/openai/middleware/mod.rs",
"tests/openai/auth.rs",
"tests/openai/error.rs",
@@ -148,7 +148,7 @@ fn test_tree_should_match_frozen_rust_mirror() {
"tests/openai/responses/mod.rs",
"tests/openai/responses/request.rs",
"tests/openai/responses/websocket/connection/mod.rs",
"tests/openai/responses/websocket/connection/middleware/mod.rs",
"tests/openai/responses/websocket/connection/middleware.rs",
"tests/openai/responses/websocket/forward.rs",
"tests/openai/responses/websocket/interrupt.rs",
"tests/openai/responses/websocket/mod.rs",