diff options
author | 2015-12-14 11:25:48 -0800 | |
---|---|---|
committer | 2015-12-14 11:25:48 -0800 | |
commit | 4bf292890c48d408e7dc0acd82e85ddcc9e0dde2 (patch) | |
tree | 8233a732aa3a7f626b88e7187de78dc8532a55eb /test/core | |
parent | da0cf3cdfb0cece38ed3bac26e99146aca6eaab1 (diff) |
Fix proxy end2end tests
Some transport callbacks weren't getting triggered. We now ensure that
this always occurs.
Additionally: left some debug only code around to make this class of bug
easier to diagnose in the future.
Diffstat (limited to 'test/core')
-rw-r--r-- | test/core/surface/completion_queue_test.c | 10 | ||||
-rw-r--r-- | test/core/util/test_config.c | 4 |
2 files changed, 9 insertions, 5 deletions
diff --git a/test/core/surface/completion_queue_test.c b/test/core/surface/completion_queue_test.c index 5cf6bfec29..252fe80621 100644 --- a/test/core/surface/completion_queue_test.c +++ b/test/core/surface/completion_queue_test.c @@ -89,7 +89,7 @@ static void test_cq_end_op(void) { cc = grpc_completion_queue_create(NULL); - grpc_cq_begin_op(cc); + grpc_cq_begin_op(cc, tag); grpc_cq_end_op(&exec_ctx, cc, tag, 1, do_nothing_end_completion, NULL, &completion); @@ -148,7 +148,7 @@ static void test_pluck(void) { cc = grpc_completion_queue_create(NULL); for (i = 0; i < GPR_ARRAY_SIZE(tags); i++) { - grpc_cq_begin_op(cc); + grpc_cq_begin_op(cc, tags[i]); grpc_cq_end_op(&exec_ctx, cc, tags[i], 1, do_nothing_end_completion, NULL, &completions[i]); } @@ -160,7 +160,7 @@ static void test_pluck(void) { } for (i = 0; i < GPR_ARRAY_SIZE(tags); i++) { - grpc_cq_begin_op(cc); + grpc_cq_begin_op(cc, tags[i]); grpc_cq_end_op(&exec_ctx, cc, tags[i], 1, do_nothing_end_completion, NULL, &completions[i]); } @@ -233,7 +233,7 @@ static void test_too_many_plucks(void) { GPR_ASSERT(ev.type == GRPC_QUEUE_TIMEOUT); for (i = 0; i < GPR_ARRAY_SIZE(tags); i++) { - grpc_cq_begin_op(cc); + grpc_cq_begin_op(cc, tags[i]); grpc_cq_end_op(&exec_ctx, cc, tags[i], 1, do_nothing_end_completion, NULL, &completions[i]); } @@ -279,7 +279,7 @@ static void producer_thread(void *arg) { gpr_log(GPR_INFO, "producer %d phase 1", opt->id); for (i = 0; i < TEST_THREAD_EVENTS; i++) { - grpc_cq_begin_op(opt->cc); + grpc_cq_begin_op(opt->cc, (void *)(gpr_intptr)1); } gpr_log(GPR_INFO, "producer %d phase 1 done", opt->id); diff --git a/test/core/util/test_config.c b/test/core/util/test_config.c index 84b376ad3e..14bfc957cb 100644 --- a/test/core/util/test_config.c +++ b/test/core/util/test_config.c @@ -127,6 +127,8 @@ static void crash_handler(int signum, siginfo_t *info, void *data) { backtrace_symbols_fd(addrlist, addrlen, STDERR_FILENO); } + /* try to get a core dump for SIGTERM */ + if (signum == SIGTERM) signum = SIGQUIT; raise(signum); } @@ -145,6 +147,8 @@ static void install_crash_handler() { GPR_ASSERT(sigaction(SIGABRT, &sa, NULL) == 0); GPR_ASSERT(sigaction(SIGBUS, &sa, NULL) == 0); GPR_ASSERT(sigaction(SIGSEGV, &sa, NULL) == 0); + GPR_ASSERT(sigaction(SIGTERM, &sa, NULL) == 0); + GPR_ASSERT(sigaction(SIGQUIT, &sa, NULL) == 0); } #else static void install_crash_handler() {} |