difftreelog
fix scheduler benchmarks
in: master
1 file changed
pallets/scheduler/src/benchmarking.rsdiffbeforeafterboth505051const BLOCK_NUMBER: u32 = 2;51const BLOCK_NUMBER: u32 = 2;5253fn make_scheduled_id(src: u32) -> ScheduledId {54 let slice_id: [u8; 4] = src.encode().try_into().unwrap();55 let mut id: [u8; 16] = [0; 16];56 id[..4].clone_from_slice(&slice_id);57 id58}525953/// Add `n` named items to the schedule.60/// Add `n` named items to the schedule.54///61///79 false => None,86 false => None,80 };87 };818882 let slice_id: [u8; 4] = i.encode().try_into().unwrap();89 let id = make_scheduled_id(i);83 let mut id: [u8; 16] = [0; 16];84 id[..4].clone_from_slice(&slice_id);8586 let origin = frame_system::RawOrigin::Signed(caller.clone()).into();90 let origin = frame_system::RawOrigin::Signed(caller.clone()).into();87 Scheduler::<T>::do_schedule_named(id, t, period, 0, origin, call_or_hash)?;91 Scheduler::<T>::do_schedule_named(id, t, period, 0, origin, call_or_hash)?;202 id[..4].clone_from_slice(&slice_id);206 id[..4].clone_from_slice(&slice_id);203 let when = BLOCK_NUMBER.into();207 let when = BLOCK_NUMBER.into();204 let periodic = Some((T::BlockNumber::one(), 100));208 let periodic = Some((T::BlockNumber::one(), 100));205 let priority = 0;209 let priority = None;206 // Essentially a no-op call.210 // Essentially a no-op call.207 let inner_call = frame_system::Call::set_storage { items: vec![] }.into();211 let inner_call = frame_system::Call::set_storage { items: vec![] }.into();208 let call = Box::new(CallOrHashOf::<T>::Value(inner_call));212 let call = Box::new(CallOrHashOf::<T>::Value(inner_call));220 let origin: RawOrigin<T::AccountId> = frame_system::RawOrigin::Signed(caller.clone());224 let origin: RawOrigin<T::AccountId> = frame_system::RawOrigin::Signed(caller.clone());221 let s in 1 .. T::MaxScheduledPerBlock::get();225 let s in 1 .. T::MaxScheduledPerBlock::get();222 let when = BLOCK_NUMBER.into();226 let when = BLOCK_NUMBER.into();227 let idx = s - 1;223 let id = 0.encode().try_into().unwrap_or([0; MAX_TASK_ID_LENGTH_IN_BYTES as usize]);228 let id = make_scheduled_id(idx);224 fill_schedule::<T>(when, s, true, Some(false))?;229 fill_schedule::<T>(when, s, true, Some(false))?;225 }: _(origin, id)230 }: _(origin, id)226 verify {231 verify {230 );235 );231 // Removed schedule is NONE236 // Removed schedule is NONE232 ensure!(237 ensure!(233 Agenda::<T>::get(when)[0].is_none(),238 Agenda::<T>::get(when)[idx as usize].is_none(),234 "didn't remove from schedule"239 "didn't remove from schedule"235 );240 );236 }241 }242243 change_named_priority {244 let origin: RawOrigin<T::AccountId> = frame_system::RawOrigin::Root;245 let s in 1 .. T::MaxScheduledPerBlock::get();246 let when = BLOCK_NUMBER.into();247 let idx = s - 1;248 let id = make_scheduled_id(idx);249 let priority = 42;250 fill_schedule::<T>(when, s, true, Some(false))?;251 }: _(origin, id, priority)252 verify {253 ensure!(254 Agenda::<T>::get(when)[idx as usize].clone().unwrap().priority == priority,255 "didn't change the priority"256 );257 }237258238 impl_benchmark_test_suite!(Scheduler, crate::mock::new_test_ext(), crate::mock::Test);259 impl_benchmark_test_suite!(Scheduler, crate::mock::new_test_ext(), crate::mock::Test);239}260}