From 9429daec8a83aa0e0fc78af497c20bfd4dcb8782 Mon Sep 17 00:00:00 2001 From: viyatb-oai Date: Thu, 19 Feb 2026 20:00:16 -0800 Subject: [PATCH] test(app-server-protocol): serialize schema export tests --- codex-rs/Cargo.lock | 1 + codex-rs/app-server-protocol/Cargo.toml | 1 + codex-rs/app-server-protocol/src/export.rs | 3 +++ codex-rs/app-server-protocol/tests/schema_fixtures.rs | 2 ++ 4 files changed, 7 insertions(+) diff --git a/codex-rs/Cargo.lock b/codex-rs/Cargo.lock index 4e3ec84e8f..2260630baa 100644 --- a/codex-rs/Cargo.lock +++ b/codex-rs/Cargo.lock @@ -1349,6 +1349,7 @@ dependencies = [ "schemars 0.8.22", "serde", "serde_json", + "serial_test", "shlex", "similar", "strum_macros 0.27.2", diff --git a/codex-rs/app-server-protocol/Cargo.toml b/codex-rs/app-server-protocol/Cargo.toml index 2ab6f291f6..b1587f7074 100644 --- a/codex-rs/app-server-protocol/Cargo.toml +++ b/codex-rs/app-server-protocol/Cargo.toml @@ -31,5 +31,6 @@ uuid = { workspace = true, features = ["serde", "v7"] } anyhow = { workspace = true } codex-utils-cargo-bin = { workspace = true } pretty_assertions = { workspace = true } +serial_test = { workspace = true } similar = { workspace = true } tempfile = { workspace = true } diff --git a/codex-rs/app-server-protocol/src/export.rs b/codex-rs/app-server-protocol/src/export.rs index 2cb3f9d1f1..eeb131defb 100644 --- a/codex-rs/app-server-protocol/src/export.rs +++ b/codex-rs/app-server-protocol/src/export.rs @@ -1402,12 +1402,14 @@ mod tests { use crate::protocol::v2; use anyhow::Result; use pretty_assertions::assert_eq; + use serial_test::serial; use std::collections::BTreeSet; use std::fs; use std::path::PathBuf; use uuid::Uuid; #[test] + #[serial(app_server_protocol_ts)] fn generated_ts_optional_nullable_fields_only_in_params() -> Result<()> { // Assert that "?: T | null" only appears in generated *Params types. let output_dir = std::env::temp_dir().join(format!("codex_ts_types_{}", Uuid::now_v7())); @@ -1642,6 +1644,7 @@ mod tests { } #[test] + #[serial(app_server_protocol_ts)] fn generate_ts_with_experimental_api_retains_experimental_entries() -> Result<()> { let output_dir = std::env::temp_dir().join(format!("codex_ts_types_experimental_{}", Uuid::now_v7())); diff --git a/codex-rs/app-server-protocol/tests/schema_fixtures.rs b/codex-rs/app-server-protocol/tests/schema_fixtures.rs index 12379f7809..d10349e294 100644 --- a/codex-rs/app-server-protocol/tests/schema_fixtures.rs +++ b/codex-rs/app-server-protocol/tests/schema_fixtures.rs @@ -2,10 +2,12 @@ use anyhow::Context; use anyhow::Result; use codex_app_server_protocol::read_schema_fixture_tree; use codex_app_server_protocol::write_schema_fixtures; +use serial_test::serial; use similar::TextDiff; use std::path::Path; #[test] +#[serial(app_server_protocol_ts)] fn schema_fixtures_match_generated() -> Result<()> { let schema_root = schema_root()?; let fixture_tree = read_tree(&schema_root)?;