From: Qingping Hou Date: Sun, 26 Jan 2014 05:18:55 +0000 (-0500) Subject: add test case for node_describe_by_id X-Git-Tag: tor-0.2.5.2-alpha~35^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ebd99314cff907433eca835926a325c019f4b6c0;p=thirdparty%2Ftor.git add test case for node_describe_by_id --- diff --git a/src/test/include.am b/src/test/include.am index fe30fa4d3b..b338cbe3e6 100644 --- a/src/test/include.am +++ b/src/test/include.am @@ -39,6 +39,7 @@ src_test_test_SOURCES = \ src/test/test_util.c \ src/test/test_config.c \ src/test/test_hs.c \ + src/test/test_router.c \ src/ext/tinytest.c src_test_test_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS) diff --git a/src/test/test.c b/src/test/test.c index 3f8e9c64f1..8b2a5ad67d 100644 --- a/src/test/test.c +++ b/src/test/test.c @@ -1626,6 +1626,7 @@ extern struct testcase_t controller_event_tests[]; extern struct testcase_t logging_tests[]; extern struct testcase_t backtrace_tests[]; extern struct testcase_t hs_tests[]; +extern struct testcase_t router_tests[]; static struct testgroup_t testgroups[] = { { "", test_array }, @@ -1650,6 +1651,7 @@ static struct testgroup_t testgroups[] = { { "extorport/", extorport_tests }, { "control/", controller_event_tests }, { "hs/", hs_tests }, + { "router/", router_tests }, END_OF_GROUPS }; diff --git a/src/test/test_router.c b/src/test/test_router.c new file mode 100644 index 0000000000..c13ccc643e --- /dev/null +++ b/src/test/test_router.c @@ -0,0 +1,38 @@ +/* Copyright (c) 2007-2013, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file test_router.c + * \brief Unit tests for router related functions. + **/ + +#include "or.h" +#include "nodelist.h" +#include "router.h" +#include "test.h" + + +/** Tese the case when node_get_by_id() returns NULL, node_describe_by_id + * should return the base 16 encoding of the id. + */ +static void +test_node_describe_by_id_null_node(void *arg) +{ + (void) arg; + + #define ID "\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA" + + /* make sure node_get_by_id returns NULL */ + test_assert(!node_get_by_id(ID)); + test_streq(node_describe_by_id(ID), + "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); +done: + return; +} + +struct testcase_t router_tests[] = { + { "node_get_by_id_null_node", test_node_describe_by_id_null_node, TT_FORK, + NULL, NULL }, + END_OF_TESTCASES +}; +