aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2015-09-21 17:15:19 -0700
committerGravatar Craig Tiller <ctiller@google.com>2015-09-21 17:15:19 -0700
commitba496454b2f0909a64845f1305f3b0a81073a4f1 (patch)
treed01a5956fb76ebd83d89fb6c14bf3f9cf082f727 /test/core
parent294d0ecc05097753982e89f14bb0b63c67451038 (diff)
Fixes
Diffstat (limited to 'test/core')
-rw-r--r--test/core/bad_client/bad_client.c12
-rw-r--r--test/core/end2end/fixtures/h2_sockpair+trace.c14
-rw-r--r--test/core/end2end/fixtures/h2_sockpair.c16
-rw-r--r--test/core/end2end/fixtures/h2_sockpair_1byte.c16
-rw-r--r--test/core/iomgr/alarm_test.c217
-rw-r--r--test/core/security/print_google_default_creds_token.c13
-rw-r--r--test/core/security/verify_jwt.c8
-rw-r--r--test/core/surface/completion_queue_test.c1
8 files changed, 31 insertions, 266 deletions
diff --git a/test/core/bad_client/bad_client.c b/test/core/bad_client/bad_client.c
index fd37fce976..747ce4050b 100644
--- a/test/core/bad_client/bad_client.c
+++ b/test/core/bad_client/bad_client.c
@@ -65,15 +65,14 @@ static void done_write(void *arg, int success, grpc_call_list *call_list) {
}
static void server_setup_transport(void *ts, grpc_transport *transport,
- grpc_mdctx *mdctx,
- grpc_workqueue *workqueue) {
+ grpc_mdctx *mdctx) {
thd_args *a = ts;
static grpc_channel_filter const *extra_filters[] = {
&grpc_http_server_filter};
grpc_call_list call_list = GRPC_CALL_LIST_INIT;
grpc_server_setup_transport(
a->server, transport, extra_filters, GPR_ARRAY_SIZE(extra_filters), mdctx,
- workqueue, grpc_server_get_channel_args(a->server), &call_list);
+ grpc_server_get_channel_args(a->server), &call_list);
grpc_call_list_run(&call_list);
}
@@ -90,7 +89,6 @@ void grpc_run_bad_client_test(grpc_bad_client_server_side_validator validator,
gpr_slice_from_copied_buffer(client_payload, client_payload_length);
gpr_slice_buffer outgoing;
grpc_closure done_write_closure;
- grpc_workqueue *workqueue;
grpc_call_list call_list = GRPC_CALL_LIST_INIT;
hex = gpr_dump(client_payload, client_payload_length,
@@ -104,9 +102,6 @@ void grpc_run_bad_client_test(grpc_bad_client_server_side_validator validator,
/* Init grpc */
grpc_init();
- workqueue = grpc_workqueue_create(&call_list);
- grpc_call_list_run(&call_list);
-
/* Create endpoints */
sfd = grpc_iomgr_create_endpoint_pair("fixture", 65536);
@@ -120,7 +115,7 @@ void grpc_run_bad_client_test(grpc_bad_client_server_side_validator validator,
grpc_server_start(a.server);
transport =
grpc_create_chttp2_transport(NULL, sfd.server, mdctx, 0, &call_list);
- server_setup_transport(&a, transport, mdctx, workqueue);
+ server_setup_transport(&a, transport, mdctx);
grpc_chttp2_transport_start_reading(transport, NULL, 0, &call_list);
grpc_call_list_run(&call_list);
@@ -169,7 +164,6 @@ void grpc_run_bad_client_test(grpc_bad_client_server_side_validator validator,
grpc_completion_queue_destroy(a.cq);
gpr_slice_buffer_destroy(&outgoing);
- GRPC_WORKQUEUE_UNREF(workqueue, "destroy", &call_list);
grpc_call_list_run(&call_list);
grpc_shutdown();
}
diff --git a/test/core/end2end/fixtures/h2_sockpair+trace.c b/test/core/end2end/fixtures/h2_sockpair+trace.c
index be8132bc96..d0279e79ba 100644
--- a/test/core/end2end/fixtures/h2_sockpair+trace.c
+++ b/test/core/end2end/fixtures/h2_sockpair+trace.c
@@ -54,8 +54,6 @@
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
-grpc_workqueue *g_workqueue;
-
/* chttp2 transport that is immediately available (used for testing
connected_channel without a client_channel */
@@ -67,7 +65,7 @@ static void server_setup_transport(void *ts, grpc_transport *transport,
grpc_call_list call_list = GRPC_CALL_LIST_INIT;
grpc_server_setup_transport(
f->server, transport, extra_filters, GPR_ARRAY_SIZE(extra_filters), mdctx,
- g_workqueue, grpc_server_get_channel_args(f->server), &call_list);
+ grpc_server_get_channel_args(f->server), &call_list);
grpc_call_list_run(&call_list);
}
@@ -85,9 +83,9 @@ static void client_setup_transport(void *ts, grpc_transport *transport,
&grpc_compress_filter,
&grpc_connected_channel_filter};
size_t nfilters = sizeof(filters) / sizeof(*filters);
- grpc_channel *channel = grpc_channel_create_from_filters(
- "socketpair-target", filters, nfilters, cs->client_args, mdctx,
- g_workqueue, 1, call_list);
+ grpc_channel *channel =
+ grpc_channel_create_from_filters("socketpair-target", filters, nfilters,
+ cs->client_args, mdctx, 1, call_list);
cs->f->client = channel;
@@ -169,7 +167,6 @@ int main(int argc, char **argv) {
grpc_test_init(argc, argv);
grpc_init();
- g_workqueue = grpc_workqueue_create(&call_list);
grpc_call_list_run(&call_list);
GPR_ASSERT(0 == grpc_tracer_set_enabled("also-doesnt-exist", 0));
@@ -180,9 +177,6 @@ int main(int argc, char **argv) {
grpc_end2end_tests(configs[i]);
}
- grpc_workqueue_flush(g_workqueue, &call_list);
- GRPC_WORKQUEUE_UNREF(g_workqueue, "destroy", &call_list);
- grpc_call_list_run(&call_list);
grpc_shutdown();
return 0;
diff --git a/test/core/end2end/fixtures/h2_sockpair.c b/test/core/end2end/fixtures/h2_sockpair.c
index 08f918cbad..57fc986974 100644
--- a/test/core/end2end/fixtures/h2_sockpair.c
+++ b/test/core/end2end/fixtures/h2_sockpair.c
@@ -53,8 +53,6 @@
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
-grpc_workqueue *g_workqueue;
-
/* chttp2 transport that is immediately available (used for testing
connected_channel without a client_channel */
@@ -66,7 +64,7 @@ static void server_setup_transport(void *ts, grpc_transport *transport,
grpc_call_list call_list = GRPC_CALL_LIST_INIT;
grpc_server_setup_transport(
f->server, transport, extra_filters, GPR_ARRAY_SIZE(extra_filters), mdctx,
- g_workqueue, grpc_server_get_channel_args(f->server), &call_list);
+ grpc_server_get_channel_args(f->server), &call_list);
grpc_call_list_run(&call_list);
}
@@ -84,9 +82,9 @@ static void client_setup_transport(void *ts, grpc_transport *transport,
&grpc_compress_filter,
&grpc_connected_channel_filter};
size_t nfilters = sizeof(filters) / sizeof(*filters);
- grpc_channel *channel = grpc_channel_create_from_filters(
- "socketpair-target", filters, nfilters, cs->client_args, mdctx,
- g_workqueue, 1, call_list);
+ grpc_channel *channel =
+ grpc_channel_create_from_filters("socketpair-target", filters, nfilters,
+ cs->client_args, mdctx, 1, call_list);
cs->f->client = channel;
@@ -155,20 +153,14 @@ static grpc_end2end_test_config configs[] = {
int main(int argc, char **argv) {
size_t i;
- grpc_call_list call_list = GRPC_CALL_LIST_INIT;
grpc_test_init(argc, argv);
grpc_init();
- g_workqueue = grpc_workqueue_create(&call_list);
- grpc_call_list_run(&call_list);
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
grpc_end2end_tests(configs[i]);
}
- grpc_workqueue_flush(g_workqueue, &call_list);
- GRPC_WORKQUEUE_UNREF(g_workqueue, "destroy", &call_list);
- grpc_call_list_run(&call_list);
grpc_shutdown();
return 0;
diff --git a/test/core/end2end/fixtures/h2_sockpair_1byte.c b/test/core/end2end/fixtures/h2_sockpair_1byte.c
index 46ffaff745..d0c552a669 100644
--- a/test/core/end2end/fixtures/h2_sockpair_1byte.c
+++ b/test/core/end2end/fixtures/h2_sockpair_1byte.c
@@ -53,8 +53,6 @@
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
-grpc_workqueue *g_workqueue;
-
/* chttp2 transport that is immediately available (used for testing
connected_channel without a client_channel */
@@ -66,7 +64,7 @@ static void server_setup_transport(void *ts, grpc_transport *transport,
grpc_call_list call_list = GRPC_CALL_LIST_INIT;
grpc_server_setup_transport(
f->server, transport, extra_filters, GPR_ARRAY_SIZE(extra_filters), mdctx,
- g_workqueue, grpc_server_get_channel_args(f->server), &call_list);
+ grpc_server_get_channel_args(f->server), &call_list);
grpc_call_list_run(&call_list);
}
@@ -84,9 +82,9 @@ static void client_setup_transport(void *ts, grpc_transport *transport,
&grpc_compress_filter,
&grpc_connected_channel_filter};
size_t nfilters = sizeof(filters) / sizeof(*filters);
- grpc_channel *channel = grpc_channel_create_from_filters(
- "socketpair-target", filters, nfilters, cs->client_args, mdctx,
- g_workqueue, 1, call_list);
+ grpc_channel *channel =
+ grpc_channel_create_from_filters("socketpair-target", filters, nfilters,
+ cs->client_args, mdctx, 1, call_list);
cs->f->client = channel;
@@ -155,20 +153,14 @@ static grpc_end2end_test_config configs[] = {
int main(int argc, char **argv) {
size_t i;
- grpc_call_list call_list = GRPC_CALL_LIST_INIT;
grpc_test_init(argc, argv);
grpc_init();
- g_workqueue = grpc_workqueue_create(&call_list);
- grpc_call_list_run(&call_list);
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
grpc_end2end_tests(configs[i]);
}
- grpc_workqueue_flush(g_workqueue, &call_list);
- GRPC_WORKQUEUE_UNREF(g_workqueue, "destroy", &call_list);
- grpc_call_list_run(&call_list);
grpc_shutdown();
return 0;
diff --git a/test/core/iomgr/alarm_test.c b/test/core/iomgr/alarm_test.c
deleted file mode 100644
index bfced83409..0000000000
--- a/test/core/iomgr/alarm_test.c
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- *
- * Copyright 2015, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/* Test gRPC event manager with a simple TCP upload server and client. */
-#include "src/core/iomgr/alarm.h"
-
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <grpc/grpc.h>
-#include <grpc/support/alloc.h>
-#include <grpc/support/log.h>
-#include <grpc/support/sync.h>
-#include <grpc/support/time.h>
-#include "test/core/util/test_config.h"
-
-#define SUCCESS_NOT_SET (-1)
-
-/* Dummy gRPC callback */
-void no_op_cb(void *arg, int success) {}
-
-typedef struct {
- gpr_cv cv;
- gpr_mu mu;
- int counter;
- int done_success_ctr;
- int done_cancel_ctr;
- int done;
- gpr_event fcb_arg;
- int success;
-} alarm_arg;
-
-/* Called when an alarm expires. */
-static void alarm_cb(void *arg /* alarm_arg */, int success,
- grpc_call_list *call_list) {
- alarm_arg *a = arg;
- gpr_mu_lock(&a->mu);
- if (success) {
- a->counter++;
- a->done_success_ctr++;
- } else {
- a->done_cancel_ctr++;
- }
- a->done = 1;
- a->success = success;
- gpr_cv_signal(&a->cv);
- gpr_mu_unlock(&a->mu);
- gpr_event_set((gpr_event *)arg, arg);
-}
-
-/* Test grpc_alarm add and cancel. */
-static void test_grpc_alarm(void) {
- grpc_alarm alarm;
- grpc_alarm alarm_to_cancel;
- /* Timeout on the alarm cond. var, so make big enough to absorb time
- deviations. Otherwise, operations after wait will not be properly ordered
- */
- gpr_timespec alarm_deadline;
- gpr_timespec followup_deadline;
- grpc_call_list call_list = GRPC_CALL_LIST_INIT;
-
- alarm_arg arg;
- alarm_arg arg2;
- void *fdone;
-
- grpc_init();
-
- arg.counter = 0;
- arg.success = SUCCESS_NOT_SET;
- arg.done_success_ctr = 0;
- arg.done_cancel_ctr = 0;
- arg.done = 0;
- gpr_mu_init(&arg.mu);
- gpr_cv_init(&arg.cv);
- gpr_event_init(&arg.fcb_arg);
-
- grpc_alarm_init(&alarm, GRPC_TIMEOUT_MILLIS_TO_DEADLINE(100), alarm_cb, &arg,
- gpr_now(GPR_CLOCK_MONOTONIC), &call_list);
-
- alarm_deadline = GRPC_TIMEOUT_SECONDS_TO_DEADLINE(1);
- gpr_mu_lock(&arg.mu);
- while (arg.done == 0) {
- if (gpr_cv_wait(&arg.cv, &arg.mu, alarm_deadline)) {
- gpr_log(GPR_ERROR, "alarm deadline exceeded");
- break;
- }
- }
- gpr_mu_unlock(&arg.mu);
-
- followup_deadline = GRPC_TIMEOUT_SECONDS_TO_DEADLINE(5);
- fdone = gpr_event_wait(&arg.fcb_arg, followup_deadline);
-
- if (arg.counter != 1) {
- gpr_log(GPR_ERROR, "Alarm callback not called");
- GPR_ASSERT(0);
- } else if (arg.done_success_ctr != 1) {
- gpr_log(GPR_ERROR, "Alarm done callback not called with success");
- GPR_ASSERT(0);
- } else if (arg.done_cancel_ctr != 0) {
- gpr_log(GPR_ERROR, "Alarm done callback called with cancel");
- GPR_ASSERT(0);
- } else if (arg.success == SUCCESS_NOT_SET) {
- gpr_log(GPR_ERROR, "Alarm callback without status");
- GPR_ASSERT(0);
- } else {
- gpr_log(GPR_INFO, "Alarm callback called successfully");
- }
-
- if (fdone != (void *)&arg.fcb_arg) {
- gpr_log(GPR_ERROR, "Followup callback #1 not invoked properly %p %p", fdone,
- &arg.fcb_arg);
- GPR_ASSERT(0);
- }
- gpr_cv_destroy(&arg.cv);
- gpr_mu_destroy(&arg.mu);
-
- arg2.counter = 0;
- arg2.success = SUCCESS_NOT_SET;
- arg2.done_success_ctr = 0;
- arg2.done_cancel_ctr = 0;
- arg2.done = 0;
- gpr_mu_init(&arg2.mu);
- gpr_cv_init(&arg2.cv);
-
- gpr_event_init(&arg2.fcb_arg);
-
- grpc_alarm_init(&alarm_to_cancel, GRPC_TIMEOUT_MILLIS_TO_DEADLINE(100),
- alarm_cb, &arg2, gpr_now(GPR_CLOCK_MONOTONIC), &call_list);
- grpc_alarm_cancel(&alarm_to_cancel, &call_list);
-
- alarm_deadline = GRPC_TIMEOUT_SECONDS_TO_DEADLINE(1);
- gpr_mu_lock(&arg2.mu);
- while (arg2.done == 0) {
- gpr_cv_wait(&arg2.cv, &arg2.mu, alarm_deadline);
- }
- gpr_mu_unlock(&arg2.mu);
-
- gpr_log(GPR_INFO, "alarm done = %d", arg2.done);
-
- followup_deadline = GRPC_TIMEOUT_SECONDS_TO_DEADLINE(5);
- fdone = gpr_event_wait(&arg2.fcb_arg, followup_deadline);
-
- if (arg2.counter != arg2.done_success_ctr) {
- gpr_log(GPR_ERROR, "Alarm callback called but didn't lead to done success");
- GPR_ASSERT(0);
- } else if (arg2.done_success_ctr && arg2.done_cancel_ctr) {
- gpr_log(GPR_ERROR, "Alarm done callback called with success and cancel");
- GPR_ASSERT(0);
- } else if (arg2.done_cancel_ctr + arg2.done_success_ctr != 1) {
- gpr_log(GPR_ERROR, "Alarm done callback called incorrect number of times");
- GPR_ASSERT(0);
- } else if (arg2.success == SUCCESS_NOT_SET) {
- gpr_log(GPR_ERROR, "Alarm callback without status");
- GPR_ASSERT(0);
- } else if (arg2.done_success_ctr) {
- gpr_log(GPR_INFO, "Alarm callback executed before cancel");
- gpr_log(GPR_INFO, "Current value of triggered is %d\n",
- alarm_to_cancel.triggered);
- } else if (arg2.done_cancel_ctr) {
- gpr_log(GPR_INFO, "Alarm callback canceled");
- gpr_log(GPR_INFO, "Current value of triggered is %d\n",
- alarm_to_cancel.triggered);
- } else {
- gpr_log(GPR_ERROR, "Alarm cancel test should not be here");
- GPR_ASSERT(0);
- }
-
- if (fdone != (void *)&arg2.fcb_arg) {
- gpr_log(GPR_ERROR, "Followup callback #2 not invoked properly %p %p", fdone,
- &arg2.fcb_arg);
- GPR_ASSERT(0);
- }
- gpr_cv_destroy(&arg2.cv);
- gpr_mu_destroy(&arg2.mu);
-
- grpc_shutdown();
-}
-
-int main(int argc, char **argv) {
- grpc_test_init(argc, argv);
- test_grpc_alarm();
- return 0;
-}
diff --git a/test/core/security/print_google_default_creds_token.c b/test/core/security/print_google_default_creds_token.c
index 753221cada..5604d869c8 100644
--- a/test/core/security/print_google_default_creds_token.c
+++ b/test/core/security/print_google_default_creds_token.c
@@ -50,8 +50,8 @@ typedef struct {
} synchronizer;
static void on_metadata_response(void *user_data, grpc_credentials_md *md_elems,
- size_t num_md,
- grpc_credentials_status status) {
+ size_t num_md, grpc_credentials_status status,
+ grpc_call_list *call_list) {
synchronizer *sync = user_data;
if (status == GRPC_CREDENTIALS_ERROR) {
fprintf(stderr, "Fetching token failed.\n");
@@ -70,6 +70,7 @@ static void on_metadata_response(void *user_data, grpc_credentials_md *md_elems,
int main(int argc, char **argv) {
int result = 0;
+ grpc_call_list call_list = GRPC_CALL_LIST_INIT;
synchronizer sync;
grpc_credentials *creds = NULL;
char *service_url = "https://test.foo.google.com/Foo";
@@ -91,13 +92,17 @@ int main(int argc, char **argv) {
sync.is_done = 0;
grpc_credentials_get_request_metadata(creds, &sync.pollset, service_url,
- on_metadata_response, &sync);
+ on_metadata_response, &sync,
+ &call_list);
gpr_mu_lock(GRPC_POLLSET_MU(&sync.pollset));
while (!sync.is_done) {
grpc_pollset_worker worker;
grpc_pollset_work(&sync.pollset, &worker, gpr_now(GPR_CLOCK_MONOTONIC),
- gpr_inf_future(GPR_CLOCK_MONOTONIC));
+ gpr_inf_future(GPR_CLOCK_MONOTONIC), &call_list);
+ gpr_mu_unlock(GRPC_POLLSET_MU(&sync.pollset));
+ grpc_call_list_run(&call_list);
+ gpr_mu_lock(GRPC_POLLSET_MU(&sync.pollset));
}
gpr_mu_unlock(GRPC_POLLSET_MU(&sync.pollset));
diff --git a/test/core/security/verify_jwt.c b/test/core/security/verify_jwt.c
index f4432667ee..417152a300 100644
--- a/test/core/security/verify_jwt.c
+++ b/test/core/security/verify_jwt.c
@@ -89,6 +89,7 @@ int main(int argc, char **argv) {
gpr_cmdline *cl;
char *jwt = NULL;
char *aud = NULL;
+ grpc_call_list call_list = GRPC_CALL_LIST_INIT;
cl = gpr_cmdline_create("JWT verifier tool");
gpr_cmdline_add_string(cl, "jwt", "JSON web token to verify", &jwt);
@@ -106,13 +107,16 @@ int main(int argc, char **argv) {
sync.is_done = 0;
grpc_jwt_verifier_verify(verifier, &sync.pollset, jwt, aud,
- on_jwt_verification_done, &sync);
+ on_jwt_verification_done, &sync, &call_list);
gpr_mu_lock(GRPC_POLLSET_MU(&sync.pollset));
while (!sync.is_done) {
grpc_pollset_worker worker;
grpc_pollset_work(&sync.pollset, &worker, gpr_now(GPR_CLOCK_MONOTONIC),
- gpr_inf_future(GPR_CLOCK_MONOTONIC));
+ gpr_inf_future(GPR_CLOCK_MONOTONIC), &call_list);
+ gpr_mu_unlock(GRPC_POLLSET_MU(&sync.pollset));
+ grpc_call_list_run(&call_list);
+ gpr_mu_lock(GRPC_POLLSET_MU(&sync.pollset));
}
gpr_mu_unlock(GRPC_POLLSET_MU(&sync.pollset));
diff --git a/test/core/surface/completion_queue_test.c b/test/core/surface/completion_queue_test.c
index 06bab3279e..85a021da89 100644
--- a/test/core/surface/completion_queue_test.c
+++ b/test/core/surface/completion_queue_test.c
@@ -220,6 +220,7 @@ static void producer_thread(void *arg) {
grpc_cq_end_op(opt->cc, (void *)(gpr_intptr)1, 1, free_completion, NULL,
gpr_malloc(sizeof(grpc_cq_completion)), &call_list);
opt->events_triggered++;
+ grpc_call_list_run(&call_list);
}
gpr_log(GPR_INFO, "producer %d phase 2 done", opt->id);