mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-03 17:13:33 +01:00
Fix up testhelper to be used by the entryguard unittests.
This commit is contained in:
parent
532ab7e13c
commit
a72b92676e
@ -47,6 +47,7 @@ src_test_test_SOURCES = \
|
|||||||
src/test/test_policy.c \
|
src/test/test_policy.c \
|
||||||
src/test/test_status.c \
|
src/test/test_status.c \
|
||||||
src/test/test_routerset.c \
|
src/test/test_routerset.c \
|
||||||
|
src/test/testhelper.c \
|
||||||
src/ext/tinytest.c
|
src/ext/tinytest.c
|
||||||
|
|
||||||
src_test_test_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
|
src_test_test_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
|
||||||
@ -74,6 +75,7 @@ src_test_bench_LDADD = src/or/libtor.a src/common/libor.a \
|
|||||||
|
|
||||||
noinst_HEADERS+= \
|
noinst_HEADERS+= \
|
||||||
src/test/test.h \
|
src/test/test.h \
|
||||||
|
src/test/testhelper.h \
|
||||||
src/test/test_descriptors.inc
|
src/test/test_descriptors.inc
|
||||||
|
|
||||||
if CURVE25519_ENABLED
|
if CURVE25519_ENABLED
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#include "statefile.h"
|
#include "statefile.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include "test_descriptors.inc"
|
#include "testhelper.h"
|
||||||
|
|
||||||
/* TODO:
|
/* TODO:
|
||||||
* choose_random_entry() test with state set.
|
* choose_random_entry() test with state set.
|
||||||
@ -64,7 +64,7 @@ fake_network_setup(const struct testcase_t *testcase)
|
|||||||
get_or_state_replacement);
|
get_or_state_replacement);
|
||||||
|
|
||||||
/* Setup fake routerlist. */
|
/* Setup fake routerlist. */
|
||||||
setup_fake_routerlist();
|
helper_setup_fake_routerlist();
|
||||||
|
|
||||||
/* Return anything but NULL (it's interpreted as test fail) */
|
/* Return anything but NULL (it's interpreted as test fail) */
|
||||||
return dummy_state;
|
return dummy_state;
|
||||||
@ -141,7 +141,7 @@ populate_live_entry_guards_test_helper(int num_needed)
|
|||||||
|
|
||||||
/* Walk the nodelist and add all nodes as entry guards. */
|
/* Walk the nodelist and add all nodes as entry guards. */
|
||||||
our_nodelist = nodelist_get_list();
|
our_nodelist = nodelist_get_list();
|
||||||
tt_int_op(smartlist_len(our_nodelist), ==, NUMBER_OF_DESCRIPTORS);
|
tt_int_op(smartlist_len(our_nodelist), ==, HELPER_NUMBER_OF_DESCRIPTORS);
|
||||||
|
|
||||||
SMARTLIST_FOREACH_BEGIN(our_nodelist, const node_t *, node) {
|
SMARTLIST_FOREACH_BEGIN(our_nodelist, const node_t *, node) {
|
||||||
const node_t *node_tmp;
|
const node_t *node_tmp;
|
||||||
@ -150,7 +150,7 @@ populate_live_entry_guards_test_helper(int num_needed)
|
|||||||
} SMARTLIST_FOREACH_END(node);
|
} SMARTLIST_FOREACH_END(node);
|
||||||
|
|
||||||
/* Make sure the nodes were added as entry guards. */
|
/* Make sure the nodes were added as entry guards. */
|
||||||
tt_int_op(smartlist_len(all_entry_guards), ==, NUMBER_OF_DESCRIPTORS);
|
tt_int_op(smartlist_len(all_entry_guards), ==, HELPER_NUMBER_OF_DESCRIPTORS);
|
||||||
|
|
||||||
/* Ensure that all the possible entry guards are enough to satisfy us. */
|
/* Ensure that all the possible entry guards are enough to satisfy us. */
|
||||||
tt_int_op(smartlist_len(all_entry_guards), >=, num_needed);
|
tt_int_op(smartlist_len(all_entry_guards), >=, num_needed);
|
||||||
@ -590,7 +590,7 @@ test_entry_is_live(void *arg)
|
|||||||
|
|
||||||
/* Walk the nodelist and add all nodes as entry guards. */
|
/* Walk the nodelist and add all nodes as entry guards. */
|
||||||
our_nodelist = nodelist_get_list();
|
our_nodelist = nodelist_get_list();
|
||||||
tt_int_op(smartlist_len(our_nodelist), ==, NUMBER_OF_DESCRIPTORS);
|
tt_int_op(smartlist_len(our_nodelist), ==, HELPER_NUMBER_OF_DESCRIPTORS);
|
||||||
|
|
||||||
SMARTLIST_FOREACH_BEGIN(our_nodelist, const node_t *, node) {
|
SMARTLIST_FOREACH_BEGIN(our_nodelist, const node_t *, node) {
|
||||||
const node_t *node_tmp;
|
const node_t *node_tmp;
|
||||||
@ -602,7 +602,7 @@ test_entry_is_live(void *arg)
|
|||||||
} SMARTLIST_FOREACH_END(node);
|
} SMARTLIST_FOREACH_END(node);
|
||||||
|
|
||||||
/* Make sure the nodes were added as entry guards. */
|
/* Make sure the nodes were added as entry guards. */
|
||||||
tt_int_op(smartlist_len(all_entry_guards), ==, NUMBER_OF_DESCRIPTORS);
|
tt_int_op(smartlist_len(all_entry_guards), ==, HELPER_NUMBER_OF_DESCRIPTORS);
|
||||||
|
|
||||||
/* Now get a random test entry that we will use for this unit test. */
|
/* Now get a random test entry that we will use for this unit test. */
|
||||||
which_node = 3; /* (chosen by fair dice roll) */
|
which_node = 3; /* (chosen by fair dice roll) */
|
||||||
|
@ -24,9 +24,9 @@ router_descriptor_is_older_than_replacement(const routerinfo_t *router,
|
|||||||
|
|
||||||
/** Parse a file containing router descriptors and load them to our
|
/** Parse a file containing router descriptors and load them to our
|
||||||
routerlist. This function is used to setup an artificial network
|
routerlist. This function is used to setup an artificial network
|
||||||
so that we can conduct entry guard tests. */
|
so that we can conduct tests on it. */
|
||||||
static void
|
void
|
||||||
setup_fake_routerlist(void)
|
helper_setup_fake_routerlist(void)
|
||||||
{
|
{
|
||||||
int retval;
|
int retval;
|
||||||
routerlist_t *our_routerlist = NULL;
|
routerlist_t *our_routerlist = NULL;
|
||||||
@ -43,15 +43,16 @@ setup_fake_routerlist(void)
|
|||||||
retval = router_load_routers_from_string(TEST_DESCRIPTORS,
|
retval = router_load_routers_from_string(TEST_DESCRIPTORS,
|
||||||
NULL, SAVED_IN_JOURNAL,
|
NULL, SAVED_IN_JOURNAL,
|
||||||
NULL, 0, NULL);
|
NULL, 0, NULL);
|
||||||
tt_int_op(retval, ==, NUMBER_OF_DESCRIPTORS);
|
tt_int_op(retval, ==, HELPER_NUMBER_OF_DESCRIPTORS);
|
||||||
|
|
||||||
/* Sanity checking of routerlist and nodelist. */
|
/* Sanity checking of routerlist and nodelist. */
|
||||||
our_routerlist = router_get_routerlist();
|
our_routerlist = router_get_routerlist();
|
||||||
tt_int_op(smartlist_len(our_routerlist->routers), ==, NUMBER_OF_DESCRIPTORS);
|
tt_int_op(smartlist_len(our_routerlist->routers), ==,
|
||||||
|
HELPER_NUMBER_OF_DESCRIPTORS);
|
||||||
routerlist_assert_ok(our_routerlist);
|
routerlist_assert_ok(our_routerlist);
|
||||||
|
|
||||||
our_nodelist = nodelist_get_list();
|
our_nodelist = nodelist_get_list();
|
||||||
tt_int_op(smartlist_len(our_nodelist), ==, NUMBER_OF_DESCRIPTORS);
|
tt_int_op(smartlist_len(our_nodelist), ==, HELPER_NUMBER_OF_DESCRIPTORS);
|
||||||
|
|
||||||
/* Mark all routers as non-guards but up and running! */
|
/* Mark all routers as non-guards but up and running! */
|
||||||
SMARTLIST_FOREACH_BEGIN(our_nodelist, node_t *, node) {
|
SMARTLIST_FOREACH_BEGIN(our_nodelist, node_t *, node) {
|
||||||
@ -63,3 +64,4 @@ setup_fake_routerlist(void)
|
|||||||
done:
|
done:
|
||||||
UNMOCK(router_descriptor_is_older_than);
|
UNMOCK(router_descriptor_is_older_than);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
10
src/test/testhelper.h
Normal file
10
src/test/testhelper.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#ifndef TOR_TEST_HELPER_H
|
||||||
|
#define TOR_TEST_HELPER_H
|
||||||
|
|
||||||
|
/* Number of descriptors contained in test_descriptors.txt. */
|
||||||
|
#define HELPER_NUMBER_OF_DESCRIPTORS 8
|
||||||
|
|
||||||
|
void helper_setup_fake_routerlist(void);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user