aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/util
diff options
context:
space:
mode:
Diffstat (limited to 'test/core/util')
-rw-r--r--test/core/util/mock_endpoint.c9
-rw-r--r--test/core/util/one_corpus_entry_fuzzer.c8
-rw-r--r--test/core/util/passthru_endpoint.c19
-rw-r--r--test/core/util/port_server_client.c59
-rw-r--r--test/core/util/reconnect_server.c3
-rw-r--r--test/core/util/test_tcp_server.c18
6 files changed, 72 insertions, 44 deletions
diff --git a/test/core/util/mock_endpoint.c b/test/core/util/mock_endpoint.c
index 7768413095..deef68ef59 100644
--- a/test/core/util/mock_endpoint.c
+++ b/test/core/util/mock_endpoint.c
@@ -51,7 +51,7 @@ static void me_read(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
gpr_mu_lock(&m->mu);
if (m->read_buffer.count > 0) {
gpr_slice_buffer_swap(&m->read_buffer, slices);
- grpc_exec_ctx_enqueue(exec_ctx, cb, true, NULL);
+ grpc_exec_ctx_push(exec_ctx, cb, GRPC_ERROR_NONE, NULL);
} else {
m->on_read = cb;
m->on_read_out = slices;
@@ -65,7 +65,7 @@ static void me_write(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
for (size_t i = 0; i < slices->count; i++) {
m->on_write(slices->slices[i]);
}
- grpc_exec_ctx_enqueue(exec_ctx, cb, true, NULL);
+ grpc_exec_ctx_push(exec_ctx, cb, GRPC_ERROR_NONE, NULL);
}
static void me_add_to_pollset(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
@@ -78,7 +78,8 @@ static void me_shutdown(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep) {
grpc_mock_endpoint *m = (grpc_mock_endpoint *)ep;
gpr_mu_lock(&m->mu);
if (m->on_read) {
- grpc_exec_ctx_enqueue(exec_ctx, m->on_read, false, NULL);
+ grpc_exec_ctx_push(exec_ctx, m->on_read,
+ GRPC_ERROR_CREATE("Endpoint Shutdown"), NULL);
m->on_read = NULL;
}
gpr_mu_unlock(&m->mu);
@@ -115,7 +116,7 @@ void grpc_mock_endpoint_put_read(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
gpr_mu_lock(&m->mu);
if (m->on_read != NULL) {
gpr_slice_buffer_add(m->on_read_out, slice);
- grpc_exec_ctx_enqueue(exec_ctx, m->on_read, true, NULL);
+ grpc_exec_ctx_push(exec_ctx, m->on_read, GRPC_ERROR_NONE, NULL);
m->on_read = NULL;
} else {
gpr_slice_buffer_add(&m->read_buffer, slice);
diff --git a/test/core/util/one_corpus_entry_fuzzer.c b/test/core/util/one_corpus_entry_fuzzer.c
index 41f9558211..2a23d006f1 100644
--- a/test/core/util/one_corpus_entry_fuzzer.c
+++ b/test/core/util/one_corpus_entry_fuzzer.c
@@ -32,14 +32,14 @@
*/
#include <grpc/support/log.h>
-#include "src/core/lib/support/load_file.h"
+#include "src/core/lib/iomgr/load_file.h"
extern int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
int main(int argc, char **argv) {
- int ok = 0;
- gpr_slice buffer = gpr_load_file(argv[1], 0, &ok);
- GPR_ASSERT(ok);
+ gpr_slice buffer;
+ GPR_ASSERT(
+ GRPC_LOG_IF_ERROR("load_file", grpc_load_file(argv[1], 0, &buffer)));
LLVMFuzzerTestOneInput(GPR_SLICE_START_PTR(buffer), GPR_SLICE_LENGTH(buffer));
gpr_slice_unref(buffer);
return 0;
diff --git a/test/core/util/passthru_endpoint.c b/test/core/util/passthru_endpoint.c
index ae955b1f68..93753be251 100644
--- a/test/core/util/passthru_endpoint.c
+++ b/test/core/util/passthru_endpoint.c
@@ -59,10 +59,11 @@ static void me_read(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
half *m = (half *)ep;
gpr_mu_lock(&m->parent->mu);
if (m->parent->shutdown) {
- grpc_exec_ctx_enqueue(exec_ctx, cb, false, NULL);
+ grpc_exec_ctx_push(exec_ctx, cb, GRPC_ERROR_CREATE("Already shutdown"),
+ NULL);
} else if (m->read_buffer.count > 0) {
gpr_slice_buffer_swap(&m->read_buffer, slices);
- grpc_exec_ctx_enqueue(exec_ctx, cb, true, NULL);
+ grpc_exec_ctx_push(exec_ctx, cb, GRPC_ERROR_NONE, NULL);
} else {
m->on_read = cb;
m->on_read_out = slices;
@@ -79,14 +80,14 @@ static void me_write(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
gpr_slice_buffer *slices, grpc_closure *cb) {
half *m = other_half((half *)ep);
gpr_mu_lock(&m->parent->mu);
- bool ok = true;
+ grpc_error *error = GRPC_ERROR_NONE;
if (m->parent->shutdown) {
- ok = false;
+ error = GRPC_ERROR_CREATE("Endpoint already shutdown");
} else if (m->on_read != NULL) {
for (size_t i = 0; i < slices->count; i++) {
gpr_slice_buffer_add(m->on_read_out, gpr_slice_ref(slices->slices[i]));
}
- grpc_exec_ctx_enqueue(exec_ctx, m->on_read, true, NULL);
+ grpc_exec_ctx_push(exec_ctx, m->on_read, GRPC_ERROR_NONE, NULL);
m->on_read = NULL;
} else {
for (size_t i = 0; i < slices->count; i++) {
@@ -94,7 +95,7 @@ static void me_write(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
}
}
gpr_mu_unlock(&m->parent->mu);
- grpc_exec_ctx_enqueue(exec_ctx, cb, ok, NULL);
+ grpc_exec_ctx_push(exec_ctx, cb, error, NULL);
}
static void me_add_to_pollset(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
@@ -108,12 +109,14 @@ static void me_shutdown(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep) {
gpr_mu_lock(&m->parent->mu);
m->parent->shutdown = true;
if (m->on_read) {
- grpc_exec_ctx_enqueue(exec_ctx, m->on_read, false, NULL);
+ grpc_exec_ctx_push(exec_ctx, m->on_read, GRPC_ERROR_CREATE("Shutdown"),
+ NULL);
m->on_read = NULL;
}
m = other_half(m);
if (m->on_read) {
- grpc_exec_ctx_enqueue(exec_ctx, m->on_read, false, NULL);
+ grpc_exec_ctx_push(exec_ctx, m->on_read, GRPC_ERROR_CREATE("Shutdown"),
+ NULL);
m->on_read = NULL;
}
gpr_mu_unlock(&m->parent->mu);
diff --git a/test/core/util/port_server_client.c b/test/core/util/port_server_client.c
index 84e90547aa..167efb5369 100644
--- a/test/core/util/port_server_client.c
+++ b/test/core/util/port_server_client.c
@@ -56,24 +56,25 @@ typedef struct freereq {
} freereq;
static void destroy_pollset_and_shutdown(grpc_exec_ctx *exec_ctx, void *p,
- bool success) {
+ grpc_error *error) {
grpc_pollset_destroy(p);
gpr_free(p);
grpc_shutdown();
}
static void freed_port_from_server(grpc_exec_ctx *exec_ctx, void *arg,
- const grpc_httpcli_response *response) {
+ grpc_error *error) {
freereq *pr = arg;
gpr_mu_lock(pr->mu);
pr->done = 1;
- grpc_pollset_kick(pr->pollset, NULL);
+ GRPC_LOG_IF_ERROR("pollset_kick", grpc_pollset_kick(pr->pollset, NULL));
gpr_mu_unlock(pr->mu);
}
void grpc_free_port_using_server(char *server, int port) {
grpc_httpcli_context context;
grpc_httpcli_request req;
+ grpc_httpcli_response rsp;
freereq pr;
char *path;
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
@@ -83,6 +84,7 @@ void grpc_free_port_using_server(char *server, int port) {
memset(&pr, 0, sizeof(pr));
memset(&req, 0, sizeof(req));
+ memset(&rsp, 0, sizeof(rsp));
pr.pollset = gpr_malloc(grpc_pollset_size());
grpc_pollset_init(pr.pollset, &pr.mu);
@@ -95,14 +97,18 @@ void grpc_free_port_using_server(char *server, int port) {
grpc_httpcli_context_init(&context);
grpc_httpcli_get(&exec_ctx, &context, pr.pollset, &req,
- GRPC_TIMEOUT_SECONDS_TO_DEADLINE(10), freed_port_from_server,
- &pr);
+ GRPC_TIMEOUT_SECONDS_TO_DEADLINE(10),
+ grpc_closure_create(freed_port_from_server, &pr), &rsp);
gpr_mu_lock(pr.mu);
while (!pr.done) {
grpc_pollset_worker *worker = NULL;
- grpc_pollset_work(&exec_ctx, pr.pollset, &worker,
- gpr_now(GPR_CLOCK_MONOTONIC),
- GRPC_TIMEOUT_SECONDS_TO_DEADLINE(1));
+ if (!GRPC_LOG_IF_ERROR(
+ "pollset_work",
+ grpc_pollset_work(&exec_ctx, pr.pollset, &worker,
+ gpr_now(GPR_CLOCK_MONOTONIC),
+ GRPC_TIMEOUT_SECONDS_TO_DEADLINE(1)))) {
+ pr.done = 1;
+ }
}
gpr_mu_unlock(pr.mu);
@@ -111,6 +117,7 @@ void grpc_free_port_using_server(char *server, int port) {
grpc_pollset_shutdown(&exec_ctx, pr.pollset, shutdown_closure);
grpc_exec_ctx_finish(&exec_ctx);
gpr_free(path);
+ grpc_http_response_destroy(&rsp);
}
typedef struct portreq {
@@ -120,19 +127,22 @@ typedef struct portreq {
int retries;
char *server;
grpc_httpcli_context *ctx;
+ grpc_httpcli_response response;
} portreq;
static void got_port_from_server(grpc_exec_ctx *exec_ctx, void *arg,
- const grpc_httpcli_response *response) {
+ grpc_error *error) {
size_t i;
int port = 0;
portreq *pr = arg;
int failed = 0;
+ grpc_httpcli_response *response = &pr->response;
- if (!response) {
+ if (error != GRPC_ERROR_NONE) {
failed = 1;
- gpr_log(GPR_DEBUG,
- "failed port pick from server: retrying [response=NULL]");
+ const char *msg = grpc_error_string(error);
+ gpr_log(GPR_DEBUG, "failed port pick from server: retrying [%s]", msg);
+ grpc_error_free_string(msg);
} else if (response->status != 200) {
failed = 1;
gpr_log(GPR_DEBUG, "failed port pick from server: status=%d",
@@ -151,9 +161,12 @@ static void got_port_from_server(grpc_exec_ctx *exec_ctx, void *arg,
pr->retries++;
req.host = pr->server;
req.http.path = "/get";
+ grpc_http_response_destroy(&pr->response);
+ memset(&pr->response, 0, sizeof(pr->response));
grpc_httpcli_get(exec_ctx, pr->ctx, pr->pollset, &req,
- GRPC_TIMEOUT_SECONDS_TO_DEADLINE(10), got_port_from_server,
- pr);
+ GRPC_TIMEOUT_SECONDS_TO_DEADLINE(10),
+ grpc_closure_create(got_port_from_server, pr),
+ &pr->response);
return;
}
GPR_ASSERT(response);
@@ -165,7 +178,7 @@ static void got_port_from_server(grpc_exec_ctx *exec_ctx, void *arg,
GPR_ASSERT(port > 1024);
gpr_mu_lock(pr->mu);
pr->port = port;
- grpc_pollset_kick(pr->pollset, NULL);
+ GRPC_LOG_IF_ERROR("pollset_kick", grpc_pollset_kick(pr->pollset, NULL));
gpr_mu_unlock(pr->mu);
}
@@ -193,18 +206,24 @@ int grpc_pick_port_using_server(char *server) {
grpc_httpcli_context_init(&context);
grpc_httpcli_get(&exec_ctx, &context, pr.pollset, &req,
- GRPC_TIMEOUT_SECONDS_TO_DEADLINE(10), got_port_from_server,
- &pr);
+ GRPC_TIMEOUT_SECONDS_TO_DEADLINE(10),
+ grpc_closure_create(got_port_from_server, &pr),
+ &pr.response);
grpc_exec_ctx_finish(&exec_ctx);
gpr_mu_lock(pr.mu);
while (pr.port == -1) {
grpc_pollset_worker *worker = NULL;
- grpc_pollset_work(&exec_ctx, pr.pollset, &worker,
- gpr_now(GPR_CLOCK_MONOTONIC),
- GRPC_TIMEOUT_SECONDS_TO_DEADLINE(1));
+ if (!GRPC_LOG_IF_ERROR(
+ "pollset_work",
+ grpc_pollset_work(&exec_ctx, pr.pollset, &worker,
+ gpr_now(GPR_CLOCK_MONOTONIC),
+ GRPC_TIMEOUT_SECONDS_TO_DEADLINE(1)))) {
+ pr.port = 0;
+ }
}
gpr_mu_unlock(pr.mu);
+ grpc_http_response_destroy(&pr.response);
grpc_httpcli_context_destroy(&context);
grpc_pollset_shutdown(&exec_ctx, pr.pollset, shutdown_closure);
grpc_exec_ctx_finish(&exec_ctx);
diff --git a/test/core/util/reconnect_server.c b/test/core/util/reconnect_server.c
index d3d8f5a23b..6509cc5b68 100644
--- a/test/core/util/reconnect_server.c
+++ b/test/core/util/reconnect_server.c
@@ -70,7 +70,8 @@ static void pretty_print_backoffs(reconnect_server *server) {
}
}
-static void on_connect(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *tcp, grpc_pollset *accepting_pollset,
+static void on_connect(grpc_exec_ctx *exec_ctx, void *arg, grpc_endpoint *tcp,
+ grpc_pollset *accepting_pollset,
grpc_tcp_server_acceptor *acceptor) {
char *peer;
char *last_colon;
diff --git a/test/core/util/test_tcp_server.c b/test/core/util/test_tcp_server.c
index e39a95712c..27c16fc764 100644
--- a/test/core/util/test_tcp_server.c
+++ b/test/core/util/test_tcp_server.c
@@ -46,7 +46,7 @@
#include "test/core/util/port.h"
static void on_server_destroyed(grpc_exec_ctx *exec_ctx, void *data,
- bool success) {
+ grpc_error *error) {
test_tcp_server *server = data;
server->shutdown = 1;
}
@@ -72,9 +72,12 @@ void test_tcp_server_start(test_tcp_server *server, int port) {
addr.sin_port = htons((uint16_t)port);
memset(&addr.sin_addr, 0, sizeof(addr.sin_addr));
- server->tcp_server = grpc_tcp_server_create(&server->shutdown_complete);
- port_added =
- grpc_tcp_server_add_port(server->tcp_server, &addr, sizeof(addr));
+ grpc_error *error =
+ grpc_tcp_server_create(&server->shutdown_complete, &server->tcp_server);
+ GPR_ASSERT(error == GRPC_ERROR_NONE);
+ error = grpc_tcp_server_add_port(server->tcp_server, &addr, sizeof(addr),
+ &port_added);
+ GPR_ASSERT(error == GRPC_ERROR_NONE);
GPR_ASSERT(port_added == port);
grpc_tcp_server_start(&exec_ctx, server->tcp_server, &server->pollset, 1,
@@ -91,13 +94,14 @@ void test_tcp_server_poll(test_tcp_server *server, int seconds) {
gpr_time_from_seconds(seconds, GPR_TIMESPAN));
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
gpr_mu_lock(server->mu);
- grpc_pollset_work(&exec_ctx, server->pollset, &worker,
- gpr_now(GPR_CLOCK_MONOTONIC), deadline);
+ GRPC_LOG_IF_ERROR("pollset_work",
+ grpc_pollset_work(&exec_ctx, server->pollset, &worker,
+ gpr_now(GPR_CLOCK_MONOTONIC), deadline));
gpr_mu_unlock(server->mu);
grpc_exec_ctx_finish(&exec_ctx);
}
-static void do_nothing(grpc_exec_ctx *exec_ctx, void *arg, bool success) {}
+static void do_nothing(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) {}
void test_tcp_server_destroy(test_tcp_server *server) {
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;