summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrea Shepard <andrea@torproject.org>2014-01-21 02:50:33 -0800
committerAndrea Shepard <andrea@torproject.org>2014-09-30 23:09:15 -0700
commit46ff91b6ec90fc8ee9a84622f9dce91903686559 (patch)
treee594eb1aa418b5f84945d42fc4966427014f8941 /src
parent2ee69bd5d74842681aa3c90aae93b93fb0657269 (diff)
downloadtor-46ff91b6ec90fc8ee9a84622f9dce91903686559.tar.gz
tor-46ff91b6ec90fc8ee9a84622f9dce91903686559.zip
Add scheduler_channel_has_waiting_cells_mock() and some mock counter queries
Diffstat (limited to 'src')
-rw-r--r--src/test/fakechans.h6
-rw-r--r--src/test/test_channel.c40
2 files changed, 46 insertions, 0 deletions
diff --git a/src/test/fakechans.h b/src/test/fakechans.h
index 99773e721d..b129ab49a5 100644
--- a/src/test/fakechans.h
+++ b/src/test/fakechans.h
@@ -14,6 +14,12 @@ void make_fake_var_cell(var_cell_t *c);
channel_t * new_fake_channel(void);
/* Also exposes some a mock used by both test_channel.c and test_relay.c */
+void scheduler_channel_has_waiting_cells_mock(channel_t *ch);
void scheduler_release_channel_mock(channel_t *ch);
+/* Query some counters used by the exposed mocks */
+int get_mock_scheduler_has_waiting_cells_count(void);
+int get_mock_scheduler_release_channel_count(void);
+
#endif /* !defined(TOR_FAKECHANS_H) */
+
diff --git a/src/test/test_channel.c b/src/test/test_channel.c
index 1ae9810d66..eff418957b 100644
--- a/src/test/test_channel.c
+++ b/src/test/test_channel.c
@@ -22,6 +22,7 @@ static int test_chan_accept_cells = 0;
static int test_cells_written = 0;
static int test_destroy_not_pending_calls = 0;
static int test_doesnt_want_writes_count = 0;
+static int test_has_waiting_cells_count = 0;
static double test_overhead_estimate = 1.0f;
static int test_releases_count = 0;
@@ -206,6 +207,31 @@ new_fake_channel(void)
return chan;
}
+/**
+ * Counter query for scheduler_channel_has_waiting_cells_mock()
+ */
+
+int
+get_mock_scheduler_has_waiting_cells_count(void)
+{
+ return test_has_waiting_cells_count;
+}
+
+/**
+ * Mock for scheduler_channel_has_waiting_cells()
+ */
+
+void
+scheduler_channel_has_waiting_cells_mock(channel_t *ch)
+{
+ (void)ch;
+
+ /* Increment counter */
+ ++test_has_waiting_cells_count;
+
+ return;
+}
+
static void
scheduler_channel_doesnt_want_writes_mock(channel_t *ch)
{
@@ -217,6 +243,20 @@ scheduler_channel_doesnt_want_writes_mock(channel_t *ch)
return;
}
+/**
+ * Counter query for scheduler_release_channel_mock()
+ */
+
+int
+get_mock_scheduler_release_channel_count(void)
+{
+ return test_releases_count;
+}
+
+/**
+ * Mock for scheduler_release_channel()
+ */
+
void
scheduler_release_channel_mock(channel_t *ch)
{