aboutsummaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2016-05-03 11:42:50 -0400
committerDavid Goulet <dgoulet@torproject.org>2016-07-01 14:01:41 -0400
commit39be8af7092a4ee004f4c53fa1e55678d9d67f1f (patch)
tree70cc2057b42c253fe4c93f71b7db2f1e52d8d0d0 /src/or
parent727d419a9d0845e7820364e8a8f0928043c67111 (diff)
downloadtor-39be8af7092a4ee004f4c53fa1e55678d9d67f1f.tar.gz
tor-39be8af7092a4ee004f4c53fa1e55678d9d67f1f.zip
prop250: Add unit tests
Signed-off-by: David Goulet <dgoulet@torproject.org> Signed-off-by: George Kadianakis <desnacked@riseup.net>
Diffstat (limited to 'src/or')
-rw-r--r--src/or/networkstatus.c8
-rw-r--r--src/or/networkstatus.h4
-rw-r--r--src/or/shared_random_state.c19
-rw-r--r--src/or/shared_random_state.h7
4 files changed, 32 insertions, 6 deletions
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index aabbffff1d..cf395f9c99 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -1191,8 +1191,8 @@ consensus_is_waiting_for_certs(void)
/** Return the most recent consensus that we have downloaded, or NULL if we
* don't have one. */
-networkstatus_t *
-networkstatus_get_latest_consensus(void)
+MOCK_IMPL(networkstatus_t *,
+networkstatus_get_latest_consensus,(void))
{
return current_consensus;
}
@@ -1214,8 +1214,8 @@ networkstatus_get_latest_consensus_by_flavor,(consensus_flavor_t f))
/** Return the most recent consensus that we have downloaded, or NULL if it is
* no longer live. */
-networkstatus_t *
-networkstatus_get_live_consensus(time_t now)
+MOCK_IMPL(networkstatus_t *,
+networkstatus_get_live_consensus,(time_t now))
{
if (current_consensus &&
current_consensus->valid_after <= now &&
diff --git a/src/or/networkstatus.h b/src/or/networkstatus.h
index aee6641c6e..b34696e5ae 100644
--- a/src/or/networkstatus.h
+++ b/src/or/networkstatus.h
@@ -64,10 +64,10 @@ void update_certificate_downloads(time_t now);
int consensus_is_waiting_for_certs(void);
int client_would_use_router(const routerstatus_t *rs, time_t now,
const or_options_t *options);
-networkstatus_t *networkstatus_get_latest_consensus(void);
+MOCK_DECL(networkstatus_t *,networkstatus_get_latest_consensus,(void));
MOCK_DECL(networkstatus_t *,networkstatus_get_latest_consensus_by_flavor,
(consensus_flavor_t f));
-networkstatus_t *networkstatus_get_live_consensus(time_t now);
+MOCK_DECL(networkstatus_t *, networkstatus_get_live_consensus,(time_t now));
networkstatus_t *networkstatus_get_reasonably_live_consensus(time_t now,
int flavor);
MOCK_DECL(int, networkstatus_consensus_is_bootstrapping,(time_t now));
diff --git a/src/or/shared_random_state.c b/src/or/shared_random_state.c
index 6dd10d612e..7c75431040 100644
--- a/src/or/shared_random_state.c
+++ b/src/or/shared_random_state.c
@@ -1291,3 +1291,22 @@ sr_state_init(int save_to_disk, int read_from_disk)
error:
return -1;
}
+
+#ifdef TOR_UNIT_TESTS
+
+/* Set the current phase of the protocol. Used only by unit tests. */
+void
+set_sr_phase(sr_phase_t phase)
+{
+ tor_assert(sr_state);
+ sr_state->phase = phase;
+}
+
+/* Get the SR state. Used only by unit tests */
+sr_state_t *
+get_sr_state(void)
+{
+ return sr_state;
+}
+
+#endif /* TOR_UNIT_TESTS */
diff --git a/src/or/shared_random_state.h b/src/or/shared_random_state.h
index 499a3754b6..d013650aa2 100644
--- a/src/or/shared_random_state.h
+++ b/src/or/shared_random_state.h
@@ -135,4 +135,11 @@ STATIC int is_phase_transition(sr_phase_t next_phase);
#endif /* SHARED_RANDOM_STATE_PRIVATE */
+#ifdef TOR_UNIT_TESTS
+
+STATIC void set_sr_phase(sr_phase_t phase);
+STATIC sr_state_t *get_sr_state(void);
+
+#endif /* TOR_UNIT_TESTS */
+
#endif /* TOR_SHARED_RANDOM_STATE_H */