diff options
author | 2015-09-21 14:39:57 -0700 | |
---|---|---|
committer | 2015-09-21 14:39:57 -0700 | |
commit | dfff1b8126a1f83833fd99626517f28d1e68453a (patch) | |
tree | 40a9aa8126c08a11fb1a5cdd4058f504e05dca43 /test/core/channel | |
parent | 3ffd8220a17fd2fdf64adc66b03e4e254880471b (diff) |
Call list progress
Diffstat (limited to 'test/core/channel')
-rw-r--r-- | test/core/channel/channel_stack_test.c | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/test/core/channel/channel_stack_test.c b/test/core/channel/channel_stack_test.c index 60129afc43..07df921270 100644 --- a/test/core/channel/channel_stack_test.c +++ b/test/core/channel/channel_stack_test.c @@ -44,7 +44,7 @@ static void channel_init_func(grpc_channel_element *elem, grpc_channel *master, const grpc_channel_args *args, grpc_mdctx *metadata_context, int is_first, - int is_last) { + int is_last, grpc_call_list *call_list) { GPR_ASSERT(args->num_args == 1); GPR_ASSERT(args->args[0].type == GRPC_ARG_INTEGER); GPR_ASSERT(0 == strcmp(args->args[0].key, "test_key")); @@ -56,26 +56,33 @@ static void channel_init_func(grpc_channel_element *elem, grpc_channel *master, static void call_init_func(grpc_call_element *elem, const void *server_transport_data, - grpc_transport_stream_op *initial_op) { + grpc_transport_stream_op *initial_op, + grpc_call_list *call_list) { ++*(int *)(elem->channel_data); *(int *)(elem->call_data) = 0; } -static void channel_destroy_func(grpc_channel_element *elem) {} +static void channel_destroy_func(grpc_channel_element *elem, + grpc_call_list *call_list) {} -static void call_destroy_func(grpc_call_element *elem) { +static void call_destroy_func(grpc_call_element *elem, + grpc_call_list *call_list) { ++*(int *)(elem->channel_data); } -static void call_func(grpc_call_element *elem, grpc_transport_stream_op *op) { +static void call_func(grpc_call_element *elem, grpc_transport_stream_op *op, + grpc_call_list *call_list) { ++*(int *)(elem->call_data); } -static void channel_func(grpc_channel_element *elem, grpc_transport_op *op) { +static void channel_func(grpc_channel_element *elem, grpc_transport_op *op, + grpc_call_list *call_list) { ++*(int *)(elem->channel_data); } -static char *get_peer(grpc_call_element *elem) { return gpr_strdup("peer"); } +static char *get_peer(grpc_call_element *elem, grpc_call_list *call_list) { + return gpr_strdup("peer"); +} static void test_create_channel_stack(void) { const grpc_channel_filter filter = {call_func, channel_func, @@ -93,6 +100,7 @@ static void test_create_channel_stack(void) { grpc_mdctx *metadata_context; int *channel_data; int *call_data; + grpc_call_list call_list = GRPC_CALL_LIST_INIT; metadata_context = grpc_mdctx_create(); @@ -105,14 +113,14 @@ static void test_create_channel_stack(void) { channel_stack = gpr_malloc(grpc_channel_stack_size(&filters, 1)); grpc_channel_stack_init(&filters, 1, NULL, &chan_args, metadata_context, - channel_stack); + channel_stack, &call_list); GPR_ASSERT(channel_stack->count == 1); channel_elem = grpc_channel_stack_element(channel_stack, 0); channel_data = (int *)channel_elem->channel_data; GPR_ASSERT(*channel_data == 0); call_stack = gpr_malloc(channel_stack->call_stack_size); - grpc_call_stack_init(channel_stack, NULL, NULL, call_stack); + grpc_call_stack_init(channel_stack, NULL, NULL, call_stack, &call_list); GPR_ASSERT(call_stack->count == 1); call_elem = grpc_call_stack_element(call_stack, 0); GPR_ASSERT(call_elem->filter == channel_elem->filter); @@ -121,14 +129,16 @@ static void test_create_channel_stack(void) { GPR_ASSERT(*call_data == 0); GPR_ASSERT(*channel_data == 1); - grpc_call_stack_destroy(call_stack); + grpc_call_stack_destroy(call_stack, &call_list); gpr_free(call_stack); GPR_ASSERT(*channel_data == 2); - grpc_channel_stack_destroy(channel_stack); + grpc_channel_stack_destroy(channel_stack, &call_list); gpr_free(channel_stack); grpc_mdctx_unref(metadata_context); + + GPR_ASSERT(grpc_call_list_empty(call_list)); } int main(int argc, char **argv) { |