use std::{fs::read_dir, path::Path}; #[test] fn expand_examples() { let current_path = snapbox::current_dir!(); println!("current_path: {}", current_path.display()); let example_dir = current_path.join("../examples"); let dir = read_dir(example_dir).unwrap(); for entry in dir { let entry = entry.unwrap(); let mut name = entry.file_name().into_string().unwrap(); if name.ends_with(".rs") { name.truncate(name.len() - 3); let expected = snapbox::Data::read_from( Path::new(&format!( "{}/expand/{}.stdout", current_path.display(), &name )), None, ); // cargo expand path::to::module snapbox::cmd::Command::new("cargo") .args(["expand", "-p", "heapsz", "--example", &name]) .assert() .success() .stdout_matches(expected); } } }