diff --git a/frame/asset-conversion/src/lib.rs b/frame/asset-conversion/src/lib.rs index 3db694a88e2f4..266c4eb77449f 100644 --- a/frame/asset-conversion/src/lib.rs +++ b/frame/asset-conversion/src/lib.rs @@ -201,7 +201,7 @@ pub mod pallet { type WeightInfo: WeightInfo; /// The benchmarks need a way to create asset ids from u32s. - #[cfg(feature = "runtime-benchmarks")] + #[cfg(any(test, feature = "runtime-benchmarks"))] type BenchmarkHelper: BenchmarkHelper; } @@ -352,24 +352,24 @@ pub mod pallet { #[pallet::hooks] impl Hooks for Pallet { fn integrity_test() { - sp_std::if_std! { - sp_io::TestExternalities::new_empty().execute_with(|| { - // ensure that the `AccountId` is set properly and doesn't generate the same - // pool account for different pool ids. - let native = T::MultiAssetIdConverter::get_native(); - // Decode the asset ids from bytes. - let asset_1 = T::MultiAssetIdConverter::into_multiasset_id(&T::AssetId::decode(&mut vec![0u8, 0, 0, 1].as_slice()).unwrap()); - let asset_2 = T::MultiAssetIdConverter::into_multiasset_id(&T::AssetId::decode(&mut vec![255u8, 255, 255, 255].as_slice()).unwrap()); - assert!(asset_1 != asset_2, "unfortunatly decoded to be the same asset."); - let pool_account_1 = Self::get_pool_account(&(native.clone(), asset_1)); - let pool_account_2 = Self::get_pool_account(&(native, asset_2)); - assert!(sp_std::mem::size_of::() >= sp_std::mem::size_of::()); - assert!( - pool_account_1 != pool_account_2, - "AccountId should be set at least to u128" - ); - }); - } + #[cfg(test)] + sp_io::TestExternalities::new_empty().execute_with(|| { + // ensure that the `AccountId` is set properly and doesn't generate the same + // pool account for different pool ids. + let native = T::MultiAssetIdConverter::get_native(); + let asset_1 = + T::MultiAssetIdConverter::into_multiasset_id(&T::BenchmarkHelper::asset_id(1)); + let asset_2 = + T::MultiAssetIdConverter::into_multiasset_id(&T::BenchmarkHelper::asset_id(2)); + assert!(asset_1 != asset_2, "must return different assets for different ids."); + let pool_account_1 = Self::get_pool_account(&(native.clone(), asset_1)); + let pool_account_2 = Self::get_pool_account(&(native, asset_2)); + assert!(sp_std::mem::size_of::() >= sp_std::mem::size_of::()); + assert!( + pool_account_1 != pool_account_2, + "AccountId should be set at least to u128" + ); + }); } } diff --git a/frame/asset-conversion/src/mock.rs b/frame/asset-conversion/src/mock.rs index 34d2eeb273ca8..9483cfca25c76 100644 --- a/frame/asset-conversion/src/mock.rs +++ b/frame/asset-conversion/src/mock.rs @@ -178,7 +178,7 @@ impl Config for Test { type MultiAssetId = NativeOrAssetId; type MultiAssetIdConverter = NativeOrAssetIdConverter; - #[cfg(feature = "runtime-benchmarks")] + #[cfg(any(test, feature = "runtime-benchmarks"))] type BenchmarkHelper = (); } diff --git a/frame/asset-conversion/src/types.rs b/frame/asset-conversion/src/types.rs index 837b14be283ef..b370d410f82a2 100644 --- a/frame/asset-conversion/src/types.rs +++ b/frame/asset-conversion/src/types.rs @@ -50,13 +50,13 @@ pub trait MultiAssetIdConverter { } /// Benchmark Helper -#[cfg(feature = "runtime-benchmarks")] +#[cfg(any(test, feature = "runtime-benchmarks"))] pub trait BenchmarkHelper { /// Returns an asset id from a given integer. fn asset_id(asset_id: u32) -> AssetId; } -#[cfg(feature = "runtime-benchmarks")] +#[cfg(any(test, feature = "runtime-benchmarks"))] impl BenchmarkHelper for () where AssetId: From,