Codex Handbook
models-manager/src/model_info_overrides_tests.rs 45 lines
use crate::ModelsManagerConfig;use crate::manager::ModelsManager;use codex_protocol::openai_models::TruncationPolicyConfig;use pretty_assertions::assert_eq;use tempfile::TempDir;use super::TestModelsEndpoint;use super::openai_manager_for_tests;#[tokio::test(flavor = "multi_thread", worker_threads = 2)]async fn offline_model_info_without_tool_output_override() {    let codex_home = TempDir::new().expect("create temp dir");    let config = ModelsManagerConfig::default();    let manager = openai_manager_for_tests(        codex_home.path().to_path_buf(),        TestModelsEndpoint::new(Vec::new()),    );    let model_info = manager.get_model_info("gpt-5.2", &config).await;    assert_eq!(        model_info.truncation_policy,        TruncationPolicyConfig::bytes(/*limit*/ 10_000)    );}#[tokio::test(flavor = "multi_thread", worker_threads = 2)]async fn offline_model_info_with_tool_output_override() {    let codex_home = TempDir::new().expect("create temp dir");    let config = ModelsManagerConfig {        tool_output_token_limit: Some(123),        ..Default::default()    };    let manager = openai_manager_for_tests(        codex_home.path().to_path_buf(),        TestModelsEndpoint::new(Vec::new()),    );    let model_info = manager.get_model_info("gpt-5.4", &config).await;    assert_eq!(        model_info.truncation_policy,        TruncationPolicyConfig::tokens(/*limit*/ 123)    );}