codex: stabilize app-server-protocol codegen tests (#13534)

This commit is contained in:
Ahmed Ibrahim
2026-03-05 08:30:52 -08:00
parent d577399e06
commit e12ab74549
2 changed files with 39 additions and 0 deletions

View File

@@ -2,6 +2,9 @@
# Do not increase, fix your test instead
slow-timeout = { period = "15s", terminate-after = 2 }
[test-groups.app_server_protocol_codegen]
max-threads = 1
[[profile.default.overrides]]
# Do not add new tests here
@@ -11,3 +14,7 @@ slow-timeout = { period = "1m", terminate-after = 4 }
[[profile.default.overrides]]
filter = 'test(approval_matrix_covers_all_modes)'
slow-timeout = { period = "30s", terminate-after = 2 }
[[profile.default.overrides]]
filter = 'package(codex-app-server-protocol) & (test(schema_fixtures_match_generated) | test(generate_ts_with_experimental_api_retains_experimental_entries) | test(generated_ts_optional_nullable_fields_only_in_params) | test(generate_json_filters_experimental_fields_and_methods))'
test-group = 'app_server_protocol_codegen'

View File

@@ -4,15 +4,41 @@ use codex_app_server_protocol::read_schema_fixture_tree;
use codex_app_server_protocol::write_schema_fixtures;
use similar::TextDiff;
use std::path::Path;
use std::time::Instant;
#[test]
fn schema_fixtures_match_generated() -> Result<()> {
let start = Instant::now();
let schema_root = schema_root()?;
eprintln!(
"[schema_fixtures] resolved schema root in {:?}: {}",
start.elapsed(),
schema_root.display()
);
let fixture_read_start = Instant::now();
let fixture_tree = read_tree(&schema_root)?;
eprintln!(
"[schema_fixtures] read {} vendored files in {:?}",
fixture_tree.len(),
fixture_read_start.elapsed()
);
let temp_dir = tempfile::tempdir().context("create temp dir")?;
let generate_start = Instant::now();
write_schema_fixtures(temp_dir.path(), None).context("generate schema fixtures")?;
eprintln!(
"[schema_fixtures] generated schema fixtures in {:?}",
generate_start.elapsed()
);
let generated_read_start = Instant::now();
let generated_tree = read_tree(temp_dir.path())?;
eprintln!(
"[schema_fixtures] read {} generated files in {:?}",
generated_tree.len(),
generated_read_start.elapsed()
);
let fixture_paths = fixture_tree
.keys()
@@ -60,6 +86,12 @@ Run `just write-app-server-schema` to overwrite with your changes.\n\n{diff}",
);
}
eprintln!(
"[schema_fixtures] compared {} files in {:?}",
fixture_tree.len(),
start.elapsed()
);
Ok(())
}