grok-build-upstream-mirror/crates/codegen/xai-grok-pager/tests/grok_home_paths.rs
grokkybara[bot] c68e39f604 Publish harness and TUI open-source
initial sync from the monorepo
2026-07-16 06:46:02 +01:00

37 lines
1.1 KiB
Rust

//! `GROK_HOME` override tests in an isolated binary so `grok_home()`'s
//! process-wide `OnceLock` initializes from the overridden env var.
use std::path::PathBuf;
#[test]
fn grok_home_override_path_helpers() {
let tmp = tempfile::tempdir().expect("tempdir");
let grok_home = tmp.path().to_path_buf();
unsafe {
std::env::set_var("GROK_HOME", &grok_home);
}
assert_eq!(
xai_grok_pager::util::pager_toml_path(),
grok_home.join("pager.toml")
);
assert_eq!(
xai_grok_pager::util::display_grok_home_prefix(),
"$GROK_HOME"
);
assert_eq!(
xai_grok_pager::util::display_user_grok_path("config.toml"),
"$GROK_HOME/config.toml"
);
let memory_path = grok_home.join("memory/MEMORY.md");
assert_eq!(
xai_grok_pager::util::abbreviate_path(&memory_path.display().to_string()),
"$GROK_HOME/memory/MEMORY.md"
);
assert!(xai_grok_pager::util::is_under_user_grok_home(&memory_path));
assert!(!xai_grok_pager::util::is_under_user_grok_home(
PathBuf::from("/tmp/other").as_path()
));
}