|
@@ -1293,6 +1293,7 @@ test_channel_queue_impossible(void *arg)
|
|
int old_count;
|
|
int old_count;
|
|
cell_queue_entry_t *q = NULL;
|
|
cell_queue_entry_t *q = NULL;
|
|
uint64_t global_queue_estimate;
|
|
uint64_t global_queue_estimate;
|
|
|
|
+ uintptr_t cellintptr;
|
|
|
|
|
|
/* Cache the global queue size (see below) */
|
|
/* Cache the global queue size (see below) */
|
|
global_queue_estimate = channel_get_global_queue_estimate();
|
|
global_queue_estimate = channel_get_global_queue_estimate();
|
|
@@ -1320,6 +1321,7 @@ test_channel_queue_impossible(void *arg)
|
|
/* Get a fresh cell and write it to the channel*/
|
|
/* Get a fresh cell and write it to the channel*/
|
|
cell = tor_malloc_zero(sizeof(cell_t));
|
|
cell = tor_malloc_zero(sizeof(cell_t));
|
|
make_fake_cell(cell);
|
|
make_fake_cell(cell);
|
|
|
|
+ cellintptr = (uintptr_t)(void*)cell;
|
|
channel_write_cell(ch, cell);
|
|
channel_write_cell(ch, cell);
|
|
|
|
|
|
/* Now it should be queued */
|
|
/* Now it should be queued */
|
|
@@ -1328,7 +1330,7 @@ test_channel_queue_impossible(void *arg)
|
|
tt_assert(q);
|
|
tt_assert(q);
|
|
if (q) {
|
|
if (q) {
|
|
tt_int_op(q->type, ==, CELL_QUEUE_FIXED);
|
|
tt_int_op(q->type, ==, CELL_QUEUE_FIXED);
|
|
- tt_ptr_op(q->u.fixed.cell, ==, cell);
|
|
|
|
|
|
+ tt_assert((uintptr_t)q->u.fixed.cell == cellintptr);
|
|
}
|
|
}
|
|
/* Do perverse things to it */
|
|
/* Do perverse things to it */
|
|
tor_free(q->u.fixed.cell);
|
|
tor_free(q->u.fixed.cell);
|
|
@@ -1349,6 +1351,7 @@ test_channel_queue_impossible(void *arg)
|
|
ch->state = CHANNEL_STATE_MAINT;
|
|
ch->state = CHANNEL_STATE_MAINT;
|
|
var_cell = tor_malloc_zero(sizeof(var_cell_t) + CELL_PAYLOAD_SIZE);
|
|
var_cell = tor_malloc_zero(sizeof(var_cell_t) + CELL_PAYLOAD_SIZE);
|
|
make_fake_var_cell(var_cell);
|
|
make_fake_var_cell(var_cell);
|
|
|
|
+ cellintptr = (uintptr_t)(void*)var_cell;
|
|
channel_write_var_cell(ch, var_cell);
|
|
channel_write_var_cell(ch, var_cell);
|
|
|
|
|
|
/* Check that it's queued */
|
|
/* Check that it's queued */
|
|
@@ -1357,7 +1360,7 @@ test_channel_queue_impossible(void *arg)
|
|
tt_assert(q);
|
|
tt_assert(q);
|
|
if (q) {
|
|
if (q) {
|
|
tt_int_op(q->type, ==, CELL_QUEUE_VAR);
|
|
tt_int_op(q->type, ==, CELL_QUEUE_VAR);
|
|
- tt_ptr_op(q->u.var.var_cell, ==, var_cell);
|
|
|
|
|
|
+ tt_assert((uintptr_t)q->u.var.var_cell == cellintptr);
|
|
}
|
|
}
|
|
|
|
|
|
/* Remove the cell from the queue entry */
|
|
/* Remove the cell from the queue entry */
|
|
@@ -1376,6 +1379,7 @@ test_channel_queue_impossible(void *arg)
|
|
ch->state = CHANNEL_STATE_MAINT;
|
|
ch->state = CHANNEL_STATE_MAINT;
|
|
packed_cell = packed_cell_new();
|
|
packed_cell = packed_cell_new();
|
|
tt_assert(packed_cell);
|
|
tt_assert(packed_cell);
|
|
|
|
+ cellintptr = (uintptr_t)(void*)packed_cell;
|
|
channel_write_packed_cell(ch, packed_cell);
|
|
channel_write_packed_cell(ch, packed_cell);
|
|
|
|
|
|
/* Check that it's queued */
|
|
/* Check that it's queued */
|
|
@@ -1384,7 +1388,7 @@ test_channel_queue_impossible(void *arg)
|
|
tt_assert(q);
|
|
tt_assert(q);
|
|
if (q) {
|
|
if (q) {
|
|
tt_int_op(q->type, ==, CELL_QUEUE_PACKED);
|
|
tt_int_op(q->type, ==, CELL_QUEUE_PACKED);
|
|
- tt_ptr_op(q->u.packed.packed_cell, ==, packed_cell);
|
|
|
|
|
|
+ tt_assert((uintptr_t)q->u.packed.packed_cell == cellintptr);
|
|
}
|
|
}
|
|
|
|
|
|
/* Remove the cell from the queue entry */
|
|
/* Remove the cell from the queue entry */
|