Merge branch 'disable_ns_macro'

This commit is contained in:
Nick Mathewson 2020-01-09 16:02:41 -05:00
commit 5888db4967
17 changed files with 1024 additions and 1128 deletions

4
changes/ticket32887 Normal file
View File

@ -0,0 +1,4 @@
o Code simplification and refactoring:
- Remove underused NS*() macros from test code: they make our
tests more confusing, especially for code-formatting tools.
Closes ticket 32887.

View File

@ -81,103 +81,6 @@ struct crypto_pk_t *pk_generate(int idx);
void init_pregenerated_keys(void);
void free_pregenerated_keys(void);
#define US2_CONCAT_2__(a, b) a ## __ ## b
#define US_CONCAT_2__(a, b) a ## _ ## b
#define US_CONCAT_3__(a, b, c) a ## _ ## b ## _ ## c
#define US_CONCAT_2_(a, b) US_CONCAT_2__(a, b)
#define US_CONCAT_3_(a, b, c) US_CONCAT_3__(a, b, c)
/*
* These macros are helpful for streamlining the authorship of several test
* cases that use mocks.
*
* The pattern is as follows.
* * Declare a top level namespace:
* #define NS_MODULE foo
*
* * For each test case you want to write, create a new submodule in the
* namespace. All mocks and other information should belong to a single
* submodule to avoid interference with other test cases.
* You can simply name the submodule after the function in the module you
* are testing:
* #define NS_SUBMODULE some_function
* or, if you're wanting to write several tests against the same function,
* ie., you are testing an aspect of that function, you can use:
* #define NS_SUBMODULE ASPECT(some_function, behavior)
*
* * Declare all the mocks you will use. The NS_DECL macro serves to declare
* the mock in the current namespace (defined by NS_MODULE and NS_SUBMODULE).
* It behaves like MOCK_DECL:
* NS_DECL(int, dependent_function, (void *));
* Here, dependent_function must be declared and implemented with the
* MOCK_DECL and MOCK_IMPL macros. The NS_DECL macro also defines an integer
* global for use for tracking how many times a mock was called, and can be
* accessed by CALLED(mock_name). For example, you might put
* CALLED(dependent_function)++;
* in your mock body.
*
* * Define a function called NS(main) that will contain the body of the
* test case. The NS macro can be used to reference a name in the current
* namespace.
*
* * In NS(main), indicate that a mock function in the current namespace,
* declared with NS_DECL is to override that in the global namespace,
* with the NS_MOCK macro:
* NS_MOCK(dependent_function)
* Unmock with:
* NS_UNMOCK(dependent_function)
*
* * Define the mocks with the NS macro, eg.,
* int
* NS(dependent_function)(void *)
* {
* CALLED(dependent_function)++;
* }
*
* * In the struct testcase_t array, you can use the TEST_CASE and
* TEST_CASE_ASPECT macros to define the cases without having to do so
* explicitly nor without having to reset NS_SUBMODULE, eg.,
* struct testcase_t foo_tests[] = {
* TEST_CASE_ASPECT(some_function, behavior),
* ...
* END_OF_TESTCASES
* which will define a test case named "some_function__behavior".
*/
#define NAME_TEST_(name) #name
#define NAME_TEST(name) NAME_TEST_(name)
#define ASPECT(test_module, test_name) US2_CONCAT_2__(test_module, test_name)
#ifndef COCCI
#define TEST_CASE(function) \
{ \
NAME_TEST(function), \
NS_FULL(NS_MODULE, function, test_main), \
TT_FORK, \
NULL, \
NULL, \
}
#define TEST_CASE_ASPECT(function, aspect) \
{ \
NAME_TEST(ASPECT(function, aspect)), \
NS_FULL(NS_MODULE, ASPECT(function, aspect), test_main), \
TT_FORK, \
NULL, \
NULL, \
}
#endif /* !defined(COCCI) */
#define NS(name) US_CONCAT_3_(NS_MODULE, NS_SUBMODULE, name)
#define NS_FULL(module, submodule, name) US_CONCAT_3_(module, submodule, name)
#define CALLED(mock_name) US_CONCAT_2_(NS(mock_name), called)
#ifndef COCCI
#define NS_DECL(retval, mock_fn, args) \
extern int CALLED(mock_fn); \
static retval NS(mock_fn) args; int CALLED(mock_fn) = 0
#define NS_MOCK(name) MOCK(name, NS(name))
#endif /* !defined(COCCI) */
#define NS_UNMOCK(name) UNMOCK(name)
extern const struct testcase_setup_t passthrough_setup;
extern const struct testcase_setup_t ed25519_test_setup;

View File

@ -11,19 +11,16 @@
#include "app/config/or_state_st.h"
#define NS_MODULE accounting
#define NS_SUBMODULE limits
/*
* Test to make sure accounting triggers hibernation
* correctly with both sum or max rules set
*/
static or_state_t *or_state;
NS_DECL(or_state_t *, get_or_state, (void));
static or_state_t * acct_limits_get_or_state(void);
ATTR_UNUSED static int acct_limits_get_or_state_called = 0;
static or_state_t *
NS(get_or_state)(void)
acct_limits_get_or_state(void)
{
return or_state;
}
@ -35,7 +32,8 @@ test_accounting_limits(void *arg)
time_t fake_time = time(NULL);
(void) arg;
NS_MOCK(get_or_state);
MOCK(get_or_state,
acct_limits_get_or_state);
or_state = or_state_new();
options->AccountingMax = 100;
@ -94,12 +92,10 @@ test_accounting_limits(void *arg)
goto done;
done:
NS_UNMOCK(get_or_state);
UNMOCK(get_or_state);
or_state_free(or_state);
}
#undef NS_SUBMODULE
struct testcase_t accounting_tests[] = {
{ "bwlimits", test_accounting_limits, TT_FORK, NULL, NULL },
END_OF_TESTCASES

View File

@ -13,8 +13,6 @@
#include "test/log_test_helpers.h"
#define NS_MODULE compat_libevent
static void
test_compat_libevent_logging_callback(void *ignored)
{

View File

@ -96,8 +96,6 @@
#include <unistd.h>
#endif
#define NS_MODULE dir
static networkstatus_t *
networkstatus_parse_vote_from_string_(const char *s,
const char **eos_out,
@ -5474,15 +5472,15 @@ test_dir_conn_purpose_to_string(void *data)
teardown_capture_of_logs();
}
NS_DECL(int,
public_server_mode, (const or_options_t *options));
static int dir_tests_public_server_mode(const or_options_t *options);
ATTR_UNUSED static int dir_tests_public_server_mode_called = 0;
static int
NS(public_server_mode)(const or_options_t *options)
dir_tests_public_server_mode(const or_options_t *options)
{
(void)options;
if (CALLED(public_server_mode)++ == 0) {
if (dir_tests_public_server_mode_called++ == 0) {
return 1;
}
@ -5496,13 +5494,14 @@ test_dir_should_use_directory_guards(void *data)
char *errmsg = NULL;
(void)data;
NS_MOCK(public_server_mode);
MOCK(public_server_mode,
dir_tests_public_server_mode);
options = options_new();
options_init(options);
tt_int_op(should_use_directory_guards(options), OP_EQ, 0);
tt_int_op(CALLED(public_server_mode), OP_EQ, 1);
tt_int_op(dir_tests_public_server_mode_called, OP_EQ, 1);
options->UseEntryGuards = 1;
options->DownloadExtraInfo = 0;
@ -5510,41 +5509,41 @@ test_dir_should_use_directory_guards(void *data)
options->FetchDirInfoExtraEarly = 0;
options->FetchUselessDescriptors = 0;
tt_int_op(should_use_directory_guards(options), OP_EQ, 1);
tt_int_op(CALLED(public_server_mode), OP_EQ, 2);
tt_int_op(dir_tests_public_server_mode_called, OP_EQ, 2);
options->UseEntryGuards = 0;
tt_int_op(should_use_directory_guards(options), OP_EQ, 0);
tt_int_op(CALLED(public_server_mode), OP_EQ, 3);
tt_int_op(dir_tests_public_server_mode_called, OP_EQ, 3);
options->UseEntryGuards = 1;
options->DownloadExtraInfo = 1;
tt_int_op(should_use_directory_guards(options), OP_EQ, 0);
tt_int_op(CALLED(public_server_mode), OP_EQ, 4);
tt_int_op(dir_tests_public_server_mode_called, OP_EQ, 4);
options->DownloadExtraInfo = 0;
options->FetchDirInfoEarly = 1;
tt_int_op(should_use_directory_guards(options), OP_EQ, 0);
tt_int_op(CALLED(public_server_mode), OP_EQ, 5);
tt_int_op(dir_tests_public_server_mode_called, OP_EQ, 5);
options->FetchDirInfoEarly = 0;
options->FetchDirInfoExtraEarly = 1;
tt_int_op(should_use_directory_guards(options), OP_EQ, 0);
tt_int_op(CALLED(public_server_mode), OP_EQ, 6);
tt_int_op(dir_tests_public_server_mode_called, OP_EQ, 6);
options->FetchDirInfoExtraEarly = 0;
options->FetchUselessDescriptors = 1;
tt_int_op(should_use_directory_guards(options), OP_EQ, 0);
tt_int_op(CALLED(public_server_mode), OP_EQ, 7);
tt_int_op(dir_tests_public_server_mode_called, OP_EQ, 7);
options->FetchUselessDescriptors = 0;
done:
NS_UNMOCK(public_server_mode);
UNMOCK(public_server_mode);
or_options_free(options);
tor_free(errmsg);
}
NS_DECL(void,
directory_initiate_request, (directory_request_t *req));
static void dir_tests_directory_initiate_request(directory_request_t *req);
ATTR_UNUSED static int dir_tests_directory_initiate_request_called = 0;
static void
test_dir_should_not_init_request_to_ourselves(void *data)
@ -5554,7 +5553,8 @@ test_dir_should_not_init_request_to_ourselves(void *data)
crypto_pk_t *key = pk_generate(2);
(void) data;
NS_MOCK(directory_initiate_request);
MOCK(directory_initiate_request,
dir_tests_directory_initiate_request);
clear_dir_servers();
routerlist_free_all();
@ -5569,15 +5569,15 @@ test_dir_should_not_init_request_to_ourselves(void *data)
dir_server_add(ourself);
directory_get_from_all_authorities(DIR_PURPOSE_FETCH_STATUS_VOTE, 0, NULL);
tt_int_op(CALLED(directory_initiate_request), OP_EQ, 0);
tt_int_op(dir_tests_directory_initiate_request_called, OP_EQ, 0);
directory_get_from_all_authorities(DIR_PURPOSE_FETCH_DETACHED_SIGNATURES, 0,
NULL);
tt_int_op(CALLED(directory_initiate_request), OP_EQ, 0);
tt_int_op(dir_tests_directory_initiate_request_called, OP_EQ, 0);
done:
NS_UNMOCK(directory_initiate_request);
UNMOCK(directory_initiate_request);
clear_dir_servers();
routerlist_free_all();
crypto_pk_free(key);
@ -5591,7 +5591,8 @@ test_dir_should_not_init_request_to_dir_auths_without_v3_info(void *data)
| MICRODESC_DIRINFO;
(void) data;
NS_MOCK(directory_initiate_request);
MOCK(directory_initiate_request,
dir_tests_directory_initiate_request);
clear_dir_servers();
routerlist_free_all();
@ -5602,14 +5603,14 @@ test_dir_should_not_init_request_to_dir_auths_without_v3_info(void *data)
dir_server_add(ds);
directory_get_from_all_authorities(DIR_PURPOSE_FETCH_STATUS_VOTE, 0, NULL);
tt_int_op(CALLED(directory_initiate_request), OP_EQ, 0);
tt_int_op(dir_tests_directory_initiate_request_called, OP_EQ, 0);
directory_get_from_all_authorities(DIR_PURPOSE_FETCH_DETACHED_SIGNATURES, 0,
NULL);
tt_int_op(CALLED(directory_initiate_request), OP_EQ, 0);
tt_int_op(dir_tests_directory_initiate_request_called, OP_EQ, 0);
done:
NS_UNMOCK(directory_initiate_request);
UNMOCK(directory_initiate_request);
clear_dir_servers();
routerlist_free_all();
}
@ -5620,7 +5621,8 @@ test_dir_should_init_request_to_dir_auths(void *data)
dir_server_t *ds = NULL;
(void) data;
NS_MOCK(directory_initiate_request);
MOCK(directory_initiate_request,
dir_tests_directory_initiate_request);
clear_dir_servers();
routerlist_free_all();
@ -5631,23 +5633,23 @@ test_dir_should_init_request_to_dir_auths(void *data)
dir_server_add(ds);
directory_get_from_all_authorities(DIR_PURPOSE_FETCH_STATUS_VOTE, 0, NULL);
tt_int_op(CALLED(directory_initiate_request), OP_EQ, 1);
tt_int_op(dir_tests_directory_initiate_request_called, OP_EQ, 1);
directory_get_from_all_authorities(DIR_PURPOSE_FETCH_DETACHED_SIGNATURES, 0,
NULL);
tt_int_op(CALLED(directory_initiate_request), OP_EQ, 2);
tt_int_op(dir_tests_directory_initiate_request_called, OP_EQ, 2);
done:
NS_UNMOCK(directory_initiate_request);
UNMOCK(directory_initiate_request);
clear_dir_servers();
routerlist_free_all();
}
void
NS(directory_initiate_request)(directory_request_t *req)
dir_tests_directory_initiate_request(directory_request_t *req)
{
(void)req;
CALLED(directory_initiate_request)++;
dir_tests_directory_initiate_request_called++;
}
static void

View File

@ -64,8 +64,6 @@ DISABLE_GCC_WARNING("-Woverlength-strings")
ENABLE_GCC_WARNING("-Woverlength-strings")
#endif
#define NS_MODULE dir_handle_get
#define NOT_FOUND "HTTP/1.0 404 Not found\r\n\r\n"
#define BAD_REQUEST "HTTP/1.0 400 Bad request\r\n\r\n"
#define SERVER_BUSY "HTTP/1.0 503 Directory busy, try again later\r\n\r\n"
@ -364,12 +362,13 @@ test_dir_handle_get_rendezvous2_not_found(void *data)
rend_cache_free_all();
}
NS_DECL(const routerinfo_t *, router_get_my_routerinfo, (void));
static const routerinfo_t * dhg_tests_router_get_my_routerinfo(void);
ATTR_UNUSED static int dhg_tests_router_get_my_routerinfo_called = 0;
static routerinfo_t *mock_routerinfo;
static const routerinfo_t *
NS(router_get_my_routerinfo)(void)
dhg_tests_router_get_my_routerinfo(void)
{
if (!mock_routerinfo) {
mock_routerinfo = tor_malloc_zero(sizeof(routerinfo_t));
@ -394,7 +393,8 @@ test_dir_handle_get_rendezvous2_on_encrypted_conn_success(void *data)
(void) data;
MOCK(connection_write_to_buf_impl_, connection_write_to_buf_mock);
NS_MOCK(router_get_my_routerinfo);
MOCK(router_get_my_routerinfo,
dhg_tests_router_get_my_routerinfo);
rend_cache_init();
@ -437,7 +437,7 @@ test_dir_handle_get_rendezvous2_on_encrypted_conn_success(void *data)
done:
UNMOCK(connection_write_to_buf_impl_);
NS_UNMOCK(router_get_my_routerinfo);
UNMOCK(router_get_my_routerinfo);
connection_free_minimal(TO_CONN(conn));
tor_free(header);
@ -769,7 +769,8 @@ test_dir_handle_get_server_descriptors_all(void* data)
helper_setup_fake_routerlist();
//TODO: change to router_get_my_extrainfo when testing "extra" path
NS_MOCK(router_get_my_routerinfo);
MOCK(router_get_my_routerinfo,
dhg_tests_router_get_my_routerinfo);
MOCK(connection_write_to_buf_impl_, connection_write_to_buf_mock);
// We are one of the routers
@ -811,7 +812,7 @@ test_dir_handle_get_server_descriptors_all(void* data)
tt_ptr_op(conn->spool, OP_EQ, NULL);
done:
NS_UNMOCK(router_get_my_routerinfo);
UNMOCK(router_get_my_routerinfo);
UNMOCK(connection_write_to_buf_impl_);
connection_free_minimal(TO_CONN(conn));
tor_free(header);
@ -868,7 +869,8 @@ test_dir_handle_get_server_descriptors_authority(void* data)
crypto_pk_t *identity_pkey = pk_generate(0);
(void) data;
NS_MOCK(router_get_my_routerinfo);
MOCK(router_get_my_routerinfo,
dhg_tests_router_get_my_routerinfo);
MOCK(connection_write_to_buf_impl_, connection_write_to_buf_mock);
/* init mock */
@ -913,7 +915,7 @@ test_dir_handle_get_server_descriptors_authority(void* data)
tt_ptr_op(conn->spool, OP_EQ, NULL);
done:
NS_UNMOCK(router_get_my_routerinfo);
UNMOCK(router_get_my_routerinfo);
UNMOCK(connection_write_to_buf_impl_);
tor_free(mock_routerinfo->cache_info.signed_descriptor_body);
tor_free(mock_routerinfo);
@ -933,7 +935,8 @@ test_dir_handle_get_server_descriptors_fp(void* data)
crypto_pk_t *identity_pkey = pk_generate(0);
(void) data;
NS_MOCK(router_get_my_routerinfo);
MOCK(router_get_my_routerinfo,
dhg_tests_router_get_my_routerinfo);
MOCK(connection_write_to_buf_impl_, connection_write_to_buf_mock);
/* init mock */
@ -985,7 +988,7 @@ test_dir_handle_get_server_descriptors_fp(void* data)
tt_ptr_op(conn->spool, OP_EQ, NULL);
done:
NS_UNMOCK(router_get_my_routerinfo);
UNMOCK(router_get_my_routerinfo);
UNMOCK(connection_write_to_buf_impl_);
tor_free(mock_routerinfo->cache_info.signed_descriptor_body);
tor_free(mock_routerinfo);
@ -1789,13 +1792,14 @@ test_dir_handle_get_status_vote_current_consensus_too_old(void *data)
or_options_free(mock_options); mock_options = NULL;
}
NS_DECL(int, geoip_get_country_by_addr, (const tor_addr_t *addr));
static int dhg_tests_geoip_get_country_by_addr(const tor_addr_t *addr);
ATTR_UNUSED static int dhg_tests_geoip_get_country_by_addr_called = 0;
int
NS(geoip_get_country_by_addr)(const tor_addr_t *addr)
dhg_tests_geoip_get_country_by_addr(const tor_addr_t *addr)
{
(void)addr;
CALLED(geoip_get_country_by_addr)++;
dhg_tests_geoip_get_country_by_addr_called++;
return 1;
}
@ -1859,7 +1863,8 @@ test_dir_handle_get_status_vote_current_consensus_ns(void* data)
dirserv_free_all();
clear_geoip_db();
NS_MOCK(geoip_get_country_by_addr);
MOCK(geoip_get_country_by_addr,
dhg_tests_geoip_get_country_by_addr);
MOCK(get_options, mock_get_options);
init_mock_options();
@ -1896,7 +1901,7 @@ test_dir_handle_get_status_vote_current_consensus_ns(void* data)
tt_str_op("ab=8", OP_EQ, hist);
done:
NS_UNMOCK(geoip_get_country_by_addr);
UNMOCK(geoip_get_country_by_addr);
UNMOCK(get_options);
tor_free(header);
tor_free(comp_body);
@ -2248,11 +2253,11 @@ test_dir_handle_get_status_vote_next_bandwidth_not_found(void* data)
tor_free(header);
}
NS_DECL(const char*,
dirvote_get_pending_consensus, (consensus_flavor_t flav));
static const char* dhg_tests_dirvote_get_pending_consensus(
consensus_flavor_t flav);
const char*
NS(dirvote_get_pending_consensus)(consensus_flavor_t flav)
dhg_tests_dirvote_get_pending_consensus(consensus_flavor_t flav)
{
(void)flav;
return "pending consensus";
@ -2265,7 +2270,8 @@ test_dir_handle_get_status_vote_next_consensus(void* data)
size_t body_used = 0;
(void) data;
NS_MOCK(dirvote_get_pending_consensus);
MOCK(dirvote_get_pending_consensus,
dhg_tests_dirvote_get_pending_consensus);
status_vote_next_consensus_test(&header, &body, &body_used);
tt_assert(header);
@ -2278,7 +2284,7 @@ test_dir_handle_get_status_vote_next_consensus(void* data)
tt_str_op("pending consensus", OP_EQ, body);
done:
NS_UNMOCK(dirvote_get_pending_consensus);
UNMOCK(dirvote_get_pending_consensus);
tor_free(header);
tor_free(body);
}
@ -2291,7 +2297,8 @@ test_dir_handle_get_status_vote_next_consensus_busy(void* data)
(void) data;
MOCK(get_options, mock_get_options);
NS_MOCK(dirvote_get_pending_consensus);
MOCK(dirvote_get_pending_consensus,
dhg_tests_dirvote_get_pending_consensus);
//Make it busy
init_mock_options();
@ -2303,7 +2310,7 @@ test_dir_handle_get_status_vote_next_consensus_busy(void* data)
tt_str_op(SERVER_BUSY, OP_EQ, header);
done:
NS_UNMOCK(dirvote_get_pending_consensus);
UNMOCK(dirvote_get_pending_consensus);
UNMOCK(get_options);
tor_free(header);
tor_free(body);
@ -2347,11 +2354,10 @@ test_dir_handle_get_status_vote_next_consensus_signatures_not_found(void* data)
tor_free(body);
}
NS_DECL(const char*,
dirvote_get_pending_detached_signatures, (void));
static const char* dhg_tests_dirvote_get_pending_detached_signatures(void);
const char*
NS(dirvote_get_pending_detached_signatures)(void)
dhg_tests_dirvote_get_pending_detached_signatures(void)
{
return "pending detached sigs";
}
@ -2363,7 +2369,8 @@ test_dir_handle_get_status_vote_next_consensus_signatures(void* data)
size_t body_used = 0;
(void) data;
NS_MOCK(dirvote_get_pending_detached_signatures);
MOCK(dirvote_get_pending_detached_signatures,
dhg_tests_dirvote_get_pending_detached_signatures);
status_vote_next_consensus_signatures_test(&header, &body, &body_used);
tt_assert(header);
@ -2376,7 +2383,7 @@ test_dir_handle_get_status_vote_next_consensus_signatures(void* data)
tt_str_op("pending detached sigs", OP_EQ, body);
done:
NS_UNMOCK(dirvote_get_pending_detached_signatures);
UNMOCK(dirvote_get_pending_detached_signatures);
tor_free(header);
tor_free(body);
}
@ -2388,7 +2395,8 @@ test_dir_handle_get_status_vote_next_consensus_signatures_busy(void* data)
size_t body_used;
(void) data;
NS_MOCK(dirvote_get_pending_detached_signatures);
MOCK(dirvote_get_pending_detached_signatures,
dhg_tests_dirvote_get_pending_detached_signatures);
MOCK(get_options, mock_get_options);
//Make it busy
@ -2402,7 +2410,7 @@ test_dir_handle_get_status_vote_next_consensus_signatures_busy(void* data)
done:
UNMOCK(get_options);
NS_UNMOCK(dirvote_get_pending_detached_signatures);
UNMOCK(dirvote_get_pending_detached_signatures);
tor_free(header);
tor_free(body);
or_options_free(mock_options); mock_options = NULL;

View File

@ -20,10 +20,7 @@
#include <event2/event.h>
#include <event2/dns.h>
#define NS_MODULE dns
#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR
#define NS_SUBMODULE configure_nameservers_fallback
static or_options_t options = {
.ORPort_set = 1,
@ -36,7 +33,7 @@ mock_get_options(void)
}
static void
NS(test_main)(void *arg)
test_dns_configure_ns_fallback(void *arg)
{
(void)arg;
tor_addr_t *nameserver_addr = NULL;
@ -76,13 +73,10 @@ NS(test_main)(void *arg)
return;
}
#undef NS_SUBMODULE
#endif /* defined(HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR) */
#define NS_SUBMODULE clip_ttl
static void
NS(test_main)(void *arg)
test_dns_clip_ttl(void *arg)
{
(void)arg;
@ -96,10 +90,6 @@ NS(test_main)(void *arg)
return;
}
#undef NS_SUBMODULE
#define NS_SUBMODULE resolve
static int resolve_retval = 0;
static int resolve_made_conn_pending = 0;
static char *resolved_name = NULL;
@ -107,10 +97,11 @@ static cached_resolve_t *cache_entry_mock = NULL;
static int n_fake_impl = 0;
NS_DECL(int, dns_resolve_impl, (edge_connection_t *exitconn, int is_resolve,
or_circuit_t *oncirc, char **hostname_out,
int *made_connection_pending_out,
cached_resolve_t **resolve_out));
static int dns_resolve_dns_resolve_impl(edge_connection_t *exitconn,
int is_resolve, or_circuit_t *oncirc,
char **hostname_out, int *made_connection_pending_out,
cached_resolve_t **resolve_out);
ATTR_UNUSED static int dns_resolve_dns_resolve_impl_called = 0;
/** This will be our configurable substitute for <b>dns_resolve_impl</b> in
* dns.c. It will return <b>resolve_retval</b>,
@ -121,7 +112,7 @@ NS_DECL(int, dns_resolve_impl, (edge_connection_t *exitconn, int is_resolve,
* 1.
*/
static int
NS(dns_resolve_impl)(edge_connection_t *exitconn, int is_resolve,
dns_resolve_dns_resolve_impl(edge_connection_t *exitconn, int is_resolve,
or_circuit_t *oncirc, char **hostname_out,
int *made_connection_pending_out,
cached_resolve_t **resolve_out)
@ -151,7 +142,7 @@ static uint8_t last_answer_type = 0;
static cached_resolve_t *last_resolved;
static void
NS(send_resolved_cell)(edge_connection_t *conn, uint8_t answer_type,
dns_resolve_send_resolved_cell(edge_connection_t *conn, uint8_t answer_type,
const cached_resolve_t *resolved)
{
conn_for_resolved_cell = conn;
@ -167,7 +158,7 @@ static int n_send_resolved_hostname_cell_replacement = 0;
static char *last_resolved_hostname = NULL;
static void
NS(send_resolved_hostname_cell)(edge_connection_t *conn,
dns_resolve_send_resolved_hostname_cell(edge_connection_t *conn,
const char *hostname)
{
conn_for_resolved_cell = conn;
@ -181,7 +172,7 @@ NS(send_resolved_hostname_cell)(edge_connection_t *conn,
static int n_dns_cancel_pending_resolve_replacement = 0;
static void
NS(dns_cancel_pending_resolve)(const char *address)
dns_resolve_dns_cancel_pending_resolve(const char *address)
{
(void) address;
n_dns_cancel_pending_resolve_replacement++;
@ -191,7 +182,7 @@ static int n_connection_free = 0;
static connection_t *last_freed_conn = NULL;
static void
NS(connection_free_)(connection_t *conn)
dns_resolve_connection_free_(connection_t *conn)
{
n_connection_free++;
@ -199,7 +190,7 @@ NS(connection_free_)(connection_t *conn)
}
static void
NS(test_main)(void *arg)
test_dns_resolve(void *arg)
{
(void) arg;
int retval;
@ -218,9 +209,12 @@ NS(test_main)(void *arg)
memset(exitconn,0,sizeof(edge_connection_t));
memset(nextconn,0,sizeof(edge_connection_t));
NS_MOCK(dns_resolve_impl);
NS_MOCK(send_resolved_cell);
NS_MOCK(send_resolved_hostname_cell);
MOCK(dns_resolve_impl,
dns_resolve_dns_resolve_impl);
MOCK(send_resolved_cell,
dns_resolve_send_resolved_cell);
MOCK(send_resolved_hostname_cell,
dns_resolve_send_resolved_hostname_cell);
/*
* CASE 1: dns_resolve_impl returns 1 and sets a hostname. purpose is
@ -333,8 +327,10 @@ NS(test_main)(void *arg)
* on exitconn with type being RESOLVED_TYPE_ERROR.
*/
NS_MOCK(dns_cancel_pending_resolve);
NS_MOCK(connection_free_);
MOCK(dns_cancel_pending_resolve,
dns_resolve_dns_cancel_pending_resolve);
MOCK(connection_free_,
dns_resolve_connection_free_);
exitconn->on_circuit = &(on_circuit->base_);
exitconn->base_.purpose = EXIT_PURPOSE_RESOLVE;
@ -357,11 +353,11 @@ NS(test_main)(void *arg)
tt_assert(last_freed_conn == TO_CONN(exitconn));
done:
NS_UNMOCK(dns_resolve_impl);
NS_UNMOCK(send_resolved_cell);
NS_UNMOCK(send_resolved_hostname_cell);
NS_UNMOCK(dns_cancel_pending_resolve);
NS_UNMOCK(connection_free_);
UNMOCK(dns_resolve_impl);
UNMOCK(send_resolved_cell);
UNMOCK(send_resolved_hostname_cell);
UNMOCK(dns_cancel_pending_resolve);
UNMOCK(connection_free_);
tor_free(on_circuit);
tor_free(exitconn);
tor_free(nextconn);
@ -371,8 +367,6 @@ NS(test_main)(void *arg)
return;
}
#undef NS_SUBMODULE
/** Create an <b>edge_connection_t</b> instance that is considered a
* valid exit connection by asserts in dns_resolve_impl.
*/
@ -389,8 +383,6 @@ create_valid_exitconn(void)
return exitconn;
}
#define NS_SUBMODULE ASPECT(resolve_impl, addr_is_ip_no_need_to_resolve)
/*
* Given that <b>exitconn->base_.address</b> is IP address string, we
* want dns_resolve_impl() to parse it and store in
@ -399,7 +391,7 @@ create_valid_exitconn(void)
*/
static void
NS(test_main)(void *arg)
test_dns_impl_addr_is_ip(void *arg)
{
int retval;
int made_pending;
@ -432,21 +424,17 @@ NS(test_main)(void *arg)
return;
}
#undef NS_SUBMODULE
#define NS_SUBMODULE ASPECT(resolve_impl, non_exit)
/** Given that Tor instance is not configured as an exit node, we want
* dns_resolve_impl() to fail with return value -1.
*/
static int
NS(router_my_exit_policy_is_reject_star)(void)
dns_impl_non_exit_router_my_exit_policy_is_reject_star(void)
{
return 1;
}
static void
NS(test_main)(void *arg)
test_dns_impl_non_exit(void *arg)
{
int retval;
int made_pending;
@ -458,7 +446,8 @@ NS(test_main)(void *arg)
TO_CONN(exitconn)->address = tor_strdup("torproject.org");
NS_MOCK(router_my_exit_policy_is_reject_star);
MOCK(router_my_exit_policy_is_reject_star,
dns_impl_non_exit_router_my_exit_policy_is_reject_star);
retval = dns_resolve_impl(exitconn, 1, on_circ, NULL, &made_pending,
NULL);
@ -469,27 +458,23 @@ NS(test_main)(void *arg)
tor_free(TO_CONN(exitconn)->address);
tor_free(exitconn);
tor_free(on_circ);
NS_UNMOCK(router_my_exit_policy_is_reject_star);
UNMOCK(router_my_exit_policy_is_reject_star);
return;
}
#undef NS_SUBMODULE
#define NS_SUBMODULE ASPECT(resolve_impl, addr_is_invalid_dest)
/** Given that address is not a valid destination (as judged by
* address_is_invalid_destination() function), we want dns_resolve_impl()
* function to fail with return value -1.
*/
static int
NS(router_my_exit_policy_is_reject_star)(void)
dns_impl_addr_is_invalid_dest_router_my_exit_policy_is_reject_star(void)
{
return 0;
}
static void
NS(test_main)(void *arg)
test_dns_impl_addr_is_invalid_dest(void *arg)
{
int retval;
int made_pending;
@ -499,7 +484,8 @@ NS(test_main)(void *arg)
(void)arg;
NS_MOCK(router_my_exit_policy_is_reject_star);
MOCK(router_my_exit_policy_is_reject_star,
dns_impl_addr_is_invalid_dest_router_my_exit_policy_is_reject_star);
TO_CONN(exitconn)->address = tor_strdup("invalid#@!.org");
@ -509,29 +495,25 @@ NS(test_main)(void *arg)
tt_int_op(retval,OP_EQ,-1);
done:
NS_UNMOCK(router_my_exit_policy_is_reject_star);
UNMOCK(router_my_exit_policy_is_reject_star);
tor_free(TO_CONN(exitconn)->address);
tor_free(exitconn);
tor_free(on_circ);
return;
}
#undef NS_SUBMODULE
#define NS_SUBMODULE ASPECT(resolve_impl, malformed_ptr)
/** Given that address is a malformed PTR name, we want dns_resolve_impl to
* fail.
*/
static int
NS(router_my_exit_policy_is_reject_star)(void)
dns_impl_malformed_ptr_router_my_exit_policy_is_reject_star(void)
{
return 0;
}
static void
NS(test_main)(void *arg)
test_dns_impl_malformed_ptr(void *arg)
{
int retval;
int made_pending;
@ -543,7 +525,8 @@ NS(test_main)(void *arg)
TO_CONN(exitconn)->address = tor_strdup("1.0.0.127.in-addr.arpa");
NS_MOCK(router_my_exit_policy_is_reject_star);
MOCK(router_my_exit_policy_is_reject_star,
dns_impl_malformed_ptr_router_my_exit_policy_is_reject_star);
retval = dns_resolve_impl(exitconn, 1, on_circ, NULL, &made_pending,
NULL);
@ -561,30 +544,26 @@ NS(test_main)(void *arg)
tt_int_op(retval,OP_EQ,-1);
done:
NS_UNMOCK(router_my_exit_policy_is_reject_star);
UNMOCK(router_my_exit_policy_is_reject_star);
tor_free(TO_CONN(exitconn)->address);
tor_free(exitconn);
tor_free(on_circ);
return;
}
#undef NS_SUBMODULE
#define NS_SUBMODULE ASPECT(resolve_impl, cache_hit_pending)
/* Given that there is already a pending resolve for the given address,
* we want dns_resolve_impl to append our exit connection to list
* of pending connections for the pending DNS request and return 0.
*/
static int
NS(router_my_exit_policy_is_reject_star)(void)
dns_impl_cache_hit_pending_router_my_exit_policy_is_reject_star(void)
{
return 0;
}
static void
NS(test_main)(void *arg)
test_dns_impl_cache_hit_pending(void *arg)
{
int retval;
int made_pending = 0;
@ -607,7 +586,8 @@ NS(test_main)(void *arg)
strlcpy(cache_entry->address, TO_CONN(exitconn)->address,
sizeof(cache_entry->address));
NS_MOCK(router_my_exit_policy_is_reject_star);
MOCK(router_my_exit_policy_is_reject_star,
dns_impl_cache_hit_pending_router_my_exit_policy_is_reject_star);
dns_init();
@ -625,7 +605,7 @@ NS(test_main)(void *arg)
tt_assert(pending_conn->conn == exitconn);
done:
NS_UNMOCK(router_my_exit_policy_is_reject_star);
UNMOCK(router_my_exit_policy_is_reject_star);
tor_free(on_circ);
tor_free(TO_CONN(exitconn)->address);
tor_free(cache_entry->pending_connections);
@ -634,16 +614,12 @@ NS(test_main)(void *arg)
return;
}
#undef NS_SUBMODULE
#define NS_SUBMODULE ASPECT(resolve_impl, cache_hit_cached)
/* Given that a finished DNS resolve is available in our cache, we want
* dns_resolve_impl() return it to called via resolve_out and pass the
* handling to set_exitconn_info_from_resolve function.
*/
static int
NS(router_my_exit_policy_is_reject_star)(void)
dns_impl_cache_hit_cached_router_my_exit_policy_is_reject_star(void)
{
return 0;
}
@ -652,7 +628,8 @@ static edge_connection_t *last_exitconn = NULL;
static cached_resolve_t *last_resolve = NULL;
static int
NS(set_exitconn_info_from_resolve)(edge_connection_t *exitconn,
dns_impl_cache_hit_cached_set_exitconn_info_from_resolve(
edge_connection_t *exitconn,
const cached_resolve_t *resolve,
char **hostname_out)
{
@ -665,7 +642,7 @@ NS(set_exitconn_info_from_resolve)(edge_connection_t *exitconn,
}
static void
NS(test_main)(void *arg)
test_dns_impl_cache_hit_cached(void *arg)
{
int retval;
int made_pending = 0;
@ -688,8 +665,10 @@ NS(test_main)(void *arg)
strlcpy(cache_entry->address, TO_CONN(exitconn)->address,
sizeof(cache_entry->address));
NS_MOCK(router_my_exit_policy_is_reject_star);
NS_MOCK(set_exitconn_info_from_resolve);
MOCK(router_my_exit_policy_is_reject_star,
dns_impl_cache_hit_cached_router_my_exit_policy_is_reject_star);
MOCK(set_exitconn_info_from_resolve,
dns_impl_cache_hit_cached_set_exitconn_info_from_resolve);
dns_init();
@ -706,8 +685,8 @@ NS(test_main)(void *arg)
tt_assert(last_resolve == cache_entry);
done:
NS_UNMOCK(router_my_exit_policy_is_reject_star);
NS_UNMOCK(set_exitconn_info_from_resolve);
UNMOCK(router_my_exit_policy_is_reject_star);
UNMOCK(set_exitconn_info_from_resolve);
tor_free(on_circ);
tor_free(TO_CONN(exitconn)->address);
tor_free(cache_entry->pending_connections);
@ -715,10 +694,6 @@ NS(test_main)(void *arg)
return;
}
#undef NS_SUBMODULE
#define NS_SUBMODULE ASPECT(resolve_impl, cache_miss)
/* Given that there are neither pending nor pre-cached resolve for a given
* address, we want dns_resolve_impl() to create a new cached_resolve_t
* object, mark it as pending, insert it into the cache, attach the exit
@ -726,7 +701,7 @@ NS(test_main)(void *arg)
* with the cached_resolve_t object it created.
*/
static int
NS(router_my_exit_policy_is_reject_star)(void)
dns_impl_cache_miss_router_my_exit_policy_is_reject_star(void)
{
return 0;
}
@ -734,7 +709,7 @@ NS(router_my_exit_policy_is_reject_star)(void)
static cached_resolve_t *last_launched_resolve = NULL;
static int
NS(launch_resolve)(cached_resolve_t *resolve)
dns_impl_cache_miss_launch_resolve(cached_resolve_t *resolve)
{
last_launched_resolve = resolve;
@ -742,7 +717,7 @@ NS(launch_resolve)(cached_resolve_t *resolve)
}
static void
NS(test_main)(void *arg)
test_dns_impl_cache_miss(void *arg)
{
int retval;
int made_pending = 0;
@ -761,8 +736,10 @@ NS(test_main)(void *arg)
strlcpy(query.address, TO_CONN(exitconn)->address, sizeof(query.address));
NS_MOCK(router_my_exit_policy_is_reject_star);
NS_MOCK(launch_resolve);
MOCK(router_my_exit_policy_is_reject_star,
dns_impl_cache_miss_router_my_exit_policy_is_reject_star);
MOCK(launch_resolve,
dns_impl_cache_miss_launch_resolve);
dns_init();
@ -785,8 +762,8 @@ NS(test_main)(void *arg)
tt_str_op(cache_entry->address,OP_EQ,TO_CONN(exitconn)->address);
done:
NS_UNMOCK(router_my_exit_policy_is_reject_star);
NS_UNMOCK(launch_resolve);
UNMOCK(router_my_exit_policy_is_reject_star);
UNMOCK(launch_resolve);
tor_free(on_circ);
tor_free(TO_CONN(exitconn)->address);
if (cache_entry)
@ -796,22 +773,22 @@ NS(test_main)(void *arg)
return;
}
#undef NS_SUBMODULE
struct testcase_t dns_tests[] = {
#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR
TEST_CASE(configure_nameservers_fallback),
{ "configure_ns_fallback", test_dns_configure_ns_fallback,
TT_FORK, NULL, NULL },
#endif
TEST_CASE(clip_ttl),
TEST_CASE(resolve),
TEST_CASE_ASPECT(resolve_impl, addr_is_ip_no_need_to_resolve),
TEST_CASE_ASPECT(resolve_impl, non_exit),
TEST_CASE_ASPECT(resolve_impl, addr_is_invalid_dest),
TEST_CASE_ASPECT(resolve_impl, malformed_ptr),
TEST_CASE_ASPECT(resolve_impl, cache_hit_pending),
TEST_CASE_ASPECT(resolve_impl, cache_hit_cached),
TEST_CASE_ASPECT(resolve_impl, cache_miss),
{ "clip_ttl", test_dns_clip_ttl, TT_FORK, NULL, NULL },
{ "resolve", test_dns_resolve, TT_FORK, NULL, NULL },
{ "impl_addr_is_ip", test_dns_impl_addr_is_ip, TT_FORK, NULL, NULL },
{ "impl_non_exit", test_dns_impl_non_exit, TT_FORK, NULL, NULL },
{ "impl_addr_is_invalid_dest", test_dns_impl_addr_is_invalid_dest,
TT_FORK, NULL, NULL },
{ "impl_malformed_ptr", test_dns_impl_malformed_ptr, TT_FORK, NULL, NULL },
{ "impl_cache_hit_pending", test_dns_impl_cache_hit_pending,
TT_FORK, NULL, NULL },
{ "impl_cache_hit_cached", test_dns_impl_cache_hit_cached,
TT_FORK, NULL, NULL },
{ "impl_cache_miss", test_dns_impl_cache_miss, TT_FORK, NULL, NULL },
END_OF_TESTCASES
};
#undef NS_MODULE

View File

@ -35,8 +35,6 @@
#include <sys/param.h>
#endif
#define NS_MODULE test_options
typedef struct {
int severity;
log_domain_mask_t domain;
@ -1166,13 +1164,14 @@ test_options_validate__transproxy(void *ignored)
tor_free(msg);
}
NS_DECL(country_t, geoip_get_country, (const char *country));
static country_t opt_tests_geoip_get_country(const char *country);
ATTR_UNUSED static int opt_tests_geoip_get_country_called = 0;
static country_t
NS(geoip_get_country)(const char *countrycode)
opt_tests_geoip_get_country(const char *countrycode)
{
(void)countrycode;
CALLED(geoip_get_country)++;
opt_tests_geoip_get_country_called++;
return 1;
}
@ -1182,7 +1181,8 @@ test_options_validate__exclude_nodes(void *ignored)
{
(void)ignored;
NS_MOCK(geoip_get_country);
MOCK(geoip_get_country,
opt_tests_geoip_get_country);
int ret;
char *msg;
@ -1246,7 +1246,7 @@ test_options_validate__exclude_nodes(void *ignored)
tor_free(msg);
done:
NS_UNMOCK(geoip_get_country);
UNMOCK(geoip_get_country);
teardown_capture_of_logs();
free_options_test_data(tdata);
tor_free(msg);
@ -1751,7 +1751,8 @@ test_options_validate__use_bridges(void *ignored)
" the Internet, so they must not set UseBridges.");
tor_free(msg);
NS_MOCK(geoip_get_country);
MOCK(geoip_get_country,
opt_tests_geoip_get_country);
free_options_test_data(tdata);
tdata = get_options_test_data("UseBridges 1\n"
"EntryNodes {cn}\n");
@ -1794,7 +1795,7 @@ test_options_validate__use_bridges(void *ignored)
tor_free(msg);
done:
NS_UNMOCK(geoip_get_country);
UNMOCK(geoip_get_country);
policies_free_all();
free_options_test_data(tdata);
tor_free(msg);
@ -1806,7 +1807,8 @@ test_options_validate__entry_nodes(void *ignored)
(void)ignored;
int ret;
char *msg;
NS_MOCK(geoip_get_country);
MOCK(geoip_get_country,
opt_tests_geoip_get_country);
options_test_data_t *tdata = get_options_test_data(
"EntryNodes {cn}\n"
"UseEntryGuards 0\n");
@ -1826,7 +1828,7 @@ test_options_validate__entry_nodes(void *ignored)
tor_free(msg);
done:
NS_UNMOCK(geoip_get_country);
UNMOCK(geoip_get_country);
free_options_test_data(tdata);
tor_free(msg);
}

View File

@ -9,8 +9,6 @@
#include "test/log_test_helpers.h"
#define NS_MODULE procmon
struct event_base;
static void

View File

@ -21,8 +21,6 @@
#include "test/rend_test_helpers.h"
#include "test/log_test_helpers.h"
#define NS_MODULE rend_cache
static const int RECENT_TIME = -10;
static const int TIME_IN_THE_PAST = -(REND_CACHE_MAX_AGE + \
REND_CACHE_MAX_SKEW + 60);
@ -369,13 +367,12 @@ test_rend_cache_store_v2_desc_as_client_with_different_time(void *data)
rend_data_free(mock_rend_query);
}
#define NS_SUBMODULE lookup_v2_desc_as_dir
NS_DECL(const routerinfo_t *, router_get_my_routerinfo, (void));
static const routerinfo_t *rcache_lookup_v2_as_dir_get_my_routerinfo(void);
static routerinfo_t *mock_routerinfo;
static const routerinfo_t *
NS(router_get_my_routerinfo)(void)
rcache_lookup_v2_as_dir_get_my_routerinfo(void)
{
if (!mock_routerinfo) {
mock_routerinfo = tor_malloc(sizeof(routerinfo_t));
@ -395,7 +392,8 @@ test_rend_cache_lookup_v2_desc_as_dir(void *data)
(void)data;
NS_MOCK(router_get_my_routerinfo);
MOCK(router_get_my_routerinfo,
rcache_lookup_v2_as_dir_get_my_routerinfo);
rend_cache_init();
@ -418,20 +416,17 @@ test_rend_cache_lookup_v2_desc_as_dir(void *data)
tt_assert(ret_desc);
done:
NS_UNMOCK(router_get_my_routerinfo);
UNMOCK(router_get_my_routerinfo);
tor_free(mock_routerinfo);
rend_cache_free_all();
rend_encoded_v2_service_descriptor_free(desc_holder);
tor_free(service_id);
}
#undef NS_SUBMODULE
#define NS_SUBMODULE store_v2_desc_as_dir
NS_DECL(const routerinfo_t *, router_get_my_routerinfo, (void));
static const routerinfo_t *rcache_store_v2_as_dir_get_my_routerinfo(void);
static const routerinfo_t *
NS(router_get_my_routerinfo)(void)
rcache_store_v2_as_dir_get_my_routerinfo(void)
{
return mock_routerinfo;
}
@ -444,7 +439,8 @@ test_rend_cache_store_v2_desc_as_dir(void *data)
rend_encoded_v2_service_descriptor_t *desc_holder = NULL;
char *service_id = NULL;
NS_MOCK(router_get_my_routerinfo);
MOCK(router_get_my_routerinfo,
rcache_store_v2_as_dir_get_my_routerinfo);
rend_cache_init();
@ -485,7 +481,7 @@ test_rend_cache_store_v2_desc_as_dir(void *data)
tt_int_op(ret, OP_EQ, 0);
done:
NS_UNMOCK(router_get_my_routerinfo);
UNMOCK(router_get_my_routerinfo);
rend_encoded_v2_service_descriptor_free(desc_holder);
tor_free(service_id);
rend_cache_free_all();
@ -505,7 +501,8 @@ test_rend_cache_store_v2_desc_as_dir_with_different_time(void *data)
rend_encoded_v2_service_descriptor_t *desc_holder_newer;
rend_encoded_v2_service_descriptor_t *desc_holder_older;
NS_MOCK(router_get_my_routerinfo);
MOCK(router_get_my_routerinfo,
rcache_store_v2_as_dir_get_my_routerinfo);
rend_cache_init();
@ -543,7 +540,7 @@ test_rend_cache_store_v2_desc_as_dir_with_different_time(void *data)
tt_int_op(ret, OP_EQ, 0);
done:
NS_UNMOCK(router_get_my_routerinfo);
UNMOCK(router_get_my_routerinfo);
rend_cache_free_all();
rend_service_descriptor_free(generated);
tor_free(service_id);
@ -568,7 +565,8 @@ test_rend_cache_store_v2_desc_as_dir_with_different_content(void *data)
rend_encoded_v2_service_descriptor_t *desc_holder_one = NULL;
rend_encoded_v2_service_descriptor_t *desc_holder_two = NULL;
NS_MOCK(router_get_my_routerinfo);
MOCK(router_get_my_routerinfo,
rcache_store_v2_as_dir_get_my_routerinfo);
rend_cache_init();
@ -602,7 +600,7 @@ test_rend_cache_store_v2_desc_as_dir_with_different_content(void *data)
tt_int_op(ret, OP_EQ, 0);
done:
NS_UNMOCK(router_get_my_routerinfo);
UNMOCK(router_get_my_routerinfo);
rend_cache_free_all();
rend_service_descriptor_free(generated);
tor_free(service_id);
@ -613,8 +611,6 @@ test_rend_cache_store_v2_desc_as_dir_with_different_content(void *data)
rend_encoded_v2_service_descriptor_free(desc_holder_two);
}
#undef NS_SUBMODULE
static void
test_rend_cache_init(void *data)
{
@ -1074,8 +1070,6 @@ test_rend_cache_intro_failure_note(void *data)
rend_cache_free_all();
}
#define NS_SUBMODULE clean_v2_descs_as_dir
static void
test_rend_cache_clean_v2_descs_as_dir(void *data)
{
@ -1116,8 +1110,6 @@ test_rend_cache_clean_v2_descs_as_dir(void *data)
rend_cache_free_all();
}
#undef NS_SUBMODULE
static void
test_rend_cache_entry_allocation(void *data)
{
@ -1250,4 +1242,3 @@ struct testcase_t rend_cache_tests[] = {
test_rend_cache_validate_intro_point_failure, 0, NULL, NULL },
END_OF_TESTCASES
};

View File

@ -31,12 +31,13 @@
#include "test/test.h"
#include "test/log_test_helpers.h"
NS_DECL(const routerinfo_t *, router_get_my_routerinfo, (void));
static const routerinfo_t * rtr_tests_router_get_my_routerinfo(void);
ATTR_UNUSED static int rtr_tests_router_get_my_routerinfo_called = 0;
static routerinfo_t* mock_routerinfo;
static const routerinfo_t*
NS(router_get_my_routerinfo)(void)
rtr_tests_router_get_my_routerinfo(void)
{
crypto_pk_t* ident_key;
crypto_pk_t* tap_key;
@ -86,7 +87,8 @@ test_router_dump_router_to_string_no_bridge_distribution_method(void *arg)
char* found = NULL;
(void)arg;
NS_MOCK(router_get_my_routerinfo);
MOCK(router_get_my_routerinfo,
rtr_tests_router_get_my_routerinfo);
options->ORPort_set = 1;
options->BridgeRelay = 1;
@ -120,7 +122,7 @@ test_router_dump_router_to_string_no_bridge_distribution_method(void *arg)
tt_ptr_op(found, OP_NE, NULL);
done:
NS_UNMOCK(router_get_my_routerinfo);
UNMOCK(router_get_my_routerinfo);
tor_free(desc);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -214,7 +214,7 @@ test_tortls_tor_tls_get_error(void *data)
done:
UNMOCK(tor_tls_cert_matches_key);
NS_UNMOCK(logv);
UNMOCK(logv);
crypto_pk_free(key1);
crypto_pk_free(key2);
tor_tls_free(tls);

View File

@ -46,8 +46,6 @@ ENABLE_GCC_WARNING("-Wredundant-decls")
#include "test/log_test_helpers.h"
#include "test/test_tortls.h"
#define NS_MODULE tortls
#ifndef HAVE_SSL_STATE
#define OPENSSL_OPAQUE
#endif
@ -123,8 +121,6 @@ test_tortls_tor_tls_new(void *data)
tor_tls_free_all();
}
#define NS_MODULE tortls
static void
library_init(void)
{

View File

@ -9,8 +9,6 @@
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/encoding/binascii.h"
#define NS_MODULE util_format
static void
test_util_format_unaligned_accessors(void *ignored)
{

View File

@ -11,7 +11,6 @@
#include "test/log_test_helpers.h"
#ifndef _WIN32
#define NS_MODULE util_process
static void
temp_callback(int r, void *s)