use std::{
path::PathBuf,
sync::atomic::{AtomicU64, Ordering},
time::{SystemTime, UNIX_EPOCH},
};
static TEMP_DIR_COUNTER: AtomicU64 = AtomicU64::new(0);
pub fn temp_dir(prefix: &str) -> PathBuf {
let unique = SystemTime::now()
.duration_since(UNIX_EPOCH)
.expect("system time after epoch")
.as_nanos();
let count = TEMP_DIR_COUNTER.fetch_add(1, Ordering::Relaxed);
std::env::temp_dir().join(format!("{prefix}-{}-{unique}-{count}", std::process::id()))
}
pub fn assert_snapshot(name: &str, actual: &str, expected: &str) {
assert_eq!(actual, expected, "{name} snapshot changed");
}