Crates.io | filetest |
lib.rs | filetest |
version | 0.1.2 |
source | src |
created_at | 2023-09-26 20:30:35.313681 |
updated_at | 2023-10-18 10:19:55.484447 |
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 | 9,950 |
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 |
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
. ↩