aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/naming/resolver_component_test.cc
diff options
context:
space:
mode:
authorGravatar Yash Tibrewal <yashkt@google.com>2017-10-13 16:07:13 -0700
committerGravatar Yash Tibrewal <yashkt@google.com>2017-10-18 17:12:19 -0700
commit0ee7574732a06e8cace4e099a678f4bd5dbff679 (patch)
treee43d5de442fdcc3d39cd5af687f319fa39612d3f /test/cpp/naming/resolver_component_test.cc
parent6bf5f833efe2cb9e2ecc14358dd9699cd5d05263 (diff)
Removing instances of exec_ctx being passed around in functions in
src/core. exec_ctx is now a thread_local pointer of type ExecCtx instead of grpc_exec_ctx which is initialized whenever ExecCtx is instantiated. ExecCtx also keeps track of the previous exec_ctx so that nesting of exec_ctx is allowed. This means that there is only one exec_ctx being used at any time. Also, grpc_exec_ctx_finish is called in the destructor of the object, and the previous exec_ctx is restored to avoid breaking current functionality. The code still explicitly calls grpc_exec_ctx_finish because removing all such instances causes the code to break.
Diffstat (limited to 'test/cpp/naming/resolver_component_test.cc')
-rw-r--r--test/cpp/naming/resolver_component_test.cc52
1 files changed, 25 insertions, 27 deletions
diff --git a/test/cpp/naming/resolver_component_test.cc b/test/cpp/naming/resolver_component_test.cc
index 7d0371bea4..742fb8d966 100644
--- a/test/cpp/naming/resolver_component_test.cc
+++ b/test/cpp/naming/resolver_component_test.cc
@@ -151,32 +151,32 @@ struct ArgsStruct {
std::string expected_lb_policy;
};
-void ArgsInit(grpc_exec_ctx *exec_ctx, ArgsStruct *args) {
+void ArgsInit(ArgsStruct *args) {
gpr_event_init(&args->ev);
args->pollset = (grpc_pollset *)gpr_zalloc(grpc_pollset_size());
grpc_pollset_init(args->pollset, &args->mu);
args->pollset_set = grpc_pollset_set_create();
- grpc_pollset_set_add_pollset(exec_ctx, args->pollset_set, args->pollset);
+ grpc_pollset_set_add_pollset(args->pollset_set, args->pollset);
args->lock = grpc_combiner_create();
gpr_atm_rel_store(&args->done_atm, 0);
args->channel_args = NULL;
}
-void DoNothing(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) {}
+void DoNothing(void *arg, grpc_error *error) {}
-void ArgsFinish(grpc_exec_ctx *exec_ctx, ArgsStruct *args) {
+void ArgsFinish(ArgsStruct *args) {
GPR_ASSERT(gpr_event_wait(&args->ev, TestDeadline()));
- grpc_pollset_set_del_pollset(exec_ctx, args->pollset_set, args->pollset);
- grpc_pollset_set_destroy(exec_ctx, args->pollset_set);
+ grpc_pollset_set_del_pollset(args->pollset_set, args->pollset);
+ grpc_pollset_set_destroy(args->pollset_set);
grpc_closure DoNothing_cb;
GRPC_CLOSURE_INIT(&DoNothing_cb, DoNothing, NULL, grpc_schedule_on_exec_ctx);
- grpc_pollset_shutdown(exec_ctx, args->pollset, &DoNothing_cb);
+ grpc_pollset_shutdown(args->pollset, &DoNothing_cb);
// exec_ctx needs to be flushed before calling grpc_pollset_destroy()
- grpc_channel_args_destroy(exec_ctx, args->channel_args);
- grpc_exec_ctx_flush(exec_ctx);
- grpc_pollset_destroy(exec_ctx, args->pollset);
+ grpc_channel_args_destroy(args->channel_args);
+ grpc_exec_ctx_flush();
+ grpc_pollset_destroy(args->pollset);
gpr_free(args->pollset);
- GRPC_COMBINER_UNREF(exec_ctx, args->lock, NULL);
+ GRPC_COMBINER_UNREF(args->lock, NULL);
}
gpr_timespec NSecondDeadline(int seconds) {
@@ -197,14 +197,14 @@ void PollPollsetUntilRequestDone(ArgsStruct *args) {
time_left.tv_sec, time_left.tv_nsec);
GPR_ASSERT(gpr_time_cmp(time_left, gpr_time_0(GPR_TIMESPAN)) >= 0);
grpc_pollset_worker *worker = NULL;
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
+ ExecCtx _local_exec_ctx;
gpr_mu_lock(args->mu);
GRPC_LOG_IF_ERROR("pollset_work",
- grpc_pollset_work(&exec_ctx, args->pollset, &worker,
+ grpc_pollset_work(args->pollset, &worker,
grpc_timespec_to_millis_round_up(
NSecondDeadline(1))));
gpr_mu_unlock(args->mu);
- grpc_exec_ctx_finish(&exec_ctx);
+ grpc_exec_ctx_finish();
}
gpr_event_set(&args->ev, (void *)1);
}
@@ -236,8 +236,7 @@ void CheckLBPolicyResultLocked(grpc_channel_args *channel_args,
}
}
-void CheckResolverResultLocked(grpc_exec_ctx *exec_ctx, void *argsp,
- grpc_error *err) {
+void CheckResolverResultLocked(void *argsp, grpc_error *err) {
ArgsStruct *args = (ArgsStruct *)argsp;
grpc_channel_args *channel_args = args->channel_args;
const grpc_arg *channel_arg =
@@ -272,15 +271,14 @@ void CheckResolverResultLocked(grpc_exec_ctx *exec_ctx, void *argsp,
}
gpr_atm_rel_store(&args->done_atm, 1);
gpr_mu_lock(args->mu);
- GRPC_LOG_IF_ERROR("pollset_kick",
- grpc_pollset_kick(exec_ctx, args->pollset, NULL));
+ GRPC_LOG_IF_ERROR("pollset_kick", grpc_pollset_kick(args->pollset, NULL));
gpr_mu_unlock(args->mu);
}
TEST(ResolverComponentTest, TestResolvesRelevantRecords) {
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
+ ExecCtx _local_exec_ctx;
ArgsStruct args;
- ArgsInit(&exec_ctx, &args);
+ ArgsInit(&args);
args.expected_addrs = ParseExpectedAddrs(FLAGS_expected_addrs);
args.expected_service_config_string = FLAGS_expected_chosen_service_config;
args.expected_lb_policy = FLAGS_expected_lb_policy;
@@ -290,19 +288,19 @@ TEST(ResolverComponentTest, TestResolvesRelevantRecords) {
FLAGS_local_dns_server_address.c_str(),
FLAGS_target_name.c_str()));
// create resolver and resolve
- grpc_resolver *resolver = grpc_resolver_create(&exec_ctx, whole_uri, NULL,
- args.pollset_set, args.lock);
+ grpc_resolver *resolver =
+ grpc_resolver_create(whole_uri, NULL, args.pollset_set, args.lock);
gpr_free(whole_uri);
grpc_closure on_resolver_result_changed;
GRPC_CLOSURE_INIT(&on_resolver_result_changed, CheckResolverResultLocked,
(void *)&args, grpc_combiner_scheduler(args.lock));
- grpc_resolver_next_locked(&exec_ctx, resolver, &args.channel_args,
+ grpc_resolver_next_locked(resolver, &args.channel_args,
&on_resolver_result_changed);
- grpc_exec_ctx_flush(&exec_ctx);
+ grpc_exec_ctx_flush();
PollPollsetUntilRequestDone(&args);
- GRPC_RESOLVER_UNREF(&exec_ctx, resolver, NULL);
- ArgsFinish(&exec_ctx, &args);
- grpc_exec_ctx_finish(&exec_ctx);
+ GRPC_RESOLVER_UNREF(resolver, NULL);
+ ArgsFinish(&args);
+ grpc_exec_ctx_finish();
}
} // namespace