aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests/util/ini_helper_test.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-25 03:20:08 +0900
committernsfisis <nsfisis@gmail.com>2026-06-25 03:33:09 +0900
commitc65cab710bb3d79db20862c9361d4dbbac8ac5d7 (patch)
treeb4d192237bbb8dbaa80166f1ffa24703e57243f4 /crates/shirabe/tests/util/ini_helper_test.rs
parentf73e9ab05f8d94937d2437919199d9d9681c8cde (diff)
downloadphp-shirabe-c65cab710bb3d79db20862c9361d4dbbac8ac5d7.tar.gz
php-shirabe-c65cab710bb3d79db20862c9361d4dbbac8ac5d7.tar.zst
php-shirabe-c65cab710bb3d79db20862c9361d4dbbac8ac5d7.zip
feat(php-shim): model $_ENV/$_SERVER as OsString snapshots
Rework the environment shim around getenv/putenv on the real environment and $_ENV/$_SERVER as startup snapshots, all over OsString. Migrate every caller off the old server()/server_argv() helpers and force the snapshots in main() before any putenv() runs. Document the porting rules in docs/dev/env-vars-porting.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/tests/util/ini_helper_test.rs')
-rw-r--r--crates/shirabe/tests/util/ini_helper_test.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/crates/shirabe/tests/util/ini_helper_test.rs b/crates/shirabe/tests/util/ini_helper_test.rs
index f511d76..d1e2071 100644
--- a/crates/shirabe/tests/util/ini_helper_test.rs
+++ b/crates/shirabe/tests/util/ini_helper_test.rs
@@ -12,7 +12,8 @@ fn set_up() -> TearDown {
// XdebugHandler is a unit struct with no name-registration API, so this
// step is a no-op here.
// Save current state
- let env_original = getenv("COMPOSER_ORIGINAL_INIS");
+ let env_original =
+ getenv("COMPOSER_ORIGINAL_INIS").map(|value| value.to_string_lossy().into_owned());
TearDown { env_original }
}
@@ -20,7 +21,7 @@ fn set_up() -> TearDown {
fn tear_down(env_original: &Option<String>) {
// Restore original state
if let Some(env_original) = env_original {
- putenv(&format!("COMPOSER_ORIGINAL_INIS={env_original}"));
+ unsafe { putenv("COMPOSER_ORIGINAL_INIS", env_original) };
} else {
Platform::clear_env("COMPOSER_ORIGINAL_INIS");
}
@@ -38,10 +39,7 @@ impl Drop for TearDown {
}
fn set_env(paths: &[&str]) {
- putenv(&format!(
- "COMPOSER_ORIGINAL_INIS={}",
- paths.join(PATH_SEPARATOR)
- ));
+ unsafe { putenv("COMPOSER_ORIGINAL_INIS", paths.join(PATH_SEPARATOR)) };
}
#[test]