mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
fix: flaky addr in use test (#3364)
This commit is contained in:
@ -11,10 +11,10 @@ use std::{
|
||||
net::{Ipv4Addr, SocketAddr, SocketAddrV4},
|
||||
};
|
||||
|
||||
fn is_addr_in_use_kind(err: NetworkError, kind: ServiceKind) -> bool {
|
||||
fn is_addr_in_use_kind(err: &NetworkError, kind: ServiceKind) -> bool {
|
||||
match err {
|
||||
NetworkError::AddressAlreadyInUse { kind: k, error } => {
|
||||
k == kind && error.kind() == io::ErrorKind::AddrInUse
|
||||
*k == kind && error.kind() == io::ErrorKind::AddrInUse
|
||||
}
|
||||
_ => false,
|
||||
}
|
||||
@ -34,12 +34,17 @@ async fn test_is_default_syncing() {
|
||||
#[tokio::test(flavor = "multi_thread")]
|
||||
async fn test_listener_addr_in_use() {
|
||||
let secret_key = SecretKey::new(&mut rand::thread_rng());
|
||||
let config = NetworkConfigBuilder::new(secret_key).build(NoopProvider::default());
|
||||
let _network = NetworkManager::new(config).await.unwrap();
|
||||
let config = NetworkConfigBuilder::new(secret_key).build(NoopProvider::default());
|
||||
let addr = config.discovery_addr;
|
||||
let config =
|
||||
NetworkConfigBuilder::new(secret_key).listener_port(0).build(NoopProvider::default());
|
||||
let network = NetworkManager::new(config).await.unwrap();
|
||||
let listener_port = network.local_addr().port();
|
||||
let config = NetworkConfigBuilder::new(secret_key)
|
||||
.listener_port(listener_port)
|
||||
.build(NoopProvider::default());
|
||||
let addr = config.listener_addr;
|
||||
let result = NetworkManager::new(config).await;
|
||||
assert!(is_addr_in_use_kind(result.err().unwrap(), ServiceKind::Listener(addr)));
|
||||
let err = result.err().unwrap();
|
||||
assert!(is_addr_in_use_kind(&err, ServiceKind::Listener(addr)), "{:?}", err);
|
||||
}
|
||||
|
||||
#[tokio::test(flavor = "multi_thread")]
|
||||
@ -50,5 +55,5 @@ async fn test_discovery_addr_in_use() {
|
||||
let _discovery = Discovery::new(addr, secret_key, Some(disc_config), None).await.unwrap();
|
||||
let disc_config = Discv4Config::default();
|
||||
let result = Discovery::new(addr, secret_key, Some(disc_config), None).await;
|
||||
assert!(is_addr_in_use_kind(result.err().unwrap(), ServiceKind::Discovery(addr)));
|
||||
assert!(is_addr_in_use_kind(&result.err().unwrap(), ServiceKind::Discovery(addr)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user