From c3c95caf228f2ce21444353f1c934c134d0ead83 Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Mon, 9 Oct 2023 15:58:42 +0200 Subject: [PATCH] test: fix build --- pallets/collator-selection/src/mock.rs | 40 +++++++++++---------- pallets/collator-selection/src/tests.rs | 8 ++--- pallets/identity/src/tests.rs | 6 ++-- pallets/inflation/src/tests.rs | 48 +++++++++++++------------ runtime/common/tests/mod.rs | 10 +++--- runtime/common/tests/xcm.rs | 6 ++-- runtime/tests/src/dispatch.rs | 1 + runtime/tests/src/lib.rs | 16 ++++----- runtime/tests/src/weights | 1 + 9 files changed, 70 insertions(+), 66 deletions(-) create mode 120000 runtime/tests/src/dispatch.rs create mode 120000 runtime/tests/src/weights diff --git a/pallets/collator-selection/src/mock.rs b/pallets/collator-selection/src/mock.rs index 5355bf2f0b..2d9e42c1ce 100644 --- a/pallets/collator-selection/src/mock.rs +++ b/pallets/collator-selection/src/mock.rs @@ -32,23 +32,22 @@ use frame_support::{ ord_parameter_types, parameter_types, - traits::{FindAuthor, GenesisBuild, ValidatorRegistration}, + traits::{ConstU32, FindAuthor, ValidatorRegistration}, PalletId, }; use frame_system as system; use frame_system::EnsureSignedBy; -use sp_core::H256; +use sp_core::{ConstBool, H256}; use sp_runtime::{ - testing::{Header, UintAuthorityId}, + testing::UintAuthorityId, traits::{BlakeTwo256, IdentityLookup, OpaqueKeys}, - Perbill, RuntimeAppPublic, + BuildStorage, Perbill, RuntimeAppPublic, }; use super::*; use crate as collator_selection; -type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; -type Block = frame_system::mocking::MockBlock; +type Block = frame_system::mocking::MockBlockU32; // Configure a mock runtime to test the pallet. frame_support::construct_runtime!( @@ -64,12 +63,13 @@ frame_support::construct_runtime!( ); parameter_types! { - pub const BlockHashCount: u64 = 250; + pub const BlockHashCount: u32 = 250; pub const SS58Prefix: u8 = 42; } impl system::Config for Test { type BaseCallFilter = frame_support::traits::Everything; + type Block = Block; type BlockWeights = (); type BlockLength = (); type DbWeight = (); @@ -90,7 +90,7 @@ impl system::Config for Test { type SystemWeightInfo = (); type SS58Prefix = SS58Prefix; type OnSetCode = (); - type MaxConsumers = frame_support::traits::ConstU32<16>; + type MaxConsumers = ConstU32<16>; } parameter_types! { @@ -113,6 +113,7 @@ impl pallet_balances::Config for Test { type FreezeIdentifier = [u8; 16]; type MaxHolds = MaxHolds; type MaxFreezes = MaxFreezes; + type RuntimeHoldReason = RuntimeHoldReason; } pub struct Author4; @@ -145,6 +146,7 @@ impl pallet_aura::Config for Test { type AuthorityId = sp_consensus_aura::sr25519::AuthorityId; type MaxAuthorities = MaxAuthorities; type DisabledValidators = (); + type AllowMultipleBlocksPerSlot = ConstBool; } sp_runtime::impl_opaque_keys! { @@ -162,27 +164,27 @@ impl From for MockSessionKeys { parameter_types! { pub static SessionHandlerCollators: Vec = Vec::new(); - pub static SessionChangeBlock: u64 = 0; + pub static SessionChangeBlock: u32 = 0; } pub struct TestSessionHandler; impl pallet_session::SessionHandler for TestSessionHandler { const KEY_TYPE_IDS: &'static [sp_runtime::KeyTypeId] = &[UintAuthorityId::ID]; fn on_genesis_session(keys: &[(u64, Ks)]) { - SessionHandlerCollators::set(keys.into_iter().map(|(a, _)| *a).collect::>()) + SessionHandlerCollators::set(keys.iter().map(|(a, _)| *a).collect::>()) } fn on_new_session(_: bool, keys: &[(u64, Ks)], _: &[(u64, Ks)]) { SessionChangeBlock::set(System::block_number()); dbg!(keys.len()); - SessionHandlerCollators::set(keys.into_iter().map(|(a, _)| *a).collect::>()) + SessionHandlerCollators::set(keys.iter().map(|(a, _)| *a).collect::>()) } fn on_before_session_ending() {} fn on_disabled(_: u32) {} } parameter_types! { - pub const Offset: u64 = 0; - pub const Period: u64 = 10; + pub const Offset: u32 = 0; + pub const Period: u32 = 10; } impl pallet_session::Config for Test { @@ -201,7 +203,7 @@ impl pallet_session::Config for Test { parameter_types! { pub const MaxCollators: u32 = 5; pub const LicenseBond: u64 = 10; - pub const KickThreshold: u64 = 10; + pub const KickThreshold: u32 = 10; // the following values do not matter and are meaningless, etc. pub const DefaultWeightToFeeCoefficient: u64 = 100_000; pub const DefaultMinGasPrice: u64 = 100_000; @@ -230,6 +232,7 @@ impl ValidatorRegistration for IsRegistered { impl Config for Test { type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type UpdateOrigin = EnsureSignedBy; type PotId = PotId; type MaxCollators = MaxCollators; @@ -238,7 +241,6 @@ impl Config for Test { type ValidatorId = ::AccountId; type ValidatorIdOf = IdentityCollator; type ValidatorRegistration = IsRegistered; - type LicenceBondIdentifier = LicenceBondIdentifier; type Currency = Balances; type DesiredCollators = MaxCollators; type LicenseBond = LicenseBond; @@ -248,8 +250,8 @@ impl Config for Test { pub fn new_test_ext() -> sp_io::TestExternalities { sp_tracing::try_init_simple(); - let mut t = frame_system::GenesisConfig::default() - .build_storage::() + let mut t = >::default() + .build_storage() .unwrap(); let invulnerables = vec![1, 2]; @@ -284,9 +286,9 @@ pub fn new_test_ext() -> sp_io::TestExternalities { t.into() } -pub fn initialize_to_block(n: u64) { +pub fn initialize_to_block(n: u32) { for i in System::block_number() + 1..=n { System::set_block_number(i); - >::on_initialize(i); + >::on_initialize(i); } } diff --git a/pallets/collator-selection/src/tests.rs b/pallets/collator-selection/src/tests.rs index b13a44e0f1..096d50b593 100644 --- a/pallets/collator-selection/src/tests.rs +++ b/pallets/collator-selection/src/tests.rs @@ -32,10 +32,10 @@ use frame_support::{ assert_noop, assert_ok, - traits::{fungible, GenesisBuild, OnInitialize}, + traits::{fungible, OnInitialize}, }; use scale_info::prelude::*; -use sp_runtime::{traits::BadOrigin, TokenError}; +use sp_runtime::{traits::BadOrigin, BuildStorage, TokenError}; use crate::{self as collator_selection, mock::*, Config, Error}; @@ -464,8 +464,8 @@ fn kick_mechanism() { #[should_panic = "duplicate invulnerables in genesis."] fn cannot_set_genesis_value_twice() { sp_tracing::try_init_simple(); - let mut t = frame_system::GenesisConfig::default() - .build_storage::() + let mut t = >::default() + .build_storage() .unwrap(); let invulnerables = vec![1, 1]; diff --git a/pallets/identity/src/tests.rs b/pallets/identity/src/tests.rs index 859a1f3095..9592b10b12 100644 --- a/pallets/identity/src/tests.rs +++ b/pallets/identity/src/tests.rs @@ -43,7 +43,6 @@ use frame_system::{EnsureRoot, EnsureSignedBy}; use parity_scale_codec::{Decode, Encode}; use sp_core::H256; use sp_runtime::{ - testing::Header, traits::{BadOrigin, BlakeTwo256, IdentityLookup}, BuildStorage, }; @@ -51,8 +50,7 @@ use sp_runtime::{ use super::*; use crate as pallet_identity; -type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; -type Block = frame_system::mocking::MockBlock; +type Block = frame_system::mocking::MockBlockU32; frame_support::construct_runtime!( pub enum Test { @@ -79,7 +77,7 @@ impl frame_system::Config for Test { type AccountId = u64; type Lookup = IdentityLookup; type RuntimeEvent = RuntimeEvent; - type BlockHashCount = ConstU64<250>; + type BlockHashCount = ConstU32<250>; type DbWeight = (); type Version = (); type PalletInfo = PalletInfo; diff --git a/pallets/inflation/src/tests.rs b/pallets/inflation/src/tests.rs index 59821b9a32..221c964496 100644 --- a/pallets/inflation/src/tests.rs +++ b/pallets/inflation/src/tests.rs @@ -34,12 +34,12 @@ use sp_runtime::{ use crate as pallet_inflation; -type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; -type Block = frame_system::mocking::MockBlock; +type Block = frame_system::mocking::MockBlockU32; -const YEAR: u64 = 5_259_600; // 6-second blocks - // const YEAR: u64 = 2_629_800; // 12-second blocks - // Expected 100-block inflation for year 1 is 100 * 100_000_000 / YEAR = FIRST_YEAR_BLOCK_INFLATION +// 6-second blocks +// const YEAR: u32 = 2_629_800; // 12-second blocks +// Expected 100-block inflation for year 1 is 100 * 100_000_000 / YEAR = FIRST_YEAR_BLOCK_INFLATION +const YEAR: u32 = 5_259_600; const FIRST_YEAR_BLOCK_INFLATION: u64 = 1901; parameter_types! { @@ -60,6 +60,7 @@ impl pallet_balances::Config for Test { type FreezeIdentifier = (); type MaxHolds = (); type MaxFreezes = (); + type RuntimeHoldReason = RuntimeHoldReason; } frame_support::construct_runtime!( @@ -71,7 +72,7 @@ frame_support::construct_runtime!( ); parameter_types! { - pub const BlockHashCount: u64 = 250; + pub const BlockHashCount: u32 = 250; pub BlockWeights: frame_system::limits::BlockWeights = frame_system::limits::BlockWeights::simple_max(Weight::from_parts(1024, 0)); pub const SS58Prefix: u8 = 42; @@ -79,6 +80,7 @@ parameter_types! { impl frame_system::Config for Test { type BaseCallFilter = Everything; + type Block = Block; type BlockWeights = (); type BlockLength = (); type DbWeight = (); @@ -187,7 +189,7 @@ fn inflation_works() { fn inflation_second_deposit() { new_test_ext().execute_with(|| { // Total issuance = 1_000_000_000 - let initial_issuance: u64 = 1_000_000_000; + let initial_issuance = 1_000_000_000; let _ = >::deposit(&1234, initial_issuance, Precision::Exact); assert_eq!(Balances::free_balance(1234), initial_issuance); MockBlockNumberProvider::set(1); @@ -196,20 +198,20 @@ fn inflation_second_deposit() { assert_ok!(Inflation::start_inflation(RawOrigin::Root.into(), 1)); // Next inflation deposit happens when block is greater then or equal to NextInflationBlock - let mut block: u64 = 2; - let balance_before: u64 = Balances::free_balance(1234); + let mut block = 2; + let balance_before = Balances::free_balance(1234); while block < >::get() { - MockBlockNumberProvider::set(block as u64); + MockBlockNumberProvider::set(block); Inflation::on_initialize(0); block += 1; } - let balance_just_before: u64 = Balances::free_balance(1234); + let balance_just_before = Balances::free_balance(1234); assert_eq!(balance_before, balance_just_before); // The block with inflation - MockBlockNumberProvider::set(block as u64); + MockBlockNumberProvider::set(block); Inflation::on_initialize(0); - let balance_after: u64 = Balances::free_balance(1234); + let balance_after = Balances::free_balance(1234); assert_eq!(balance_after - balance_just_before, block_inflation!()); }); } @@ -234,7 +236,7 @@ fn inflation_in_1_year() { Inflation::on_initialize(0); } assert_eq!( - initial_issuance + (FIRST_YEAR_BLOCK_INFLATION * (YEAR / 100)), + initial_issuance + (FIRST_YEAR_BLOCK_INFLATION * ((YEAR as u64) / 100)), >::total_issuance() ); @@ -243,8 +245,8 @@ fn inflation_in_1_year() { let block_inflation_year_2 = block_inflation!(); // Expected 100-block inflation for year 2: 100 * 9.33% * initial issuance * 110% / YEAR == 1951 let expecter_year_2_inflation: u64 = (initial_issuance - + FIRST_YEAR_BLOCK_INFLATION * YEAR / 100) - * 933 * 100 / (10000 * YEAR); + + FIRST_YEAR_BLOCK_INFLATION * (YEAR as u64) / 100) + * 933 * 100 / (10000 * (YEAR as u64)); assert_eq!(block_inflation_year_2 / 10, expecter_year_2_inflation / 10); // divide by 10 for approx. equality }); } @@ -253,8 +255,8 @@ fn inflation_in_1_year() { fn inflation_start_large_kusama_block() { new_test_ext().execute_with(|| { // Total issuance = 1_000_000_000 - let initial_issuance: u64 = 1_000_000_000; - let start_block: u64 = 10457457; + let initial_issuance = 1_000_000_000; + let start_block = 10457457; let _ = >::deposit(&1234, initial_issuance, Precision::Exact); assert_eq!(Balances::free_balance(1234), initial_issuance); MockBlockNumberProvider::set(start_block); @@ -273,7 +275,7 @@ fn inflation_start_large_kusama_block() { Inflation::on_initialize(0); } assert_eq!( - initial_issuance + (FIRST_YEAR_BLOCK_INFLATION * (YEAR / 100)), + initial_issuance + (FIRST_YEAR_BLOCK_INFLATION * ((YEAR as u64) / 100)), >::total_issuance() ); @@ -282,8 +284,8 @@ fn inflation_start_large_kusama_block() { let block_inflation_year_2 = block_inflation!(); // Expected 100-block inflation for year 2: 100 * 9.33% * initial issuance * 110% / YEAR == 1951 let expecter_year_2_inflation: u64 = (initial_issuance - + FIRST_YEAR_BLOCK_INFLATION * YEAR / 100) - * 933 * 100 / (10000 * YEAR); + + FIRST_YEAR_BLOCK_INFLATION * (YEAR as u64) / 100) + * 933 * 100 / (10000 * (YEAR as u64)); assert_eq!(block_inflation_year_2 / 10, expecter_year_2_inflation / 10); // divide by 10 for approx. equality }); } @@ -320,14 +322,14 @@ fn inflation_after_year_10_is_flat() { #[test] fn inflation_rate_by_year() { new_test_ext().execute_with(|| { - let payouts: u64 = YEAR / InflationBlockInterval::get() as u64; + let payouts = (YEAR / InflationBlockInterval::get()) as u64; // Inflation starts at 10% and does down by 2/3% every year until year 9 (included), // then it is flat. let payout_by_year: [u64; 11] = [1000, 933, 867, 800, 733, 667, 600, 533, 467, 400, 400]; // For accuracy total issuance = payout0 * payouts * 10; - let initial_issuance: u64 = payout_by_year[0] * payouts * 10; + let initial_issuance = payout_by_year[0] * payouts * 10; let _ = >::deposit(&1234, initial_issuance, Precision::Exact); assert_eq!(Balances::free_balance(1234), initial_issuance); diff --git a/runtime/common/tests/mod.rs b/runtime/common/tests/mod.rs index fd1a4c3af9..ae8f4ec732 100644 --- a/runtime/common/tests/mod.rs +++ b/runtime/common/tests/mod.rs @@ -19,7 +19,7 @@ pub use sp_runtime::AccountId32 as AccountId; use sp_runtime::{BuildStorage, Storage}; use up_common::types::AuraId; -use crate::{BuildGenesisConfig, ParachainInfoConfig, Runtime, RuntimeEvent, System}; +use crate::{ParachainInfoConfig, Runtime, RuntimeEvent, RuntimeGenesisConfig, System}; pub type Balance = u128; pub mod xcm; @@ -51,8 +51,8 @@ fn last_events(n: usize) -> Vec { fn new_test_ext(balances: Vec<(AccountId, Balance)>) -> sp_io::TestExternalities { let mut storage = make_basic_storage(); - pallet_balances::BuildGenesisConfig:: { balances } - .build_storage(&mut storage) + pallet_balances::GenesisConfig:: { balances } + .assimilate_storage(&mut storage) .unwrap(); let mut ext = sp_io::TestExternalities::new(storage); @@ -95,7 +95,7 @@ fn make_basic_storage() -> Storage { .map(|acc| get_account_id_from_seed::(acc)) .collect::>(); - let cfg = BuildGenesisConfig { + let cfg = RuntimeGenesisConfig { collator_selection: CollatorSelectionConfig { invulnerables }, session: SessionConfig { keys }, parachain_info: ParachainInfoConfig { @@ -112,7 +112,7 @@ fn make_basic_storage() -> Storage { fn make_basic_storage() -> Storage { use crate::AuraConfig; - let cfg = BuildGenesisConfig { + let cfg = RuntimeGenesisConfig { aura: AuraConfig { authorities: vec![ get_from_seed::("Alice"), diff --git a/runtime/common/tests/xcm.rs b/runtime/common/tests/xcm.rs index ed8bbe5532..1175cca501 100644 --- a/runtime/common/tests/xcm.rs +++ b/runtime/common/tests/xcm.rs @@ -52,9 +52,9 @@ pub fn xcm_transact_is_forbidden() { let xcm_event = &last_events(1)[0]; match xcm_event { - RuntimeEvent::PolkadotXcm(pallet_xcm::Event::::Attempted( - Outcome::Incomplete(_weight, Error::NoPermission), - )) => { /* Pass */ } + RuntimeEvent::PolkadotXcm(pallet_xcm::Event::::Attempted { + outcome: Outcome::Incomplete(_weight, Error::NoPermission), + }) => { /* Pass */ } _ => panic!( "Expected PolkadotXcm.Attempted(Incomplete(_weight, NoPermission)),\ found: {xcm_event:#?}" diff --git a/runtime/tests/src/dispatch.rs b/runtime/tests/src/dispatch.rs new file mode 120000 index 0000000000..a37422cf94 --- /dev/null +++ b/runtime/tests/src/dispatch.rs @@ -0,0 +1 @@ +../../common/dispatch.rs \ No newline at end of file diff --git a/runtime/tests/src/lib.rs b/runtime/tests/src/lib.rs index 0dea323b78..6a5b461d75 100644 --- a/runtime/tests/src/lib.rs +++ b/runtime/tests/src/lib.rs @@ -33,23 +33,20 @@ use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use sp_core::{H160, H256, U256}; use sp_runtime::{ - testing::Header, traits::{BlakeTwo256, IdentityLookup}, + BuildStorage, }; use up_data_structs::mapping::{CrossTokenAddressMapping, EvmTokenAddressMapping}; -#[path = "../../common/dispatch.rs"] mod dispatch; use dispatch::CollectionDispatchT; -#[path = "../../common/weights/mod.rs"] mod weights; use weights::CommonWeights; -type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; -type Block = frame_system::mocking::MockBlock; +type Block = frame_system::mocking::MockBlockU32; #[cfg(test)] mod tests; @@ -73,13 +70,14 @@ frame_support::construct_runtime!( ); parameter_types! { - pub const BlockHashCount: u64 = 250; + pub const BlockHashCount: u32 = 250; pub const SS58Prefix: u8 = 42; } impl system::Config for Test { type RuntimeEvent = RuntimeEvent; type BaseCallFilter = Everything; + type Block = Block; type BlockWeights = (); type BlockLength = (); type DbWeight = (); @@ -120,6 +118,7 @@ impl pallet_balances::Config for Test { type MaxFreezes = MaxLocks; type FreezeIdentifier = [u8; 8]; type MaxHolds = MaxLocks; + type RuntimeHoldReason = RuntimeHoldReason; } parameter_types! { @@ -232,6 +231,7 @@ impl pallet_evm::Config for Test { type OnMethodCall = (); type OnCreate = (); type OnChargeTransaction = (); + type OnCheckEvmTransaction = (); type FindAuthor = (); type BlockHashMapping = SubstrateBlockHashMapping; type Timestamp = Timestamp; @@ -296,8 +296,8 @@ impl pallet_unique::Config for Test { // Build genesis storage according to the mock runtime. pub fn new_test_ext() -> sp_io::TestExternalities { - system::GenesisConfig::default() - .build_storage::() + >::default() + .build_storage() .unwrap() .into() } diff --git a/runtime/tests/src/weights b/runtime/tests/src/weights new file mode 120000 index 0000000000..2436989693 --- /dev/null +++ b/runtime/tests/src/weights @@ -0,0 +1 @@ +../../common/weights \ No newline at end of file