mirror of
https://gitlab.com/veilid/veilid.git
synced 2024-12-25 07:21:00 -06:00
fix tests
This commit is contained in:
parent
95aa8352d4
commit
a20b42aae1
@ -52,7 +52,7 @@ def tee(prefix, infile, *files):
|
||||
|
||||
def read_until_interface_dial_info(proc, proto):
|
||||
|
||||
interface_dial_info_str = b"Interface Dial Info: "
|
||||
interface_dial_info_str = b"Local Dial Info: "
|
||||
for ln in iter(proc.stdout.readline, ""):
|
||||
sys.stdout.buffer.write(ln)
|
||||
sys.stdout.flush()
|
||||
|
@ -1257,7 +1257,8 @@ impl NetworkManager {
|
||||
let inner = self.inner.lock();
|
||||
let mut inconsistencies = 0;
|
||||
let mut changed = false;
|
||||
for (p, a) in &inner.public_address_check_cache {
|
||||
// Iteration goes from most recent to least recent node/address pair
|
||||
for (_, a) in &inner.public_address_check_cache {
|
||||
if !current_addresses.contains(a) {
|
||||
inconsistencies += 1;
|
||||
if inconsistencies >= GLOBAL_ADDRESS_CHANGE_DETECTION_COUNT {
|
||||
@ -1276,7 +1277,8 @@ impl NetworkManager {
|
||||
let mut consistencies = 0;
|
||||
let mut consistent = false;
|
||||
let mut current_address = Option::<SocketAddress>::None;
|
||||
for (p, a) in &inner.public_address_check_cache {
|
||||
// Iteration goes from most recent to least recent node/address pair
|
||||
for (_, a) in &inner.public_address_check_cache {
|
||||
if let Some(current_address) = current_address {
|
||||
if current_address == *a {
|
||||
consistencies += 1;
|
||||
|
@ -386,6 +386,13 @@ pub async fn test_split_url() {
|
||||
assert_split_url!("http://foo/", "http", host("foo"), None, "");
|
||||
assert_split_url!("http://11.2.3.144/", "http", ip("11.2.3.144"), None, "");
|
||||
assert_split_url!("http://[1111::2222]/", "http", ip("1111::2222"), None, "");
|
||||
assert_split_url!(
|
||||
"http://[1111::2222]:123/",
|
||||
"http",
|
||||
ip("1111::2222"),
|
||||
Some(123),
|
||||
""
|
||||
);
|
||||
|
||||
assert_split_url!(
|
||||
"http://foo/asdf/qwer",
|
||||
@ -433,6 +440,8 @@ pub async fn test_split_url() {
|
||||
assert_err!(SplitUrl::from_str("a:///qwer:"));
|
||||
assert_err!(SplitUrl::from_str("a:///qwer://"));
|
||||
assert_err!(SplitUrl::from_str("a://qwer://"));
|
||||
assert_err!(SplitUrl::from_str("a://[1111::2222]:/"));
|
||||
assert_err!(SplitUrl::from_str("a://[1111::2222]:"));
|
||||
|
||||
assert_split_url_parse!("sch://foo:bar@baz.com:1234/fnord#qux?zuz");
|
||||
assert_split_url_parse!("sch://foo:bar@baz.com:1234/fnord#qux");
|
||||
|
@ -296,6 +296,20 @@ impl SplitUrl {
|
||||
}
|
||||
}
|
||||
|
||||
fn split_host_with_port(s: &str) -> Option<(&str, &str)> {
|
||||
// special case for ipv6 colons
|
||||
if s.len() > 2 && s[0..1] == *"[" {
|
||||
if let Some(end) = s.find(']') {
|
||||
if end < (s.len() - 2) && s[end + 1..end + 2] == *":" {
|
||||
return Some((&s[0..end + 1], &s[end + 2..]));
|
||||
}
|
||||
}
|
||||
None
|
||||
} else {
|
||||
s.split_once(':')
|
||||
}
|
||||
}
|
||||
|
||||
impl FromStr for SplitUrl {
|
||||
type Err = String;
|
||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
@ -311,7 +325,7 @@ impl FromStr for SplitUrl {
|
||||
None
|
||||
}
|
||||
};
|
||||
if let Some((host, rest)) = rest.rsplit_once(':') {
|
||||
if let Some((host, rest)) = split_host_with_port(rest) {
|
||||
let host = SplitUrlHost::from_str(host)?;
|
||||
if let Some((portstr, path)) = rest.split_once('/') {
|
||||
let port = convert_port(portstr)?;
|
||||
|
Loading…
Reference in New Issue
Block a user