mirror of
https://github.com/openai/codex.git
synced 2026-04-28 02:11:08 +03:00
codex: stabilize app-server-protocol codegen tests (#13534)
This commit is contained in:
@@ -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'
|
||||
|
||||
@@ -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(())
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user