From eb3ee22f2c098774b4bc58ed744cb4981445312d Mon Sep 17 00:00:00 2001 From: viyatb-oai Date: Tue, 27 Jan 2026 18:12:55 -0800 Subject: [PATCH] Restore CODEX_HOME after arg0 test setup --- codex-rs/core/tests/suite/mod.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/codex-rs/core/tests/suite/mod.rs b/codex-rs/core/tests/suite/mod.rs index ca91576e24..9e94635d1f 100644 --- a/codex-rs/core/tests/suite/mod.rs +++ b/codex-rs/core/tests/suite/mod.rs @@ -1,4 +1,6 @@ // Aggregates all former standalone integration tests as modules. +use std::ffi::OsString; + use codex_arg0::Arg0PathEntryGuard; use codex_arg0::arg0_dispatch; use ctor::ctor; @@ -7,6 +9,7 @@ use tempfile::TempDir; struct TestCodexAliasesGuard { _codex_home: TempDir, _arg0: Arg0PathEntryGuard, + _previous_codex_home: Option, } const CODEX_HOME_ENV_VAR: &str = "CODEX_HOME"; @@ -22,19 +25,26 @@ pub static CODEX_ALIASES_TEMP_DIR: TestCodexAliasesGuard = unsafe { .prefix("codex-core-tests") .tempdir() .unwrap(); + let previous_codex_home = std::env::var_os(CODEX_HOME_ENV_VAR); unsafe { std::env::set_var(CODEX_HOME_ENV_VAR, codex_home.path()); } #[allow(clippy::unwrap_used)] let arg0 = arg0_dispatch().unwrap(); - unsafe { - std::env::remove_var(CODEX_HOME_ENV_VAR); + match previous_codex_home.as_ref() { + Some(value) => unsafe { + std::env::set_var(CODEX_HOME_ENV_VAR, value); + }, + None => unsafe { + std::env::remove_var(CODEX_HOME_ENV_VAR); + }, } TestCodexAliasesGuard { _codex_home: codex_home, _arg0: arg0, + _previous_codex_home: previous_codex_home, } };