diff options
author | Craig Tiller <craig.tiller@gmail.com> | 2015-06-02 16:55:54 -0700 |
---|---|---|
committer | Craig Tiller <craig.tiller@gmail.com> | 2015-06-02 16:55:54 -0700 |
commit | a4b89fed1c801cdb31a154c7e1c09e5650898e8a (patch) | |
tree | d0a00563db8df1da5d69dee362664a85112f20cb /test | |
parent | aaa03d74ceae4d48e31f4ba0619e359acd21505a (diff) | |
parent | c86b1dd59d1e61b9377f2dca0741061b2e5de1da (diff) |
Merge github.com:grpc/grpc into you-complete-me
Conflicts:
src/core/iomgr/resolve_address_posix.c
src/core/surface/server.c
Diffstat (limited to 'test')
-rw-r--r-- | test/core/bad_client/bad_client.c | 2 | ||||
-rw-r--r-- | test/core/end2end/fixtures/chttp2_socket_pair.c | 2 | ||||
-rw-r--r-- | test/core/end2end/fixtures/chttp2_socket_pair_one_byte_at_a_time.c | 2 | ||||
-rw-r--r-- | test/core/end2end/fixtures/chttp2_socket_pair_with_grpc_trace.c | 2 | ||||
-rw-r--r-- | test/core/iomgr/alarm_test.c | 9 | ||||
-rw-r--r-- | test/core/iomgr/fd_posix_test.c | 8 | ||||
-rw-r--r-- | test/core/iomgr/tcp_posix_test.c | 16 | ||||
-rw-r--r-- | test/core/security/fetch_oauth2.c | 5 | ||||
-rw-r--r-- | test/core/security/print_google_default_creds_token.c | 5 | ||||
-rw-r--r-- | test/core/security/secure_endpoint_test.c | 2 | ||||
-rw-r--r-- | test/core/support/tls_test.c | 1 | ||||
-rw-r--r-- | test/core/surface/completion_queue_test.c | 22 | ||||
-rw-r--r-- | test/core/util/test_config.c | 5 | ||||
-rw-r--r-- | test/cpp/end2end/end2end_test.cc | 1 | ||||
-rw-r--r-- | test/cpp/end2end/thread_stress_test.cc | 1 | ||||
-rw-r--r-- | test/cpp/qps/server_async.cc | 33 |
16 files changed, 79 insertions, 37 deletions
diff --git a/test/core/bad_client/bad_client.c b/test/core/bad_client/bad_client.c index 862bbb7364..e81e0eb850 100644 --- a/test/core/bad_client/bad_client.c +++ b/test/core/bad_client/bad_client.c @@ -88,7 +88,7 @@ void grpc_run_bad_client_test(const char *name, const char *client_payload, grpc_init(); /* Create endpoints */ - sfd = grpc_iomgr_create_endpoint_pair(65536); + sfd = grpc_iomgr_create_endpoint_pair("fixture", 65536); /* Create server, completion events */ a.server = grpc_server_create_from_filters(NULL, 0, NULL); diff --git a/test/core/end2end/fixtures/chttp2_socket_pair.c b/test/core/end2end/fixtures/chttp2_socket_pair.c index e0221d0452..48c121c7c4 100644 --- a/test/core/end2end/fixtures/chttp2_socket_pair.c +++ b/test/core/end2end/fixtures/chttp2_socket_pair.c @@ -98,7 +98,7 @@ static grpc_end2end_test_fixture chttp2_create_fixture_socketpair( f.client_cq = grpc_completion_queue_create(); f.server_cq = grpc_completion_queue_create(); - *sfd = grpc_iomgr_create_endpoint_pair(65536); + *sfd = grpc_iomgr_create_endpoint_pair("fixture", 65536); return f; } diff --git a/test/core/end2end/fixtures/chttp2_socket_pair_one_byte_at_a_time.c b/test/core/end2end/fixtures/chttp2_socket_pair_one_byte_at_a_time.c index 37b5529d7f..1d2e6f51c1 100644 --- a/test/core/end2end/fixtures/chttp2_socket_pair_one_byte_at_a_time.c +++ b/test/core/end2end/fixtures/chttp2_socket_pair_one_byte_at_a_time.c @@ -98,7 +98,7 @@ static grpc_end2end_test_fixture chttp2_create_fixture_socketpair( f.client_cq = grpc_completion_queue_create(); f.server_cq = grpc_completion_queue_create(); - *sfd = grpc_iomgr_create_endpoint_pair(1); + *sfd = grpc_iomgr_create_endpoint_pair("fixture", 1); return f; } diff --git a/test/core/end2end/fixtures/chttp2_socket_pair_with_grpc_trace.c b/test/core/end2end/fixtures/chttp2_socket_pair_with_grpc_trace.c index b15a18f1a7..d32dbec25e 100644 --- a/test/core/end2end/fixtures/chttp2_socket_pair_with_grpc_trace.c +++ b/test/core/end2end/fixtures/chttp2_socket_pair_with_grpc_trace.c @@ -99,7 +99,7 @@ static grpc_end2end_test_fixture chttp2_create_fixture_socketpair( f.client_cq = grpc_completion_queue_create(); f.server_cq = grpc_completion_queue_create(); - *sfd = grpc_iomgr_create_endpoint_pair(65536); + *sfd = grpc_iomgr_create_endpoint_pair("fixture", 65536); return f; } diff --git a/test/core/iomgr/alarm_test.c b/test/core/iomgr/alarm_test.c index e677ba30dd..0ccec435e6 100644 --- a/test/core/iomgr/alarm_test.c +++ b/test/core/iomgr/alarm_test.c @@ -55,6 +55,7 @@ void no_op_cb(void *arg, int success) {} typedef struct { gpr_cv cv; gpr_mu mu; + grpc_iomgr_closure *followup_closure; int counter; int done_success_ctr; int done_cancel_ctr; @@ -81,7 +82,8 @@ static void alarm_cb(void *arg /* alarm_arg */, int success) { a->success = success; gpr_cv_signal(&a->cv); gpr_mu_unlock(&a->mu); - grpc_iomgr_add_callback(followup_cb, &a->fcb_arg); + grpc_iomgr_closure_init(a->followup_closure, followup_cb, &a->fcb_arg); + grpc_iomgr_add_callback(a->followup_closure); } /* Test grpc_alarm add and cancel. */ @@ -107,6 +109,7 @@ static void test_grpc_alarm(void) { arg.done = 0; gpr_mu_init(&arg.mu); gpr_cv_init(&arg.cv); + arg.followup_closure = gpr_malloc(sizeof(grpc_iomgr_closure)); gpr_event_init(&arg.fcb_arg); grpc_alarm_init(&alarm, GRPC_TIMEOUT_MILLIS_TO_DEADLINE(100), alarm_cb, &arg, @@ -148,6 +151,7 @@ static void test_grpc_alarm(void) { } gpr_cv_destroy(&arg.cv); gpr_mu_destroy(&arg.mu); + gpr_free(arg.followup_closure); arg2.counter = 0; arg2.success = SUCCESS_NOT_SET; @@ -156,6 +160,8 @@ static void test_grpc_alarm(void) { arg2.done = 0; gpr_mu_init(&arg2.mu); gpr_cv_init(&arg2.cv); + arg2.followup_closure = gpr_malloc(sizeof(grpc_iomgr_closure)); + gpr_event_init(&arg2.fcb_arg); grpc_alarm_init(&alarm_to_cancel, GRPC_TIMEOUT_MILLIS_TO_DEADLINE(100), @@ -206,6 +212,7 @@ static void test_grpc_alarm(void) { } gpr_cv_destroy(&arg2.cv); gpr_mu_destroy(&arg2.mu); + gpr_free(arg2.followup_closure); grpc_iomgr_shutdown(); } diff --git a/test/core/iomgr/fd_posix_test.c b/test/core/iomgr/fd_posix_test.c index 57e2c6fc17..2c8a89e4cd 100644 --- a/test/core/iomgr/fd_posix_test.c +++ b/test/core/iomgr/fd_posix_test.c @@ -208,7 +208,7 @@ static void listen_cb(void *arg, /*=sv_arg*/ fcntl(fd, F_SETFL, flags | O_NONBLOCK); se = gpr_malloc(sizeof(*se)); se->sv = sv; - se->em_fd = grpc_fd_create(fd); + se->em_fd = grpc_fd_create(fd, "listener"); se->session_read_closure.cb = session_read_cb; se->session_read_closure.cb_arg = se; grpc_fd_notify_on_read(se->em_fd, &se->session_read_closure); @@ -236,7 +236,7 @@ static int server_start(server *sv) { port = ntohs(sin.sin_port); GPR_ASSERT(listen(fd, MAX_NUM_FD) == 0); - sv->em_fd = grpc_fd_create(fd); + sv->em_fd = grpc_fd_create(fd, "server"); /* Register to be interested in reading from listen_fd. */ sv->listen_closure.cb = listen_cb; sv->listen_closure.cb_arg = sv; @@ -351,7 +351,7 @@ static void client_start(client *cl, int port) { } } - cl->em_fd = grpc_fd_create(fd); + cl->em_fd = grpc_fd_create(fd, "client"); client_session_write(cl, 1); } @@ -447,7 +447,7 @@ static void test_grpc_fd_change(void) { flags = fcntl(sv[1], F_GETFL, 0); GPR_ASSERT(fcntl(sv[1], F_SETFL, flags | O_NONBLOCK) == 0); - em_fd = grpc_fd_create(sv[0]); + em_fd = grpc_fd_create(sv[0], "test_grpc_fd_change"); /* Register the first callback, then make its FD readable */ grpc_fd_notify_on_read(em_fd, &first_closure); diff --git a/test/core/iomgr/tcp_posix_test.c b/test/core/iomgr/tcp_posix_test.c index 40abed5f6e..2cfcc8311c 100644 --- a/test/core/iomgr/tcp_posix_test.c +++ b/test/core/iomgr/tcp_posix_test.c @@ -172,7 +172,7 @@ static void read_test(ssize_t num_bytes, ssize_t slice_size) { create_sockets(sv); - ep = grpc_tcp_create(grpc_fd_create(sv[1]), slice_size); + ep = grpc_tcp_create(grpc_fd_create(sv[1], "read_test"), slice_size); written_bytes = fill_socket_partial(sv[0], num_bytes); gpr_log(GPR_INFO, "Wrote %d bytes", written_bytes); @@ -213,7 +213,7 @@ static void large_read_test(ssize_t slice_size) { create_sockets(sv); - ep = grpc_tcp_create(grpc_fd_create(sv[1]), slice_size); + ep = grpc_tcp_create(grpc_fd_create(sv[1], "large_read_test"), slice_size); written_bytes = fill_socket(sv[0]); gpr_log(GPR_INFO, "Wrote %d bytes", written_bytes); @@ -350,7 +350,8 @@ static void write_test(ssize_t num_bytes, ssize_t slice_size) { create_sockets(sv); - ep = grpc_tcp_create(grpc_fd_create(sv[1]), GRPC_TCP_DEFAULT_READ_SLICE_SIZE); + ep = grpc_tcp_create(grpc_fd_create(sv[1], "write_test"), + GRPC_TCP_DEFAULT_READ_SLICE_SIZE); gpr_mu_init(&state.mu); gpr_cv_init(&state.cv); @@ -406,7 +407,8 @@ static void write_error_test(ssize_t num_bytes, ssize_t slice_size) { create_sockets(sv); - ep = grpc_tcp_create(grpc_fd_create(sv[1]), GRPC_TCP_DEFAULT_READ_SLICE_SIZE); + ep = grpc_tcp_create(grpc_fd_create(sv[1], "write_error_test"), + GRPC_TCP_DEFAULT_READ_SLICE_SIZE); close(sv[0]); gpr_mu_init(&state.mu); @@ -473,8 +475,10 @@ static grpc_endpoint_test_fixture create_fixture_tcp_socketpair( grpc_endpoint_test_fixture f; create_sockets(sv); - f.client_ep = grpc_tcp_create(grpc_fd_create(sv[0]), slice_size); - f.server_ep = grpc_tcp_create(grpc_fd_create(sv[1]), slice_size); + f.client_ep = + grpc_tcp_create(grpc_fd_create(sv[0], "fixture:client"), slice_size); + f.server_ep = + grpc_tcp_create(grpc_fd_create(sv[1], "fixture:server"), slice_size); return f; } diff --git a/test/core/security/fetch_oauth2.c b/test/core/security/fetch_oauth2.c index 7a40fe0dbb..3202df3328 100644 --- a/test/core/security/fetch_oauth2.c +++ b/test/core/security/fetch_oauth2.c @@ -51,7 +51,8 @@ typedef struct { int is_done; } synchronizer; -static void on_oauth2_response(void *user_data, grpc_mdelem **md_elems, +static void on_oauth2_response(void *user_data, + grpc_credentials_md *md_elems, size_t num_md, grpc_credentials_status status) { synchronizer *sync = user_data; char *token; @@ -60,7 +61,7 @@ static void on_oauth2_response(void *user_data, grpc_mdelem **md_elems, gpr_log(GPR_ERROR, "Fetching token failed."); } else { GPR_ASSERT(num_md == 1); - token_slice = md_elems[0]->value->slice; + token_slice = md_elems[0].value; token = gpr_malloc(GPR_SLICE_LENGTH(token_slice) + 1); memcpy(token, GPR_SLICE_START_PTR(token_slice), GPR_SLICE_LENGTH(token_slice)); diff --git a/test/core/security/print_google_default_creds_token.c b/test/core/security/print_google_default_creds_token.c index 76e69ef716..051e8607c4 100644 --- a/test/core/security/print_google_default_creds_token.c +++ b/test/core/security/print_google_default_creds_token.c @@ -49,7 +49,8 @@ typedef struct { int is_done; } synchronizer; -static void on_metadata_response(void *user_data, grpc_mdelem **md_elems, +static void on_metadata_response(void *user_data, + grpc_credentials_md *md_elems, size_t num_md, grpc_credentials_status status) { synchronizer *sync = user_data; @@ -58,7 +59,7 @@ static void on_metadata_response(void *user_data, grpc_mdelem **md_elems, } else { GPR_ASSERT(num_md == 1); printf("\nGot token: %s\n\n", - (const char *)GPR_SLICE_START_PTR(md_elems[0]->value->slice)); + (const char *)GPR_SLICE_START_PTR(md_elems[0].value)); } gpr_mu_lock(&sync->mu); sync->is_done = 1; diff --git a/test/core/security/secure_endpoint_test.c b/test/core/security/secure_endpoint_test.c index 6477454e8a..30b23624d8 100644 --- a/test/core/security/secure_endpoint_test.c +++ b/test/core/security/secure_endpoint_test.c @@ -51,7 +51,7 @@ static grpc_endpoint_test_fixture secure_endpoint_create_fixture_tcp_socketpair( grpc_endpoint_test_fixture f; grpc_endpoint_pair tcp; - tcp = grpc_iomgr_create_endpoint_pair(slice_size); + tcp = grpc_iomgr_create_endpoint_pair("fixture", slice_size); if (leftover_nslices == 0) { f.client_ep = diff --git a/test/core/support/tls_test.c b/test/core/support/tls_test.c index 8632fd4490..0a3c28417f 100644 --- a/test/core/support/tls_test.c +++ b/test/core/support/tls_test.c @@ -54,6 +54,7 @@ static void thd_body(void *arg) { gpr_tls_set(&test_var, i); GPR_ASSERT(gpr_tls_get(&test_var) == i); } + gpr_tls_set(&test_var, 0); } /* ------------------------------------------------- */ diff --git a/test/core/surface/completion_queue_test.c b/test/core/surface/completion_queue_test.c index e26f379bfc..9e7b2ea1df 100644 --- a/test/core/surface/completion_queue_test.c +++ b/test/core/surface/completion_queue_test.c @@ -94,6 +94,26 @@ static void test_cq_end_op(void) { shutdown_and_destroy(cc); } +static void test_shutdown_then_next_polling(void) { + grpc_completion_queue *cc; + LOG_TEST("test_shutdown_then_next_polling"); + + cc = grpc_completion_queue_create(); + grpc_completion_queue_shutdown(cc); + GPR_ASSERT(grpc_completion_queue_next(cc, gpr_inf_past).type == GRPC_QUEUE_SHUTDOWN); + grpc_completion_queue_destroy(cc); +} + +static void test_shutdown_then_next_with_timeout(void) { + grpc_completion_queue *cc; + LOG_TEST("test_shutdown_then_next_with_timeout"); + + cc = grpc_completion_queue_create(); + grpc_completion_queue_shutdown(cc); + GPR_ASSERT(grpc_completion_queue_next(cc, gpr_inf_future).type == GRPC_QUEUE_SHUTDOWN); + grpc_completion_queue_destroy(cc); +} + static void test_pluck(void) { grpc_event ev; grpc_completion_queue *cc; @@ -291,6 +311,8 @@ int main(int argc, char **argv) { grpc_iomgr_init(); test_no_op(); test_wait_empty(); + test_shutdown_then_next_polling(); + test_shutdown_then_next_with_timeout(); test_cq_end_op(); test_pluck(); test_threading(1, 1); diff --git a/test/core/util/test_config.c b/test/core/util/test_config.c index be69fcf675..20ab67ec15 100644 --- a/test/core/util/test_config.c +++ b/test/core/util/test_config.c @@ -50,8 +50,9 @@ static int seed(void) { return _getpid(); } void grpc_test_init(int argc, char **argv) { gpr_log(GPR_DEBUG, "test slowdown: machine=%f build=%f total=%f", - GRPC_TEST_SLOWDOWN_MACHINE_FACTOR, GRPC_TEST_SLOWDOWN_BUILD_FACTOR, - GRPC_TEST_SLOWDOWN_FACTOR); + (double)GRPC_TEST_SLOWDOWN_MACHINE_FACTOR, + (double)GRPC_TEST_SLOWDOWN_BUILD_FACTOR, + (double)GRPC_TEST_SLOWDOWN_FACTOR); /* seed rng with pid, so we don't end up with the same random numbers as a concurrently running test binary */ srand(seed()); diff --git a/test/cpp/end2end/end2end_test.cc b/test/cpp/end2end/end2end_test.cc index 7a15591b44..f48cf953a4 100644 --- a/test/cpp/end2end/end2end_test.cc +++ b/test/cpp/end2end/end2end_test.cc @@ -31,6 +31,7 @@ * */ +#include <mutex> #include <thread> #include "src/core/security/credentials.h" diff --git a/test/cpp/end2end/thread_stress_test.cc b/test/cpp/end2end/thread_stress_test.cc index 310227a29c..5ee29e40f4 100644 --- a/test/cpp/end2end/thread_stress_test.cc +++ b/test/cpp/end2end/thread_stress_test.cc @@ -31,6 +31,7 @@ * */ +#include <mutex> #include <thread> #include "test/core/util/port.h" diff --git a/test/cpp/qps/server_async.cc b/test/cpp/qps/server_async.cc index b9998405f6..977dfc2372 100644 --- a/test/cpp/qps/server_async.cc +++ b/test/cpp/qps/server_async.cc @@ -33,6 +33,7 @@ #include <forward_list> #include <functional> +#include <memory> #include <mutex> #include <sys/time.h> #include <sys/resource.h> @@ -158,11 +159,12 @@ class AsyncQpsServerTest : public Server { void *)> request_method, std::function<grpc::Status(const RequestType *, ResponseType *)> invoke_method) - : next_state_(&ServerRpcContextUnaryImpl::invoker), + : srv_ctx_(new ServerContext), + next_state_(&ServerRpcContextUnaryImpl::invoker), request_method_(request_method), invoke_method_(invoke_method), - response_writer_(&srv_ctx_) { - request_method_(&srv_ctx_, &req_, &response_writer_, + response_writer_(srv_ctx_.get()) { + request_method_(srv_ctx_.get(), &req_, &response_writer_, AsyncQpsServerTest::tag(this)); } ~ServerRpcContextUnaryImpl() GRPC_OVERRIDE {} @@ -170,14 +172,14 @@ class AsyncQpsServerTest : public Server { return (this->*next_state_)(ok); } void Reset() GRPC_OVERRIDE { - srv_ctx_ = ServerContext(); + srv_ctx_.reset(new ServerContext); req_ = RequestType(); response_writer_ = - grpc::ServerAsyncResponseWriter<ResponseType>(&srv_ctx_); + grpc::ServerAsyncResponseWriter<ResponseType>(srv_ctx_.get()); // Then request the method next_state_ = &ServerRpcContextUnaryImpl::invoker; - request_method_(&srv_ctx_, &req_, &response_writer_, + request_method_(srv_ctx_.get(), &req_, &response_writer_, AsyncQpsServerTest::tag(this)); } @@ -198,7 +200,7 @@ class AsyncQpsServerTest : public Server { response_writer_.Finish(response, status, AsyncQpsServerTest::tag(this)); return true; } - ServerContext srv_ctx_; + std::unique_ptr<ServerContext> srv_ctx_; RequestType req_; bool (ServerRpcContextUnaryImpl::*next_state_)(bool); std::function<void(ServerContext *, RequestType *, @@ -218,25 +220,26 @@ class AsyncQpsServerTest : public Server { void *)> request_method, std::function<grpc::Status(const RequestType *, ResponseType *)> invoke_method) - : next_state_(&ServerRpcContextStreamingImpl::request_done), + : srv_ctx_(new ServerContext), + next_state_(&ServerRpcContextStreamingImpl::request_done), request_method_(request_method), invoke_method_(invoke_method), - stream_(&srv_ctx_) { - request_method_(&srv_ctx_, &stream_, AsyncQpsServerTest::tag(this)); + stream_(srv_ctx_.get()) { + request_method_(srv_ctx_.get(), &stream_, AsyncQpsServerTest::tag(this)); } ~ServerRpcContextStreamingImpl() GRPC_OVERRIDE {} bool RunNextState(bool ok) GRPC_OVERRIDE { return (this->*next_state_)(ok); } void Reset() GRPC_OVERRIDE { - srv_ctx_ = ServerContext(); + srv_ctx_.reset(new ServerContext); req_ = RequestType(); - stream_ = - grpc::ServerAsyncReaderWriter<ResponseType, RequestType>(&srv_ctx_); + stream_ = grpc::ServerAsyncReaderWriter<ResponseType, RequestType>( + srv_ctx_.get()); // Then request the method next_state_ = &ServerRpcContextStreamingImpl::request_done; - request_method_(&srv_ctx_, &stream_, AsyncQpsServerTest::tag(this)); + request_method_(srv_ctx_.get(), &stream_, AsyncQpsServerTest::tag(this)); } private: @@ -278,7 +281,7 @@ class AsyncQpsServerTest : public Server { } bool finish_done(bool ok) { return false; /* reset the context */ } - ServerContext srv_ctx_; + std::unique_ptr<ServerContext> srv_ctx_; RequestType req_; bool (ServerRpcContextStreamingImpl::*next_state_)(bool); std::function<void( |