[tor-commits] [tor/maint-0.2.8] Merge branch 'maint-0.2.5' into maint-0.2.8
nickm at torproject.org
nickm at torproject.org
Thu Dec 21 15:58:33 UTC 2017
commit 7d845976e3897fac8e78a4a26688ac57b660151b
Merge: 877dd1d6c 920208776
Author: Nick Mathewson <nickm at torproject.org>
Date: Thu Dec 21 10:43:06 2017 -0500
Merge branch 'maint-0.2.5' into maint-0.2.8
changes/bug24666 | 7 ++++
src/or/circuitmux.c | 34 +++++--------------
src/or/circuitmux.h | 2 +-
src/or/or.h | 15 +++++++++
src/or/relay.c | 82 ++++++++++++++++++++++++++++++++++++++++++++--
src/or/relay.h | 8 +++++
src/test/test_circuitmux.c | 12 +++----
7 files changed, 126 insertions(+), 34 deletions(-)
diff --cc src/or/relay.h
index e15551ca5,9d160b7b9..c4f98d92f
--- a/src/or/relay.h
+++ b/src/or/relay.h
@@@ -60,9 -63,15 +60,16 @@@ void cell_queue_append_packed_copy(circ
void append_cell_to_circuit_queue(circuit_t *circ, channel_t *chan,
cell_t *cell, cell_direction_t direction,
streamid_t fromstream);
+
+ void destroy_cell_queue_init(destroy_cell_queue_t *queue);
+ void destroy_cell_queue_clear(destroy_cell_queue_t *queue);
+ void destroy_cell_queue_append(destroy_cell_queue_t *queue,
+ circid_t circid,
+ uint8_t reason);
+
void channel_unlink_all_circuits(channel_t *chan, smartlist_t *detached_out);
-int channel_flush_from_first_active_circuit(channel_t *chan, int max);
+MOCK_DECL(int, channel_flush_from_first_active_circuit,
+ (channel_t *chan, int max));
void assert_circuit_mux_okay(channel_t *chan);
void update_circuit_on_cmux_(circuit_t *circ, cell_direction_t direction,
const char *file, int lineno);
diff --cc src/test/test_circuitmux.c
index 9e8fb5496,d6b658c27..1ffa17247
--- a/src/test/test_circuitmux.c
+++ b/src/test/test_circuitmux.c
@@@ -34,11 -33,13 +34,12 @@@ test_cmux_destroy_cell_queue(void *arg
circuitmux_t *cmux = NULL;
channel_t *ch = NULL;
circuit_t *circ = NULL;
- cell_queue_t *cq = NULL;
+ destroy_cell_queue_t *cq = NULL;
packed_cell_t *pc = NULL;
+ destroy_cell_t *dc = NULL;
-#ifdef ENABLE_MEMPOOLS
- init_cell_pool();
-#endif /* ENABLE_MEMPOOLS */
+ scheduler_init();
+
(void) arg;
cmux = circuitmux_alloc();
@@@ -61,20 -62,23 +62,19 @@@
tt_assert(!circ);
tt_assert(cq);
- tt_int_op(cq->n, ==, 3);
+ tt_int_op(cq->n, OP_EQ, 3);
- pc = cell_queue_pop(cq);
- tt_assert(pc);
- tt_mem_op(pc->body, OP_EQ, "\x00\x00\x00\x64\x04\x0a\x00\x00\x00", 9);
- packed_cell_free(pc);
- pc = NULL;
+ dc = destroy_cell_queue_pop(cq);
+ tt_assert(dc);
- tt_uint_op(dc->circid, ==, 100);
++ tt_uint_op(dc->circid, OP_EQ, 100);
- tt_int_op(circuitmux_num_cells(cmux), ==, 2);
+ tt_int_op(circuitmux_num_cells(cmux), OP_EQ, 2);
done:
circuitmux_free(cmux);
channel_free(ch);
packed_cell_free(pc);
+ tor_free(dc);
-
-#ifdef ENABLE_MEMPOOLS
- free_cell_pool();
-#endif /* ENABLE_MEMPOOLS */
}
struct testcase_t circuitmux_tests[] = {
More information about the tor-commits
mailing list