#[cfg(all(test, feature = "image"))]
use std::path::{Path, PathBuf};
#[cfg(all(test, feature = "image"))]
pub fn find_testdata_dir() -> PathBuf {
let mut current = std::env::current_dir().expect("Failed to get current directory");
loop {
let testdata = current.join("testdata");
let cargo_toml = current.join("Cargo.toml");
if testdata.exists() && cargo_toml.exists() {
return testdata;
}
if !current.pop() {
panic!("Could not find testdata directory. Make sure tests are run from the project root.");
}
}
}
#[cfg(all(test, feature = "image"))]
pub fn testdata_path<P: AsRef<Path>>(relative_path: P) -> PathBuf {
find_testdata_dir().join(relative_path)
}