mirror of
https://github.com/openai/codex.git
synced 2026-04-30 17:36:40 +00:00
feat(core): add configurable log_dir (#10678)
Adds a top-level `log_dir` config key (defaults to `$CODEX_HOME/log`) so one-off runs can redirect `codex-tui.log` via `-c`, e.g.: codex -c log_dir=./.codex-log Also resolves relative paths in CLI `-c/--config` overrides for `AbsolutePathBuf` values against the effective cwd (when available). Tests: - cargo test -p codex-core
This commit is contained in:
@@ -56,6 +56,30 @@ async fn make_config_for_test(
|
||||
.await
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn cli_overrides_resolve_relative_paths_against_cwd() -> std::io::Result<()> {
|
||||
let codex_home = tempdir().expect("tempdir");
|
||||
let cwd_dir = tempdir().expect("tempdir");
|
||||
let cwd_path = cwd_dir.path().to_path_buf();
|
||||
|
||||
let config = ConfigBuilder::default()
|
||||
.codex_home(codex_home.path().to_path_buf())
|
||||
.cli_overrides(vec![(
|
||||
"log_dir".to_string(),
|
||||
TomlValue::String("run-logs".to_string()),
|
||||
)])
|
||||
.harness_overrides(ConfigOverrides {
|
||||
cwd: Some(cwd_path.clone()),
|
||||
..Default::default()
|
||||
})
|
||||
.build()
|
||||
.await?;
|
||||
|
||||
let expected = AbsolutePathBuf::resolve_path_against_base("run-logs", cwd_path)?;
|
||||
assert_eq!(config.log_dir, expected.to_path_buf());
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn returns_config_error_for_invalid_user_config_toml() {
|
||||
let tmp = tempdir().expect("tempdir");
|
||||
|
||||
Reference in New Issue
Block a user