mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
Add tests for tor_addr_parse, separate from tor_addr_port_parse.
This commit is contained in:
parent
23ed863da4
commit
feae813e1b
@ -723,7 +723,7 @@ test_addr_ip6_helpers(void *arg)
|
||||
;
|
||||
}
|
||||
|
||||
/** Test tor_addr_port_parse(). */
|
||||
/** Test tor_addr_parse() and tor_addr_port_parse(). */
|
||||
static void
|
||||
test_addr_parse(void *arg)
|
||||
{
|
||||
@ -734,6 +734,60 @@ test_addr_parse(void *arg)
|
||||
|
||||
/* Correct call. */
|
||||
(void)arg;
|
||||
r= tor_addr_parse(&addr, "192.0.2.1");
|
||||
tt_int_op(r,OP_EQ, AF_INET);
|
||||
tor_addr_to_str(buf, &addr, sizeof(buf), 0);
|
||||
tt_str_op(buf,OP_EQ, "192.0.2.1");
|
||||
|
||||
r= tor_addr_parse(&addr, "11:22::33:44");
|
||||
tt_int_op(r,OP_EQ, AF_INET6);
|
||||
tor_addr_to_str(buf, &addr, sizeof(buf), 0);
|
||||
tt_str_op(buf,OP_EQ, "11:22::33:44");
|
||||
|
||||
r= tor_addr_parse(&addr, "[11:22::33:44]");
|
||||
tt_int_op(r,OP_EQ, AF_INET6);
|
||||
tor_addr_to_str(buf, &addr, sizeof(buf), 0);
|
||||
tt_str_op(buf,OP_EQ, "11:22::33:44");
|
||||
|
||||
r= tor_addr_parse(&addr, "11:22:33:44:55:66:1.2.3.4");
|
||||
tt_int_op(r,OP_EQ, AF_INET6);
|
||||
tor_addr_to_str(buf, &addr, sizeof(buf), 0);
|
||||
tt_str_op(buf,OP_EQ, "11:22:33:44:55:66:102:304");
|
||||
|
||||
r= tor_addr_parse(&addr, "11:22::33:44:1.2.3.4");
|
||||
tt_int_op(r,OP_EQ, AF_INET6);
|
||||
tor_addr_to_str(buf, &addr, sizeof(buf), 0);
|
||||
tt_str_op(buf,OP_EQ, "11:22::33:44:102:304");
|
||||
|
||||
/* Empty string. */
|
||||
r= tor_addr_parse(&addr, "");
|
||||
tt_int_op(r,OP_EQ, -1);
|
||||
|
||||
/* Square brackets around IPv4 address. */
|
||||
r= tor_addr_parse(&addr, "[192.0.2.1]");
|
||||
tt_int_op(r,OP_EQ, -1);
|
||||
|
||||
/* Only left square bracket. */
|
||||
r= tor_addr_parse(&addr, "[11:22::33:44");
|
||||
tt_int_op(r,OP_EQ, -1);
|
||||
|
||||
/* Only right square bracket. */
|
||||
r= tor_addr_parse(&addr, "11:22::33:44]");
|
||||
tt_int_op(r,OP_EQ, -1);
|
||||
|
||||
/* Leading colon. */
|
||||
r= tor_addr_parse(&addr, ":11:22::33:44");
|
||||
tt_int_op(r,OP_EQ, -1);
|
||||
|
||||
/* Trailing colon. */
|
||||
r= tor_addr_parse(&addr, "11:22::33:44:");
|
||||
tt_int_op(r,OP_EQ, -1);
|
||||
|
||||
/* Too many hex words in IPv4-mapped IPv6 address. */
|
||||
r= tor_addr_parse(&addr, "11:22:33:44:55:66:77:88:1.2.3.4");
|
||||
tt_int_op(r,OP_EQ, -1);
|
||||
|
||||
/* Correct call. */
|
||||
r= tor_addr_port_parse(LOG_DEBUG,
|
||||
"192.0.2.1:1234",
|
||||
&addr, &port, -1);
|
||||
|
Loading…
Reference in New Issue
Block a user