aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/channel
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2015-09-21 14:39:57 -0700
committerGravatar Craig Tiller <ctiller@google.com>2015-09-21 14:39:57 -0700
commitdfff1b8126a1f83833fd99626517f28d1e68453a (patch)
tree40a9aa8126c08a11fb1a5cdd4058f504e05dca43 /test/core/channel
parent3ffd8220a17fd2fdf64adc66b03e4e254880471b (diff)
Call list progress
Diffstat (limited to 'test/core/channel')
-rw-r--r--test/core/channel/channel_stack_test.c32
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) {