[xcm-emulator] Unignore cumulus integration tests (#1247)

* tests should not be run with runtime-benchmarks feature
This commit is contained in:
Squirrel
2023-09-01 21:15:20 +01:00
committed by GitHub
parent 23a2b7b5b3
commit dbbfe041fd
16 changed files with 295 additions and 231 deletions
@@ -32,3 +32,19 @@ asset-hub-kusama-runtime = { path = "../../../../runtimes/assets/asset-hub-kusam
# Local
xcm-emulator = { path = "../../../../../xcm/xcm-emulator", default-features = false}
integration-tests-common = { path = "../../common", default-features = false}
[features]
runtime-benchmarks = [
"asset-hub-kusama-runtime/runtime-benchmarks",
"frame-support/runtime-benchmarks",
"frame-system/runtime-benchmarks",
"integration-tests-common/runtime-benchmarks",
"pallet-asset-conversion/runtime-benchmarks",
"pallet-assets/runtime-benchmarks",
"pallet-balances/runtime-benchmarks",
"pallet-xcm/runtime-benchmarks",
"polkadot-parachain-primitives/runtime-benchmarks",
"polkadot-runtime-parachains/runtime-benchmarks",
"polkadot-runtime/runtime-benchmarks",
"sp-runtime/runtime-benchmarks",
]
@@ -28,8 +28,8 @@ pub use integration_tests_common::{
},
xcm_helpers::{xcm_transact_paid_execution, xcm_transact_unpaid_execution},
AssetHubPolkadot, AssetHubPolkadotPallet, AssetHubPolkadotReceiver, AssetHubPolkadotSender,
PenpalPolkadotA, PenpalPolkadotAReceiver, Polkadot, PolkadotPallet, PolkadotReceiver,
PolkadotSender,
PenpalPolkadotA, PenpalPolkadotAPallet, PenpalPolkadotAReceiver, PenpalPolkadotB,
PenpalPolkadotBPallet, Polkadot, PolkadotPallet, PolkadotReceiver, PolkadotSender,
};
pub use parachains_common::{AccountId, Balance};
pub use xcm::{
@@ -87,4 +87,5 @@ pub fn system_para_test_args(
}
#[cfg(test)]
#[cfg(not(feature = "runtime-benchmarks"))]
mod tests;
@@ -21,7 +21,6 @@ const MAX_MESSAGE_SIZE: u32 = 8192;
/// Opening HRMP channels between Parachains should work
#[test]
#[cfg(feature = "FIXME-IGNORED")] // <https://github.com/paritytech/cumulus/issues/3027>
fn open_hrmp_channel_between_paras_works() {
// Parchain A init values
let para_a_id = PenpalPolkadotA::para_id();
@@ -110,6 +109,8 @@ fn open_hrmp_channel_between_paras_works() {
PenpalPolkadotB::assert_xcm_pallet_sent();
});
PenpalPolkadotB::execute_with(|| {});
Polkadot::execute_with(|| {
type RuntimeEvent = <Polkadot as Chain>::RuntimeEvent;
@@ -129,75 +129,76 @@ fn send_transact_native_from_system_para_to_relay_fails() {
/// Parachain should be able to send XCM paying its fee with sufficient asset
/// in the System Parachain
#[test]
#[ignore]
fn send_xcm_from_para_to_system_para_paying_fee_with_assets_works() {
// let para_sovereign_account = AssetHubPolkadot::sovereign_account_id_of(
// AssetHubPolkadot::sibling_location_of(PenpalPolkadotA::para_id()),
// );
let para_sovereign_account = AssetHubPolkadot::sovereign_account_id_of(
AssetHubPolkadot::sibling_location_of(PenpalPolkadotA::para_id()),
);
// // Force create and mint assets for Parachain's sovereign account
// AssetHubPolkadot::force_create_and_mint_asset(
// ASSET_ID,
// ASSET_MIN_BALANCE,
// true,
// para_sovereign_account.clone(),
// ASSET_MIN_BALANCE * 1000000000,
// );
// Force create and mint assets for Parachain's sovereign account
AssetHubPolkadot::force_create_and_mint_asset(
ASSET_ID,
ASSET_MIN_BALANCE,
true,
para_sovereign_account.clone(),
ASSET_MIN_BALANCE * 1000000000,
);
// // We just need a call that can pass the `SafeCallFilter`
// // Call values are not relevant
// let call = AssetHubPolkadot::force_create_asset_call(
// ASSET_ID,
// para_sovereign_account.clone(),
// true,
// ASSET_MIN_BALANCE,
// );
// We just need a call that can pass the `SafeCallFilter`
// Call values are not relevant
let call = AssetHubPolkadot::force_create_asset_call(
ASSET_ID,
para_sovereign_account.clone(),
true,
ASSET_MIN_BALANCE,
);
// let origin_kind = OriginKind::SovereignAccount;
// let fee_amount = ASSET_MIN_BALANCE * 1000000;
// let native_asset =
// (X2(PalletInstance(ASSETS_PALLET_ID), GeneralIndex(ASSET_ID.into())), fee_amount).into();
let origin_kind = OriginKind::SovereignAccount;
let fee_amount = ASSET_MIN_BALANCE * 1000000;
let native_asset =
(X2(PalletInstance(ASSETS_PALLET_ID), GeneralIndex(ASSET_ID.into())), fee_amount).into();
// let root_origin = <PenpalPolkadotA as Chain>::RuntimeOrigin::root();
// let system_para_destination =
// PenpalPolkadotA::sibling_location_of(AssetHubPolkadot::para_id()).into();
// let xcm = xcm_transact_paid_execution(
// call,
// origin_kind,
// native_asset,
// para_sovereign_account.clone(),
// );
let root_origin = <PenpalPolkadotA as Chain>::RuntimeOrigin::root();
let system_para_destination =
PenpalPolkadotA::sibling_location_of(AssetHubPolkadot::para_id()).into();
let xcm = xcm_transact_paid_execution(
call,
origin_kind,
native_asset,
para_sovereign_account.clone(),
);
// PenpalPolkadotA::execute_with(|| {
// assert_ok!(<PenpalPolkadotA as PenpalPolkadotAPallet>::PolkadotXcm::send(
// root_origin,
// bx!(system_para_destination),
// bx!(xcm),
// ));
PenpalPolkadotA::execute_with(|| {
assert_ok!(<PenpalPolkadotA as PenpalPolkadotAPallet>::PolkadotXcm::send(
root_origin,
bx!(system_para_destination),
bx!(xcm),
));
// PenpalPolkadotA::assert_xcm_pallet_sent();
// });
PenpalPolkadotA::assert_xcm_pallet_sent();
});
// AssetHubPolkadot::execute_with(|| {
// type RuntimeEvent = <AssetHubPolkadot as Chain>::RuntimeEvent;
PenpalPolkadotA::execute_with(|| {});
// AssetHubPolkadot::assert_xcmp_queue_success(Some(Weight::from_parts(
// 2_176_414_000,
// 203_593,
// )));
AssetHubPolkadot::execute_with(|| {
type RuntimeEvent = <AssetHubPolkadot as Chain>::RuntimeEvent;
// assert_expected_events!(
// AssetHubPolkadot,
// vec![
// RuntimeEvent::Assets(pallet_assets::Event::Burned { asset_id, owner, balance }) => {
// asset_id: *asset_id == ASSET_ID,
// owner: *owner == para_sovereign_account,
// balance: *balance == fee_amount,
// },
// RuntimeEvent::Assets(pallet_assets::Event::Issued { asset_id, .. }) => {
// asset_id: *asset_id == ASSET_ID,
// },
// ]
// );
// });
AssetHubPolkadot::assert_xcmp_queue_success(Some(Weight::from_parts(
2_176_414_000,
203_593,
)));
assert_expected_events!(
AssetHubPolkadot,
vec![
RuntimeEvent::Assets(pallet_assets::Event::Burned { asset_id, owner, balance }) => {
asset_id: *asset_id == ASSET_ID,
owner: *owner == para_sovereign_account,
balance: *balance == fee_amount,
},
RuntimeEvent::Assets(pallet_assets::Event::Issued { asset_id, .. }) => {
asset_id: *asset_id == ASSET_ID,
},
]
);
});
}