]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
add test for tor_addr_make_null
authorKevin Murray <spam@kdmurray.id.au>
Mon, 3 Mar 2014 01:16:36 +0000 (12:16 +1100)
committerNick Mathewson <nickm@torproject.org>
Mon, 3 Mar 2014 14:58:01 +0000 (09:58 -0500)
Signed-off-by: Kevin Murray <spam@kdmurray.id.au>
src/test/test_addr.c

index 79ddd95090a8eda9ba11a752e9dc64ea0243850e..f9213439790a1c4fb1dd1896c6f1c16d9b35bbfd 100644 (file)
@@ -971,6 +971,28 @@ test_addr_is_loopback(void *data)
   ;
 }
 
+void
+test_addr_make_null(void *data)
+{
+  tor_addr_t *addr = tor_malloc(sizeof(*addr));
+  tor_addr_t *zeros = tor_calloc(1, sizeof(*addr));
+  /* Ensure that before tor_addr_make_null, addr != 0's */
+  memset(addr, 1, sizeof(*addr));
+  tt_int_op(memcmp(addr, zeros, sizeof(*addr)), !=, 0);
+  /* Test with AF == AF_INET */
+  zeros->family = AF_INET;
+  tor_addr_make_null(addr, AF_INET);
+  tt_int_op(memcmp(addr, zeros, sizeof(*addr)), ==, 0);
+  /* Test with AF == AF_INET6 */
+  memset(addr, 1, sizeof(*addr));
+  zeros->family = AF_INET6;
+  tor_addr_make_null(addr, AF_INET6);
+  tt_int_op(memcmp(addr, zeros, sizeof(*addr)), ==, 0);
+ done:
+  tor_free(addr);
+  tor_free(zeros);
+}
+
 #define ADDR_LEGACY(name)                                               \
   { #name, legacy_test_helper, 0, &legacy_setup, test_addr_ ## name }
 
@@ -983,6 +1005,7 @@ struct testcase_t addr_tests[] = {
   { "dup_ip", test_addr_dup_ip, 0, NULL, NULL },
   { "sockaddr_to_str", test_addr_sockaddr_to_str, 0, NULL, NULL },
   { "is_loopback", test_addr_is_loopback, 0, NULL, NULL },
+  { "make_null", test_addr_make_null, 0, NULL, NULL },
   END_OF_TESTCASES
 };