summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Kadianakis <desnacked@riseup.net>2019-09-12 18:08:00 +0300
committerGeorge Kadianakis <desnacked@riseup.net>2019-09-12 18:08:00 +0300
commit3aaa4d416beee81eba3fed1ce9eda17e686fed52 (patch)
tree2e4f9e5513c6d057c60904a55ded7ed35459ca52
parent87944cecfc2e313f6514109301f12d1b3bc93f0b (diff)
parentc3b1a25d46273a730529f6bfd2ee49cbdac5197a (diff)
downloadtor-3aaa4d416beee81eba3fed1ce9eda17e686fed52.tar.gz
tor-3aaa4d416beee81eba3fed1ce9eda17e686fed52.zip
Merge branch 'tor-github/pr/1299'
-rw-r--r--src/test/test_addr.c66
1 files changed, 25 insertions, 41 deletions
diff --git a/src/test/test_addr.c b/src/test/test_addr.c
index 0f50a43615..f99e3be8f5 100644
--- a/src/test/test_addr.c
+++ b/src/test/test_addr.c
@@ -731,10 +731,6 @@ test_addr_ip6_helpers(void *arg)
#define TEST_ADDR_PARSE_FMT(addr_str, expect_family, fmt_decorated, \
expect_str) \
STMT_BEGIN \
- int r; \
- tor_addr_t addr; \
- char buf[TOR_ADDR_BUF_LEN]; \
- const char *sv; \
r = tor_addr_parse(&addr, addr_str); \
tt_int_op(r, OP_EQ, expect_family); \
sv = tor_addr_to_str(buf, &addr, sizeof(buf), fmt_decorated); \
@@ -747,8 +743,6 @@ test_addr_ip6_helpers(void *arg)
*/
#define TEST_ADDR_PARSE_XFAIL(addr_str) \
STMT_BEGIN \
- int r; \
- tor_addr_t addr; \
r = tor_addr_parse(&addr, addr_str); \
tt_int_op(r, OP_EQ, -1); \
tt_assert(tor_addr_is_null(&addr)); \
@@ -762,11 +756,6 @@ test_addr_ip6_helpers(void *arg)
#define TEST_ADDR_PORT_PARSE_FMT(addr_port_str, default_port, expect_family, \
fmt_decorated, expect_str, expect_port) \
STMT_BEGIN \
- int r; \
- tor_addr_t addr; \
- uint16_t port; \
- char buf[TOR_ADDR_BUF_LEN]; \
- const char *sv; \
r = tor_addr_port_parse(LOG_DEBUG, addr_port_str, &addr, &port, \
default_port); \
tt_int_op(r, OP_EQ, 0); \
@@ -783,9 +772,6 @@ test_addr_ip6_helpers(void *arg)
*/
#define TEST_ADDR_PORT_PARSE_XFAIL(addr_port_str, default_port) \
STMT_BEGIN \
- int r; \
- tor_addr_t addr; \
- uint16_t port; \
r = tor_addr_port_parse(LOG_DEBUG, addr_port_str, &addr, &port, \
default_port); \
tt_int_op(r, OP_EQ, -1); \
@@ -799,8 +785,6 @@ test_addr_ip6_helpers(void *arg)
*/
#define TEST_ADDR_V4_LOOKUP_HOSTNAME(addr_str, expect_str) \
STMT_BEGIN \
- int r; \
- uint32_t addr32h; \
r = tor_lookup_hostname(addr_str, &addr32h); \
tt_int_op(r, OP_EQ, 0); \
tt_str_op(fmt_addr32(addr32h), OP_EQ, expect_str); \
@@ -812,8 +796,6 @@ test_addr_ip6_helpers(void *arg)
*/
#define TEST_ADDR_V4_LOOKUP_XFAIL(bad_str) \
STMT_BEGIN \
- int r; \
- uint32_t addr32h; \
r = tor_lookup_hostname(bad_str, &addr32h); \
tt_int_op(r, OP_EQ, -1); \
tt_int_op(addr32h, OP_EQ, 0); \
@@ -828,8 +810,6 @@ test_addr_ip6_helpers(void *arg)
*/
#define TEST_HOST_V4_LOOKUP(host_str) \
STMT_BEGIN \
- int r; \
- uint32_t addr32h; \
r = tor_lookup_hostname(host_str, &addr32h); \
tt_int_op(r, OP_GE, -1); \
tt_int_op(r, OP_LE, 1); \
@@ -845,10 +825,6 @@ test_addr_ip6_helpers(void *arg)
#define TEST_ADDR_LOOKUP_FMT(addr_str, require_family, expect_family, \
fmt_decorated, expect_str) \
STMT_BEGIN \
- int r; \
- tor_addr_t addr; \
- char buf[TOR_ADDR_BUF_LEN]; \
- const char *sv; \
r = tor_addr_lookup(addr_str, require_family, &addr); \
tt_int_op(r, OP_EQ, 0); \
tt_int_op(tor_addr_family(&addr), OP_EQ, expect_family); \
@@ -863,8 +839,6 @@ test_addr_ip6_helpers(void *arg)
*/
#define TEST_ADDR_LOOKUP_XFAIL(bad_str, require_family) \
STMT_BEGIN \
- int r; \
- tor_addr_t addr; \
r = tor_addr_lookup(bad_str, require_family, &addr); \
tt_int_op(r, OP_EQ, -1); \
tt_assert(tor_addr_is_null(&addr)); \
@@ -879,8 +853,6 @@ test_addr_ip6_helpers(void *arg)
*/
#define TEST_HOST_LOOKUP(host_str, require_family) \
STMT_BEGIN \
- int r; \
- tor_addr_t addr; \
r = tor_addr_lookup(host_str, require_family, &addr); \
tt_int_op(r, OP_GE, -1); \
tt_int_op(r, OP_LE, 1); \
@@ -897,11 +869,6 @@ test_addr_ip6_helpers(void *arg)
#define TEST_ADDR_PORT_LOOKUP_FMT(addr_port_str, expect_family, \
fmt_decorated, expect_str, expect_port) \
STMT_BEGIN \
- int r; \
- tor_addr_t addr; \
- uint16_t port; \
- char buf[TOR_ADDR_BUF_LEN]; \
- const char *sv; \
r = tor_addr_port_lookup(addr_port_str, &addr, &port); \
tt_int_op(r, OP_EQ, 0); \
tt_int_op(tor_addr_family(&addr), OP_EQ, expect_family); \
@@ -918,9 +885,6 @@ test_addr_ip6_helpers(void *arg)
*/
#define TEST_ADDR_PORT_LOOKUP_XFAIL(bad_str) \
STMT_BEGIN \
- int r; \
- tor_addr_t addr; \
- uint16_t port; \
r = tor_addr_port_lookup(bad_str, &addr, &port); \
tt_int_op(r, OP_EQ, -1); \
tt_assert(tor_addr_is_null(&addr)); \
@@ -939,9 +903,6 @@ test_addr_ip6_helpers(void *arg)
*/
#define TEST_HOST_PORT_LOOKUP(host_port_str, expect_success_port) \
STMT_BEGIN \
- int r; \
- tor_addr_t addr; \
- uint16_t port; \
r = tor_addr_port_lookup(host_port_str, &addr, &port); \
tt_int_op(r, OP_GE, -1); \
tt_int_op(r, OP_LE, 0); \
@@ -1162,10 +1123,16 @@ test_addr_ip6_helpers(void *arg)
TEST_ADDR_LOOKUP_XFAIL(host_port_str, AF_INET6); \
STMT_END
-/** Test tor_addr_parse() and tor_addr_port_parse(). */
static void
-test_addr_parse(void *arg)
+test_addr_parse_canonical(void *arg)
{
+ int r;
+ tor_addr_t addr;
+ uint16_t port;
+ const char *sv;
+ uint32_t addr32h;
+ char buf[TOR_ADDR_BUF_LEN];
+
(void)arg;
/* Correct calls. */
@@ -1185,6 +1152,22 @@ test_addr_parse(void *arg)
TEST_ADDR_V6_PARSE_CANONICAL("::", 0);
TEST_ADDR_V6_PARSE_CANONICAL("2::", 0);
TEST_ADDR_V6_PARSE_CANONICAL("11:22:33:44:55:66:77:88", 0);
+ done:
+ ;
+}
+
+/** Test tor_addr_parse() and tor_addr_port_parse(). */
+static void
+test_addr_parse(void *arg)
+{
+ int r;
+ tor_addr_t addr;
+ uint16_t port;
+ const char *sv;
+ uint32_t addr32h;
+ char buf[TOR_ADDR_BUF_LEN];
+
+ (void)arg;
/* IPv6-mapped IPv4 addresses. Tor doesn't really use these. */
TEST_ADDR_V6_PARSE("11:22:33:44:55:66:1.2.3.4", 0,
@@ -1669,6 +1652,7 @@ struct testcase_t addr_tests[] = {
ADDR_LEGACY(basic),
ADDR_LEGACY(ip6_helpers),
ADDR_LEGACY(parse),
+ ADDR_LEGACY(parse_canonical),
{ "virtaddr", test_virtaddrmap, 0, NULL, NULL },
{ "virtaddr_persist", test_virtaddrmap_persist, TT_FORK, NULL, NULL },
{ "localname", test_addr_localname, 0, NULL, NULL },