mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-27 12:48:00 +00:00
fix(pallet-benchmarking): split test functions in v2 (#3574)
Closes #376 --------- Co-authored-by: command-bot <>
This commit is contained in:
committed by
GitHub
parent
629506ce06
commit
f4fbddec42
@@ -431,7 +431,7 @@ pub fn benchmarks(
|
||||
let mut benchmarks_by_name_mappings: Vec<TokenStream2> = Vec::new();
|
||||
let test_idents: Vec<Ident> = benchmark_names_str
|
||||
.iter()
|
||||
.map(|n| Ident::new(format!("test_{}", n).as_str(), Span::call_site()))
|
||||
.map(|n| Ident::new(format!("test_benchmark_{}", n).as_str(), Span::call_site()))
|
||||
.collect();
|
||||
for i in 0..benchmark_names.len() {
|
||||
let name_ident = &benchmark_names[i];
|
||||
@@ -441,6 +441,37 @@ pub fn benchmarks(
|
||||
benchmarks_by_name_mappings.push(quote!(#name_str => Self::#test_ident()))
|
||||
}
|
||||
|
||||
let impl_test_function = content
|
||||
.iter_mut()
|
||||
.find_map(|item| {
|
||||
let Item::Macro(item_macro) = item else {
|
||||
return None;
|
||||
};
|
||||
|
||||
if !item_macro
|
||||
.mac
|
||||
.path
|
||||
.segments
|
||||
.iter()
|
||||
.any(|s| s.ident == "impl_benchmark_test_suite")
|
||||
{
|
||||
return None;
|
||||
}
|
||||
|
||||
let tokens = item_macro.mac.tokens.clone();
|
||||
*item = Item::Verbatim(quote! {});
|
||||
|
||||
Some(quote! {
|
||||
impl_test_function!(
|
||||
(#( {} #benchmark_names )*)
|
||||
(#( #extra_benchmark_names )*)
|
||||
(#( #skip_meta_benchmark_names )*)
|
||||
#tokens
|
||||
);
|
||||
})
|
||||
})
|
||||
.unwrap_or(quote! {});
|
||||
|
||||
// emit final quoted tokens
|
||||
let res = quote! {
|
||||
#(#mod_attrs)
|
||||
@@ -676,6 +707,8 @@ pub fn benchmarks(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#impl_test_function
|
||||
}
|
||||
#mod_vis use #mod_name::*;
|
||||
};
|
||||
@@ -733,7 +766,8 @@ fn expand_benchmark(
|
||||
let setup_stmts = benchmark_def.setup_stmts;
|
||||
let verify_stmts = benchmark_def.verify_stmts;
|
||||
let last_stmt = benchmark_def.last_stmt;
|
||||
let test_ident = Ident::new(format!("test_{}", name.to_string()).as_str(), Span::call_site());
|
||||
let test_ident =
|
||||
Ident::new(format!("test_benchmark_{}", name.to_string()).as_str(), Span::call_site());
|
||||
|
||||
// unroll params (prepare for quoting)
|
||||
let unrolled = UnrolledParams::from(&benchmark_def.params);
|
||||
|
||||
Reference in New Issue
Block a user