From dbfc895ff95cb577c39c412925c3dddf5d9a34aa Mon Sep 17 00:00:00 2001 From: Craig Tiller <ctiller@google.com> Date: Mon, 18 Apr 2016 22:58:10 -0700 Subject: [PATCH] Stub out request call call --- test/core/end2end/fuzzers/api_fuzzer.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/test/core/end2end/fuzzers/api_fuzzer.c b/test/core/end2end/fuzzers/api_fuzzer.c index 225c333cda..707f27a0c1 100644 --- a/test/core/end2end/fuzzers/api_fuzzer.c +++ b/test/core/end2end/fuzzers/api_fuzzer.c @@ -348,7 +348,7 @@ static void free_non_null(void *p) { } typedef enum { - ROOT, CLIENT, SERVER + ROOT, CLIENT, SERVER, PENDING_SERVER } call_state_type; typedef struct call_state { @@ -361,6 +361,7 @@ typedef struct call_state { char *recv_status_details; size_t recv_status_details_capacity; int cancelled; + grpc_call_details call_details; struct call_state *next; struct call_state *prev; @@ -601,7 +602,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { } // queue some ops on a call case 12: { - if (active_call->type == ROOT || active_call->call == NULL) { + if (active_call->type ==PENDING_SERVER || active_call->type == ROOT || active_call->call == NULL) { end(&inp); break; } @@ -761,6 +762,18 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { gpr_free(tracer); break; } + // request a server call + case 19: { + if (g_server == NULL) { + end(&inp); + break; + } + call_state *cs = new_call(active_call, PENDING_SERVER); + grpc_call_error error = grpc_server_request_call(g_server, &cs->call, &cs->call_details, &cs->recv_initial_metadata, + cq, cq, NULL); + gpr_log(GPR_DEBUG, "%d", error); + break; + } } } -- GitLab