mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 07:01:05 +00:00
Add Weightless benchmark bailing (#12829)
* Calls can be 'Weightless' Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Fix (child)-bounties benches Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Just use one dummy value Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * 🤦 Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
This commit is contained in:
committed by
GitHub
parent
585492ee83
commit
3af87703de
@@ -21,7 +21,7 @@
|
||||
|
||||
use super::*;
|
||||
|
||||
use frame_benchmarking::{account, benchmarks_instance_pallet, whitelisted_caller};
|
||||
use frame_benchmarking::{account, benchmarks_instance_pallet, whitelisted_caller, BenchmarkError};
|
||||
use frame_system::RawOrigin;
|
||||
use sp_runtime::traits::Bounded;
|
||||
|
||||
@@ -31,13 +31,14 @@ use pallet_treasury::Pallet as Treasury;
|
||||
const SEED: u32 = 0;
|
||||
|
||||
// Create bounties that are approved for use in `on_initialize`.
|
||||
fn create_approved_bounties<T: Config<I>, I: 'static>(n: u32) -> Result<(), &'static str> {
|
||||
fn create_approved_bounties<T: Config<I>, I: 'static>(n: u32) -> Result<(), BenchmarkError> {
|
||||
for i in 0..n {
|
||||
let (caller, _curator, _fee, value, reason) =
|
||||
setup_bounty::<T, I>(i, T::MaximumReasonLength::get());
|
||||
Bounties::<T, I>::propose_bounty(RawOrigin::Signed(caller).into(), value, reason)?;
|
||||
let bounty_id = BountyCount::<T, I>::get() - 1;
|
||||
let approve_origin = T::ApproveOrigin::successful_origin();
|
||||
let approve_origin =
|
||||
T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?;
|
||||
Bounties::<T, I>::approve_bounty(approve_origin, bounty_id)?;
|
||||
}
|
||||
ensure!(BountyApprovals::<T, I>::get().len() == n as usize, "Not all bounty approved");
|
||||
@@ -62,13 +63,14 @@ fn setup_bounty<T: Config<I>, I: 'static>(
|
||||
}
|
||||
|
||||
fn create_bounty<T: Config<I>, I: 'static>(
|
||||
) -> Result<(AccountIdLookupOf<T>, BountyIndex), &'static str> {
|
||||
) -> Result<(AccountIdLookupOf<T>, BountyIndex), BenchmarkError> {
|
||||
let (caller, curator, fee, value, reason) =
|
||||
setup_bounty::<T, I>(0, T::MaximumReasonLength::get());
|
||||
let curator_lookup = T::Lookup::unlookup(curator.clone());
|
||||
Bounties::<T, I>::propose_bounty(RawOrigin::Signed(caller).into(), value, reason)?;
|
||||
let bounty_id = BountyCount::<T, I>::get() - 1;
|
||||
let approve_origin = T::ApproveOrigin::successful_origin();
|
||||
let approve_origin =
|
||||
T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?;
|
||||
Bounties::<T, I>::approve_bounty(approve_origin.clone(), bounty_id)?;
|
||||
Treasury::<T, I>::on_initialize(T::BlockNumber::zero());
|
||||
Bounties::<T, I>::propose_curator(approve_origin, bounty_id, curator_lookup.clone(), fee)?;
|
||||
@@ -97,7 +99,7 @@ benchmarks_instance_pallet! {
|
||||
let (caller, curator, fee, value, reason) = setup_bounty::<T, I>(0, T::MaximumReasonLength::get());
|
||||
Bounties::<T, I>::propose_bounty(RawOrigin::Signed(caller).into(), value, reason)?;
|
||||
let bounty_id = BountyCount::<T, I>::get() - 1;
|
||||
let approve_origin = T::SpendOrigin::successful_origin();
|
||||
let approve_origin = T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?;
|
||||
}: _<T::RuntimeOrigin>(approve_origin, bounty_id)
|
||||
|
||||
propose_curator {
|
||||
@@ -106,10 +108,9 @@ benchmarks_instance_pallet! {
|
||||
let curator_lookup = T::Lookup::unlookup(curator);
|
||||
Bounties::<T, I>::propose_bounty(RawOrigin::Signed(caller).into(), value, reason)?;
|
||||
let bounty_id = BountyCount::<T, I>::get() - 1;
|
||||
let approve_origin = T::SpendOrigin::successful_origin();
|
||||
Bounties::<T, I>::approve_bounty(approve_origin, bounty_id)?;
|
||||
let approve_origin = T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?;
|
||||
Bounties::<T, I>::approve_bounty(approve_origin.clone(), bounty_id)?;
|
||||
Treasury::<T, I>::on_initialize(T::BlockNumber::zero());
|
||||
let approve_origin = T::SpendOrigin::successful_origin();
|
||||
}: _<T::RuntimeOrigin>(approve_origin, bounty_id, curator_lookup, fee)
|
||||
|
||||
// Worst case when curator is inactive and any sender unassigns the curator.
|
||||
@@ -128,7 +129,7 @@ benchmarks_instance_pallet! {
|
||||
let curator_lookup = T::Lookup::unlookup(curator.clone());
|
||||
Bounties::<T, I>::propose_bounty(RawOrigin::Signed(caller).into(), value, reason)?;
|
||||
let bounty_id = BountyCount::<T, I>::get() - 1;
|
||||
let approve_origin = T::SpendOrigin::successful_origin();
|
||||
let approve_origin = T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?;
|
||||
Bounties::<T, I>::approve_bounty(approve_origin.clone(), bounty_id)?;
|
||||
Treasury::<T, I>::on_initialize(T::BlockNumber::zero());
|
||||
Bounties::<T, I>::propose_curator(approve_origin, bounty_id, curator_lookup, fee)?;
|
||||
|
||||
Reference in New Issue
Block a user