use std::fs; use std::path::Path; fn with_insta_settings(path: &Path, f: impl FnOnce()) { let mut settings = insta::Settings::clone_current(); settings.set_prepend_module_to_snapshot(false); settings.set_snapshot_path(path); settings.set_input_file(path); settings.bind(f) } pub fn run_test_folder>(folder: P, test_fn: impl Fn(&Path)) { for entry in fs::read_dir(folder).expect("couldn't read directory") { let entry = entry.unwrap(); let path = entry.path().canonicalize().unwrap(); dbg!(entry.path().to_string_lossy()); with_insta_settings(&path, || test_fn(&path)) } }