From ebd99314cff907433eca835926a325c019f4b6c0 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sun, 26 Jan 2014 00:18:55 -0500 Subject: add test case for node_describe_by_id --- src/test/include.am | 1 + src/test/test.c | 2 ++ src/test/test_router.c | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 src/test/test_router.c (limited to 'src/test') diff --git a/src/test/include.am b/src/test/include.am index fe30fa4d3..b338cbe3e 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 3f8e9c64f..8b2a5ad67 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 000000000..c13ccc643 --- /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 +}; + -- cgit v1.2.3