Skip to content

Commit 935eeb5

Browse files
authored
fix experimental-ump-signals tests (#6214)
Resolves #6200 Also sets the feature on the rococo-parachain. Will be useful for zombienet testing
1 parent df66d76 commit 935eeb5

File tree

3 files changed

+124
-10
lines changed

3 files changed

+124
-10
lines changed

cumulus/pallets/parachain-system/src/tests.rs

Lines changed: 118 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ use frame_support::{assert_ok, parameter_types, weights::Weight};
2525
use frame_system::RawOrigin;
2626
use hex_literal::hex;
2727
use rand::Rng;
28+
#[cfg(feature = "experimental-ump-signals")]
29+
use relay_chain::vstaging::{UMPSignal, UMP_SEPARATOR};
2830
use relay_chain::HrmpChannelId;
2931
use sp_core::H256;
3032

@@ -583,7 +585,25 @@ fn send_upward_message_num_per_candidate() {
583585
},
584586
|| {
585587
let v = UpwardMessages::<Test>::get();
586-
assert_eq!(v, vec![b"Mr F was here".to_vec()]);
588+
#[cfg(feature = "experimental-ump-signals")]
589+
{
590+
assert_eq!(
591+
v,
592+
vec![
593+
b"Mr F was here".to_vec(),
594+
UMP_SEPARATOR,
595+
UMPSignal::SelectCore(
596+
CoreSelector(1),
597+
ClaimQueueOffset(DEFAULT_CLAIM_QUEUE_OFFSET)
598+
)
599+
.encode()
600+
]
601+
);
602+
}
603+
#[cfg(not(feature = "experimental-ump-signals"))]
604+
{
605+
assert_eq!(v, vec![b"Mr F was here".to_vec()]);
606+
}
587607
},
588608
)
589609
.add_with_post_test(
@@ -594,7 +614,25 @@ fn send_upward_message_num_per_candidate() {
594614
},
595615
|| {
596616
let v = UpwardMessages::<Test>::get();
597-
assert_eq!(v, vec![b"message 2".to_vec()]);
617+
#[cfg(feature = "experimental-ump-signals")]
618+
{
619+
assert_eq!(
620+
v,
621+
vec![
622+
b"message 2".to_vec(),
623+
UMP_SEPARATOR,
624+
UMPSignal::SelectCore(
625+
CoreSelector(2),
626+
ClaimQueueOffset(DEFAULT_CLAIM_QUEUE_OFFSET)
627+
)
628+
.encode()
629+
]
630+
);
631+
}
632+
#[cfg(not(feature = "experimental-ump-signals"))]
633+
{
634+
assert_eq!(v, vec![b"message 2".to_vec()]);
635+
}
598636
},
599637
);
600638
}
@@ -620,15 +658,50 @@ fn send_upward_message_relay_bottleneck() {
620658
|| {
621659
// The message won't be sent because there is already one message in queue.
622660
let v = UpwardMessages::<Test>::get();
623-
assert!(v.is_empty());
661+
#[cfg(feature = "experimental-ump-signals")]
662+
{
663+
assert_eq!(
664+
v,
665+
vec![
666+
UMP_SEPARATOR,
667+
UMPSignal::SelectCore(
668+
CoreSelector(1),
669+
ClaimQueueOffset(DEFAULT_CLAIM_QUEUE_OFFSET)
670+
)
671+
.encode()
672+
]
673+
);
674+
}
675+
#[cfg(not(feature = "experimental-ump-signals"))]
676+
{
677+
assert!(v.is_empty());
678+
}
624679
},
625680
)
626681
.add_with_post_test(
627682
2,
628683
|| { /* do nothing within block */ },
629684
|| {
630685
let v = UpwardMessages::<Test>::get();
631-
assert_eq!(v, vec![vec![0u8; 8]]);
686+
#[cfg(feature = "experimental-ump-signals")]
687+
{
688+
assert_eq!(
689+
v,
690+
vec![
691+
vec![0u8; 8],
692+
UMP_SEPARATOR,
693+
UMPSignal::SelectCore(
694+
CoreSelector(2),
695+
ClaimQueueOffset(DEFAULT_CLAIM_QUEUE_OFFSET)
696+
)
697+
.encode()
698+
]
699+
);
700+
}
701+
#[cfg(not(feature = "experimental-ump-signals"))]
702+
{
703+
assert_eq!(v, vec![vec![0u8; 8]]);
704+
}
632705
},
633706
);
634707
}
@@ -1172,7 +1245,25 @@ fn ump_fee_factor_increases_and_decreases() {
11721245
|| {
11731246
// Factor decreases in `on_finalize`, but only if we are below the threshold
11741247
let messages = UpwardMessages::<Test>::get();
1175-
assert_eq!(messages, vec![b"Test".to_vec()]);
1248+
#[cfg(feature = "experimental-ump-signals")]
1249+
{
1250+
assert_eq!(
1251+
messages,
1252+
vec![
1253+
b"Test".to_vec(),
1254+
UMP_SEPARATOR,
1255+
UMPSignal::SelectCore(
1256+
CoreSelector(1),
1257+
ClaimQueueOffset(DEFAULT_CLAIM_QUEUE_OFFSET)
1258+
)
1259+
.encode()
1260+
]
1261+
);
1262+
}
1263+
#[cfg(not(feature = "experimental-ump-signals"))]
1264+
{
1265+
assert_eq!(messages, vec![b"Test".to_vec()]);
1266+
}
11761267
assert_eq!(
11771268
UpwardDeliveryFeeFactor::<Test>::get(),
11781269
FixedU128::from_rational(105, 100)
@@ -1186,10 +1277,28 @@ fn ump_fee_factor_increases_and_decreases() {
11861277
},
11871278
|| {
11881279
let messages = UpwardMessages::<Test>::get();
1189-
assert_eq!(
1190-
messages,
1191-
vec![b"This message will be enough to increase the fee factor".to_vec(),]
1192-
);
1280+
#[cfg(feature = "experimental-ump-signals")]
1281+
{
1282+
assert_eq!(
1283+
messages,
1284+
vec![
1285+
b"This message will be enough to increase the fee factor".to_vec(),
1286+
UMP_SEPARATOR,
1287+
UMPSignal::SelectCore(
1288+
CoreSelector(2),
1289+
ClaimQueueOffset(DEFAULT_CLAIM_QUEUE_OFFSET)
1290+
)
1291+
.encode()
1292+
]
1293+
);
1294+
}
1295+
#[cfg(not(feature = "experimental-ump-signals"))]
1296+
{
1297+
assert_eq!(
1298+
messages,
1299+
vec![b"This message will be enough to increase the fee factor".to_vec()]
1300+
);
1301+
}
11931302
// Now the delivery fee factor is decreased, since we are below the threshold
11941303
assert_eq!(UpwardDeliveryFeeFactor::<Test>::get(), FixedU128::from_u32(1));
11951304
},

cumulus/parachains/runtimes/testing/rococo-parachain/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ polkadot-runtime-common = { workspace = true }
4949
# Cumulus
5050
cumulus-pallet-aura-ext = { workspace = true }
5151
pallet-message-queue = { workspace = true }
52-
cumulus-pallet-parachain-system = { workspace = true }
52+
cumulus-pallet-parachain-system = { workspace = true, features = ["experimental-ump-signals"] }
5353
cumulus-pallet-xcm = { workspace = true }
5454
cumulus-pallet-xcmp-queue = { workspace = true }
5555
cumulus-ping = { workspace = true }

prdoc/pr_6214.prdoc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
crates:
2+
- name: cumulus-pallet-parachain-system
3+
bump: none
4+
- name: rococo-parachain-runtime
5+
bump: none

0 commit comments

Comments
 (0)