mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
prop224 tests: Improve SRV protocol tests.
This commit is contained in:
parent
0bf8587858
commit
4a1b57e9b0
@ -133,7 +133,7 @@ get_voting_interval(void)
|
|||||||
/* Given the time <b>now</b>, return the start time of the current round of
|
/* Given the time <b>now</b>, return the start time of the current round of
|
||||||
* the SR protocol. For example, if it's 23:47:08, the current round thus
|
* the SR protocol. For example, if it's 23:47:08, the current round thus
|
||||||
* started at 23:47:00 for a voting interval of 10 seconds. */
|
* started at 23:47:00 for a voting interval of 10 seconds. */
|
||||||
static time_t
|
STATIC time_t
|
||||||
get_start_time_of_current_round(time_t now)
|
get_start_time_of_current_round(time_t now)
|
||||||
{
|
{
|
||||||
const or_options_t *options = get_options();
|
const or_options_t *options = get_options();
|
||||||
|
@ -130,6 +130,7 @@ unsigned int sr_state_get_protocol_run_duration(void);
|
|||||||
STATIC int disk_state_load_from_disk_impl(const char *fname);
|
STATIC int disk_state_load_from_disk_impl(const char *fname);
|
||||||
|
|
||||||
STATIC sr_phase_t get_sr_protocol_phase(time_t valid_after);
|
STATIC sr_phase_t get_sr_protocol_phase(time_t valid_after);
|
||||||
|
STATIC time_t get_start_time_of_current_round(time_t now);
|
||||||
|
|
||||||
STATIC time_t get_state_valid_until_time(time_t now);
|
STATIC time_t get_state_valid_until_time(time_t now);
|
||||||
STATIC const char *get_phase_str(sr_phase_t phase);
|
STATIC const char *get_phase_str(sr_phase_t phase);
|
||||||
|
@ -260,6 +260,30 @@ test_get_start_time_of_current_run(void *arg)
|
|||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Do some rudimentary consistency checks between the functions that
|
||||||
|
* understand the shared random protocol schedule */
|
||||||
|
static void
|
||||||
|
test_get_start_time_functions(void *arg)
|
||||||
|
{
|
||||||
|
(void) arg;
|
||||||
|
time_t now = approx_time();
|
||||||
|
|
||||||
|
time_t start_time_of_protocol_run =
|
||||||
|
sr_state_get_start_time_of_current_protocol_run(now);
|
||||||
|
tt_assert(start_time_of_protocol_run);
|
||||||
|
|
||||||
|
/* Check that the round start time of the beginning of the run, is itself */
|
||||||
|
tt_int_op(get_start_time_of_current_round(start_time_of_protocol_run), OP_EQ,
|
||||||
|
start_time_of_protocol_run);
|
||||||
|
|
||||||
|
/* Check that even if we increment the start time, we still get the start
|
||||||
|
time of the run as the beginning of the round. */
|
||||||
|
tt_int_op(get_start_time_of_current_round(start_time_of_protocol_run+1),
|
||||||
|
OP_EQ, start_time_of_protocol_run);
|
||||||
|
|
||||||
|
done: ;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_get_sr_protocol_duration(void *arg)
|
test_get_sr_protocol_duration(void *arg)
|
||||||
{
|
{
|
||||||
@ -1364,6 +1388,8 @@ struct testcase_t sr_tests[] = {
|
|||||||
NULL, NULL },
|
NULL, NULL },
|
||||||
{ "get_start_time_of_current_run", test_get_start_time_of_current_run,
|
{ "get_start_time_of_current_run", test_get_start_time_of_current_run,
|
||||||
TT_FORK, NULL, NULL },
|
TT_FORK, NULL, NULL },
|
||||||
|
{ "get_start_time_functions", test_get_start_time_functions,
|
||||||
|
TT_FORK, NULL, NULL },
|
||||||
{ "get_sr_protocol_duration", test_get_sr_protocol_duration, TT_FORK,
|
{ "get_sr_protocol_duration", test_get_sr_protocol_duration, TT_FORK,
|
||||||
NULL, NULL },
|
NULL, NULL },
|
||||||
{ "get_state_valid_until_time", test_get_state_valid_until_time, TT_FORK,
|
{ "get_state_valid_until_time", test_get_state_valid_until_time, TT_FORK,
|
||||||
|
Loading…
Reference in New Issue
Block a user