mirror of
https://github.com/openai/codex.git
synced 2026-09-04 15:08:45 +00:00
## Why Test callers need one composable way to create app-server fixtures instead of a growing family of overlapping constructor implementations. ## What - add a feature-complete TestAppServer::builder() - make the default builder own a temporary CODEX_HOME and select the automatic test environment - expose builder knobs for no automatic environment, explicit CODEX_HOME, program, arguments, plugin startup tasks, environment overrides, managed config, and JSON logging - keep the existing public constructor surface, but route every constructor through the builder so the new path is exercised immediately - remove the redundant private constructor ladders; caller migration and public constructor removal live in the optional cleanup stack ## Validation - just test -p codex-app-server (940/941 before updating the expected builder error wording) - just test -p codex-app-server auto_env_rejects_explicit_environment_config - just fix -p codex-app-server - just fmt ## Follow-up stacks Cleanup, optional for the benchmark work: 1. [#31451 test: migrate TestAppServer callers to builder](https://github.com/openai/codex/pull/31451) 2. [#31452 test: remove TestAppServer constructors](https://github.com/openai/codex/pull/31452) Benchmark infrastructure: 1. [#31427 test: add delayed exec-server transport](https://github.com/openai/codex/pull/31427) 2. [#31295 bench: add cold skill load macrobenchmark](https://github.com/openai/codex/pull/31295) 3. [#31428 bench: add e2e benchmark entrypoints](https://github.com/openai/codex/pull/31428) 4. [#31429 ci: smoke Bazel e2e benchmarks](https://github.com/openai/codex/pull/31429)
41 lines
1010 B
TOML
41 lines
1010 B
TOML
[package]
|
|
name = "app_test_support"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[lib]
|
|
path = "lib.rs"
|
|
test = false
|
|
doctest = false
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
base64 = { workspace = true }
|
|
chrono = { workspace = true }
|
|
codex-app-server-protocol = { workspace = true }
|
|
codex-config = { workspace = true }
|
|
codex-core = { workspace = true }
|
|
codex-exec-server = { workspace = true }
|
|
codex-features = { workspace = true }
|
|
codex-login = { workspace = true }
|
|
codex-models-manager = { workspace = true }
|
|
codex-protocol = { workspace = true }
|
|
codex-utils-cargo-bin = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
tokio = { workspace = true, features = [
|
|
"io-std",
|
|
"macros",
|
|
"process",
|
|
"rt-multi-thread",
|
|
] }
|
|
uuid = { workspace = true }
|
|
wiremock = { workspace = true }
|
|
core_test_support = { path = "../../../core/tests/common" }
|
|
shlex = { workspace = true }
|