diff --git a/Cargo.toml b/Cargo.toml index 69292f4..8300c6e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,7 @@ url = { version = "2.2", optional = true } [dev-dependencies] tempfile = "3" -criterion = "0.3" +criterion = { version = "0.3", features = ["html_reports"] } [features] default = ["nat", "websocket"] diff --git a/src/beacon.rs b/src/beacon.rs index a33827c..115df9d 100644 --- a/src/beacon.rs +++ b/src/beacon.rs @@ -325,15 +325,17 @@ impl BeaconSerializer { fn encode() { MockTimeSource::set_time(2000 * 3600); let ser = BeaconSerializer::::new(b"mysecretkey"); - let mut peers = Vec::new(); - peers.push(SocketAddr::from_str("1.2.3.4:5678").unwrap()); - peers.push(SocketAddr::from_str("6.6.6.6:53").unwrap()); + let mut peers = vec![ + SocketAddr::from_str("1.2.3.4:5678").unwrap(), + SocketAddr::from_str("6.6.6.6:53").unwrap() + ]; assert_eq!("WsHI31EWDMBYxvITiILIrm2k9gEik22E", ser.encode(&peers)); peers.push(SocketAddr::from_str("[::1]:5678").unwrap()); assert_eq!("WsHI3GXKaXCveo6uejmZizZ72kR6Y0L9T7h49TXONp1ugfKvvvEik22E", ser.encode(&peers)); - let mut peers = Vec::new(); - peers.push(SocketAddr::from_str("1.2.3.4:5678").unwrap()); - peers.push(SocketAddr::from_str("6.6.6.6:54").unwrap()); + let peers = vec![ + SocketAddr::from_str("1.2.3.4:5678").unwrap(), + SocketAddr::from_str("6.6.6.6:54").unwrap() + ]; assert_eq!("WsHI32gm9eMSHP3Lm1GXcdP7rD3ik22E", ser.encode(&peers)); } @@ -341,9 +343,10 @@ fn encode() { fn decode() { MockTimeSource::set_time(2000 * 3600); let ser = BeaconSerializer::::new(b"mysecretkey"); - let mut peers = Vec::new(); - peers.push(SocketAddr::from_str("1.2.3.4:5678").unwrap()); - peers.push(SocketAddr::from_str("6.6.6.6:53").unwrap()); + let mut peers = vec![ + SocketAddr::from_str("1.2.3.4:5678").unwrap(), + SocketAddr::from_str("6.6.6.6:53").unwrap() + ]; assert_eq!(format!("{:?}", peers), format!("{:?}", ser.decode("WsHI31EWDMBYxvITiILIrm2k9gEik22E", None))); peers.push(SocketAddr::from_str("[::1]:5678").unwrap()); assert_eq!( @@ -356,9 +359,10 @@ fn decode() { fn decode_split() { MockTimeSource::set_time(2000 * 3600); let ser = BeaconSerializer::::new(b"mysecretkey"); - let mut peers = Vec::new(); - peers.push(SocketAddr::from_str("1.2.3.4:5678").unwrap()); - peers.push(SocketAddr::from_str("6.6.6.6:53").unwrap()); + let peers = vec![ + SocketAddr::from_str("1.2.3.4:5678").unwrap(), + SocketAddr::from_str("6.6.6.6:53").unwrap() + ]; assert_eq!( format!("{:?}", peers), format!("{:?}", ser.decode("WsHI3-1E.WD:MB Yx\tvI\nTi(IL)Ir[m2]k9ügEäik22E", None)) @@ -373,9 +377,10 @@ fn decode_split() { fn decode_offset() { MockTimeSource::set_time(2000 * 3600); let ser = BeaconSerializer::::new(b"mysecretkey"); - let mut peers = Vec::new(); - peers.push(SocketAddr::from_str("1.2.3.4:5678").unwrap()); - peers.push(SocketAddr::from_str("6.6.6.6:53").unwrap()); + let peers = vec![ + SocketAddr::from_str("1.2.3.4:5678").unwrap(), + SocketAddr::from_str("6.6.6.6:53").unwrap() + ]; assert_eq!( format!("{:?}", peers), format!("{:?}", ser.decode("Hello World: WsHI31EWDMBYxvITiILIrm2k9gEik22E! End of the World", None)) @@ -386,9 +391,10 @@ fn decode_offset() { fn decode_multiple() { MockTimeSource::set_time(2000 * 3600); let ser = BeaconSerializer::::new(b"mysecretkey"); - let mut peers = Vec::new(); - peers.push(SocketAddr::from_str("1.2.3.4:5678").unwrap()); - peers.push(SocketAddr::from_str("6.6.6.6:53").unwrap()); + let peers = vec![ + SocketAddr::from_str("1.2.3.4:5678").unwrap(), + SocketAddr::from_str("6.6.6.6:53").unwrap() + ]; assert_eq!( format!("{:?}", peers), format!("{:?}", ser.decode("WsHI31HVpqxFNMNSPrvik22E WsHI34yOBcZIulKdtn2ik22E", None)) @@ -399,9 +405,6 @@ fn decode_multiple() { fn decode_ttl() { MockTimeSource::set_time(2000 * 3600); let ser = BeaconSerializer::::new(b"mysecretkey"); - let mut peers = Vec::new(); - peers.push(SocketAddr::from_str("1.2.3.4:5678").unwrap()); - peers.push(SocketAddr::from_str("6.6.6.6:53").unwrap()); MockTimeSource::set_time(2000 * 3600); assert_eq!(2, ser.decode("WsHI31EWDMBYxvITiILIrm2k9gEik22E", None).len()); MockTimeSource::set_time(2100 * 3600); @@ -440,9 +443,10 @@ fn decode_invalid() { fn encode_decode() { MockTimeSource::set_time(2000 * 3600); let ser = BeaconSerializer::::new(b"mysecretkey"); - let mut peers = Vec::new(); - peers.push(SocketAddr::from_str("1.2.3.4:5678").unwrap()); - peers.push(SocketAddr::from_str("6.6.6.6:53").unwrap()); + let peers = vec![ + SocketAddr::from_str("1.2.3.4:5678").unwrap(), + SocketAddr::from_str("6.6.6.6:53").unwrap() + ]; let data = ser.encode(&peers); let peers2 = ser.decode(&data, None); assert_eq!(format!("{:?}", peers), format!("{:?}", peers2)); @@ -452,9 +456,10 @@ fn encode_decode() { fn encode_decode_file() { MockTimeSource::set_time(2000 * 3600); let ser = BeaconSerializer::::new(b"mysecretkey"); - let mut peers = Vec::new(); - peers.push(SocketAddr::from_str("1.2.3.4:5678").unwrap()); - peers.push(SocketAddr::from_str("6.6.6.6:53").unwrap()); + let peers = vec![ + SocketAddr::from_str("1.2.3.4:5678").unwrap(), + SocketAddr::from_str("6.6.6.6:53").unwrap() + ]; let file = tempfile::NamedTempFile::new().expect("Failed to create temp file"); assert!(ser.write_to_file(&peers, file.path()).is_ok()); let peers2 = ser.read_from_file(file.path(), None); @@ -466,9 +471,10 @@ fn encode_decode_file() { fn encode_decode_cmd() { MockTimeSource::set_time(2000 * 3600); let ser = BeaconSerializer::::new(b"mysecretkey"); - let mut peers = Vec::new(); - peers.push(SocketAddr::from_str("1.2.3.4:5678").unwrap()); - peers.push(SocketAddr::from_str("6.6.6.6:53").unwrap()); + let peers = vec![ + SocketAddr::from_str("1.2.3.4:5678").unwrap(), + SocketAddr::from_str("6.6.6.6:53").unwrap() + ]; let file = tempfile::NamedTempFile::new().expect("Failed to create temp file"); assert!(ser.write_to_cmd(&peers, &format!("echo $beacon > {}", file.path().display())).is_ok()); thread::sleep(Duration::from_millis(100)); diff --git a/src/cloud.rs b/src/cloud.rs index 7bcc0eb..0bded90 100644 --- a/src/cloud.rs +++ b/src/cloud.rs @@ -49,6 +49,7 @@ const SPACE_BEFORE: usize = 100; struct PeerData { addrs: AddrList, + #[allow(dead_code)] //TODO: export in status last_seen: Time, timeout: Time, peer_timeout: u16, diff --git a/src/crypto/init.rs b/src/crypto/init.rs index 77688a5..0d255f1 100644 --- a/src/crypto/init.rs +++ b/src/crypto/init.rs @@ -391,6 +391,7 @@ pub struct InitState { last_message: Option>, crypto: Option, algorithms: Algorithms, + #[allow(dead_code)] // Used in tests selected_algorithm: Option<&'static Algorithm>, failed_retries: usize } @@ -489,7 +490,7 @@ impl InitState

{ if let Some(crypto) = &mut self.crypto { crypto.decrypt(data)?; } - Ok(P::read_from(Cursor::new(data.message()))?) + P::read_from(Cursor::new(data.message())) } fn check_salted_node_id_hash(&self, hash: &SaltedNodeIdHash, node_id: NodeId) -> bool {