Skip to content
Snippets Groups Projects
Commit 95e85915 authored by Benjamin Gallois's avatar Benjamin Gallois Committed by Hugo Trentesaux
Browse files

Fix #194 session indexing error (!245)

* fix #194

* add test catching smith-members session indexing
parent 7e75570b
No related branches found
No related tags found
1 merge request!245Fix #194 session indexing error
Pipeline #36201 passed
......@@ -24,11 +24,13 @@ use pallet_smith_members::SmithRemovalReason;
pub struct OnNewSessionHandler<Runtime>(core::marker::PhantomData<Runtime>);
impl<Runtime> pallet_authority_members::traits::OnNewSession for OnNewSessionHandler<Runtime>
where
Runtime: pallet_provide_randomness::Config + pallet_distance::Config,
Runtime:
pallet_provide_randomness::Config + pallet_distance::Config + pallet_smith_members::Config,
{
fn on_new_session(index: sp_staking::SessionIndex) {
pallet_provide_randomness::Pallet::<Runtime>::on_new_epoch();
pallet_distance::Pallet::<Runtime>::on_new_session(index);
pallet_smith_members::Pallet::<Runtime>::on_new_session(index);
}
}
......
......@@ -246,6 +246,7 @@ fn test_session_change() {
ExtBuilder::new(1, 3, 4).build().execute_with(|| {
assert_eq!(<Runtime as pallet_babe::Config>::EpochDuration::get(), 25);
assert_eq!(Session::current_index(), 0);
assert_eq!(SmithMembers::current_session(), 0);
assert_eq!(Babe::epoch_index(), 0);
assert_eq!(Babe::current_epoch_start(), 0u64);
run_to_block(2);
......@@ -253,33 +254,42 @@ fn test_session_change() {
assert_eq!(Babe::epoch_index(), 0);
run_to_block(24);
assert_eq!(Session::current_index(), 0);
assert_eq!(SmithMembers::current_session(), 0);
assert_eq!(Babe::epoch_index(), 0);
run_to_block(25);
assert_eq!(Session::current_index(), 1);
assert_eq!(SmithMembers::current_session(), 1);
assert_eq!(Babe::epoch_index(), 1);
assert_eq!(Babe::current_epoch_start(), 25u64);
run_to_block(26);
assert_eq!(Session::current_index(), 1);
assert_eq!(SmithMembers::current_session(), 1);
assert_eq!(Babe::epoch_index(), 1);
run_to_block(50);
assert_eq!(Session::current_index(), 2);
assert_eq!(SmithMembers::current_session(), 2);
assert_eq!(Babe::epoch_index(), 2);
assert_eq!(Babe::current_epoch_start(), 50u64);
run_to_block(51);
assert_eq!(Session::current_index(), 2);
assert_eq!(SmithMembers::current_session(), 2);
assert_eq!(Babe::epoch_index(), 2);
run_to_block(52);
assert_eq!(Session::current_index(), 2);
assert_eq!(SmithMembers::current_session(), 2);
assert_eq!(Babe::epoch_index(), 2);
run_to_block(60);
assert_eq!(Session::current_index(), 2);
assert_eq!(SmithMembers::current_session(), 2);
assert_eq!(Babe::epoch_index(), 2);
assert_eq!(Babe::current_epoch_start(), 50u64);
run_to_block(75);
assert_eq!(Session::current_index(), 3);
assert_eq!(SmithMembers::current_session(), 3);
assert_eq!(Babe::epoch_index(), 3);
run_to_block(100);
assert_eq!(Session::current_index(), 4);
assert_eq!(SmithMembers::current_session(), 4);
assert_eq!(Babe::epoch_index(), 4);
})
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment