aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
diff options
context:
space:
mode:
authorGravatar Yash Tibrewal <yashkt@google.com>2017-12-06 09:47:49 -0800
committerGravatar GitHub <noreply@github.com>2017-12-06 09:47:49 -0800
commit1d4e99508409be052bd129ba507bae1fbe7eb7fa (patch)
tree6a657f8c6179d873b34505cdc24bce9462ca68eb /test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
parenta3df36cc2505a89c2f481eea4a66a87b3002844a (diff)
parentad4d2dde0052efbbf49d64b0843c45f0381cfeb3 (diff)
Merge pull request #13658 from grpc/revert-13058-execctx
Revert "All instances of exec_ctx being passed around in src/core removed"
Diffstat (limited to 'test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc')
-rw-r--r--test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc85
1 files changed, 45 insertions, 40 deletions
diff --git a/test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc b/test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
index 18a795fbcb..dcf315eba5 100644
--- a/test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
+++ b/test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
@@ -35,7 +35,8 @@ static gpr_mu g_mu;
static bool g_fail_resolution = true;
static grpc_combiner* g_combiner;
-static void my_resolve_address(const char* addr, const char* default_port,
+static void my_resolve_address(grpc_exec_ctx* exec_ctx, const char* addr,
+ const char* default_port,
grpc_pollset_set* interested_parties,
grpc_closure* on_done,
grpc_resolved_addresses** addrs) {
@@ -54,13 +55,13 @@ static void my_resolve_address(const char* addr, const char* default_port,
gpr_malloc(sizeof(*(*addrs)->addrs)));
(*addrs)->addrs[0].len = 123;
}
- GRPC_CLOSURE_SCHED(on_done, error);
+ GRPC_CLOSURE_SCHED(exec_ctx, on_done, error);
}
static grpc_ares_request* my_dns_lookup_ares(
- const char* dns_server, const char* addr, const char* default_port,
- grpc_pollset_set* interested_parties, grpc_closure* on_done,
- grpc_lb_addresses** lb_addrs, bool check_grpclb,
+ grpc_exec_ctx* exec_ctx, const char* dns_server, const char* addr,
+ const char* default_port, grpc_pollset_set* interested_parties,
+ grpc_closure* on_done, grpc_lb_addresses** lb_addrs, bool check_grpclb,
char** service_config_json) {
gpr_mu_lock(&g_mu);
GPR_ASSERT(0 == strcmp("test", addr));
@@ -75,26 +76,27 @@ static grpc_ares_request* my_dns_lookup_ares(
grpc_lb_addresses_set_address(*lb_addrs, 0, nullptr, 0, false, nullptr,
nullptr);
}
- GRPC_CLOSURE_SCHED(on_done, error);
+ GRPC_CLOSURE_SCHED(exec_ctx, on_done, error);
return nullptr;
}
-static grpc_resolver* create_resolver(const char* name) {
+static grpc_resolver* create_resolver(grpc_exec_ctx* exec_ctx,
+ const char* name) {
grpc_resolver_factory* factory = grpc_resolver_factory_lookup("dns");
- grpc_uri* uri = grpc_uri_parse(name, 0);
+ grpc_uri* uri = grpc_uri_parse(exec_ctx, name, 0);
GPR_ASSERT(uri);
grpc_resolver_args args;
memset(&args, 0, sizeof(args));
args.uri = uri;
args.combiner = g_combiner;
grpc_resolver* resolver =
- grpc_resolver_factory_create_resolver(factory, &args);
+ grpc_resolver_factory_create_resolver(exec_ctx, factory, &args);
grpc_resolver_factory_unref(factory);
grpc_uri_destroy(uri);
return resolver;
}
-static void on_done(void* ev, grpc_error* error) {
+static void on_done(grpc_exec_ctx* exec_ctx, void* ev, grpc_error* error) {
gpr_event_set((gpr_event*)ev, (void*)1);
}
@@ -105,8 +107,9 @@ static bool wait_loop(int deadline_seconds, gpr_event* ev) {
if (gpr_event_wait(ev, grpc_timeout_seconds_to_deadline(1))) return true;
deadline_seconds--;
- grpc_core::ExecCtx exec_ctx;
- grpc_timer_check(nullptr);
+ grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
+ grpc_timer_check(&exec_ctx, nullptr);
+ grpc_exec_ctx_finish(&exec_ctx);
}
return false;
}
@@ -117,14 +120,16 @@ typedef struct next_args {
grpc_closure* on_complete;
} next_args;
-static void call_resolver_next_now_lock_taken(void* arg,
+static void call_resolver_next_now_lock_taken(grpc_exec_ctx* exec_ctx,
+ void* arg,
grpc_error* error_unused) {
next_args* a = static_cast<next_args*>(arg);
- grpc_resolver_next_locked(a->resolver, a->result, a->on_complete);
+ grpc_resolver_next_locked(exec_ctx, a->resolver, a->result, a->on_complete);
gpr_free(a);
}
-static void call_resolver_next_after_locking(grpc_resolver* resolver,
+static void call_resolver_next_after_locking(grpc_exec_ctx* exec_ctx,
+ grpc_resolver* resolver,
grpc_channel_args** result,
grpc_closure* on_complete) {
next_args* a = static_cast<next_args*>(gpr_malloc(sizeof(*a)));
@@ -132,6 +137,7 @@ static void call_resolver_next_after_locking(grpc_resolver* resolver,
a->result = result;
a->on_complete = on_complete;
GRPC_CLOSURE_SCHED(
+ exec_ctx,
GRPC_CLOSURE_CREATE(call_resolver_next_now_lock_taken, a,
grpc_combiner_scheduler(resolver->combiner)),
GRPC_ERROR_NONE);
@@ -147,31 +153,30 @@ int main(int argc, char** argv) {
grpc_dns_lookup_ares = my_dns_lookup_ares;
grpc_channel_args* result = (grpc_channel_args*)1;
- {
- grpc_core::ExecCtx exec_ctx;
- grpc_resolver* resolver = create_resolver("dns:test");
- gpr_event ev1;
- gpr_event_init(&ev1);
- call_resolver_next_after_locking(
- resolver, &result,
- GRPC_CLOSURE_CREATE(on_done, &ev1, grpc_schedule_on_exec_ctx));
- grpc_core::ExecCtx::Get()->Flush();
- GPR_ASSERT(wait_loop(5, &ev1));
- GPR_ASSERT(result == nullptr);
-
- gpr_event ev2;
- gpr_event_init(&ev2);
- call_resolver_next_after_locking(
- resolver, &result,
- GRPC_CLOSURE_CREATE(on_done, &ev2, grpc_schedule_on_exec_ctx));
- grpc_core::ExecCtx::Get()->Flush();
- GPR_ASSERT(wait_loop(30, &ev2));
- GPR_ASSERT(result != nullptr);
-
- grpc_channel_args_destroy(result);
- GRPC_RESOLVER_UNREF(resolver, "test");
- GRPC_COMBINER_UNREF(g_combiner, "test");
- }
+ grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
+ grpc_resolver* resolver = create_resolver(&exec_ctx, "dns:test");
+ gpr_event ev1;
+ gpr_event_init(&ev1);
+ call_resolver_next_after_locking(
+ &exec_ctx, resolver, &result,
+ GRPC_CLOSURE_CREATE(on_done, &ev1, grpc_schedule_on_exec_ctx));
+ grpc_exec_ctx_flush(&exec_ctx);
+ GPR_ASSERT(wait_loop(5, &ev1));
+ GPR_ASSERT(result == nullptr);
+
+ gpr_event ev2;
+ gpr_event_init(&ev2);
+ call_resolver_next_after_locking(
+ &exec_ctx, resolver, &result,
+ GRPC_CLOSURE_CREATE(on_done, &ev2, grpc_schedule_on_exec_ctx));
+ grpc_exec_ctx_flush(&exec_ctx);
+ GPR_ASSERT(wait_loop(30, &ev2));
+ GPR_ASSERT(result != nullptr);
+
+ grpc_channel_args_destroy(&exec_ctx, result);
+ GRPC_RESOLVER_UNREF(&exec_ctx, resolver, "test");
+ GRPC_COMBINER_UNREF(&exec_ctx, g_combiner, "test");
+ grpc_exec_ctx_finish(&exec_ctx);
grpc_shutdown();
gpr_mu_destroy(&g_mu);