From 2f9114c119dcaa5fb523d83503cce44e2c28d8d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBelaszczyk?= Date: Mon, 28 Nov 2022 14:19:34 +0100 Subject: [PATCH 01/11] More restrictive clippy checks --- .github/workflows/unit_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 1d34aa02ac..b7c2a41f66 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -58,7 +58,7 @@ jobs: RUSTC_WORKSPACE_WRAPPER: sccache with: command: clippy - args: -- --no-deps -D warnings + args: -- --all-targets --all-features --no-deps -D warnings -A clippy::type_complexity - name: Run Unit Test Suite uses: actions-rs/cargo@v1 From beefd134ab4cea97e5ad402e3bcc2cbf97dbeeac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBelaszczyk?= Date: Mon, 28 Nov 2022 14:52:04 +0100 Subject: [PATCH 02/11] Fixed all clippy complaints --- finality-aleph/src/network/component.rs | 4 ++-- finality-aleph/src/network/mock.rs | 2 +- finality-aleph/src/testing/network.rs | 2 +- finality-aleph/src/validator_network/manager/direction.rs | 5 +---- finality-aleph/src/validator_network/manager/legacy.rs | 2 +- finality-aleph/src/validator_network/manager/mod.rs | 8 ++------ 6 files changed, 8 insertions(+), 15 deletions(-) diff --git a/finality-aleph/src/network/component.rs b/finality-aleph/src/network/component.rs index fb69ede92c..3b55dbe453 100644 --- a/finality-aleph/src/network/component.rs +++ b/finality-aleph/src/network/component.rs @@ -221,8 +221,8 @@ mod tests { } } - impl Into for IntoType { - fn into(self) -> FromType { + impl From for FromType { + fn from(_value: IntoType) -> Self { FromType::A } } diff --git a/finality-aleph/src/network/mock.rs b/finality-aleph/src/network/mock.rs index 885b5bbcea..caffa18d84 100644 --- a/finality-aleph/src/network/mock.rs +++ b/finality-aleph/src/network/mock.rs @@ -133,7 +133,7 @@ impl Channel { self.1.lock().await.by_ref().take(n).collect::>(), ) .await - .unwrap_or(Vec::new()) + .unwrap_or_default() } pub async fn try_next(&self) -> Option { diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index d1f6b36648..01f9bf742b 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -275,7 +275,7 @@ impl TestData { self.network_service_exit_tx.send(()).unwrap(); self.network_manager_handle.await.unwrap(); self.network_service_handle.await.unwrap(); - while let Some(_) = self.network.send_message.try_next().await {} + while (self.network.send_message.try_next().await).is_some() {} self.network.close_channels().await; self.validator_network.close_channels().await; } diff --git a/finality-aleph/src/validator_network/manager/direction.rs b/finality-aleph/src/validator_network/manager/direction.rs index 7d32eab0f1..8568644c06 100644 --- a/finality-aleph/src/validator_network/manager/direction.rs +++ b/finality-aleph/src/validator_network/manager/direction.rs @@ -110,10 +110,7 @@ mod tests { let (mut container0, id0) = container_with_id().await; let (mut container1, id1) = container_with_id().await; let addresses = some_addresses(); - assert!( - container0.add_peer(id1, addresses.clone()) - != container1.add_peer(id0, addresses.clone()) - ); + assert!(container0.add_peer(id1, addresses.clone()) != container1.add_peer(id0, addresses)); } async fn container_with_added_connecting_peer( diff --git a/finality-aleph/src/validator_network/manager/legacy.rs b/finality-aleph/src/validator_network/manager/legacy.rs index 6e7e13697c..154367542c 100644 --- a/finality-aleph/src/validator_network/manager/legacy.rs +++ b/finality-aleph/src/validator_network/manager/legacy.rs @@ -294,7 +294,7 @@ mod tests { // rx should fail assert!(rx.try_next().expect("channel should be closed").is_none()); // add peer, this time for real - assert!(manager.add_peer(peer_id.clone(), addresses.clone())); + assert!(manager.add_peer(peer_id.clone(), addresses)); let (tx, mut rx) = mpsc::unbounded(); // should just add assert_eq!(manager.add_incoming(peer_id.clone(), tx), Added); diff --git a/finality-aleph/src/validator_network/manager/mod.rs b/finality-aleph/src/validator_network/manager/mod.rs index dd9288e7d7..9fd7cf0de6 100644 --- a/finality-aleph/src/validator_network/manager/mod.rs +++ b/finality-aleph/src/validator_network/manager/mod.rs @@ -311,12 +311,8 @@ mod tests { } else { // We need to switch the names around, because the connection was randomly the // other way around. - let temp_id = connecting_id; - connecting_id = listening_id; - listening_id = temp_id; - let temp_manager = connecting_manager; - connecting_manager = listening_manager; - listening_manager = temp_manager; + std::mem::swap(&mut connecting_id, &mut listening_id); + std::mem::swap(&mut connecting_manager, &mut listening_manager); assert!(connecting_manager.add_peer(listening_id.clone(), addresses.clone())); } // add outgoing to connecting From 8c90a57cd1ad87c6d458acce25ef8fefad9cb39a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBelaszczyk?= Date: Mon, 28 Nov 2022 14:53:32 +0100 Subject: [PATCH 03/11] Fixed clippy args order --- .github/workflows/unit_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index b7c2a41f66..1ea53797ba 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -58,7 +58,7 @@ jobs: RUSTC_WORKSPACE_WRAPPER: sccache with: command: clippy - args: -- --all-targets --all-features --no-deps -D warnings -A clippy::type_complexity + args: --all-targets --all-features -- --no-deps -D warnings -A clippy::type_complexity - name: Run Unit Test Suite uses: actions-rs/cargo@v1 From 1b7ee75a85c5dd1eab4969572931fc11c05ac299 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBelaszczyk?= Date: Mon, 28 Nov 2022 18:35:19 +0100 Subject: [PATCH 04/11] Do not allow type complexity lints to sneak through --- .github/workflows/unit_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 1ea53797ba..ab3028b0a7 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -58,7 +58,7 @@ jobs: RUSTC_WORKSPACE_WRAPPER: sccache with: command: clippy - args: --all-targets --all-features -- --no-deps -D warnings -A clippy::type_complexity + args: --all-targets --all-features -- --no-deps -D warnings -D clippy::type_complexity - name: Run Unit Test Suite uses: actions-rs/cargo@v1 From 959405af23cd62d0c41cb7fbb038e49c599124f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBelaszczyk?= Date: Mon, 28 Nov 2022 22:28:45 +0100 Subject: [PATCH 05/11] Streamlined clippy command --- .github/workflows/unit_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index ab3028b0a7..7e3431687a 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -58,7 +58,7 @@ jobs: RUSTC_WORKSPACE_WRAPPER: sccache with: command: clippy - args: --all-targets --all-features -- --no-deps -D warnings -D clippy::type_complexity + args: --all-targets --all-features -- --no-deps -D warnings - name: Run Unit Test Suite uses: actions-rs/cargo@v1 From d28202fb13c30005bac77c9c918c6440953d4d4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBelaszczyk?= Date: Thu, 15 Dec 2022 17:33:19 +0100 Subject: [PATCH 06/11] First batch --- finality-aleph/src/testing/data_store.rs | 6 +++--- finality-aleph/src/testing/mocks/validator_network.rs | 11 +++++++---- pallets/elections/src/mock.rs | 2 +- scripts/run_checks_on_aleph_node.sh | 2 +- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/finality-aleph/src/testing/data_store.rs b/finality-aleph/src/testing/data_store.rs index 7005b69942..ceb32cfde3 100644 --- a/finality-aleph/src/testing/data_store.rs +++ b/finality-aleph/src/testing/data_store.rs @@ -260,7 +260,7 @@ async fn correct_messages_go_through() { .await; for i in 1..=MAX_DATA_BRANCH_LEN { - let blocks_branch = blocks[0..(i as usize)].to_vec(); + let blocks_branch = blocks[0..i].to_vec(); let test_data: TestData = vec![aleph_data_from_blocks(blocks_branch)]; test_handler.send_data(test_data.clone()); @@ -282,7 +282,7 @@ async fn too_long_branch_message_does_not_go_through() { test_handler.finalize_block(&blocks[MAX_DATA_BRANCH_LEN + 2].hash()); - let blocks_branch = blocks[0..((MAX_DATA_BRANCH_LEN + 1) as usize)].to_vec(); + let blocks_branch = blocks[0..(MAX_DATA_BRANCH_LEN + 1)].to_vec(); let test_data: TestData = vec![aleph_data_from_blocks(blocks_branch)]; test_handler.send_data(test_data.clone()); test_handler @@ -381,7 +381,7 @@ async fn branch_with_not_finalized_ancestor_correctly_handled() { fn send_proposals_of_each_len(blocks: Vec, test_handler: &mut TestHandler) { for i in 1..=MAX_DATA_BRANCH_LEN { - let blocks_branch = blocks[0..(i as usize)].to_vec(); + let blocks_branch = blocks[0..i].to_vec(); let test_data: TestData = vec![aleph_data_from_blocks(blocks_branch)]; test_handler.send_data(test_data.clone()); } diff --git a/finality-aleph/src/testing/mocks/validator_network.rs b/finality-aleph/src/testing/mocks/validator_network.rs index ba2e7acf5b..a81fb54665 100644 --- a/finality-aleph/src/testing/mocks/validator_network.rs +++ b/finality-aleph/src/testing/mocks/validator_network.rs @@ -154,6 +154,12 @@ impl MockNetwork { } } +impl Default for MockNetwork { + fn default() -> Self { + Self::new() + } +} + /// Bidirectional in-memory stream that closes abruptly after a specified /// number of poll_write calls. #[derive(Debug)] @@ -484,10 +490,7 @@ fn spawn_peer( Some(lmi) if counter % lmi == 0 => TWICE_MAX_DATA_SIZE, _ => 0, }; - let decodes = match corrupted_message_interval { - Some(cmi) if counter % cmi == 0 => false, - _ => true, - }; + let decodes = !matches!(corrupted_message_interval, Some(cmi) if counter % cmi == 0); let data: MockData = MockData::new(thread_rng().gen_range(0..n_msg) as u32, filler_size, decodes); // choose a peer let peer: MockPublicKey = peer_ids[thread_rng().gen_range(0..peer_ids.len())].clone(); diff --git a/pallets/elections/src/mock.rs b/pallets/elections/src/mock.rs index 492823bfb5..bbe7be48c2 100644 --- a/pallets/elections/src/mock.rs +++ b/pallets/elections/src/mock.rs @@ -277,7 +277,7 @@ impl TestExtBuilder { let balances: Vec<_> = validators .iter() - .map(|i| (**i as u64, 10_000_000)) + .map(|i| (**i, 10_000_000)) .collect(); pallet_balances::GenesisConfig:: { balances } diff --git a/scripts/run_checks_on_aleph_node.sh b/scripts/run_checks_on_aleph_node.sh index 7b0dffe210..c4b1237496 100755 --- a/scripts/run_checks_on_aleph_node.sh +++ b/scripts/run_checks_on_aleph_node.sh @@ -2,6 +2,6 @@ set -e -CARGO_INCREMENTAL=0 cargo clippy --all-targets --all-features --no-deps +CARGO_INCREMENTAL=0 cargo clippy --all-targets --all-features -- --no-deps -D warnings CARGO_INCREMENTAL=0 cargo fmt --all CARGO_INCREMENTAL=0 cargo test --lib From 980616ad93b0997fb833ad2923d52985acf8f24d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBelaszczyk?= Date: Fri, 16 Dec 2022 12:53:21 +0100 Subject: [PATCH 07/11] Partial --- finality-aleph/src/validator_network/mock.rs | 20 +++++++++- .../src/validator_network/protocols/v0/mod.rs | 38 +++++++------------ 2 files changed, 33 insertions(+), 25 deletions(-) diff --git a/finality-aleph/src/validator_network/mock.rs b/finality-aleph/src/validator_network/mock.rs index 37858f5858..6520b8af1c 100644 --- a/finality-aleph/src/validator_network/mock.rs +++ b/finality-aleph/src/validator_network/mock.rs @@ -7,11 +7,15 @@ use std::{ }; use codec::{Decode, Encode}; +use futures::channel::mpsc::UnboundedReceiver; use tokio::io::{duplex, AsyncRead, AsyncWrite, DuplexStream, ReadBuf}; use crate::{ network::PeerId, - validator_network::{ConnectionInfo, PeerAddressInfo, PublicKey, SecretKey, Splittable}, + validator_network::{ + protocols::ResultForService, + ConnectionInfo, PeerAddressInfo, PublicKey, SecretKey, Splittable + }, }; /// A mock secret key that is able to sign messages. @@ -153,3 +157,17 @@ impl Splittable for MockSplittable { (self.outgoing_data, self.incoming_data) } } + +pub struct MockPrelims +{ + pub id_incoming: MockPublicKey, + pub pen_incoming: MockSecretKey, + pub id_outgoing: MockPublicKey, + pub pen_outgoing: MockSecretKey, + pub incoming_handle: H, + pub outgoing_handle: H, + pub data_from_incoming: UnboundedReceiver, + pub result_from_incoming: UnboundedReceiver>, + pub result_from_outgoing: UnboundedReceiver>, +} + diff --git a/finality-aleph/src/validator_network/protocols/v0/mod.rs b/finality-aleph/src/validator_network/protocols/v0/mod.rs index 7510f71b6e..6328254ae1 100644 --- a/finality-aleph/src/validator_network/protocols/v0/mod.rs +++ b/finality-aleph/src/validator_network/protocols/v0/mod.rs @@ -114,28 +114,18 @@ pub async fn incoming( #[cfg(test)] mod tests { use futures::{ - channel::{mpsc, mpsc::UnboundedReceiver}, - pin_mut, FutureExt, StreamExt, + channel::mpsc, + pin_mut, Future, StreamExt, }; use super::{incoming, outgoing, ProtocolError}; use crate::validator_network::{ - mock::{key, MockPublicKey, MockSecretKey, MockSplittable}, - protocols::{ConnectionType, ResultForService}, + mock::{key, MockPublicKey, MockPrelims, MockSplittable}, + protocols::ConnectionType, Data, }; - fn prepare() -> ( - MockPublicKey, - MockSecretKey, - MockPublicKey, - MockSecretKey, - impl futures::Future>>, - impl futures::Future>>, - UnboundedReceiver, - UnboundedReceiver>, - UnboundedReceiver>, - ) { + fn prepare() -> MockPrelims { let (stream_incoming, stream_outgoing) = MockSplittable::new(4096); let (id_incoming, pen_incoming) = key(); let (id_outgoing, pen_outgoing) = key(); @@ -155,7 +145,7 @@ mod tests { id_incoming.clone(), outgoing_result_for_service, ); - ( + MockPrelims { id_incoming, pen_incoming, id_outgoing, @@ -165,22 +155,22 @@ mod tests { data_from_incoming, result_from_incoming, result_from_outgoing, - ) + } } #[tokio::test] async fn send_data() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, mut data_from_incoming, - _result_from_incoming, + result_from_incoming: _result_from_incoming, mut result_from_outgoing, - ) = prepare::>(); + } = prepare::, dyn Future>>>; let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); From c5cc4fd96cec7a9f1f32e6910ae8e5fc70168f09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBelaszczyk?= Date: Fri, 16 Dec 2022 16:33:00 +0100 Subject: [PATCH 08/11] Complex types partial --- finality-aleph/src/validator_network/mock.rs | 12 ++--- .../src/validator_network/protocols/v0/mod.rs | 48 +++++++++---------- 2 files changed, 29 insertions(+), 31 deletions(-) diff --git a/finality-aleph/src/validator_network/mock.rs b/finality-aleph/src/validator_network/mock.rs index 6520b8af1c..4bc3103a30 100644 --- a/finality-aleph/src/validator_network/mock.rs +++ b/finality-aleph/src/validator_network/mock.rs @@ -7,13 +7,13 @@ use std::{ }; use codec::{Decode, Encode}; -use futures::channel::mpsc::UnboundedReceiver; +use futures::{Future, channel::mpsc::UnboundedReceiver}; use tokio::io::{duplex, AsyncRead, AsyncWrite, DuplexStream, ReadBuf}; use crate::{ network::PeerId, validator_network::{ - protocols::ResultForService, + protocols::{ProtocolError, ResultForService}, ConnectionInfo, PeerAddressInfo, PublicKey, SecretKey, Splittable }, }; @@ -158,16 +158,14 @@ impl Splittable for MockSplittable { } } -pub struct MockPrelims -{ +pub struct MockPrelims { pub id_incoming: MockPublicKey, pub pen_incoming: MockSecretKey, pub id_outgoing: MockPublicKey, pub pen_outgoing: MockSecretKey, - pub incoming_handle: H, - pub outgoing_handle: H, + pub incoming_handle: Pin>>>>, + pub outgoing_handle: Pin>>>>, pub data_from_incoming: UnboundedReceiver, pub result_from_incoming: UnboundedReceiver>, pub result_from_outgoing: UnboundedReceiver>, } - diff --git a/finality-aleph/src/validator_network/protocols/v0/mod.rs b/finality-aleph/src/validator_network/protocols/v0/mod.rs index 6328254ae1..29bf8fc900 100644 --- a/finality-aleph/src/validator_network/protocols/v0/mod.rs +++ b/finality-aleph/src/validator_network/protocols/v0/mod.rs @@ -115,17 +115,17 @@ pub async fn incoming( mod tests { use futures::{ channel::mpsc, - pin_mut, Future, StreamExt, + pin_mut, FutureExt, StreamExt, }; use super::{incoming, outgoing, ProtocolError}; use crate::validator_network::{ - mock::{key, MockPublicKey, MockPrelims, MockSplittable}, + mock::{key, MockPrelims, MockSplittable}, protocols::ConnectionType, Data, }; - fn prepare() -> MockPrelims { + fn prepare() -> MockPrelims { let (stream_incoming, stream_outgoing) = MockSplittable::new(4096); let (id_incoming, pen_incoming) = key(); let (id_outgoing, pen_outgoing) = key(); @@ -133,18 +133,18 @@ mod tests { let (incoming_result_for_service, result_from_incoming) = mpsc::unbounded(); let (outgoing_result_for_service, result_from_outgoing) = mpsc::unbounded(); let (data_for_user, data_from_incoming) = mpsc::unbounded::(); - let incoming_handle = incoming( + let incoming_handle = Box::pin(incoming( stream_incoming, pen_incoming.clone(), incoming_result_for_service, data_for_user, - ); - let outgoing_handle = outgoing( + )); + let outgoing_handle = Box::pin(outgoing( stream_outgoing, pen_outgoing.clone(), id_incoming.clone(), outgoing_result_for_service, - ); + )); MockPrelims { id_incoming, pen_incoming, @@ -170,7 +170,7 @@ mod tests { mut data_from_incoming, result_from_incoming: _result_from_incoming, mut result_from_outgoing, - } = prepare::, dyn Future>>>; + } = prepare::>(); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -209,18 +209,18 @@ mod tests { #[tokio::test] async fn closed_by_parent_service() { - let ( - _id_incoming, - _pen_incoming, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, id_outgoing, - _pen_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, + data_from_incoming: _data_from_incoming, mut result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); - let incoming_handle = incoming_handle.fuse(); + result_from_outgoing: _result_from_outgoing, + } = prepare::>(); + let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); pin_mut!(outgoing_handle); @@ -241,17 +241,17 @@ mod tests { #[tokio::test] async fn parent_service_dead() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, + data_from_incoming: _data_from_incoming, result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + } = prepare::>(); std::mem::drop(result_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); From 9f99e3bd970d17e24248e05acedc20aa59b257d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBelaszczyk?= Date: Mon, 19 Dec 2022 10:55:09 +0100 Subject: [PATCH 09/11] Structs for mock data --- e2e-tests/src/config.rs | 4 +- finality-aleph/src/validator_network/mock.rs | 5 +- .../src/validator_network/protocols/v0/mod.rs | 121 +++++++------ .../src/validator_network/protocols/v1/mod.rs | 167 ++++++++---------- fork-off/Cargo.lock | 2 +- pallets/elections/src/mock.rs | 5 +- 6 files changed, 148 insertions(+), 156 deletions(-) diff --git a/e2e-tests/src/config.rs b/e2e-tests/src/config.rs index 4dc0bac63f..0fbdfe5c75 100644 --- a/e2e-tests/src/config.rs +++ b/e2e-tests/src/config.rs @@ -8,7 +8,7 @@ use crate::accounts::{get_sudo_key, get_validators_keys, get_validators_seeds, N static GLOBAL_CONFIG: Lazy = Lazy::new(|| { let node = get_env("NODE_URL").unwrap_or_else(|| "ws://127.0.0.1:9943".to_string()); - let validator_count = get_env("VALIDATOR_COUNT").unwrap_or_else(|| 5); + let validator_count = get_env("VALIDATOR_COUNT").unwrap_or(5); let validators_seeds = env::var("VALIDATORS_SEEDS") .ok() .map(|s| s.split(',').map(|s| s.to_string()).collect()); @@ -41,7 +41,7 @@ where { env::var(name).ok().map(|v| { v.parse() - .expect(&format!("Failed to parse env var {}", name)) + .unwrap_or_else(|_| panic!("Failed to parse env var {}", name)) }) } diff --git a/finality-aleph/src/validator_network/mock.rs b/finality-aleph/src/validator_network/mock.rs index 4bc3103a30..eb03726bfa 100644 --- a/finality-aleph/src/validator_network/mock.rs +++ b/finality-aleph/src/validator_network/mock.rs @@ -7,14 +7,14 @@ use std::{ }; use codec::{Decode, Encode}; -use futures::{Future, channel::mpsc::UnboundedReceiver}; +use futures::{channel::mpsc::UnboundedReceiver, Future}; use tokio::io::{duplex, AsyncRead, AsyncWrite, DuplexStream, ReadBuf}; use crate::{ network::PeerId, validator_network::{ protocols::{ProtocolError, ResultForService}, - ConnectionInfo, PeerAddressInfo, PublicKey, SecretKey, Splittable + ConnectionInfo, PeerAddressInfo, PublicKey, SecretKey, Splittable, }, }; @@ -166,6 +166,7 @@ pub struct MockPrelims { pub incoming_handle: Pin>>>>, pub outgoing_handle: Pin>>>>, pub data_from_incoming: UnboundedReceiver, + pub data_from_outgoing: Option>, pub result_from_incoming: UnboundedReceiver>, pub result_from_outgoing: UnboundedReceiver>, } diff --git a/finality-aleph/src/validator_network/protocols/v0/mod.rs b/finality-aleph/src/validator_network/protocols/v0/mod.rs index 29bf8fc900..1d9d441400 100644 --- a/finality-aleph/src/validator_network/protocols/v0/mod.rs +++ b/finality-aleph/src/validator_network/protocols/v0/mod.rs @@ -113,10 +113,7 @@ pub async fn incoming( #[cfg(test)] mod tests { - use futures::{ - channel::mpsc, - pin_mut, FutureExt, StreamExt, - }; + use futures::{channel::mpsc, pin_mut, FutureExt, StreamExt}; use super::{incoming, outgoing, ProtocolError}; use crate::validator_network::{ @@ -153,6 +150,7 @@ mod tests { incoming_handle, outgoing_handle, data_from_incoming, + data_from_outgoing: None, result_from_incoming, result_from_outgoing, } @@ -170,6 +168,7 @@ mod tests { mut data_from_incoming, result_from_incoming: _result_from_incoming, mut result_from_outgoing, + .. } = prepare::>(); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -179,7 +178,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing, connection_type) = result.expect("the chennel shouldn't be dropped"); + let (_, maybe_data_for_outgoing, connection_type) = result.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::LegacyOutgoing); let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); data_for_outgoing @@ -219,8 +218,9 @@ mod tests { data_from_incoming: _data_from_incoming, mut result_from_incoming, result_from_outgoing: _result_from_outgoing, + .. } = prepare::>(); - let incoming_handle = incoming_handle.fuse(); + let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); pin_mut!(outgoing_handle); @@ -229,7 +229,7 @@ mod tests { _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), received = result_from_incoming.next() => { // we drop the exit oneshot channel, thus finishing incoming_handle - let (received_id, _, connection_type) = received.expect("the chennel shouldn't be dropped"); + let (received_id, _, connection_type) = received.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::LegacyIncoming); assert_eq!(received_id, id_outgoing); }, @@ -251,6 +251,7 @@ mod tests { data_from_incoming: _data_from_incoming, result_from_incoming, result_from_outgoing: _result_from_outgoing, + .. } = prepare::>(); std::mem::drop(result_from_incoming); let incoming_handle = incoming_handle.fuse(); @@ -269,17 +270,18 @@ mod tests { #[tokio::test] async fn parent_user_dead() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming, - _result_from_incoming, + result_from_incoming: _result_from_incoming, mut result_from_outgoing, - ) = prepare::>(); + .. + } = prepare::>(); std::mem::drop(data_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -289,7 +291,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing, connection_type) = result.expect("the chennel shouldn't be dropped"); + let (_, maybe_data_for_outgoing, connection_type) = result.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::LegacyOutgoing); let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); data_for_outgoing @@ -310,17 +312,18 @@ mod tests { #[tokio::test] async fn sender_dead_before_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, - _result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + data_from_incoming: _data_from_incoming, + result_from_incoming: _result_from_incoming, + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); std::mem::drop(outgoing_handle); match incoming_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -331,17 +334,18 @@ mod tests { #[tokio::test] async fn sender_dead_after_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, + data_from_incoming: _data_from_incoming, mut result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); let incoming_handle = incoming_handle.fuse(); pin_mut!(incoming_handle); let (_, _exit, connection_type) = tokio::select! { @@ -360,17 +364,18 @@ mod tests { #[tokio::test] async fn receiver_dead_before_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, - _result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + data_from_incoming: _data_from_incoming, + result_from_incoming: _result_from_incoming, + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); std::mem::drop(incoming_handle); match outgoing_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -381,17 +386,18 @@ mod tests { #[tokio::test] async fn receiver_dead_after_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, + data_from_incoming: _data_from_incoming, mut result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(outgoing_handle); let (_, _exit, connection_type) = tokio::select! { @@ -412,17 +418,18 @@ mod tests { #[tokio::test] async fn receiver_dead_after_handshake_try_send_error() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, + data_from_incoming: _data_from_incoming, mut result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(outgoing_handle); let (_, _exit, connection_type) = tokio::select! { diff --git a/finality-aleph/src/validator_network/protocols/v1/mod.rs b/finality-aleph/src/validator_network/protocols/v1/mod.rs index ca138f9170..4d88ee50dd 100644 --- a/finality-aleph/src/validator_network/protocols/v1/mod.rs +++ b/finality-aleph/src/validator_network/protocols/v1/mod.rs @@ -133,30 +133,16 @@ pub async fn incoming( #[cfg(test)] mod tests { - use futures::{ - channel::{mpsc, mpsc::UnboundedReceiver}, - pin_mut, FutureExt, StreamExt, - }; + use futures::{channel::mpsc, pin_mut, FutureExt, StreamExt}; use super::{incoming, outgoing, ProtocolError}; use crate::validator_network::{ - mock::{key, MockPublicKey, MockSecretKey, MockSplittable}, - protocols::{ConnectionType, ResultForService}, + mock::{key, MockPrelims, MockSplittable}, + protocols::ConnectionType, Data, }; - fn prepare() -> ( - MockPublicKey, - MockSecretKey, - MockPublicKey, - MockSecretKey, - impl futures::Future>>, - impl futures::Future>>, - UnboundedReceiver, - UnboundedReceiver, - UnboundedReceiver>, - UnboundedReceiver>, - ) { + fn prepare() -> MockPrelims { let (stream_incoming, stream_outgoing) = MockSplittable::new(4096); let (id_incoming, pen_incoming) = key(); let (id_outgoing, pen_outgoing) = key(); @@ -165,20 +151,20 @@ mod tests { let (outgoing_result_for_service, result_from_outgoing) = mpsc::unbounded(); let (incoming_data_for_user, data_from_incoming) = mpsc::unbounded::(); let (outgoing_data_for_user, data_from_outgoing) = mpsc::unbounded::(); - let incoming_handle = incoming( + let incoming_handle = Box::pin(incoming( stream_incoming, pen_incoming.clone(), incoming_result_for_service, incoming_data_for_user, - ); - let outgoing_handle = outgoing( + )); + let outgoing_handle = Box::pin(outgoing( stream_outgoing, pen_outgoing.clone(), id_incoming.clone(), outgoing_result_for_service, outgoing_data_for_user, - ); - ( + )); + MockPrelims { id_incoming, pen_incoming, id_outgoing, @@ -186,26 +172,27 @@ mod tests { incoming_handle, outgoing_handle, data_from_incoming, - data_from_outgoing, + data_from_outgoing: Some(data_from_outgoing), result_from_incoming, result_from_outgoing, - ) + } } #[tokio::test] async fn send_data() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, mut data_from_incoming, - mut data_from_outgoing, + data_from_outgoing, mut result_from_incoming, mut result_from_outgoing, - ) = prepare::>(); + } = prepare::>(); + let mut data_from_outgoing = data_from_outgoing.expect("No data from outgoing!"); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -214,7 +201,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing, connection_type) = result.expect("the chennel shouldn't be dropped"); + let (_, maybe_data_for_outgoing, connection_type) = result.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::New); let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); data_for_outgoing @@ -230,7 +217,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_incoming.next() => { - let (_, maybe_data_for_incoming, connection_type) = result.expect("the chennel shouldn't be dropped"); + let (_, maybe_data_for_incoming, connection_type) = result.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::New); let data_for_incoming = maybe_data_for_incoming.expect("successfully connected"); data_for_incoming @@ -274,18 +261,18 @@ mod tests { #[tokio::test] async fn closed_by_parent_service() { - let ( - _id_incoming, - _pen_incoming, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, id_outgoing, - _pen_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, - _data_from_outgoing, + data_from_incoming: _data_from_incoming, + data_from_outgoing: _data_from_outgoing, mut result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + } = prepare::>(); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -295,7 +282,7 @@ mod tests { _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), received = result_from_incoming.next() => { // we drop the data sending channel, thus finishing incoming_handle - let (received_id, _, connection_type) = received.expect("the chennel shouldn't be dropped"); + let (received_id, _, connection_type) = received.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::New); assert_eq!(received_id, id_outgoing); }, @@ -307,18 +294,18 @@ mod tests { #[tokio::test] async fn parent_service_dead() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, - _data_from_outgoing, + data_from_incoming: _data_from_incoming, + data_from_outgoing: _data_from_outgoing, result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + } = prepare::>(); std::mem::drop(result_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -336,18 +323,18 @@ mod tests { #[tokio::test] async fn parent_user_dead() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming, - _data_from_outgoing, - _result_from_incoming, + data_from_outgoing: _data_from_outgoing, + result_from_incoming: _result_from_incoming, mut result_from_outgoing, - ) = prepare::>(); + } = prepare::>(); std::mem::drop(data_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -357,7 +344,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing, connection_type) = result.expect("the chennel shouldn't be dropped"); + let (_, maybe_data_for_outgoing, connection_type) = result.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::New); let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); data_for_outgoing @@ -378,18 +365,18 @@ mod tests { #[tokio::test] async fn sender_dead_before_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, - _data_from_outgoing, - _result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + data_from_incoming: _data_from_incoming, + data_from_outgoing: _data_from_outgoing, + result_from_incoming: _result_from_incoming, + result_from_outgoing: _result_from_outgoing, + } = prepare::>(); std::mem::drop(outgoing_handle); match incoming_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -400,18 +387,18 @@ mod tests { #[tokio::test] async fn sender_dead_after_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, - _data_from_outgoing, + data_from_incoming: _data_from_incoming, + data_from_outgoing: _data_from_outgoing, mut result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + } = prepare::>(); let incoming_handle = incoming_handle.fuse(); pin_mut!(incoming_handle); let (_, _exit, connection_type) = tokio::select! { @@ -430,18 +417,18 @@ mod tests { #[tokio::test] async fn receiver_dead_before_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { + id_incoming: _id_incoming, + pen_incoming: _pen_incoming, + id_outgoing: _id_outgoing, + pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, - _data_from_outgoing, - _result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + data_from_incoming: _data_from_incoming, + data_from_outgoing: _data_from_outgoing, + result_from_incoming: _result_from_incoming, + result_from_outgoing: _result_from_outgoing, + } = prepare::>(); std::mem::drop(incoming_handle); match outgoing_handle.await { Err(ProtocolError::HandshakeError(_)) => (), diff --git a/fork-off/Cargo.lock b/fork-off/Cargo.lock index e9fa11e878..73cec88c08 100644 --- a/fork-off/Cargo.lock +++ b/fork-off/Cargo.lock @@ -839,7 +839,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-off" -version = "1.3.0" +version = "1.4.0" dependencies = [ "anyhow", "async-channel", diff --git a/pallets/elections/src/mock.rs b/pallets/elections/src/mock.rs index bbe7be48c2..d7eb53f13c 100644 --- a/pallets/elections/src/mock.rs +++ b/pallets/elections/src/mock.rs @@ -275,10 +275,7 @@ impl TestExtBuilder { .chain(self.reserved_validators.iter()) .collect(); - let balances: Vec<_> = validators - .iter() - .map(|i| (**i, 10_000_000)) - .collect(); + let balances: Vec<_> = validators.iter().map(|i| (**i, 10_000_000)).collect(); pallet_balances::GenesisConfig:: { balances } .assimilate_storage(&mut t) From ca9ad5ecd001f9324030ad41b87b58bdb08aeb3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBelaszczyk?= Date: Mon, 19 Dec 2022 11:58:17 +0100 Subject: [PATCH 10/11] Cleanup --- finality-aleph/src/network/clique/mock.rs | 18 ++++++++++++++++-- .../src/network/clique/protocols/v0/mod.rs | 4 ++-- .../src/network/clique/protocols/v1/mod.rs | 4 ++-- finality-aleph/src/validator_network/mock.rs | 13 ------------- 4 files changed, 20 insertions(+), 19 deletions(-) delete mode 100644 finality-aleph/src/validator_network/mock.rs diff --git a/finality-aleph/src/network/clique/mock.rs b/finality-aleph/src/network/clique/mock.rs index 0e094d2414..13ade25354 100644 --- a/finality-aleph/src/network/clique/mock.rs +++ b/finality-aleph/src/network/clique/mock.rs @@ -8,8 +8,8 @@ use std::{ use codec::{Decode, Encode}; use futures::{ - channel::{mpsc, oneshot}, - StreamExt, + channel::{mpsc, mpsc::UnboundedReceiver, oneshot}, + Future, StreamExt, }; use log::info; use rand::Rng; @@ -17,6 +17,7 @@ use tokio::io::{duplex, AsyncRead, AsyncWrite, DuplexStream, ReadBuf}; use crate::network::{ clique::{ + protocols::{ProtocolError, ResultForService}, ConnectionInfo, Dialer, Listener, Network, PeerAddressInfo, PublicKey, SecretKey, Splittable, LOG_TARGET, }, @@ -541,3 +542,16 @@ impl UnreliableConnectionMaker { } } } + +pub struct MockPrelims { + pub id_incoming: MockPublicKey, + pub pen_incoming: MockSecretKey, + pub id_outgoing: MockPublicKey, + pub pen_outgoing: MockSecretKey, + pub incoming_handle: Pin>>>>, + pub outgoing_handle: Pin>>>>, + pub data_from_incoming: UnboundedReceiver, + pub data_from_outgoing: Option>, + pub result_from_incoming: UnboundedReceiver>, + pub result_from_outgoing: UnboundedReceiver>, +} diff --git a/finality-aleph/src/network/clique/protocols/v0/mod.rs b/finality-aleph/src/network/clique/protocols/v0/mod.rs index 53e6d273df..fbfd712ee9 100644 --- a/finality-aleph/src/network/clique/protocols/v0/mod.rs +++ b/finality-aleph/src/network/clique/protocols/v0/mod.rs @@ -129,8 +129,8 @@ mod tests { use super::{incoming, outgoing, ProtocolError}; use crate::network::clique::{ - mock::{key, MockPublicKey, MockSecretKey, MockSplittable}, - protocols::{ConnectionType, ResultForService}, + mock::{key, MockPrelims, MockSplittable}, + protocols::ConnectionType, Data, }; diff --git a/finality-aleph/src/network/clique/protocols/v1/mod.rs b/finality-aleph/src/network/clique/protocols/v1/mod.rs index 74e8b13f83..83d6f1dd44 100644 --- a/finality-aleph/src/network/clique/protocols/v1/mod.rs +++ b/finality-aleph/src/network/clique/protocols/v1/mod.rs @@ -149,8 +149,8 @@ mod tests { use super::{incoming, outgoing, ProtocolError}; use crate::network::clique::{ - mock::{key, MockPublicKey, MockSecretKey, MockSplittable}, - protocols::{ConnectionType, ResultForService}, + mock::{key, MockPrelims, MockSplittable}, + protocols::ConnectionType, Data, }; diff --git a/finality-aleph/src/validator_network/mock.rs b/finality-aleph/src/validator_network/mock.rs deleted file mode 100644 index 0b20a61c9f..0000000000 --- a/finality-aleph/src/validator_network/mock.rs +++ /dev/null @@ -1,13 +0,0 @@ - -pub struct MockPrelims { - pub id_incoming: MockPublicKey, - pub pen_incoming: MockSecretKey, - pub id_outgoing: MockPublicKey, - pub pen_outgoing: MockSecretKey, - pub incoming_handle: Pin>>>>, - pub outgoing_handle: Pin>>>>, - pub data_from_incoming: UnboundedReceiver, - pub data_from_outgoing: Option>, - pub result_from_incoming: UnboundedReceiver>, - pub result_from_outgoing: UnboundedReceiver>, -} From bb24c753fc2aebd28d921642373de73560200195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBelaszczyk?= Date: Tue, 20 Dec 2022 16:42:25 +0100 Subject: [PATCH 11/11] Removed non-channel unused parameters --- .../src/network/clique/protocols/v0/mod.rs | 35 ------------------- .../src/network/clique/protocols/v1/mod.rs | 34 ++++-------------- 2 files changed, 7 insertions(+), 62 deletions(-) diff --git a/finality-aleph/src/network/clique/protocols/v0/mod.rs b/finality-aleph/src/network/clique/protocols/v0/mod.rs index fbfd712ee9..5d93a14f14 100644 --- a/finality-aleph/src/network/clique/protocols/v0/mod.rs +++ b/finality-aleph/src/network/clique/protocols/v0/mod.rs @@ -171,10 +171,6 @@ mod tests { #[tokio::test] async fn send_data() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, mut data_from_incoming, @@ -221,10 +217,7 @@ mod tests { #[tokio::test] async fn closed_by_parent_service() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming: _data_from_incoming, @@ -254,10 +247,6 @@ mod tests { #[tokio::test] async fn parent_service_dead() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming: _data_from_incoming, @@ -283,10 +272,6 @@ mod tests { #[tokio::test] async fn parent_user_dead() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming, @@ -325,10 +310,6 @@ mod tests { #[tokio::test] async fn sender_dead_before_handshake() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming: _data_from_incoming, @@ -347,10 +328,6 @@ mod tests { #[tokio::test] async fn sender_dead_after_handshake() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming: _data_from_incoming, @@ -377,10 +354,6 @@ mod tests { #[tokio::test] async fn receiver_dead_before_handshake() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming: _data_from_incoming, @@ -399,10 +372,6 @@ mod tests { #[tokio::test] async fn receiver_dead_after_handshake() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming: _data_from_incoming, @@ -431,10 +400,6 @@ mod tests { #[tokio::test] async fn receiver_dead_after_handshake_try_send_error() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming: _data_from_incoming, diff --git a/finality-aleph/src/network/clique/protocols/v1/mod.rs b/finality-aleph/src/network/clique/protocols/v1/mod.rs index 83d6f1dd44..701baeb244 100644 --- a/finality-aleph/src/network/clique/protocols/v1/mod.rs +++ b/finality-aleph/src/network/clique/protocols/v1/mod.rs @@ -193,16 +193,13 @@ mod tests { #[tokio::test] async fn send_data() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, mut data_from_incoming, data_from_outgoing, mut result_from_incoming, mut result_from_outgoing, + .. } = prepare::>(); let mut data_from_outgoing = data_from_outgoing.expect("No data from outgoing!"); let incoming_handle = incoming_handle.fuse(); @@ -274,16 +271,14 @@ mod tests { #[tokio::test] async fn closed_by_parent_service() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming: _data_from_incoming, data_from_outgoing: _data_from_outgoing, mut result_from_incoming, result_from_outgoing: _result_from_outgoing, + .. } = prepare::>(); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -307,16 +302,13 @@ mod tests { #[tokio::test] async fn parent_service_dead() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming: _data_from_incoming, data_from_outgoing: _data_from_outgoing, result_from_incoming, result_from_outgoing: _result_from_outgoing, + .. } = prepare::>(); std::mem::drop(result_from_incoming); let incoming_handle = incoming_handle.fuse(); @@ -336,16 +328,13 @@ mod tests { #[tokio::test] async fn parent_user_dead() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming, data_from_outgoing: _data_from_outgoing, result_from_incoming: _result_from_incoming, mut result_from_outgoing, + .. } = prepare::>(); std::mem::drop(data_from_incoming); let incoming_handle = incoming_handle.fuse(); @@ -378,16 +367,13 @@ mod tests { #[tokio::test] async fn sender_dead_before_handshake() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming: _data_from_incoming, data_from_outgoing: _data_from_outgoing, result_from_incoming: _result_from_incoming, result_from_outgoing: _result_from_outgoing, + .. } = prepare::>(); std::mem::drop(outgoing_handle); match incoming_handle.await { @@ -400,16 +386,13 @@ mod tests { #[tokio::test] async fn sender_dead_after_handshake() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming: _data_from_incoming, data_from_outgoing: _data_from_outgoing, mut result_from_incoming, result_from_outgoing: _result_from_outgoing, + .. } = prepare::>(); let incoming_handle = incoming_handle.fuse(); pin_mut!(incoming_handle); @@ -430,16 +413,13 @@ mod tests { #[tokio::test] async fn receiver_dead_before_handshake() { let MockPrelims { - id_incoming: _id_incoming, - pen_incoming: _pen_incoming, - id_outgoing: _id_outgoing, - pen_outgoing: _pen_outgoing, incoming_handle, outgoing_handle, data_from_incoming: _data_from_incoming, data_from_outgoing: _data_from_outgoing, result_from_incoming: _result_from_incoming, result_from_outgoing: _result_from_outgoing, + .. } = prepare::>(); std::mem::drop(incoming_handle); match outgoing_handle.await {