| Crates.io | filetest |
| lib.rs | filetest |
| version | 0.2.0 |
| created_at | 2023-09-26 20:30:35.313681+00 |
| updated_at | 2025-07-31 22:09:42.51793+00 |
| description | Macro that creates test cases for each file in a directory |
| homepage | |
| repository | https://github.com/Kyuuhachi/filetest |
| max_upload_size | |
| id | 984018 |
| size | 10,137 |
A proc macro for making test cases from a corpus of files, intended for parsing-related tests.
#[filetest::filetest("examples/files/*")]
fn test_file(path: &std::path::Path, bytes: &[u8], text: &str) {
assert_eq!(std::fs::read(path).unwrap(), bytes);
assert_eq!(bytes, text.as_bytes());
}
This crate requires the proc_macro_span unstable feature, in order to support relative paths.
Arguments passed to the function are identified by name, not by type. All references are 'static.
Currently, the following three arguments are supported:
| Name | Type | Content |
|---|---|---|
path |
&T where str: AsRef<T>1 |
Absolute path to the file |
bytes |
&[u8] |
File contents, as seen by include_bytes!() |
text |
&str |
File contents, as seen by include_str!() |
This includes str, std::path::Path, and camino::Utf8Path. ↩