std::ostringstream os;
os << addr;
- ASSERT_EQ(os.str(), "v1:192.168.1.11:0/0");
+ ASSERT_EQ(os.str(), "v2:192.168.1.11:0/0");
}
TEST_F(DNSResolverTest, resolve_ip_addr_fail) {
ASSERT_NE(it, records.end());
std::ostringstream os;
os << it->second.addr;
- ASSERT_EQ(os.str(), "v1:192.168.1.11:6789/0");
+ ASSERT_EQ(os.str(), "v2:192.168.1.11:6789/0");
os.str("");
it = records.find("mon.b");
ASSERT_NE(it, records.end());
os << it->second.addr;
- ASSERT_EQ(os.str(), "v1:192.168.1.12:6789/0");
+ ASSERT_EQ(os.str(), "v2:192.168.1.12:6789/0");
os.str("");
it = records.find("mon.c");
ASSERT_NE(it, records.end());
os << it->second.addr;
- ASSERT_EQ(os.str(), "v1:192.168.1.13:6789/0");
+ ASSERT_EQ(os.str(), "v2:192.168.1.13:6789/0");
}
TEST_F(DNSResolverTest, resolve_srv_hosts_full_domain) {
ASSERT_NE(it, records.end());
std::ostringstream os;
os << it->second.addr;
- ASSERT_EQ(os.str(), "v1:192.168.1.11:6789/0");
+ ASSERT_EQ(os.str(), "v2:192.168.1.11:6789/0");
os.str("");
it = records.find("mon.b");
ASSERT_NE(it, records.end());
os << it->second.addr;
- ASSERT_EQ(os.str(), "v1:192.168.1.12:6789/0");
+ ASSERT_EQ(os.str(), "v2:192.168.1.12:6789/0");
os.str("");
it = records.find("mon.c");
ASSERT_NE(it, records.end());
os << it->second.addr;
- ASSERT_EQ(os.str(), "v1:192.168.1.13:6789/0");
+ ASSERT_EQ(os.str(), "v2:192.168.1.13:6789/0");
}
TEST_F(DNSResolverTest, resolve_srv_hosts_fail) {
// input, parsed+printed addr output, leftover
// if the parse fails, output + leftover should both be blank.
const char *addr_checks[][3] = {
- { "127.0.0.1", "v1:127.0.0.1:0/0", "" },
- { "127.0.0.1 foo", "v1:127.0.0.1:0/0", " foo" },
- { "127.0.0.1:1234 foo", "v1:127.0.0.1:1234/0", " foo" },
- { "127.0.0.1:1234/5678 foo", "v1:127.0.0.1:1234/5678", " foo" },
+ { "127.0.0.1", "v2:127.0.0.1:0/0", "" },
+ { "127.0.0.1 foo", "v2:127.0.0.1:0/0", " foo" },
+ { "127.0.0.1:1234 foo", "v2:127.0.0.1:1234/0", " foo" },
+ { "127.0.0.1:1234/5678 foo", "v2:127.0.0.1:1234/5678", " foo" },
{ "1.2.3:4 a", "", "" },
- { "2607:f298:4:2243::5522", "v1:[2607:f298:4:2243::5522]:0/0", "" },
- { "[2607:f298:4:2243::5522]", "v1:[2607:f298:4:2243::5522]:0/0", "" },
+ { "2607:f298:4:2243::5522", "v2:[2607:f298:4:2243::5522]:0/0", "" },
+ { "[2607:f298:4:2243::5522]", "v2:[2607:f298:4:2243::5522]:0/0", "" },
{ "2607:f298:4:2243::5522a", "", "" },
- { "[2607:f298:4:2243::5522]a", "v1:[2607:f298:4:2243::5522]:0/0", "a" },
- { "[2607:f298:4:2243::5522]:1234a", "v1:[2607:f298:4:2243::5522]:1234/0", "a" },
- { "2001:0db8:85a3:0000:0000:8a2e:0370:7334", "v1:[2001:db8:85a3::8a2e:370:7334]:0/0", "" },
- { "2001:2db8:85a3:4334:4324:8a2e:1370:7334", "v1:[2001:2db8:85a3:4334:4324:8a2e:1370:7334]:0/0", "" },
- { "::", "v1:[::]:0/0", "" },
- { "::zz", "v1:[::]:0/0", "zz" },
- { ":: 12:34", "v1:[::]:0/0", " 12:34" },
+ { "[2607:f298:4:2243::5522]a", "v2:[2607:f298:4:2243::5522]:0/0", "a" },
+ { "[2607:f298:4:2243::5522]:1234a", "v2:[2607:f298:4:2243::5522]:1234/0", "a" },
+ { "2001:0db8:85a3:0000:0000:8a2e:0370:7334", "v2:[2001:db8:85a3::8a2e:370:7334]:0/0", "" },
+ { "2001:2db8:85a3:4334:4324:8a2e:1370:7334", "v2:[2001:2db8:85a3:4334:4324:8a2e:1370:7334]:0/0", "" },
+ { "::", "v2:[::]:0/0", "" },
+ { "::zz", "v2:[::]:0/0", "zz" },
+ { ":: 12:34", "v2:[::]:0/0", " 12:34" },
{ "-", "-", "" },
{ "-asdf", "-", "asdf" },
{ "v1:1.2.3.4", "v1:1.2.3.4:0/0", "" },
}
}
+// check that legacy encoding to new decoding behaves
+
const char *addr_checks2[][3] = {
- { "127.0.0.1", "v1:127.0.0.1:0/0", "" },
- { "127.0.0.1 foo", "v1:127.0.0.1:0/0", " foo" },
- { "127.0.0.1:1234 foo", "v1:127.0.0.1:1234/0", " foo" },
- { "127.0.0.1:1234/5678 foo", "v1:127.0.0.1:1234/5678", " foo" },
- { "2607:f298:4:2243::5522", "v1:[2607:f298:4:2243::5522]:0/0", "" },
- { "[2607:f298:4:2243::5522]", "v1:[2607:f298:4:2243::5522]:0/0", "" },
- { "[2607:f298:4:2243::5522]a", "v1:[2607:f298:4:2243::5522]:0/0", "a" },
- { "[2607:f298:4:2243::5522]:1234a", "v1:[2607:f298:4:2243::5522]:1234/0", "a" },
- { "2001:0db8:85a3:0000:0000:8a2e:0370:7334", "v1:[2001:db8:85a3::8a2e:370:7334]:0/0", "" },
- { "2001:2db8:85a3:4334:4324:8a2e:1370:7334", "v1:[2001:2db8:85a3:4334:4324:8a2e:1370:7334]:0/0", "" },
+ { "v1:127.0.0.1", "v1:127.0.0.1:0/0", "" },
+ { "v1:127.0.0.1 foo", "v1:127.0.0.1:0/0", " foo" },
+ { "v1:127.0.0.1:1234 foo", "v1:127.0.0.1:1234/0", " foo" },
+ { "v1:127.0.0.1:1234/5678 foo", "v1:127.0.0.1:1234/5678", " foo" },
+ { "v1:2607:f298:4:2243::5522", "v1:[2607:f298:4:2243::5522]:0/0", "" },
+ { "v1:[2607:f298:4:2243::5522]", "v1:[2607:f298:4:2243::5522]:0/0", "" },
+ { "v1:[2607:f298:4:2243::5522]a", "v1:[2607:f298:4:2243::5522]:0/0", "a" },
+ { "v1:[2607:f298:4:2243::5522]:1234a", "v1:[2607:f298:4:2243::5522]:1234/0", "a" },
+ { "v1:2001:0db8:85a3:0000:0000:8a2e:0370:7334", "v1:[2001:db8:85a3::8a2e:370:7334]:0/0", "" },
+ { "v1:2001:2db8:85a3:4334:4324:8a2e:1370:7334", "v1:[2001:2db8:85a3:4334:4324:8a2e:1370:7334]:0/0", "" },
{ "v1:1.2.3.4", "v1:1.2.3.4:0/0", "" },
{ "v1:1.2.3.4:12", "v1:1.2.3.4:12/0", "" },
{ "v1:1.2.3.4:12/34", "v1:1.2.3.4:12/34", "" },
addr.encode(bl, 0);
auto bli = bl.cbegin();
addrvec.decode(bli);
+ cout << addr_checks2[i][0] << " " << addr << " " << addrvec << std::endl;
ASSERT_EQ(addr, addrvec.v[0]);
}
}
}
const char *addrvec_parse_checks[][3] = {
- { "127.0.0.1", "v1:127.0.0.1:0/0", "" },
- { "127.0.0.1 foo", "v1:127.0.0.1:0/0", " foo" },
- { "127.0.0.1 1.2.3.4 foo", "[v1:127.0.0.1:0/0,v1:1.2.3.4:0/0]", " foo" },
- { "127.0.0.1 :: - foo", "[v1:127.0.0.1:0/0,v1:[::]:0/0,-]", " foo" },
+ { "127.0.0.1", "v2:127.0.0.1:0/0", "" },
+ { "127.0.0.1 foo", "v2:127.0.0.1:0/0", " foo" },
+ { "127.0.0.1 1.2.3.4 foo", "[v2:127.0.0.1:0/0,v2:1.2.3.4:0/0]", " foo" },
+ { "127.0.0.1 :: - foo", "[v2:127.0.0.1:0/0,v2:[::]:0/0,-]", " foo" },
{ NULL, NULL, NULL },
};