mirror of
https://github.com/hanzoai/dev.git
synced 2026-10-25 03:32:32 +00:00
Wholesale-adopt latest upstream codex-rs (97 crates, new architecture: model-provider-info crate, app-server-daemon/transport, code-mode-host, thread-store, file-watcher, etc.). Hanzo-only crates (browser, debug-client, instructions, tui2) preserved on disk (not yet re-added to workspace). Builds clean as upstream (codex bin). Hanzo overlay (dev bin, api.hanzo.ai default, hanzo.id/Claude login, branding) re-applied in following commits. Co-authored-by: Hanzo Dev <[email protected]>
34 lines
905 B
Rust
34 lines
905 B
Rust
use std::process::Command;
|
|
|
|
use anyhow::Result;
|
|
use tempfile::TempDir;
|
|
|
|
#[test]
|
|
fn strict_config_rejects_unknown_config_fields_for_standalone_app_server() -> Result<()> {
|
|
let codex_home = TempDir::new()?;
|
|
std::fs::write(
|
|
codex_home.path().join("config.toml"),
|
|
r#"
|
|
foo = "bar"
|
|
"#,
|
|
)?;
|
|
|
|
let output = Command::new(codex_utils_cargo_bin::cargo_bin("codex-app-server")?)
|
|
.env("CODEX_HOME", codex_home.path())
|
|
.env(
|
|
"CODEX_APP_SERVER_MANAGED_CONFIG_PATH",
|
|
codex_home.path().join("managed_config.toml"),
|
|
)
|
|
.args(["--strict-config", "--listen", "off"])
|
|
.output()?;
|
|
|
|
assert!(!output.status.success());
|
|
let stderr = String::from_utf8(output.stderr)?;
|
|
assert!(
|
|
stderr.contains("unknown configuration field `foo`"),
|
|
"expected strict config error in stderr, got: {stderr}"
|
|
);
|
|
|
|
Ok(())
|
|
}
|