git.delta.rocks / unique-network / refs/commits / 1f1553a73d6c

difftreelog

fix scheduler benchmarks

Daniel Shiposha2022-09-16parent: #65ae3f8.patch.diff
in: master

1 file changed

modifiedpallets/scheduler/src/benchmarking.rsdiffbeforeafterboth
5050
51const BLOCK_NUMBER: u32 = 2;51const BLOCK_NUMBER: u32 = 2;
52
53fn 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 id
58}
5259
53/// 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 };
8188
82 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);
85
86 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 NONE
232 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 }
242
243 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 }
237258
238 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}