From ecc76123149b4a2c1442bead1c1f335530abe87b Mon Sep 17 00:00:00 2001 From: Damilare Date: Mon, 17 Jan 2022 00:31:12 +0100 Subject: [PATCH 1/3] implement benchmarking multiple extrinsics --- utils/frame/benchmarking-cli/src/command.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/utils/frame/benchmarking-cli/src/command.rs b/utils/frame/benchmarking-cli/src/command.rs index 368b5ce59c952..f51e5a02dbf96 100644 --- a/utils/frame/benchmarking-cli/src/command.rs +++ b/utils/frame/benchmarking-cli/src/command.rs @@ -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 extrinsic: 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,8 @@ 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.contains(&&b"*"[..]) || extrinsic.contains(&&benchmark_name[..]) { benchmarks_to_run.push(( item.pallet.clone(), From fd1524ad70a2a3a4a1a48b4032024b44a96cc3e3 Mon Sep 17 00:00:00 2001 From: Damilare Date: Mon, 17 Jan 2022 00:50:37 +0100 Subject: [PATCH 2/3] ran cargo +nightly fmt --- utils/frame/benchmarking-cli/src/command.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/utils/frame/benchmarking-cli/src/command.rs b/utils/frame/benchmarking-cli/src/command.rs index f51e5a02dbf96..6a836dcdbafcc 100644 --- a/utils/frame/benchmarking-cli/src/command.rs +++ b/utils/frame/benchmarking-cli/src/command.rs @@ -120,7 +120,7 @@ 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_split:Vec<&str> = extrinsic.split(',').collect(); + let extrinsic_split: Vec<&str> = extrinsic.split(',').collect(); let extrinsic: Vec<_> = extrinsic_split.iter().map(|x| x.trim().as_bytes()).collect(); let genesis_storage = spec.build_storage()?; @@ -178,7 +178,9 @@ impl BenchmarkCmd { .for_each(|item| { for benchmark in &item.benchmarks { let benchmark_name = &benchmark.name; - if extrinsic.is_empty() || extrinsic.contains(&&b"*"[..]) || extrinsic.contains(&&benchmark_name[..]) + if extrinsic.is_empty() || + extrinsic.contains(&&b"*"[..]) || + extrinsic.contains(&&benchmark_name[..]) { benchmarks_to_run.push(( item.pallet.clone(), From ec7f6921d5c5383bb54d61e2f586c1aadc1e9221 Mon Sep 17 00:00:00 2001 From: Damilare Date: Mon, 17 Jan 2022 15:08:20 +0100 Subject: [PATCH 3/3] remove contains check and made it an equals check --- utils/frame/benchmarking-cli/src/command.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utils/frame/benchmarking-cli/src/command.rs b/utils/frame/benchmarking-cli/src/command.rs index 6a836dcdbafcc..a5046dbaad2ac 100644 --- a/utils/frame/benchmarking-cli/src/command.rs +++ b/utils/frame/benchmarking-cli/src/command.rs @@ -121,7 +121,7 @@ impl BenchmarkCmd { let pallet = pallet.as_bytes(); let extrinsic = self.extrinsic.clone().unwrap_or_else(|| String::new()); let extrinsic_split: Vec<&str> = extrinsic.split(',').collect(); - let extrinsic: Vec<_> = extrinsic_split.iter().map(|x| x.trim().as_bytes()).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(); @@ -179,8 +179,8 @@ impl BenchmarkCmd { for benchmark in &item.benchmarks { let benchmark_name = &benchmark.name; if extrinsic.is_empty() || - extrinsic.contains(&&b"*"[..]) || - extrinsic.contains(&&benchmark_name[..]) + extrinsic.as_bytes() == &b"*"[..] || + extrinsics.contains(&&benchmark_name[..]) { benchmarks_to_run.push(( item.pallet.clone(),