Test each benchmark case in own #[test] (#9860)

* Generate one #[test] fn per bench case.

* Update benchmark macro syntax in frame pallets.

* Explain new benchmark macro syntax in example pallet.

* support with and without a semicolon

* update pallets to use individual tests

* migrate staking too

* migrate more pallets

* fix up democracy and use individual tests

* Fix comment

* Put println message in panic

* Remove `another_set_dummy` from doc

`another_set_dummy` is not present in the benchmarking.rs (anymore).

* Update doc for benchmarks macro

* Update doc for impl_benchmark_test_suite macro

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
This commit is contained in:
ucover
2021-10-01 10:17:26 +02:00
committed by GitHub
parent a31ab1fc37
commit f8ce186496
39 changed files with 499 additions and 173 deletions
+3 -5
View File
@@ -357,9 +357,7 @@ impl<T: Config<I>, I: 'static> SortedMembers<T::AccountId> for Pallet<T, I> {
#[cfg(feature = "runtime-benchmarks")]
mod benchmark {
use super::{Pallet as Membership, *};
use frame_benchmarking::{
account, benchmarks_instance_pallet, impl_benchmark_test_suite, whitelist,
};
use frame_benchmarking::{account, benchmarks_instance_pallet, whitelist};
use frame_support::{assert_ok, traits::EnsureOrigin};
use frame_system::RawOrigin;
@@ -494,9 +492,9 @@ mod benchmark {
assert!(<T::MembershipChanged>::get_prime().is_none());
#[cfg(test)] crate::tests::clean();
}
}
impl_benchmark_test_suite!(Membership, crate::tests::new_bench_ext(), crate::tests::Test);
impl_benchmark_test_suite!(Membership, crate::tests::new_bench_ext(), crate::tests::Test);
}
}
#[cfg(test)]