#![allow(dead_code)]
use std::env;
pub fn assert_pinned_env() {
let tz = env::var("TZ").unwrap_or_default();
assert_eq!(
tz, "UTC",
"TZ env var must be set to 'UTC' for deterministic snapshot tests; got {tz:?}",
);
let lc_all = env::var("LC_ALL").unwrap_or_default();
let lang = env::var("LANG").unwrap_or_default();
let locale_ok = matches!(
lc_all.as_str(),
"C.UTF-8" | "C" | "POSIX",
) || matches!(lang.as_str(), "C.UTF-8" | "C" | "POSIX");
assert!(
locale_ok,
"LC_ALL or LANG must be C.UTF-8 (preferred), C, or POSIX for deterministic snapshot tests; \
LC_ALL={lc_all:?} LANG={lang:?}",
);
let rusty_format = env::var("RUSTY_TS_FORMAT").unwrap_or_default();
assert!(
rusty_format.is_empty(),
"RUSTY_TS_FORMAT must be unset/empty for deterministic snapshot tests; got {rusty_format:?}",
);
}
pub fn pin_env_in_process() {
unsafe {
env::set_var("TZ", "UTC");
env::set_var("LC_ALL", "C.UTF-8");
env::remove_var("RUSTY_TS_FORMAT");
}
}