This commit is contained in:
4meta5
2023-11-27 19:15:48 -05:00
parent 57f9353fd0
commit a3cd8e00d2
4 changed files with 42 additions and 0 deletions
Generated
+1
View File
@@ -7401,6 +7401,7 @@ dependencies = [
"sp-core",
"sp-genesis-builder",
"sp-inherents",
"sp-io",
"sp-offchain",
"sp-runtime",
"sp-session",
+4
View File
@@ -81,6 +81,9 @@ cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk
pallet-collator-selection = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0", default-features = false }
parachain-info = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0", default-features = false }
[dev-dependencies]
sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.3.0" }
[features]
default = ["std"]
std = [
@@ -99,6 +102,7 @@ std = [
"frame-system-benchmarking?/std",
"frame-system-rpc-runtime-api/std",
"frame-system/std",
"pallet-proxy/std",
"frame-try-runtime?/std",
"log/std",
"pallet-aura/std",
+15
View File
@@ -0,0 +1,15 @@
// ExtBuilder impl for all runtime integration tests
use frame_support::weights::Weight;
use parachain_template_runtime::{BuildStorage, Runtime, System};
pub fn run_with_system_weight<F>(w: Weight, mut assertions: F)
where
F: FnMut() -> (),
{
let mut t: sp_io::TestExternalities =
frame_system::GenesisConfig::<Runtime>::default().build_storage().unwrap().into();
t.execute_with(|| {
System::set_block_consumed_resources(w, 0);
assertions()
});
}
+22
View File
@@ -0,0 +1,22 @@
// Integration transaction fee tests i.e. adjusts to block saturation
mod common;
use common::*;
use frame_support::pallet_prelude::*;
use parachain_template_runtime::{Runtime, RuntimeBlockWeights};
use polkadot_runtime_common::MinimumMultiplier;
use sp_runtime::{traits::Convert, Perquintill};
#[test]
fn multiplier_can_grow_from_zero() {
let minimum_multiplier = MinimumMultiplier::get();
let target = Perquintill::from_percent(25)
* RuntimeBlockWeights::get().get(DispatchClass::Normal).max_total.unwrap();
// if the min is too small, then this will not change, and we are doomed forever.
// the weight is 1/100th bigger than target.
run_with_system_weight(target * 101 / 100, || {
let next = <Runtime as pallet_transaction_payment::Config>::FeeMultiplierUpdate::convert(
minimum_multiplier,
);
assert!(next > minimum_multiplier, "{:?} !>= {:?}", next, minimum_multiplier);
})
}