1#![deny(clippy::all)]
5
6extern crate proc_macro;
7#[macro_use]
8extern crate syn;
9
10mod tests;
11
12#[proc_macro_attribute]
13pub fn parameterized(
14 args: ::proc_macro::TokenStream,
15 input: ::proc_macro::TokenStream,
16) -> ::proc_macro::TokenStream {
17 let test_cases = parse_macro_input!(args as tests::TestCases);
18 let test_fn = parse_macro_input!(input as greenhouse::TestFn);
19
20 test_cases
21 .to_token_stream(&test_fn)
22 .unwrap_or_else(::syn::Error::into_compile_error)
23 .into()
24}