[tor-commits] [tor/master] add test case for node_get_verbose_nickname

nickm at torproject.org nickm at torproject.org
Fri Feb 7 17:26:03 UTC 2014


commit 57da1a5057a3d95a9093384a3797d5a404863c5a
Author: Qingping Hou <dave2008713 at gmail.com>
Date:   Tue Feb 4 20:52:48 2014 -0500

    add test case for node_get_verbose_nickname
---
 src/test/test_nodelist.c |   31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/src/test/test_nodelist.c b/src/test/test_nodelist.c
index b01ceed..cbdc4a7 100644
--- a/src/test/test_nodelist.c
+++ b/src/test/test_nodelist.c
@@ -30,11 +30,42 @@ test_nodelist_node_get_verbose_nickname_by_id_null_node(void *arg)
   return;
 }
 
+/** For routers without named flag, get_verbose_nickname should return
+ * "Fingerprint~Nickname"
+ */
+static void
+test_nodelist_node_get_verbose_nickname_not_named(void *arg)
+{
+  node_t mock_node;
+  routerstatus_t mock_rs;
+
+  char vname[MAX_VERBOSE_NICKNAME_LEN+1];
+
+  (void) arg;
+
+  memset(&mock_node, 0, sizeof(node_t));
+  memset(&mock_rs, 0, sizeof(routerstatus_t));
+
+  /* verbose nickname should use ~ instead of = for unnamed routers */
+  strncpy(mock_rs.nickname, "TestOR", 6);
+  mock_node.rs = &mock_rs;
+  strncpy(mock_node.identity,
+          "\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA"
+          "\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA",
+          DIGEST_LEN);
+  node_get_verbose_nickname(&mock_node, vname);
+  test_streq(vname, "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA~TestOR");
+
+ done:
+  return;
+}
+
 #define NODE(name, flags) \
   { #name, test_nodelist_##name, (flags), NULL, NULL }
 
 struct testcase_t nodelist_tests[] = {
   NODE(node_get_verbose_nickname_by_id_null_node, TT_FORK),
+  NODE(node_get_verbose_nickname_not_named, TT_FORK),
   END_OF_TESTCASES
 };
 





More information about the tor-commits mailing list