bench/cli: extend --extrinsic name filtering (#10677)

* implement benchmarking multiple extrinsics

* ran cargo +nightly fmt

* remove contains check and made it an equals check
This commit is contained in:
dharjeezy
2022-01-18 09:18:52 +01:00
committed by GitHub
parent afdec55069
commit ed92624821
@@ -120,7 +120,8 @@ impl BenchmarkCmd {
let pallet = self.pallet.clone().unwrap_or_else(|| String::new());
let pallet = pallet.as_bytes();
let extrinsic = self.extrinsic.clone().unwrap_or_else(|| String::new());
let extrinsic = extrinsic.as_bytes();
let extrinsic_split: Vec<&str> = extrinsic.split(',').collect();
let extrinsics: Vec<_> = extrinsic_split.iter().map(|x| x.trim().as_bytes()).collect();
let genesis_storage = spec.build_storage()?;
let mut changes = Default::default();
@@ -176,7 +177,10 @@ impl BenchmarkCmd {
.filter(|item| pallet.is_empty() || pallet == &b"*"[..] || pallet == &item.pallet[..])
.for_each(|item| {
for benchmark in &item.benchmarks {
if extrinsic.is_empty() || extrinsic == &b"*"[..] || extrinsic == benchmark.name
let benchmark_name = &benchmark.name;
if extrinsic.is_empty() ||
extrinsic.as_bytes() == &b"*"[..] ||
extrinsics.contains(&&benchmark_name[..])
{
benchmarks_to_run.push((
item.pallet.clone(),