From cc44a38580bdeeffcffbaac2262f43e259a8ba25 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 17 May 2017 12:40:37 -0700 Subject: Make cq_verifier output more readable --- test/core/end2end/cq_verifier.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'test/core') diff --git a/test/core/end2end/cq_verifier.c b/test/core/end2end/cq_verifier.c index 0fafb0c8c9..5c54549674 100644 --- a/test/core/end2end/cq_verifier.c +++ b/test/core/end2end/cq_verifier.c @@ -189,10 +189,16 @@ int byte_buffer_eq_string(grpc_byte_buffer *bb, const char *str) { return res; } +static bool is_probably_integer(void *p) { return ((uintptr_t)p) < 1000000; } + static void expectation_to_strvec(gpr_strvec *buf, expectation *e) { char *tmp; - gpr_asprintf(&tmp, "%p ", e->tag); + if (is_probably_integer(e->tag)) { + gpr_asprintf(&tmp, "tag(%" PRIdPTR ") ", (intptr_t)e->tag); + } else { + gpr_asprintf(&tmp, "%p ", e->tag); + } gpr_strvec_add(buf, tmp); switch (e->type) { -- cgit v1.2.3 From 83b34e524f5717d68daca0a3e3f6528441af37f6 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 17 May 2017 22:20:05 +0000 Subject: Fix some races in tests --- test/core/end2end/fixtures/http_proxy_fixture.c | 19 ++++++++++++------- test/core/surface/concurrent_connectivity_test.c | 2 ++ 2 files changed, 14 insertions(+), 7 deletions(-) (limited to 'test/core') diff --git a/test/core/end2end/fixtures/http_proxy_fixture.c b/test/core/end2end/fixtures/http_proxy_fixture.c index c2d8480e69..708409d865 100644 --- a/test/core/end2end/fixtures/http_proxy_fixture.c +++ b/test/core/end2end/fixtures/http_proxy_fixture.c @@ -60,6 +60,7 @@ #include "src/core/lib/iomgr/tcp_client.h" #include "src/core/lib/iomgr/tcp_server.h" #include "src/core/lib/iomgr/timer.h" +#include "src/core/lib/iomgr/combiner.h" #include "src/core/lib/slice/slice_internal.h" #include "test/core/util/port.h" @@ -71,6 +72,8 @@ struct grpc_end2end_http_proxy { gpr_mu* mu; grpc_pollset* pollset; gpr_refcount users; + + grpc_combiner *combiner; }; // @@ -400,19 +403,19 @@ static void on_accept(grpc_exec_ctx* exec_ctx, void* arg, grpc_pollset_set_add_pollset(exec_ctx, conn->pollset_set, proxy->pollset); grpc_endpoint_add_to_pollset_set(exec_ctx, endpoint, conn->pollset_set); grpc_closure_init(&conn->on_read_request_done, on_read_request_done, conn, - grpc_schedule_on_exec_ctx); + grpc_combiner_scheduler(conn->proxy->combiner, false)); grpc_closure_init(&conn->on_server_connect_done, on_server_connect_done, conn, - grpc_schedule_on_exec_ctx); + grpc_combiner_scheduler(conn->proxy->combiner, false)); grpc_closure_init(&conn->on_write_response_done, on_write_response_done, conn, - grpc_schedule_on_exec_ctx); + grpc_combiner_scheduler(conn->proxy->combiner, false)); grpc_closure_init(&conn->on_client_read_done, on_client_read_done, conn, - grpc_schedule_on_exec_ctx); + grpc_combiner_scheduler(conn->proxy->combiner, false)); grpc_closure_init(&conn->on_client_write_done, on_client_write_done, conn, - grpc_schedule_on_exec_ctx); + grpc_combiner_scheduler(conn->proxy->combiner, false)); grpc_closure_init(&conn->on_server_read_done, on_server_read_done, conn, - grpc_schedule_on_exec_ctx); + grpc_combiner_scheduler(conn->proxy->combiner, false)); grpc_closure_init(&conn->on_server_write_done, on_server_write_done, conn, - grpc_schedule_on_exec_ctx); + grpc_combiner_scheduler(conn->proxy->combiner, false)); grpc_slice_buffer_init(&conn->client_read_buffer); grpc_slice_buffer_init(&conn->client_deferred_write_buffer); grpc_slice_buffer_init(&conn->client_write_buffer); @@ -453,6 +456,7 @@ grpc_end2end_http_proxy* grpc_end2end_http_proxy_create(void) { grpc_end2end_http_proxy* proxy = (grpc_end2end_http_proxy*)gpr_malloc(sizeof(*proxy)); memset(proxy, 0, sizeof(*proxy)); + proxy->combiner = grpc_combiner_create(NULL); gpr_ref_init(&proxy->users, 1); // Construct proxy address. const int proxy_port = grpc_pick_unused_port_or_die(); @@ -504,6 +508,7 @@ void grpc_end2end_http_proxy_destroy(grpc_end2end_http_proxy* proxy) { grpc_pollset_shutdown(&exec_ctx, proxy->pollset, grpc_closure_create(destroy_pollset, proxy->pollset, grpc_schedule_on_exec_ctx)); + grpc_combiner_unref(&exec_ctx, proxy->combiner); gpr_free(proxy); grpc_exec_ctx_finish(&exec_ctx); } diff --git a/test/core/surface/concurrent_connectivity_test.c b/test/core/surface/concurrent_connectivity_test.c index f0e3394b2e..87ad095170 100644 --- a/test/core/surface/concurrent_connectivity_test.c +++ b/test/core/surface/concurrent_connectivity_test.c @@ -112,7 +112,9 @@ static void on_connect(grpc_exec_ctx *exec_ctx, void *vargs, grpc_endpoint *tcp, grpc_endpoint_shutdown(exec_ctx, tcp, GRPC_ERROR_CREATE_FROM_STATIC_STRING("Connected")); grpc_endpoint_destroy(exec_ctx, tcp); + gpr_mu_lock(args->mu); GRPC_LOG_IF_ERROR("pollset_kick", grpc_pollset_kick(args->pollset, NULL)); + gpr_mu_unlock(args->mu); } void bad_server_thread(void *vargs) { -- cgit v1.2.3 From 049f115c97169042df4cae281c780add697b22d0 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 18 May 2017 10:08:39 -0700 Subject: clang-format --- test/core/end2end/fixtures/http_proxy_fixture.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'test/core') diff --git a/test/core/end2end/fixtures/http_proxy_fixture.c b/test/core/end2end/fixtures/http_proxy_fixture.c index 708409d865..b8a53ed113 100644 --- a/test/core/end2end/fixtures/http_proxy_fixture.c +++ b/test/core/end2end/fixtures/http_proxy_fixture.c @@ -50,6 +50,7 @@ #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/http/parser.h" #include "src/core/lib/iomgr/closure.h" +#include "src/core/lib/iomgr/combiner.h" #include "src/core/lib/iomgr/endpoint.h" #include "src/core/lib/iomgr/error.h" #include "src/core/lib/iomgr/exec_ctx.h" @@ -60,7 +61,6 @@ #include "src/core/lib/iomgr/tcp_client.h" #include "src/core/lib/iomgr/tcp_server.h" #include "src/core/lib/iomgr/timer.h" -#include "src/core/lib/iomgr/combiner.h" #include "src/core/lib/slice/slice_internal.h" #include "test/core/util/port.h" @@ -73,7 +73,7 @@ struct grpc_end2end_http_proxy { grpc_pollset* pollset; gpr_refcount users; - grpc_combiner *combiner; + grpc_combiner* combiner; }; // @@ -508,7 +508,7 @@ void grpc_end2end_http_proxy_destroy(grpc_end2end_http_proxy* proxy) { grpc_pollset_shutdown(&exec_ctx, proxy->pollset, grpc_closure_create(destroy_pollset, proxy->pollset, grpc_schedule_on_exec_ctx)); - grpc_combiner_unref(&exec_ctx, proxy->combiner); + grpc_combiner_unref(&exec_ctx, proxy->combiner); gpr_free(proxy); grpc_exec_ctx_finish(&exec_ctx); } -- cgit v1.2.3 From 191f1eb48e1c33a6b07cf3faef565246931c56eb Mon Sep 17 00:00:00 2001 From: Muxi Yan Date: Thu, 18 May 2017 15:16:16 -0700 Subject: Remove loop initial declaration --- test/core/end2end/fixtures/h2_full+workarounds.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'test/core') diff --git a/test/core/end2end/fixtures/h2_full+workarounds.c b/test/core/end2end/fixtures/h2_full+workarounds.c index 2e9264ffa6..fcb2024645 100644 --- a/test/core/end2end/fixtures/h2_full+workarounds.c +++ b/test/core/end2end/fixtures/h2_full+workarounds.c @@ -83,10 +83,11 @@ void chttp2_init_client_fullstack(grpc_end2end_test_fixture *f, void chttp2_init_server_fullstack(grpc_end2end_test_fixture *f, grpc_channel_args *server_args) { + int i; grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; fullstack_fixture_data *ffd = f->fixture_data; grpc_arg args[GRPC_MAX_WORKAROUND_ID]; - for (uint32_t i = 0; i < GRPC_MAX_WORKAROUND_ID; i++) { + for (i = 0; i < GRPC_MAX_WORKAROUND_ID; i++) { args[i].key = workarounds_arg[i]; args[i].type = GRPC_ARG_INTEGER; args[i].value.integer = 1; -- cgit v1.2.3