From ea456fc2bf09e1b80a3add3b898175605da3bf60 Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Tue, 7 Jul 2015 15:23:30 -0700 Subject: Server auth metadata processor. - Right now it is a global function: would be better to have this per (secure) port. - Changed the interface of the auth_context slightly to make it more friendly. - Positive tests pass. Still need some work on error case (have a negative case as well). - Fixing cpp auth context tests so that they use the shiny new C API. --- .../chttp2_simple_ssl_with_oauth2_fullstack.c | 4 +- .../request_response_with_payload_and_call_creds.c | 322 ++++++++++++++++++++- test/core/security/auth_context_test.c | 73 +++-- test/core/security/credentials_test.c | 8 +- 4 files changed, 355 insertions(+), 52 deletions(-) (limited to 'test/core') diff --git a/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c b/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c index de418bf7ee..da658a0b45 100644 --- a/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c +++ b/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c @@ -100,8 +100,8 @@ static void chttp2_init_client_simple_ssl_with_oauth2_secure_fullstack( grpc_end2end_test_fixture *f, grpc_channel_args *client_args) { grpc_credentials *ssl_creds = grpc_ssl_credentials_create(test_root_cert, NULL); - grpc_credentials *oauth2_creds = - grpc_fake_oauth2_credentials_create("Bearer aaslkfjs424535asdf", 1); + grpc_credentials *oauth2_creds = grpc_md_only_test_credentials_create( + "Authorization", "Bearer aaslkfjs424535asdf", 1); grpc_credentials *ssl_oauth2_creds = grpc_composite_credentials_create(ssl_creds, oauth2_creds); grpc_arg ssl_name_override = {GRPC_ARG_STRING, diff --git a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c index b5c743b405..c0214081c5 100644 --- a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c +++ b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c @@ -46,6 +46,11 @@ #include "src/core/security/credentials.h" #include "src/core/support/string.h" +static const char *custom_creds_md_name = "custom_creds"; +static const char *custom_creds_md_value = "custom_value"; +static const char *client_identity_property_name = "smurf_name"; +static const char *client_identity = "Brainy Smurf"; + static const char iam_token[] = "token"; static const char iam_selector[] = "selector"; static const char overridden_iam_token[] = "overridden_token"; @@ -57,15 +62,71 @@ enum { TIMEOUT = 200000 }; static void *tag(gpr_intptr t) { return (void *)t; } -static grpc_end2end_test_fixture begin_test(grpc_end2end_test_config config, - const char *test_name, - grpc_channel_args *client_args, - grpc_channel_args *server_args) { +static const grpc_metadata *find_metadata(const grpc_metadata *md, + size_t md_count, + const char *key, + const char *value) { + size_t i; + for (i = 0; i < md_count; i++) { + if (strcmp(key, md[i].key) == 0 && strlen(value) == md[i].value_length && + memcmp(md[i].value, value, md[i].value_length) == 0) { + return &md[i]; + } + } + return NULL; +} + +static void check_peer_identity(grpc_auth_context *ctx, + const char *expected_identity) { + grpc_auth_property_iterator it = grpc_auth_context_peer_identity(ctx); + const grpc_auth_property *prop = grpc_auth_property_iterator_next(&it); + GPR_ASSERT(prop != NULL); + GPR_ASSERT(strcmp(expected_identity, prop->value) == 0); + GPR_ASSERT(grpc_auth_property_iterator_next(&it) == NULL); +} +static void process_auth_md_success(grpc_auth_ticket *t, + grpc_auth_context *channel_ctx, + const grpc_metadata *md, size_t md_count, + grpc_process_auth_metadata_done_cb cb, + void *user_data) { + grpc_auth_context *new_auth_ctx = grpc_auth_context_create(channel_ctx); + const grpc_metadata *custom_creds_md = + find_metadata(md, md_count, custom_creds_md_name, custom_creds_md_value); + GPR_ASSERT(custom_creds_md != NULL); + grpc_auth_context_add_cstring_property( + new_auth_ctx, client_identity_property_name, client_identity); + GPR_ASSERT(grpc_auth_context_set_peer_identity_property_name( + new_auth_ctx, client_identity_property_name) == 1); + cb(user_data, custom_creds_md, 1, 1, new_auth_ctx); + grpc_auth_context_release(new_auth_ctx); +} + +#if 0 +static void process_auth_md_failure(grpc_auth_ticket *t, + grpc_auth_context *channel_ctx, + const grpc_metadata *md, size_t md_count, + grpc_process_auth_metadata_done_cb cb, + void *user_data) { + const grpc_metadata *custom_creds_md = + find_metadata(md, md_count, custom_creds_md_name, custom_creds_md_value); + GPR_ASSERT(custom_creds_md != NULL); + cb(user_data, NULL, 0, 0, NULL); /* Fail. */ +} +#endif + +static grpc_end2end_test_fixture begin_test( + grpc_end2end_test_config config, const char *test_name, + grpc_process_auth_metadata_func md_func, override_mode mode) { grpc_end2end_test_fixture f; + if (mode != DESTROY) { + grpc_server_auth_context_register_process_metadata_func(md_func); + } else { + grpc_server_auth_context_register_process_metadata_func(NULL); + } gpr_log(GPR_INFO, "%s/%s", test_name, config.name); - f = config.create_fixture(client_args, server_args); - config.init_client(&f, client_args); - config.init_server(&f, server_args); + f = config.create_fixture(NULL, NULL); + config.init_client(&f, NULL); + config.init_server(&f, NULL); return f; } @@ -124,11 +185,23 @@ static void print_auth_context(int is_client, const grpc_auth_context *ctx) { } } +static grpc_credentials *iam_custom_composite_creds_create( + const char *iam_tok, const char *iam_sel) { + grpc_credentials *iam_creds = grpc_iam_credentials_create(iam_tok, iam_sel); + grpc_credentials *custom_creds = grpc_md_only_test_credentials_create( + custom_creds_md_name, custom_creds_md_value, 1); + grpc_credentials *result = + grpc_composite_credentials_create(iam_creds, custom_creds); + grpc_credentials_release(iam_creds); + grpc_credentials_release(custom_creds); + return result; +} + static void test_call_creds_failure(grpc_end2end_test_config config) { grpc_call *c; grpc_credentials *creds = NULL; grpc_end2end_test_fixture f = - begin_test(config, "test_call_creds_failure", NULL, NULL); + begin_test(config, "test_call_creds_failure", NULL, NONE); gpr_timespec deadline = five_seconds_time(); c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", deadline); @@ -158,7 +231,8 @@ static void request_response_with_payload_and_call_creds( grpc_raw_byte_buffer_create(&response_payload_slice, 1); gpr_timespec deadline = five_seconds_time(); - grpc_end2end_test_fixture f = begin_test(config, test_name, NULL, NULL); + grpc_end2end_test_fixture f = + begin_test(config, test_name, process_auth_md_success, mode); cq_verifier *cqv = cq_verifier_create(f.cq); grpc_op ops[6]; grpc_op *op; @@ -174,11 +248,12 @@ static void request_response_with_payload_and_call_creds( int was_cancelled = 2; grpc_credentials *creds = NULL; grpc_auth_context *s_auth_context = NULL; + grpc_auth_context *c_auth_context = NULL; c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", deadline); GPR_ASSERT(c); - creds = grpc_iam_credentials_create(iam_token, iam_selector); + creds = iam_custom_composite_creds_create(iam_token, iam_selector); GPR_ASSERT(creds != NULL); GPR_ASSERT(grpc_call_set_credentials(c, creds) == GRPC_CALL_OK); switch (mode) { @@ -186,8 +261,8 @@ static void request_response_with_payload_and_call_creds( break; case OVERRIDE: grpc_credentials_release(creds); - creds = grpc_iam_credentials_create(overridden_iam_token, - overridden_iam_selector); + creds = iam_custom_composite_creds_create(overridden_iam_token, + overridden_iam_selector); GPR_ASSERT(creds != NULL); GPR_ASSERT(grpc_call_set_credentials(c, creds) == GRPC_CALL_OK); break; @@ -241,6 +316,11 @@ static void request_response_with_payload_and_call_creds( print_auth_context(0, s_auth_context); grpc_auth_context_release(s_auth_context); + c_auth_context = grpc_call_auth_context(c); + GPR_ASSERT(c_auth_context != NULL); + print_auth_context(1, c_auth_context); + grpc_auth_context_release(c_auth_context); + /* Cannot set creds on the server call object. */ GPR_ASSERT(grpc_call_set_credentials(s, NULL) != GRPC_CALL_OK); @@ -287,6 +367,10 @@ static void request_response_with_payload_and_call_creds( GPR_ASSERT(byte_buffer_eq_string(request_payload_recv, "hello world")); GPR_ASSERT(byte_buffer_eq_string(response_payload_recv, "hello you")); + /* Has been processed by the auth metadata processor. */ + GPR_ASSERT(!contains_metadata(&request_metadata_recv, custom_creds_md_name, + custom_creds_md_value)); + switch (mode) { case NONE: GPR_ASSERT(contains_metadata(&request_metadata_recv, @@ -295,6 +379,7 @@ static void request_response_with_payload_and_call_creds( GPR_ASSERT(contains_metadata(&request_metadata_recv, GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY, iam_selector)); + check_peer_identity(s_auth_context, client_identity); break; case OVERRIDE: GPR_ASSERT(contains_metadata(&request_metadata_recv, @@ -303,6 +388,7 @@ static void request_response_with_payload_and_call_creds( GPR_ASSERT(contains_metadata(&request_metadata_recv, GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY, overridden_iam_selector)); + check_peer_identity(s_auth_context, client_identity); break; case DESTROY: GPR_ASSERT(!contains_metadata(&request_metadata_recv, @@ -340,31 +426,237 @@ static void request_response_with_payload_and_call_creds( config.tear_down_data(&f); } -void test_request_response_with_payload_and_call_creds( +static void test_request_response_with_payload_and_call_creds( grpc_end2end_test_config config) { request_response_with_payload_and_call_creds( "test_request_response_with_payload_and_call_creds", config, NONE); } -void test_request_response_with_payload_and_overridden_call_creds( +static void test_request_response_with_payload_and_overridden_call_creds( grpc_end2end_test_config config) { request_response_with_payload_and_call_creds( "test_request_response_with_payload_and_overridden_call_creds", config, OVERRIDE); } -void test_request_response_with_payload_and_deleted_call_creds( +static void test_request_response_with_payload_and_deleted_call_creds( grpc_end2end_test_config config) { request_response_with_payload_and_call_creds( "test_request_response_with_payload_and_deleted_call_creds", config, DESTROY); } +static void test_request_with_bad_creds(void) { +#if 0 + grpc_call *c; + grpc_call *s; + gpr_slice request_payload_slice = gpr_slice_from_copied_string("hello world"); + grpc_byte_buffer *request_payload = + grpc_raw_byte_buffer_create(&request_payload_slice, 1); + gpr_timespec deadline = five_seconds_time(); + + grpc_end2end_test_fixture f = + begin_test(config, test_name, process_auth_md_failure, NONE); + cq_verifier *cqv = cq_verifier_create(f.cq); + grpc_op ops[6]; + grpc_op *op; + grpc_metadata_array initial_metadata_recv; + grpc_metadata_array trailing_metadata_recv; + grpc_metadata_array request_metadata_recv; + grpc_byte_buffer *request_payload_recv = NULL; + grpc_byte_buffer *response_payload_recv = NULL; + grpc_call_details call_details; + grpc_status_code status; + char *details = NULL; + size_t details_capacity = 0; + int was_cancelled = 2; + grpc_credentials *creds = NULL; + grpc_auth_context *s_auth_context = NULL; + grpc_auth_context *c_auth_context = NULL; + + c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", + deadline); + GPR_ASSERT(c); + creds = iam_custom_composite_creds_create(iam_token, iam_selector); + GPR_ASSERT(creds != NULL); + GPR_ASSERT(grpc_call_set_credentials(c, creds) == GRPC_CALL_OK); + switch (mode) { + case NONE: + break; + case OVERRIDE: + grpc_credentials_release(creds); + creds = iam_custom_composite_creds_create(overridden_iam_token, + overridden_iam_selector); + GPR_ASSERT(creds != NULL); + GPR_ASSERT(grpc_call_set_credentials(c, creds) == GRPC_CALL_OK); + break; + case DESTROY: + GPR_ASSERT(grpc_call_set_credentials(c, NULL) == GRPC_CALL_OK); + break; + } + grpc_credentials_release(creds); + + grpc_metadata_array_init(&initial_metadata_recv); + grpc_metadata_array_init(&trailing_metadata_recv); + grpc_metadata_array_init(&request_metadata_recv); + grpc_call_details_init(&call_details); + + op = ops; + op->op = GRPC_OP_SEND_INITIAL_METADATA; + op->data.send_initial_metadata.count = 0; + op->flags = 0; + op++; + op->op = GRPC_OP_SEND_MESSAGE; + op->data.send_message = request_payload; + op->flags = 0; + op++; + op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT; + op->flags = 0; + op++; + op->op = GRPC_OP_RECV_INITIAL_METADATA; + op->data.recv_initial_metadata = &initial_metadata_recv; + op->flags = 0; + op++; + op->op = GRPC_OP_RECV_MESSAGE; + op->data.recv_message = &response_payload_recv; + op->flags = 0; + op++; + op->op = GRPC_OP_RECV_STATUS_ON_CLIENT; + op->data.recv_status_on_client.trailing_metadata = &trailing_metadata_recv; + op->data.recv_status_on_client.status = &status; + op->data.recv_status_on_client.status_details = &details; + op->data.recv_status_on_client.status_details_capacity = &details_capacity; + op->flags = 0; + op++; + GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(c, ops, op - ops, tag(1))); + + GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call( + f.server, &s, &call_details, + &request_metadata_recv, f.cq, f.cq, tag(101))); + cq_expect_completion(cqv, tag(101), 1); + cq_verify(cqv); + s_auth_context = grpc_call_auth_context(s); + GPR_ASSERT(s_auth_context != NULL); + print_auth_context(0, s_auth_context); + grpc_auth_context_release(s_auth_context); + + c_auth_context = grpc_call_auth_context(c); + GPR_ASSERT(c_auth_context != NULL); + print_auth_context(1, c_auth_context); + grpc_auth_context_release(c_auth_context); + + /* Cannot set creds on the server call object. */ + GPR_ASSERT(grpc_call_set_credentials(s, NULL) != GRPC_CALL_OK); + + op = ops; + op->op = GRPC_OP_SEND_INITIAL_METADATA; + op->data.send_initial_metadata.count = 0; + op->flags = 0; + op++; + op->op = GRPC_OP_RECV_MESSAGE; + op->data.recv_message = &request_payload_recv; + op->flags = 0; + op++; + GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(s, ops, op - ops, tag(102))); + + cq_expect_completion(cqv, tag(102), 1); + cq_verify(cqv); + + op = ops; + op->op = GRPC_OP_RECV_CLOSE_ON_SERVER; + op->data.recv_close_on_server.cancelled = &was_cancelled; + op->flags = 0; + op++; + op->op = GRPC_OP_SEND_MESSAGE; + op->data.send_message = response_payload; + op->flags = 0; + op++; + op->op = GRPC_OP_SEND_STATUS_FROM_SERVER; + op->data.send_status_from_server.trailing_metadata_count = 0; + op->data.send_status_from_server.status = GRPC_STATUS_OK; + op->data.send_status_from_server.status_details = "xyz"; + op->flags = 0; + op++; + GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(s, ops, op - ops, tag(103))); + + cq_expect_completion(cqv, tag(103), 1); + cq_expect_completion(cqv, tag(1), 1); + cq_verify(cqv); + + GPR_ASSERT(status == GRPC_STATUS_OK); + GPR_ASSERT(0 == strcmp(details, "xyz")); + GPR_ASSERT(0 == strcmp(call_details.method, "/foo")); + GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.fr")); + GPR_ASSERT(was_cancelled == 0); + GPR_ASSERT(byte_buffer_eq_string(request_payload_recv, "hello world")); + GPR_ASSERT(byte_buffer_eq_string(response_payload_recv, "hello you")); + + /* Has been processed by the auth metadata processor. */ + GPR_ASSERT(!contains_metadata(&request_metadata_recv, custom_creds_md_name, + custom_creds_md_value)); + + switch (mode) { + case NONE: + GPR_ASSERT(contains_metadata(&request_metadata_recv, + GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY, + iam_token)); + GPR_ASSERT(contains_metadata(&request_metadata_recv, + GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY, + iam_selector)); + check_peer_identity(s_auth_context, client_identity); + break; + case OVERRIDE: + GPR_ASSERT(contains_metadata(&request_metadata_recv, + GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY, + overridden_iam_token)); + GPR_ASSERT(contains_metadata(&request_metadata_recv, + GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY, + overridden_iam_selector)); + check_peer_identity(s_auth_context, client_identity); + break; + case DESTROY: + GPR_ASSERT(!contains_metadata(&request_metadata_recv, + GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY, + iam_token)); + GPR_ASSERT(!contains_metadata(&request_metadata_recv, + GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY, + iam_selector)); + GPR_ASSERT(!contains_metadata(&request_metadata_recv, + GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY, + overridden_iam_token)); + GPR_ASSERT(!contains_metadata(&request_metadata_recv, + GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY, + overridden_iam_selector)); + break; + } + + gpr_free(details); + grpc_metadata_array_destroy(&initial_metadata_recv); + grpc_metadata_array_destroy(&trailing_metadata_recv); + grpc_metadata_array_destroy(&request_metadata_recv); + grpc_call_details_destroy(&call_details); + + grpc_call_destroy(c); + grpc_call_destroy(s); + + cq_verifier_destroy(cqv); + + grpc_byte_buffer_destroy(request_payload); + grpc_byte_buffer_destroy(response_payload); + grpc_byte_buffer_destroy(request_payload_recv); + grpc_byte_buffer_destroy(response_payload_recv); + + end_test(&f); + config.tear_down_data(&f); +#endif +} + void grpc_end2end_tests(grpc_end2end_test_config config) { if (config.feature_mask & FEATURE_MASK_SUPPORTS_PER_CALL_CREDENTIALS) { test_call_creds_failure(config); test_request_response_with_payload_and_call_creds(config); test_request_response_with_payload_and_overridden_call_creds(config); test_request_response_with_payload_and_deleted_call_creds(config); + test_request_with_bad_creds(); } } diff --git a/test/core/security/auth_context_test.c b/test/core/security/auth_context_test.c index a30505a63b..d785eb6064 100644 --- a/test/core/security/auth_context_test.c +++ b/test/core/security/auth_context_test.c @@ -40,7 +40,7 @@ #include static void test_empty_context(void) { - grpc_auth_context *ctx = grpc_auth_context_create(NULL, 0); + grpc_auth_context *ctx = grpc_auth_context_create(NULL); grpc_auth_property_iterator it; gpr_log(GPR_INFO, "test_empty_context"); @@ -52,87 +52,98 @@ static void test_empty_context(void) { GPR_ASSERT(grpc_auth_property_iterator_next(&it) == NULL); it = grpc_auth_context_find_properties_by_name(ctx, "foo"); GPR_ASSERT(grpc_auth_property_iterator_next(&it) == NULL); + GPR_ASSERT(grpc_auth_context_set_peer_identity_property_name(ctx, "bar") == + 0); + GPR_ASSERT(grpc_auth_context_peer_identity_property_name(ctx) == NULL); GRPC_AUTH_CONTEXT_UNREF(ctx, "test"); } static void test_simple_context(void) { - grpc_auth_context *ctx = grpc_auth_context_create(NULL, 3); + grpc_auth_context *ctx = grpc_auth_context_create(NULL); grpc_auth_property_iterator it; size_t i; gpr_log(GPR_INFO, "test_simple_context"); GPR_ASSERT(ctx != NULL); - GPR_ASSERT(ctx->property_count == 3); - ctx->properties[0] = grpc_auth_property_init_from_cstring("name", "chapi"); - ctx->properties[1] = grpc_auth_property_init_from_cstring("name", "chapo"); - ctx->properties[2] = grpc_auth_property_init_from_cstring("foo", "bar"); - ctx->peer_identity_property_name = ctx->properties[0].name; + grpc_auth_context_add_cstring_property(ctx, "name", "chapi"); + grpc_auth_context_add_cstring_property(ctx, "name", "chapo"); + grpc_auth_context_add_cstring_property(ctx, "foo", "bar"); + GPR_ASSERT(ctx->properties.count == 3); + GPR_ASSERT(grpc_auth_context_set_peer_identity_property_name(ctx, "name") == + 1); GPR_ASSERT( strcmp(grpc_auth_context_peer_identity_property_name(ctx), "name") == 0); it = grpc_auth_context_property_iterator(ctx); - for (i = 0; i < ctx->property_count; i++) { + for (i = 0; i < ctx->properties.count; i++) { const grpc_auth_property *p = grpc_auth_property_iterator_next(&it); - GPR_ASSERT(p == &ctx->properties[i]); + GPR_ASSERT(p == &ctx->properties.array[i]); } GPR_ASSERT(grpc_auth_property_iterator_next(&it) == NULL); it = grpc_auth_context_find_properties_by_name(ctx, "foo"); - GPR_ASSERT(grpc_auth_property_iterator_next(&it) == &ctx->properties[2]); + GPR_ASSERT(grpc_auth_property_iterator_next(&it) == + &ctx->properties.array[2]); GPR_ASSERT(grpc_auth_property_iterator_next(&it) == NULL); it = grpc_auth_context_peer_identity(ctx); - GPR_ASSERT(grpc_auth_property_iterator_next(&it) == &ctx->properties[0]); - GPR_ASSERT(grpc_auth_property_iterator_next(&it) == &ctx->properties[1]); + GPR_ASSERT(grpc_auth_property_iterator_next(&it) == + &ctx->properties.array[0]); + GPR_ASSERT(grpc_auth_property_iterator_next(&it) == + &ctx->properties.array[1]); GPR_ASSERT(grpc_auth_property_iterator_next(&it) == NULL); GRPC_AUTH_CONTEXT_UNREF(ctx, "test"); } static void test_chained_context(void) { - grpc_auth_context *chained = grpc_auth_context_create(NULL, 2); - grpc_auth_context *ctx = grpc_auth_context_create(chained, 3); + grpc_auth_context *chained = grpc_auth_context_create(NULL); + grpc_auth_context *ctx = grpc_auth_context_create(chained); grpc_auth_property_iterator it; size_t i; gpr_log(GPR_INFO, "test_chained_context"); GRPC_AUTH_CONTEXT_UNREF(chained, "chained"); - chained->properties[0] = - grpc_auth_property_init_from_cstring("name", "padapo"); - chained->properties[1] = grpc_auth_property_init_from_cstring("foo", "baz"); - ctx->properties[0] = grpc_auth_property_init_from_cstring("name", "chapi"); - ctx->properties[1] = grpc_auth_property_init_from_cstring("name", "chapo"); - ctx->properties[2] = grpc_auth_property_init_from_cstring("foo", "bar"); - ctx->peer_identity_property_name = ctx->properties[0].name; + grpc_auth_context_add_cstring_property(chained, "name", "padapo"); + grpc_auth_context_add_cstring_property(chained, "foo", "baz"); + grpc_auth_context_add_cstring_property(ctx, "name", "chapi"); + grpc_auth_context_add_cstring_property(ctx, "name", "chap0"); + grpc_auth_context_add_cstring_property(ctx, "foo", "bar"); + GPR_ASSERT(grpc_auth_context_set_peer_identity_property_name(ctx, "name") == + 1); GPR_ASSERT( strcmp(grpc_auth_context_peer_identity_property_name(ctx), "name") == 0); it = grpc_auth_context_property_iterator(ctx); - for (i = 0; i < ctx->property_count; i++) { + for (i = 0; i < ctx->properties.count; i++) { const grpc_auth_property *p = grpc_auth_property_iterator_next(&it); - GPR_ASSERT(p == &ctx->properties[i]); + GPR_ASSERT(p == &ctx->properties.array[i]); } - for (i = 0; i < chained->property_count; i++) { + for (i = 0; i < chained->properties.count; i++) { const grpc_auth_property *p = grpc_auth_property_iterator_next(&it); - GPR_ASSERT(p == &chained->properties[i]); + GPR_ASSERT(p == &chained->properties.array[i]); } GPR_ASSERT(grpc_auth_property_iterator_next(&it) == NULL); it = grpc_auth_context_find_properties_by_name(ctx, "foo"); - GPR_ASSERT(grpc_auth_property_iterator_next(&it) == &ctx->properties[2]); - GPR_ASSERT(grpc_auth_property_iterator_next(&it) == &chained->properties[1]); + GPR_ASSERT(grpc_auth_property_iterator_next(&it) == + &ctx->properties.array[2]); + GPR_ASSERT(grpc_auth_property_iterator_next(&it) == + &chained->properties.array[1]); GPR_ASSERT(grpc_auth_property_iterator_next(&it) == NULL); it = grpc_auth_context_peer_identity(ctx); - GPR_ASSERT(grpc_auth_property_iterator_next(&it) == &ctx->properties[0]); - GPR_ASSERT(grpc_auth_property_iterator_next(&it) == &ctx->properties[1]); - GPR_ASSERT(grpc_auth_property_iterator_next(&it) == &chained->properties[0]); + GPR_ASSERT(grpc_auth_property_iterator_next(&it) == + &ctx->properties.array[0]); + GPR_ASSERT(grpc_auth_property_iterator_next(&it) == + &ctx->properties.array[1]); + GPR_ASSERT(grpc_auth_property_iterator_next(&it) == + &chained->properties.array[0]); GPR_ASSERT(grpc_auth_property_iterator_next(&it) == NULL); GRPC_AUTH_CONTEXT_UNREF(ctx, "test"); } - int main(int argc, char **argv) { grpc_test_init(argc, argv); test_empty_context(); diff --git a/test/core/security/credentials_test.c b/test/core/security/credentials_test.c index d3fea9680a..96e1e396c6 100644 --- a/test/core/security/credentials_test.c +++ b/test/core/security/credentials_test.c @@ -373,8 +373,8 @@ static void test_ssl_oauth2_composite_creds(void) { grpc_credentials *ssl_creds = grpc_ssl_credentials_create(test_root_cert, NULL); const grpc_credentials_array *creds_array; - grpc_credentials *oauth2_creds = - grpc_fake_oauth2_credentials_create(test_oauth2_bearer_token, 0); + grpc_credentials *oauth2_creds = grpc_md_only_test_credentials_create( + "Authorization", test_oauth2_bearer_token, 0); grpc_credentials *composite_creds = grpc_composite_credentials_create(ssl_creds, oauth2_creds); grpc_credentials_unref(ssl_creds); @@ -424,8 +424,8 @@ static void test_ssl_oauth2_iam_composite_creds(void) { grpc_credentials *ssl_creds = grpc_ssl_credentials_create(test_root_cert, NULL); const grpc_credentials_array *creds_array; - grpc_credentials *oauth2_creds = - grpc_fake_oauth2_credentials_create(test_oauth2_bearer_token, 0); + grpc_credentials *oauth2_creds = grpc_md_only_test_credentials_create( + "Authorization", test_oauth2_bearer_token, 0); grpc_credentials *aux_creds = grpc_composite_credentials_create(ssl_creds, oauth2_creds); grpc_credentials *iam_creds = grpc_iam_credentials_create( -- cgit v1.2.3 From a87d6c2af6a8bbad50d9ad639873357fd824b791 Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Fri, 17 Jul 2015 15:51:46 -0700 Subject: Cannot figure out server filter logic for error in auth md processing. - Positive tests pass even if we will have to change the interface to add the processor to the server credentials (will be done in a separate pull request). - ASAN leaks for the error case. - The client should get a GRPC_STATUS_UNAUTHENTICATED as opposed to GPRC_STATUS_INTERNAL. --- include/grpc/grpc_security.h | 25 ++- src/core/security/security_context.c | 13 +- src/core/security/security_context.h | 3 +- src/core/security/server_auth_filter.c | 55 ++--- .../request_response_with_payload_and_call_creds.c | 248 +++++++-------------- 5 files changed, 118 insertions(+), 226 deletions(-) (limited to 'test/core') diff --git a/include/grpc/grpc_security.h b/include/grpc/grpc_security.h index 9e193e697f..ead708b284 100644 --- a/include/grpc/grpc_security.h +++ b/include/grpc/grpc_security.h @@ -291,16 +291,23 @@ typedef void (*grpc_process_auth_metadata_done_cb)( void *user_data, const grpc_metadata *consumed_md, size_t num_consumed_md, int success, grpc_auth_context *result); -/* Pluggable metadata processing function */ -typedef void (*grpc_process_auth_metadata_func)( - grpc_auth_ticket *ticket, grpc_auth_context *channel_ctx, - const grpc_metadata *md, size_t md_count, - grpc_process_auth_metadata_done_cb cb, void *user_data); - -/* Registration function for metadata processing. +/* Pluggable server-side metadata processor object */ +typedef struct { + void (*process)(void *state, grpc_auth_ticket *ticket, + grpc_auth_context *channel_ctx, const grpc_metadata *md, + size_t md_count, grpc_process_auth_metadata_done_cb cb, + void *user_data); + void *state; +} grpc_auth_metadata_processor; + +/* XXXX: this is a temporarty interface. Please do NOT use. + This function will be moved to the server_credentials in a subsequent + pull request. XXXX + + Registration function for metadata processing. Should be called before the server is started. */ -void grpc_server_auth_context_register_process_metadata_func( - grpc_process_auth_metadata_func func); +void grpc_server_register_auth_metadata_processor( + grpc_auth_metadata_processor processor); #ifdef __cplusplus } diff --git a/src/core/security/security_context.c b/src/core/security/security_context.c index 0015d5b915..8ccce89ba9 100644 --- a/src/core/security/security_context.c +++ b/src/core/security/security_context.c @@ -44,16 +44,15 @@ /* --- grpc_process_auth_metadata_func --- */ -static grpc_process_auth_metadata_func server_md_func = NULL; +static grpc_auth_metadata_processor server_processor = {NULL, NULL}; -void grpc_server_auth_context_register_process_metadata_func( - grpc_process_auth_metadata_func func) { - server_md_func = func; +grpc_auth_metadata_processor grpc_server_get_auth_metadata_processor(void) { + return server_processor; } -grpc_process_auth_metadata_func -grpc_server_auth_context_get_process_metadata_func(void) { - return server_md_func; +void grpc_server_register_auth_metadata_processor( + grpc_auth_metadata_processor processor) { + server_processor = processor; } /* --- grpc_call --- */ diff --git a/src/core/security/security_context.h b/src/core/security/security_context.h index b5dfae0666..d4351cb74c 100644 --- a/src/core/security/security_context.h +++ b/src/core/security/security_context.h @@ -106,8 +106,7 @@ void grpc_server_security_context_destroy(void *ctx); /* --- Auth metadata processing. --- */ -grpc_process_auth_metadata_func -grpc_server_auth_context_get_process_metadata_func(void); +grpc_auth_metadata_processor grpc_server_get_auth_metadata_processor(void); #endif /* GRPC_INTERNAL_CORE_SECURITY_SECURITY_CONTEXT_H */ diff --git a/src/core/security/server_auth_filter.c b/src/core/security/server_auth_filter.c index fe993e50ee..918cb401eb 100644 --- a/src/core/security/server_auth_filter.c +++ b/src/core/security/server_auth_filter.c @@ -42,16 +42,14 @@ typedef struct call_data { gpr_uint8 got_client_metadata; - gpr_uint8 sent_status; - gpr_uint8 success; - grpc_linked_mdelem status; grpc_stream_op_buffer *recv_ops; - /* Closure to call when finished with the hs_on_recv hook. */ + /* Closure to call when finished with the auth_on_recv hook. */ grpc_iomgr_closure *on_done_recv; /* Receive closures are chained: we inject this closure as the on_done_recv up-call on transport_op, and remember to call our on_done_recv member after handling it. */ grpc_iomgr_closure auth_on_recv; + grpc_transport_stream_op transport_op; const grpc_metadata *consumed_md; size_t num_consumed_md; grpc_stream_op *md_op; @@ -61,7 +59,7 @@ typedef struct call_data { typedef struct channel_data { grpc_security_connector *security_connector; - grpc_mdelem *status_auth_failure; + grpc_mdctx *mdctx; } channel_data; static grpc_metadata_array metadata_batch_to_md_array( @@ -112,8 +110,8 @@ static void on_md_processing_done(void *user_data, grpc_auth_context *result) { grpc_call_element *elem = user_data; call_data *calld = elem->call_data; + channel_data *chand = elem->channel_data; - calld->success = success; if (success) { calld->consumed_md = consumed_md; calld->num_consumed_md = num_consumed_md; @@ -124,11 +122,14 @@ static void on_md_processing_done(void *user_data, "releasing old context."); *calld->call_auth_context = GRPC_AUTH_CONTEXT_REF(result, "refing new context."); + calld->on_done_recv->cb(calld->on_done_recv->cb_arg, success); } else { - grpc_call_element_send_cancel(elem); + grpc_transport_stream_op_add_cancellation( + &calld->transport_op, GRPC_STATUS_UNAUTHENTICATED, + grpc_mdstr_from_string(chand->mdctx, + "Authentication metadata processing failed.")); + grpc_call_next_op(elem, &calld->transport_op); } - - calld->on_done_recv->cb(calld->on_done_recv->cb_arg, success); } static void auth_on_recv(void *user_data, int success) { @@ -141,16 +142,18 @@ static void auth_on_recv(void *user_data, int success) { grpc_stream_op *ops = calld->recv_ops->ops; for (i = 0; i < nops; i++) { grpc_metadata_array md_array; - grpc_process_auth_metadata_func processor = - grpc_server_auth_context_get_process_metadata_func(); + grpc_auth_metadata_processor processor = + grpc_server_get_auth_metadata_processor(); grpc_stream_op *op = &ops[i]; - if (op->type != GRPC_OP_METADATA) continue; + if (op->type != GRPC_OP_METADATA || calld->got_client_metadata) continue; calld->got_client_metadata = 1; - if (processor == NULL) continue; + if (processor.process == NULL) continue; calld->md_op = op; md_array = metadata_batch_to_md_array(&op->data.metadata); - processor(&calld->ticket, chand->security_connector->auth_context, - md_array.metadata, md_array.count, on_md_processing_done, elem); + processor.process(processor.state, &calld->ticket, + chand->security_connector->auth_context, + md_array.metadata, md_array.count, + on_md_processing_done, elem); grpc_metadata_array_destroy(&md_array); return; } @@ -161,28 +164,13 @@ static void auth_on_recv(void *user_data, int success) { static void set_recv_ops_md_callbacks(grpc_call_element *elem, grpc_transport_stream_op *op) { call_data *calld = elem->call_data; - channel_data *chand = elem->channel_data; - - if (op->send_ops && !calld->sent_status && !calld->success) { - size_t i; - size_t nops = op->send_ops->nops; - grpc_stream_op *ops = op->send_ops->ops; - for (i = 0; i < nops; i++) { - grpc_stream_op *op = &ops[i]; - if (op->type != GRPC_OP_METADATA) continue; - calld->sent_status = 1; - grpc_metadata_batch_add_head( - &op->data.metadata, &calld->status, - GRPC_MDELEM_REF(chand->status_auth_failure)); - break; - } - } if (op->recv_ops && !calld->got_client_metadata) { /* substitute our callback for the higher callback */ calld->recv_ops = op->recv_ops; calld->on_done_recv = op->on_done_recv; op->on_done_recv = &calld->auth_on_recv; + calld->transport_op = *op; } } @@ -209,7 +197,6 @@ static void init_call_elem(grpc_call_element *elem, /* initialize members */ memset(calld, 0, sizeof(*calld)); grpc_iomgr_closure_init(&calld->auth_on_recv, auth_on_recv, elem); - calld->success = 1; GPR_ASSERT(initial_op && initial_op->context != NULL && initial_op->context[GRPC_CONTEXT_SECURITY].value == NULL); @@ -260,8 +247,7 @@ static void init_channel_elem(grpc_channel_element *elem, grpc_channel *master, GPR_ASSERT(!sc->is_client_side); chand->security_connector = GRPC_SECURITY_CONNECTOR_REF(sc, "server_auth_filter"); - chand->status_auth_failure = - grpc_mdelem_from_strings(mdctx, ":status", "401"); + chand->mdctx = mdctx; } /* Destructor for channel data */ @@ -270,7 +256,6 @@ static void destroy_channel_elem(grpc_channel_element *elem) { channel_data *chand = elem->channel_data; GRPC_SECURITY_CONNECTOR_UNREF(chand->security_connector, "server_auth_filter"); - GRPC_MDELEM_UNREF(chand->status_auth_failure); } const grpc_channel_filter grpc_server_auth_filter = { diff --git a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c index c0214081c5..7facb6997b 100644 --- a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c +++ b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c @@ -84,45 +84,51 @@ static void check_peer_identity(grpc_auth_context *ctx, GPR_ASSERT(strcmp(expected_identity, prop->value) == 0); GPR_ASSERT(grpc_auth_property_iterator_next(&it) == NULL); } -static void process_auth_md_success(grpc_auth_ticket *t, +static void process_auth_md_success(void *state, grpc_auth_ticket *t, grpc_auth_context *channel_ctx, const grpc_metadata *md, size_t md_count, grpc_process_auth_metadata_done_cb cb, void *user_data) { - grpc_auth_context *new_auth_ctx = grpc_auth_context_create(channel_ctx); - const grpc_metadata *custom_creds_md = - find_metadata(md, md_count, custom_creds_md_name, custom_creds_md_value); - GPR_ASSERT(custom_creds_md != NULL); - grpc_auth_context_add_cstring_property( - new_auth_ctx, client_identity_property_name, client_identity); - GPR_ASSERT(grpc_auth_context_set_peer_identity_property_name( - new_auth_ctx, client_identity_property_name) == 1); - cb(user_data, custom_creds_md, 1, 1, new_auth_ctx); - grpc_auth_context_release(new_auth_ctx); + override_mode *mode; + GPR_ASSERT(state != NULL); + mode = (override_mode *)state; + if (*mode != DESTROY) { + grpc_auth_context *new_auth_ctx = grpc_auth_context_create(channel_ctx); + const grpc_metadata *custom_creds_md = find_metadata( + md, md_count, custom_creds_md_name, custom_creds_md_value); + GPR_ASSERT(custom_creds_md != NULL); + grpc_auth_context_add_cstring_property( + new_auth_ctx, client_identity_property_name, client_identity); + GPR_ASSERT(grpc_auth_context_set_peer_identity_property_name( + new_auth_ctx, client_identity_property_name) == 1); + cb(user_data, custom_creds_md, 1, 1, new_auth_ctx); + grpc_auth_context_release(new_auth_ctx); + } else { + cb(user_data, NULL, 0, 1, channel_ctx); + } } -#if 0 -static void process_auth_md_failure(grpc_auth_ticket *t, +static void process_auth_md_failure(void *state, grpc_auth_ticket *t, grpc_auth_context *channel_ctx, const grpc_metadata *md, size_t md_count, grpc_process_auth_metadata_done_cb cb, void *user_data) { - const grpc_metadata *custom_creds_md = - find_metadata(md, md_count, custom_creds_md_name, custom_creds_md_value); - GPR_ASSERT(custom_creds_md != NULL); + override_mode *mode; + GPR_ASSERT(state != NULL); + mode = (override_mode *)state; + if (*mode != DESTROY) { + const grpc_metadata *custom_creds_md = find_metadata( + md, md_count, custom_creds_md_name, custom_creds_md_value); + GPR_ASSERT(custom_creds_md != NULL); + } cb(user_data, NULL, 0, 0, NULL); /* Fail. */ } -#endif static grpc_end2end_test_fixture begin_test( grpc_end2end_test_config config, const char *test_name, - grpc_process_auth_metadata_func md_func, override_mode mode) { + grpc_auth_metadata_processor processor) { grpc_end2end_test_fixture f; - if (mode != DESTROY) { - grpc_server_auth_context_register_process_metadata_func(md_func); - } else { - grpc_server_auth_context_register_process_metadata_func(NULL); - } + grpc_server_register_auth_metadata_processor(processor); gpr_log(GPR_INFO, "%s/%s", test_name, config.name); f = config.create_fixture(NULL, NULL); config.init_client(&f, NULL); @@ -200,8 +206,9 @@ static grpc_credentials *iam_custom_composite_creds_create( static void test_call_creds_failure(grpc_end2end_test_config config) { grpc_call *c; grpc_credentials *creds = NULL; + grpc_auth_metadata_processor p = {NULL, NULL}; grpc_end2end_test_fixture f = - begin_test(config, "test_call_creds_failure", NULL, NONE); + begin_test(config, "test_call_creds_failure", p); gpr_timespec deadline = five_seconds_time(); c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", deadline); @@ -230,10 +237,9 @@ static void request_response_with_payload_and_call_creds( grpc_byte_buffer *response_payload = grpc_raw_byte_buffer_create(&response_payload_slice, 1); gpr_timespec deadline = five_seconds_time(); - - grpc_end2end_test_fixture f = - begin_test(config, test_name, process_auth_md_success, mode); - cq_verifier *cqv = cq_verifier_create(f.cq); + grpc_auth_metadata_processor p; + grpc_end2end_test_fixture f; + cq_verifier *cqv; grpc_op ops[6]; grpc_op *op; grpc_metadata_array initial_metadata_recv; @@ -250,6 +256,11 @@ static void request_response_with_payload_and_call_creds( grpc_auth_context *s_auth_context = NULL; grpc_auth_context *c_auth_context = NULL; + p.process = process_auth_md_success; + p.state = &mode; + f = begin_test(config, test_name, p); + cqv = cq_verifier_create(f.cq); + c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", deadline); GPR_ASSERT(c); @@ -446,54 +457,41 @@ static void test_request_response_with_payload_and_deleted_call_creds( DESTROY); } -static void test_request_with_bad_creds(void) { -#if 0 - grpc_call *c; - grpc_call *s; - gpr_slice request_payload_slice = gpr_slice_from_copied_string("hello world"); - grpc_byte_buffer *request_payload = - grpc_raw_byte_buffer_create(&request_payload_slice, 1); - gpr_timespec deadline = five_seconds_time(); - - grpc_end2end_test_fixture f = - begin_test(config, test_name, process_auth_md_failure, NONE); - cq_verifier *cqv = cq_verifier_create(f.cq); +static void test_request_with_server_rejecting_client_creds( + grpc_end2end_test_config config) { grpc_op ops[6]; grpc_op *op; + grpc_call *c; + grpc_auth_metadata_processor p; + grpc_end2end_test_fixture f; + gpr_timespec deadline = five_seconds_time(); + cq_verifier *cqv; grpc_metadata_array initial_metadata_recv; grpc_metadata_array trailing_metadata_recv; grpc_metadata_array request_metadata_recv; - grpc_byte_buffer *request_payload_recv = NULL; - grpc_byte_buffer *response_payload_recv = NULL; grpc_call_details call_details; grpc_status_code status; char *details = NULL; size_t details_capacity = 0; - int was_cancelled = 2; - grpc_credentials *creds = NULL; - grpc_auth_context *s_auth_context = NULL; - grpc_auth_context *c_auth_context = NULL; + grpc_byte_buffer *response_payload_recv = NULL; + gpr_slice request_payload_slice = gpr_slice_from_copied_string("hello world"); + grpc_byte_buffer *request_payload = + grpc_raw_byte_buffer_create(&request_payload_slice, 1); + override_mode mode = NONE; + grpc_credentials *creds; + + p.process = process_auth_md_failure; + p.state = &mode; + f = begin_test(config, "test_request_with_server_rejecting_client_creds", p); + cqv = cq_verifier_create(f.cq); c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", deadline); GPR_ASSERT(c); + creds = iam_custom_composite_creds_create(iam_token, iam_selector); GPR_ASSERT(creds != NULL); GPR_ASSERT(grpc_call_set_credentials(c, creds) == GRPC_CALL_OK); - switch (mode) { - case NONE: - break; - case OVERRIDE: - grpc_credentials_release(creds); - creds = iam_custom_composite_creds_create(overridden_iam_token, - overridden_iam_selector); - GPR_ASSERT(creds != NULL); - GPR_ASSERT(grpc_call_set_credentials(c, creds) == GRPC_CALL_OK); - break; - case DESTROY: - GPR_ASSERT(grpc_call_set_credentials(c, NULL) == GRPC_CALL_OK); - break; - } grpc_credentials_release(creds); grpc_metadata_array_init(&initial_metadata_recv); @@ -502,6 +500,13 @@ static void test_request_with_bad_creds(void) { grpc_call_details_init(&call_details); op = ops; + op->op = GRPC_OP_RECV_STATUS_ON_CLIENT; + op->data.recv_status_on_client.trailing_metadata = &trailing_metadata_recv; + op->data.recv_status_on_client.status = &status; + op->data.recv_status_on_client.status_details = &details; + op->data.recv_status_on_client.status_details_capacity = &details_capacity; + op->flags = 0; + op++; op->op = GRPC_OP_SEND_INITIAL_METADATA; op->data.send_initial_metadata.count = 0; op->flags = 0; @@ -521,134 +526,31 @@ static void test_request_with_bad_creds(void) { op->data.recv_message = &response_payload_recv; op->flags = 0; op++; - op->op = GRPC_OP_RECV_STATUS_ON_CLIENT; - op->data.recv_status_on_client.trailing_metadata = &trailing_metadata_recv; - op->data.recv_status_on_client.status = &status; - op->data.recv_status_on_client.status_details = &details; - op->data.recv_status_on_client.status_details_capacity = &details_capacity; - op->flags = 0; - op++; GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(c, ops, op - ops, tag(1))); - GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call( - f.server, &s, &call_details, - &request_metadata_recv, f.cq, f.cq, tag(101))); - cq_expect_completion(cqv, tag(101), 1); - cq_verify(cqv); - s_auth_context = grpc_call_auth_context(s); - GPR_ASSERT(s_auth_context != NULL); - print_auth_context(0, s_auth_context); - grpc_auth_context_release(s_auth_context); - - c_auth_context = grpc_call_auth_context(c); - GPR_ASSERT(c_auth_context != NULL); - print_auth_context(1, c_auth_context); - grpc_auth_context_release(c_auth_context); - - /* Cannot set creds on the server call object. */ - GPR_ASSERT(grpc_call_set_credentials(s, NULL) != GRPC_CALL_OK); - - op = ops; - op->op = GRPC_OP_SEND_INITIAL_METADATA; - op->data.send_initial_metadata.count = 0; - op->flags = 0; - op++; - op->op = GRPC_OP_RECV_MESSAGE; - op->data.recv_message = &request_payload_recv; - op->flags = 0; - op++; - GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(s, ops, op - ops, tag(102))); - - cq_expect_completion(cqv, tag(102), 1); - cq_verify(cqv); - - op = ops; - op->op = GRPC_OP_RECV_CLOSE_ON_SERVER; - op->data.recv_close_on_server.cancelled = &was_cancelled; - op->flags = 0; - op++; - op->op = GRPC_OP_SEND_MESSAGE; - op->data.send_message = response_payload; - op->flags = 0; - op++; - op->op = GRPC_OP_SEND_STATUS_FROM_SERVER; - op->data.send_status_from_server.trailing_metadata_count = 0; - op->data.send_status_from_server.status = GRPC_STATUS_OK; - op->data.send_status_from_server.status_details = "xyz"; - op->flags = 0; - op++; - GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(s, ops, op - ops, tag(103))); - - cq_expect_completion(cqv, tag(103), 1); cq_expect_completion(cqv, tag(1), 1); cq_verify(cqv); - GPR_ASSERT(status == GRPC_STATUS_OK); - GPR_ASSERT(0 == strcmp(details, "xyz")); - GPR_ASSERT(0 == strcmp(call_details.method, "/foo")); - GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.fr")); - GPR_ASSERT(was_cancelled == 0); - GPR_ASSERT(byte_buffer_eq_string(request_payload_recv, "hello world")); - GPR_ASSERT(byte_buffer_eq_string(response_payload_recv, "hello you")); - - /* Has been processed by the auth metadata processor. */ - GPR_ASSERT(!contains_metadata(&request_metadata_recv, custom_creds_md_name, - custom_creds_md_value)); - - switch (mode) { - case NONE: - GPR_ASSERT(contains_metadata(&request_metadata_recv, - GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY, - iam_token)); - GPR_ASSERT(contains_metadata(&request_metadata_recv, - GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY, - iam_selector)); - check_peer_identity(s_auth_context, client_identity); - break; - case OVERRIDE: - GPR_ASSERT(contains_metadata(&request_metadata_recv, - GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY, - overridden_iam_token)); - GPR_ASSERT(contains_metadata(&request_metadata_recv, - GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY, - overridden_iam_selector)); - check_peer_identity(s_auth_context, client_identity); - break; - case DESTROY: - GPR_ASSERT(!contains_metadata(&request_metadata_recv, - GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY, - iam_token)); - GPR_ASSERT(!contains_metadata(&request_metadata_recv, - GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY, - iam_selector)); - GPR_ASSERT(!contains_metadata(&request_metadata_recv, - GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY, - overridden_iam_token)); - GPR_ASSERT(!contains_metadata(&request_metadata_recv, - GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY, - overridden_iam_selector)); - break; - } + /* XXX Should be GRPC_STATUS_UNAUTHENTICATED but it looks like there is a bug + (probably in the server_auth_context.c code) where this error on the server + does not get to the client. The current error code we are getting is + GRPC_STATUS_INTERNAL. */ + GPR_ASSERT(status != GRPC_STATUS_OK); - gpr_free(details); grpc_metadata_array_destroy(&initial_metadata_recv); grpc_metadata_array_destroy(&trailing_metadata_recv); grpc_metadata_array_destroy(&request_metadata_recv); grpc_call_details_destroy(&call_details); - grpc_call_destroy(c); - grpc_call_destroy(s); - - cq_verifier_destroy(cqv); - grpc_byte_buffer_destroy(request_payload); - grpc_byte_buffer_destroy(response_payload); - grpc_byte_buffer_destroy(request_payload_recv); grpc_byte_buffer_destroy(response_payload_recv); + gpr_free(details); + grpc_call_destroy(c); + + cq_verifier_destroy(cqv); end_test(&f); config.tear_down_data(&f); -#endif } void grpc_end2end_tests(grpc_end2end_test_config config) { @@ -657,6 +559,6 @@ void grpc_end2end_tests(grpc_end2end_test_config config) { test_request_response_with_payload_and_call_creds(config); test_request_response_with_payload_and_overridden_call_creds(config); test_request_response_with_payload_and_deleted_call_creds(config); - test_request_with_bad_creds(); + test_request_with_server_rejecting_client_creds(config); } } -- cgit v1.2.3 From 66a27daef6e0acc4ad9d3789580e1d3107670c9d Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Tue, 21 Jul 2015 17:17:35 -0700 Subject: Putting the auth metadata processor on the server creds. --- src/core/security/security_context.c | 32 ++++ src/core/security/security_context.h | 4 +- src/core/security/server_auth_filter.c | 17 +- src/core/security/server_secure_chttp2.c | 11 +- .../chttp2_simple_ssl_with_oauth2_fullstack.c | 42 ++++- .../request_response_with_payload_and_call_creds.c | 201 +-------------------- 6 files changed, 99 insertions(+), 208 deletions(-) (limited to 'test/core') diff --git a/src/core/security/security_context.c b/src/core/security/security_context.c index 8ccce89ba9..1ef0fc9255 100644 --- a/src/core/security/security_context.c +++ b/src/core/security/security_context.c @@ -295,3 +295,35 @@ void grpc_auth_property_reset(grpc_auth_property *property) { memset(property, 0, sizeof(grpc_auth_property)); } +grpc_arg grpc_auth_metadata_processor_to_arg(grpc_auth_metadata_processor *p) { + grpc_arg arg; + memset(&arg, 0, sizeof(grpc_arg)); + arg.type = GRPC_ARG_POINTER; + arg.key = GRPC_AUTH_METADATA_PROCESSOR_ARG; + arg.value.pointer.p = p; + return arg; +} + +grpc_auth_metadata_processor *grpc_auth_metadata_processor_from_arg( + const grpc_arg *arg) { + if (strcmp(arg->key, GRPC_AUTH_METADATA_PROCESSOR_ARG) != 0) return NULL; + if (arg->type != GRPC_ARG_POINTER) { + gpr_log(GPR_ERROR, "Invalid type %d for arg %s", arg->type, + GRPC_AUTH_METADATA_PROCESSOR_ARG); + return NULL; + } + return arg->value.pointer.p; +} + +grpc_auth_metadata_processor *grpc_find_auth_metadata_processor_in_args( + const grpc_channel_args *args) { + size_t i; + if (args == NULL) return NULL; + for (i = 0; i < args->num_args; i++) { + grpc_auth_metadata_processor *p = + grpc_auth_metadata_processor_from_arg(&args->args[i]); + if (p != NULL) return p; + } + return NULL; +} + diff --git a/src/core/security/security_context.h b/src/core/security/security_context.h index 5df5311d70..ddc0a7afad 100644 --- a/src/core/security/security_context.h +++ b/src/core/security/security_context.h @@ -108,8 +108,10 @@ void grpc_server_security_context_destroy(void *ctx); #define GRPC_AUTH_METADATA_PROCESSOR_ARG "grpc.auth_metadata_processor" grpc_arg grpc_auth_metadata_processor_to_arg(grpc_auth_metadata_processor *p); -grpc_auth_metadata_processor grpc_auth_metadata_processor_from_arg( +grpc_auth_metadata_processor *grpc_auth_metadata_processor_from_arg( const grpc_arg *arg); +grpc_auth_metadata_processor *grpc_find_auth_metadata_processor_in_args( + const grpc_channel_args *args); #endif /* GRPC_INTERNAL_CORE_SECURITY_SECURITY_CONTEXT_H */ diff --git a/src/core/security/server_auth_filter.c b/src/core/security/server_auth_filter.c index 918cb401eb..cc26055440 100644 --- a/src/core/security/server_auth_filter.c +++ b/src/core/security/server_auth_filter.c @@ -59,6 +59,7 @@ typedef struct call_data { typedef struct channel_data { grpc_security_connector *security_connector; + grpc_auth_metadata_processor processor; grpc_mdctx *mdctx; } channel_data; @@ -142,18 +143,16 @@ static void auth_on_recv(void *user_data, int success) { grpc_stream_op *ops = calld->recv_ops->ops; for (i = 0; i < nops; i++) { grpc_metadata_array md_array; - grpc_auth_metadata_processor processor = - grpc_server_get_auth_metadata_processor(); grpc_stream_op *op = &ops[i]; if (op->type != GRPC_OP_METADATA || calld->got_client_metadata) continue; calld->got_client_metadata = 1; - if (processor.process == NULL) continue; + if (chand->processor.process == NULL) continue; calld->md_op = op; md_array = metadata_batch_to_md_array(&op->data.metadata); - processor.process(processor.state, &calld->ticket, - chand->security_connector->auth_context, - md_array.metadata, md_array.count, - on_md_processing_done, elem); + chand->processor.process(chand->processor.state, &calld->ticket, + chand->security_connector->auth_context, + md_array.metadata, md_array.count, + on_md_processing_done, elem); grpc_metadata_array_destroy(&md_array); return; } @@ -233,6 +232,8 @@ static void init_channel_elem(grpc_channel_element *elem, grpc_channel *master, const grpc_channel_args *args, grpc_mdctx *mdctx, int is_first, int is_last) { grpc_security_connector *sc = grpc_find_security_connector_in_args(args); + grpc_auth_metadata_processor *processor = + grpc_find_auth_metadata_processor_in_args(args); /* grab pointers to our data from the channel element */ channel_data *chand = elem->channel_data; @@ -242,12 +243,14 @@ static void init_channel_elem(grpc_channel_element *elem, grpc_channel *master, GPR_ASSERT(!is_first); GPR_ASSERT(!is_last); GPR_ASSERT(sc != NULL); + GPR_ASSERT(processor != NULL); /* initialize members */ GPR_ASSERT(!sc->is_client_side); chand->security_connector = GRPC_SECURITY_CONNECTOR_REF(sc, "server_auth_filter"); chand->mdctx = mdctx; + chand->processor = *processor; } /* Destructor for channel data */ diff --git a/src/core/security/server_secure_chttp2.c b/src/core/security/server_secure_chttp2.c index 5dcd7e2f92..8d9d036d80 100644 --- a/src/core/security/server_secure_chttp2.c +++ b/src/core/security/server_secure_chttp2.c @@ -43,6 +43,7 @@ #include "src/core/security/auth_filters.h" #include "src/core/security/credentials.h" #include "src/core/security/security_connector.h" +#include "src/core/security/security_context.h" #include "src/core/security/secure_transport_setup.h" #include "src/core/surface/server.h" #include "src/core/transport/chttp2_transport.h" @@ -87,9 +88,13 @@ static void setup_transport(void *statep, grpc_transport *transport, static grpc_channel_filter const *extra_filters[] = { &grpc_server_auth_filter, &grpc_http_server_filter}; grpc_server_secure_state *state = statep; - grpc_arg connector_arg = grpc_security_connector_to_arg(state->sc); - grpc_channel_args *args_copy = grpc_channel_args_copy_and_add( - grpc_server_get_channel_args(state->server), &connector_arg, 1); + grpc_channel_args *args_copy; + grpc_arg args_to_add[2]; + args_to_add[0] = grpc_security_connector_to_arg(state->sc); + args_to_add[1] = grpc_auth_metadata_processor_to_arg(&state->processor); + args_copy = grpc_channel_args_copy_and_add( + grpc_server_get_channel_args(state->server), args_to_add, + GPR_ARRAY_SIZE(args_to_add)); grpc_server_setup_transport(state->server, transport, extra_filters, GPR_ARRAY_SIZE(extra_filters), mdctx, args_copy); grpc_channel_args_destroy(args_copy); diff --git a/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c b/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c index da658a0b45..c926a4e4b7 100644 --- a/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c +++ b/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c @@ -46,10 +46,46 @@ #include "test/core/util/port.h" #include "test/core/end2end/data/ssl_test_data.h" +static const char oauth2_md[] = "Bearer aaslkfjs424535asdf"; +static const char *client_identity_property_name = "smurf_name"; +static const char *client_identity = "Brainy Smurf"; + typedef struct fullstack_secure_fixture_data { char *localaddr; } fullstack_secure_fixture_data; +static const grpc_metadata *find_metadata(const grpc_metadata *md, + size_t md_count, + const char *key, + const char *value) { + size_t i; + for (i = 0; i < md_count; i++) { + if (strcmp(key, md[i].key) == 0 && strlen(value) == md[i].value_length && + memcmp(md[i].value, value, md[i].value_length) == 0) { + return &md[i]; + } + } + return NULL; +} + +void process_oauth2(void *state, grpc_auth_ticket *ticket, + grpc_auth_context *channel_ctx, const grpc_metadata *md, + size_t md_count, grpc_process_auth_metadata_done_cb cb, + void *user_data) { + const grpc_metadata *oauth2 = + find_metadata(md, md_count, "Authorization", oauth2_md); + grpc_auth_context *new_ctx; + GPR_ASSERT(state == NULL); + GPR_ASSERT(oauth2 != NULL); + new_ctx = grpc_auth_context_create(channel_ctx); + grpc_auth_context_add_cstring_property(new_ctx, client_identity_property_name, + client_identity); + GPR_ASSERT(grpc_auth_context_set_peer_identity_property_name( + new_ctx, client_identity_property_name) == 1); + cb(user_data, oauth2, 1, 1, new_ctx); + grpc_auth_context_release(new_ctx); +} + static grpc_end2end_test_fixture chttp2_create_fixture_secure_fullstack( grpc_channel_args *client_args, grpc_channel_args *server_args) { grpc_end2end_test_fixture f; @@ -100,8 +136,8 @@ static void chttp2_init_client_simple_ssl_with_oauth2_secure_fullstack( grpc_end2end_test_fixture *f, grpc_channel_args *client_args) { grpc_credentials *ssl_creds = grpc_ssl_credentials_create(test_root_cert, NULL); - grpc_credentials *oauth2_creds = grpc_md_only_test_credentials_create( - "Authorization", "Bearer aaslkfjs424535asdf", 1); + grpc_credentials *oauth2_creds = + grpc_md_only_test_credentials_create("Authorization", oauth2_md, 1); grpc_credentials *ssl_oauth2_creds = grpc_composite_credentials_create(ssl_creds, oauth2_creds); grpc_arg ssl_name_override = {GRPC_ARG_STRING, @@ -121,6 +157,8 @@ static void chttp2_init_server_simple_ssl_secure_fullstack( test_server1_cert}; grpc_server_credentials *ssl_creds = grpc_ssl_server_credentials_create(NULL, &pem_key_cert_pair, 1); + grpc_auth_metadata_processor processor = {process_oauth2, NULL}; + grpc_server_credentials_set_auth_metadata_processor(ssl_creds, processor); chttp2_init_server_secure_fullstack(f, server_args, ssl_creds); } diff --git a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c index 7facb6997b..e621fcbed2 100644 --- a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c +++ b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c @@ -46,11 +46,6 @@ #include "src/core/security/credentials.h" #include "src/core/support/string.h" -static const char *custom_creds_md_name = "custom_creds"; -static const char *custom_creds_md_value = "custom_value"; -static const char *client_identity_property_name = "smurf_name"; -static const char *client_identity = "Brainy Smurf"; - static const char iam_token[] = "token"; static const char iam_selector[] = "selector"; static const char overridden_iam_token[] = "overridden_token"; @@ -62,73 +57,9 @@ enum { TIMEOUT = 200000 }; static void *tag(gpr_intptr t) { return (void *)t; } -static const grpc_metadata *find_metadata(const grpc_metadata *md, - size_t md_count, - const char *key, - const char *value) { - size_t i; - for (i = 0; i < md_count; i++) { - if (strcmp(key, md[i].key) == 0 && strlen(value) == md[i].value_length && - memcmp(md[i].value, value, md[i].value_length) == 0) { - return &md[i]; - } - } - return NULL; -} - -static void check_peer_identity(grpc_auth_context *ctx, - const char *expected_identity) { - grpc_auth_property_iterator it = grpc_auth_context_peer_identity(ctx); - const grpc_auth_property *prop = grpc_auth_property_iterator_next(&it); - GPR_ASSERT(prop != NULL); - GPR_ASSERT(strcmp(expected_identity, prop->value) == 0); - GPR_ASSERT(grpc_auth_property_iterator_next(&it) == NULL); -} -static void process_auth_md_success(void *state, grpc_auth_ticket *t, - grpc_auth_context *channel_ctx, - const grpc_metadata *md, size_t md_count, - grpc_process_auth_metadata_done_cb cb, - void *user_data) { - override_mode *mode; - GPR_ASSERT(state != NULL); - mode = (override_mode *)state; - if (*mode != DESTROY) { - grpc_auth_context *new_auth_ctx = grpc_auth_context_create(channel_ctx); - const grpc_metadata *custom_creds_md = find_metadata( - md, md_count, custom_creds_md_name, custom_creds_md_value); - GPR_ASSERT(custom_creds_md != NULL); - grpc_auth_context_add_cstring_property( - new_auth_ctx, client_identity_property_name, client_identity); - GPR_ASSERT(grpc_auth_context_set_peer_identity_property_name( - new_auth_ctx, client_identity_property_name) == 1); - cb(user_data, custom_creds_md, 1, 1, new_auth_ctx); - grpc_auth_context_release(new_auth_ctx); - } else { - cb(user_data, NULL, 0, 1, channel_ctx); - } -} - -static void process_auth_md_failure(void *state, grpc_auth_ticket *t, - grpc_auth_context *channel_ctx, - const grpc_metadata *md, size_t md_count, - grpc_process_auth_metadata_done_cb cb, - void *user_data) { - override_mode *mode; - GPR_ASSERT(state != NULL); - mode = (override_mode *)state; - if (*mode != DESTROY) { - const grpc_metadata *custom_creds_md = find_metadata( - md, md_count, custom_creds_md_name, custom_creds_md_value); - GPR_ASSERT(custom_creds_md != NULL); - } - cb(user_data, NULL, 0, 0, NULL); /* Fail. */ -} - static grpc_end2end_test_fixture begin_test( - grpc_end2end_test_config config, const char *test_name, - grpc_auth_metadata_processor processor) { + grpc_end2end_test_config config, const char *test_name) { grpc_end2end_test_fixture f; - grpc_server_register_auth_metadata_processor(processor); gpr_log(GPR_INFO, "%s/%s", test_name, config.name); f = config.create_fixture(NULL, NULL); config.init_client(&f, NULL); @@ -191,24 +122,10 @@ static void print_auth_context(int is_client, const grpc_auth_context *ctx) { } } -static grpc_credentials *iam_custom_composite_creds_create( - const char *iam_tok, const char *iam_sel) { - grpc_credentials *iam_creds = grpc_iam_credentials_create(iam_tok, iam_sel); - grpc_credentials *custom_creds = grpc_md_only_test_credentials_create( - custom_creds_md_name, custom_creds_md_value, 1); - grpc_credentials *result = - grpc_composite_credentials_create(iam_creds, custom_creds); - grpc_credentials_release(iam_creds); - grpc_credentials_release(custom_creds); - return result; -} - static void test_call_creds_failure(grpc_end2end_test_config config) { grpc_call *c; grpc_credentials *creds = NULL; - grpc_auth_metadata_processor p = {NULL, NULL}; - grpc_end2end_test_fixture f = - begin_test(config, "test_call_creds_failure", p); + grpc_end2end_test_fixture f = begin_test(config, "test_call_creds_failure"); gpr_timespec deadline = five_seconds_time(); c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", deadline); @@ -237,7 +154,6 @@ static void request_response_with_payload_and_call_creds( grpc_byte_buffer *response_payload = grpc_raw_byte_buffer_create(&response_payload_slice, 1); gpr_timespec deadline = five_seconds_time(); - grpc_auth_metadata_processor p; grpc_end2end_test_fixture f; cq_verifier *cqv; grpc_op ops[6]; @@ -256,15 +172,13 @@ static void request_response_with_payload_and_call_creds( grpc_auth_context *s_auth_context = NULL; grpc_auth_context *c_auth_context = NULL; - p.process = process_auth_md_success; - p.state = &mode; - f = begin_test(config, test_name, p); + f = begin_test(config, test_name); cqv = cq_verifier_create(f.cq); c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", deadline); GPR_ASSERT(c); - creds = iam_custom_composite_creds_create(iam_token, iam_selector); + creds = grpc_iam_credentials_create(iam_token, iam_selector); GPR_ASSERT(creds != NULL); GPR_ASSERT(grpc_call_set_credentials(c, creds) == GRPC_CALL_OK); switch (mode) { @@ -272,8 +186,8 @@ static void request_response_with_payload_and_call_creds( break; case OVERRIDE: grpc_credentials_release(creds); - creds = iam_custom_composite_creds_create(overridden_iam_token, - overridden_iam_selector); + creds = grpc_iam_credentials_create(overridden_iam_token, + overridden_iam_selector); GPR_ASSERT(creds != NULL); GPR_ASSERT(grpc_call_set_credentials(c, creds) == GRPC_CALL_OK); break; @@ -378,10 +292,6 @@ static void request_response_with_payload_and_call_creds( GPR_ASSERT(byte_buffer_eq_string(request_payload_recv, "hello world")); GPR_ASSERT(byte_buffer_eq_string(response_payload_recv, "hello you")); - /* Has been processed by the auth metadata processor. */ - GPR_ASSERT(!contains_metadata(&request_metadata_recv, custom_creds_md_name, - custom_creds_md_value)); - switch (mode) { case NONE: GPR_ASSERT(contains_metadata(&request_metadata_recv, @@ -390,7 +300,6 @@ static void request_response_with_payload_and_call_creds( GPR_ASSERT(contains_metadata(&request_metadata_recv, GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY, iam_selector)); - check_peer_identity(s_auth_context, client_identity); break; case OVERRIDE: GPR_ASSERT(contains_metadata(&request_metadata_recv, @@ -399,7 +308,6 @@ static void request_response_with_payload_and_call_creds( GPR_ASSERT(contains_metadata(&request_metadata_recv, GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY, overridden_iam_selector)); - check_peer_identity(s_auth_context, client_identity); break; case DESTROY: GPR_ASSERT(!contains_metadata(&request_metadata_recv, @@ -457,108 +365,11 @@ static void test_request_response_with_payload_and_deleted_call_creds( DESTROY); } -static void test_request_with_server_rejecting_client_creds( - grpc_end2end_test_config config) { - grpc_op ops[6]; - grpc_op *op; - grpc_call *c; - grpc_auth_metadata_processor p; - grpc_end2end_test_fixture f; - gpr_timespec deadline = five_seconds_time(); - cq_verifier *cqv; - grpc_metadata_array initial_metadata_recv; - grpc_metadata_array trailing_metadata_recv; - grpc_metadata_array request_metadata_recv; - grpc_call_details call_details; - grpc_status_code status; - char *details = NULL; - size_t details_capacity = 0; - grpc_byte_buffer *response_payload_recv = NULL; - gpr_slice request_payload_slice = gpr_slice_from_copied_string("hello world"); - grpc_byte_buffer *request_payload = - grpc_raw_byte_buffer_create(&request_payload_slice, 1); - override_mode mode = NONE; - grpc_credentials *creds; - - p.process = process_auth_md_failure; - p.state = &mode; - f = begin_test(config, "test_request_with_server_rejecting_client_creds", p); - cqv = cq_verifier_create(f.cq); - - c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", - deadline); - GPR_ASSERT(c); - - creds = iam_custom_composite_creds_create(iam_token, iam_selector); - GPR_ASSERT(creds != NULL); - GPR_ASSERT(grpc_call_set_credentials(c, creds) == GRPC_CALL_OK); - grpc_credentials_release(creds); - - grpc_metadata_array_init(&initial_metadata_recv); - grpc_metadata_array_init(&trailing_metadata_recv); - grpc_metadata_array_init(&request_metadata_recv); - grpc_call_details_init(&call_details); - - op = ops; - op->op = GRPC_OP_RECV_STATUS_ON_CLIENT; - op->data.recv_status_on_client.trailing_metadata = &trailing_metadata_recv; - op->data.recv_status_on_client.status = &status; - op->data.recv_status_on_client.status_details = &details; - op->data.recv_status_on_client.status_details_capacity = &details_capacity; - op->flags = 0; - op++; - op->op = GRPC_OP_SEND_INITIAL_METADATA; - op->data.send_initial_metadata.count = 0; - op->flags = 0; - op++; - op->op = GRPC_OP_SEND_MESSAGE; - op->data.send_message = request_payload; - op->flags = 0; - op++; - op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT; - op->flags = 0; - op++; - op->op = GRPC_OP_RECV_INITIAL_METADATA; - op->data.recv_initial_metadata = &initial_metadata_recv; - op->flags = 0; - op++; - op->op = GRPC_OP_RECV_MESSAGE; - op->data.recv_message = &response_payload_recv; - op->flags = 0; - op++; - GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(c, ops, op - ops, tag(1))); - - cq_expect_completion(cqv, tag(1), 1); - cq_verify(cqv); - - /* XXX Should be GRPC_STATUS_UNAUTHENTICATED but it looks like there is a bug - (probably in the server_auth_context.c code) where this error on the server - does not get to the client. The current error code we are getting is - GRPC_STATUS_INTERNAL. */ - GPR_ASSERT(status != GRPC_STATUS_OK); - - grpc_metadata_array_destroy(&initial_metadata_recv); - grpc_metadata_array_destroy(&trailing_metadata_recv); - grpc_metadata_array_destroy(&request_metadata_recv); - grpc_call_details_destroy(&call_details); - - grpc_byte_buffer_destroy(request_payload); - grpc_byte_buffer_destroy(response_payload_recv); - gpr_free(details); - - grpc_call_destroy(c); - - cq_verifier_destroy(cqv); - end_test(&f); - config.tear_down_data(&f); -} - void grpc_end2end_tests(grpc_end2end_test_config config) { if (config.feature_mask & FEATURE_MASK_SUPPORTS_PER_CALL_CREDENTIALS) { test_call_creds_failure(config); test_request_response_with_payload_and_call_creds(config); test_request_response_with_payload_and_overridden_call_creds(config); test_request_response_with_payload_and_deleted_call_creds(config); - test_request_with_server_rejecting_client_creds(config); } } -- cgit v1.2.3 From 45ce927c7cf7abbdb452989d6d58c875a800e4ea Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 31 Jul 2015 11:22:35 -0700 Subject: Properly send GRPC_STATUS_UNAUTHENTICATED from server auth failures --- src/core/channel/compress_filter.c | 10 +- src/core/security/client_auth_filter.c | 6 +- src/core/security/server_auth_filter.c | 10 +- src/core/transport/chttp2/internal.h | 2 + src/core/transport/chttp2_transport.c | 113 +++++++++++++++++++++ src/core/transport/metadata.c | 2 + src/core/transport/transport.c | 52 +++++++++- src/core/transport/transport.h | 13 ++- .../request_response_with_payload_and_call_creds.c | 2 +- 9 files changed, 189 insertions(+), 21 deletions(-) (limited to 'test/core') diff --git a/src/core/channel/compress_filter.c b/src/core/channel/compress_filter.c index 9fc8589fbb..8963c13b0f 100644 --- a/src/core/channel/compress_filter.c +++ b/src/core/channel/compress_filter.c @@ -204,7 +204,7 @@ static void process_send_ops(grpc_call_element *elem, } grpc_metadata_batch_add_tail( &(sop->data.metadata), &calld->compression_algorithm_storage, - grpc_mdelem_ref(channeld->mdelem_compression_algorithms + GRPC_MDELEM_REF(channeld->mdelem_compression_algorithms [calld->compression_algorithm])); calld->written_initial_metadata = 1; /* GPR_TRUE */ } @@ -295,7 +295,7 @@ static void init_channel_elem(grpc_channel_element *elem, grpc_channel *master, channeld->mdelem_compression_algorithms[algo_idx] = grpc_mdelem_from_metadata_strings( mdctx, - grpc_mdstr_ref(channeld->mdstr_outgoing_compression_algorithm_key), + GRPC_MDSTR_REF(channeld->mdstr_outgoing_compression_algorithm_key), grpc_mdstr_from_string(mdctx, algorithm_name, 0)); } @@ -307,11 +307,11 @@ static void destroy_channel_elem(grpc_channel_element *elem) { channel_data *channeld = elem->channel_data; grpc_compression_algorithm algo_idx; - grpc_mdstr_unref(channeld->mdstr_request_compression_algorithm_key); - grpc_mdstr_unref(channeld->mdstr_outgoing_compression_algorithm_key); + GRPC_MDSTR_UNREF(channeld->mdstr_request_compression_algorithm_key); + GRPC_MDSTR_UNREF(channeld->mdstr_outgoing_compression_algorithm_key); for (algo_idx = 0; algo_idx < GRPC_COMPRESS_ALGORITHMS_COUNT; ++algo_idx) { - grpc_mdelem_unref(channeld->mdelem_compression_algorithms[algo_idx]); + GRPC_MDELEM_UNREF(channeld->mdelem_compression_algorithms[algo_idx]); } } diff --git a/src/core/security/client_auth_filter.c b/src/core/security/client_auth_filter.c index e86b5430b2..e2d1b6fce9 100644 --- a/src/core/security/client_auth_filter.c +++ b/src/core/security/client_auth_filter.c @@ -77,10 +77,8 @@ typedef struct { static void bubble_up_error(grpc_call_element *elem, const char *error_msg) { call_data *calld = elem->call_data; - channel_data *chand = elem->channel_data; - grpc_transport_stream_op_add_cancellation( - &calld->op, GRPC_STATUS_UNAUTHENTICATED, - grpc_mdstr_from_string(chand->md_ctx, error_msg, 0)); + grpc_transport_stream_op_add_cancellation(&calld->op, + GRPC_STATUS_UNAUTHENTICATED); grpc_call_next_op(elem, &calld->op); } diff --git a/src/core/security/server_auth_filter.c b/src/core/security/server_auth_filter.c index 10dfb09926..fd0f94b19c 100644 --- a/src/core/security/server_auth_filter.c +++ b/src/core/security/server_auth_filter.c @@ -110,7 +110,6 @@ static void on_md_processing_done(void *user_data, grpc_auth_context *result) { grpc_call_element *elem = user_data; call_data *calld = elem->call_data; - channel_data *chand = elem->channel_data; if (success) { calld->consumed_md = consumed_md; @@ -124,10 +123,11 @@ static void on_md_processing_done(void *user_data, GRPC_AUTH_CONTEXT_REF(result, "refing new context."); calld->on_done_recv->cb(calld->on_done_recv->cb_arg, success); } else { - grpc_transport_stream_op_add_cancellation( - &calld->transport_op, GRPC_STATUS_UNAUTHENTICATED, - grpc_mdstr_from_string(chand->mdctx, - "Authentication metadata processing failed.")); + gpr_slice message = gpr_slice_from_copied_string( + "Authentication metadata processing failed."); + grpc_sopb_reset(calld->recv_ops); + grpc_transport_stream_op_add_close(&calld->transport_op, + GRPC_STATUS_UNAUTHENTICATED, &message); grpc_call_next_op(elem, &calld->transport_op); } } diff --git a/src/core/transport/chttp2/internal.h b/src/core/transport/chttp2/internal.h index f0eeb6de50..74b3a591d5 100644 --- a/src/core/transport/chttp2/internal.h +++ b/src/core/transport/chttp2/internal.h @@ -384,6 +384,8 @@ typedef struct { gpr_uint8 in_stream_map; /** is this stream actively being written? */ gpr_uint8 writing_now; + /** has anything been written to this stream? */ + gpr_uint8 written_anything; /** stream state already published to the upper layer */ grpc_stream_state published_state; diff --git a/src/core/transport/chttp2_transport.c b/src/core/transport/chttp2_transport.c index 1ea4a82c16..c8c4207208 100644 --- a/src/core/transport/chttp2_transport.c +++ b/src/core/transport/chttp2_transport.c @@ -107,6 +107,11 @@ static void cancel_from_api(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global, grpc_status_code status); +static void close_from_api(grpc_chttp2_transport_global *transport_global, + grpc_chttp2_stream_global *stream_global, + grpc_status_code status, + gpr_slice *optional_message); + /** Add endpoint from this transport to pollset */ static void add_to_pollset_locked(grpc_chttp2_transport *t, grpc_pollset *pollset); @@ -602,10 +607,16 @@ static void perform_stream_op_locked( cancel_from_api(transport_global, stream_global, op->cancel_with_status); } + if (op->close_with_status != GRPC_STATUS_OK) { + close_from_api(transport_global, stream_global, op->close_with_status, + op->optional_close_message); + } + if (op->send_ops) { GPR_ASSERT(stream_global->outgoing_sopb == NULL); stream_global->send_done_closure = op->on_done_send; if (!stream_global->cancelled) { + stream_global->written_anything = 1; stream_global->outgoing_sopb = op->send_ops; if (op->is_last_send && stream_global->write_state == GRPC_WRITE_STATE_OPEN) { @@ -894,6 +905,108 @@ static void cancel_from_api(grpc_chttp2_transport_global *transport_global, stream_global); } +static void close_from_api(grpc_chttp2_transport_global *transport_global, + grpc_chttp2_stream_global *stream_global, + grpc_status_code status, + gpr_slice *optional_message) { + gpr_slice hdr; + gpr_slice status_hdr; + gpr_slice message_pfx; + gpr_uint8 *p; + gpr_uint32 len = 0; + + GPR_ASSERT(status >= 0 && (int)status < 100); + + stream_global->cancelled = 1; + stream_global->cancelled_status = status; + GPR_ASSERT(stream_global->id != 0); + GPR_ASSERT(!stream_global->written_anything); + + /* Hand roll a header block. + This is unnecessarily ugly - at some point we should find a more elegant + solution. + It's complicated by the fact that our send machinery would be dead by the + time we got around to sending this, so instead we ignore HPACK compression + and just write the uncompressed bytes onto the wire. */ + status_hdr = gpr_slice_malloc(15 + (status >= 10)); + p = GPR_SLICE_START_PTR(status_hdr); + *p++ = 0x40; /* literal header */ + *p++ = 11; /* len(grpc-status) */ + *p++ = 'g'; + *p++ = 'r'; + *p++ = 'p'; + *p++ = 'c'; + *p++ = '-'; + *p++ = 's'; + *p++ = 't'; + *p++ = 'a'; + *p++ = 't'; + *p++ = 'u'; + *p++ = 's'; + if (status < 10) { + *p++ = 1; + *p++ = '0' + status; + } else { + *p++ = 2; + *p++ = '0' + (status / 10); + *p++ = '0' + (status % 10); + } + GPR_ASSERT(p == GPR_SLICE_END_PTR(status_hdr)); + len += GPR_SLICE_LENGTH(status_hdr); + + if (optional_message) { + GPR_ASSERT(GPR_SLICE_LENGTH(*optional_message) < 127); + message_pfx = gpr_slice_malloc(15); + p = GPR_SLICE_START_PTR(message_pfx); + *p++ = 0x40; + *p++ = 12; /* len(grpc-message) */ + *p++ = 'g'; + *p++ = 'r'; + *p++ = 'p'; + *p++ = 'c'; + *p++ = '-'; + *p++ = 'm'; + *p++ = 'e'; + *p++ = 's'; + *p++ = 's'; + *p++ = 'a'; + *p++ = 'g'; + *p++ = 'e'; + *p++ = GPR_SLICE_LENGTH(*optional_message); + GPR_ASSERT(p == GPR_SLICE_END_PTR(message_pfx)); + len += GPR_SLICE_LENGTH(message_pfx); + len += GPR_SLICE_LENGTH(*optional_message); + } + + hdr = gpr_slice_malloc(9); + p = GPR_SLICE_START_PTR(hdr); + *p++ = len >> 16; + *p++ = len >> 8; + *p++ = len; + *p++ = GRPC_CHTTP2_FRAME_HEADER; + *p++ = GRPC_CHTTP2_DATA_FLAG_END_STREAM | GRPC_CHTTP2_DATA_FLAG_END_HEADERS; + *p++ = stream_global->id >> 24; + *p++ = stream_global->id >> 16; + *p++ = stream_global->id >> 8; + *p++ = stream_global->id; + GPR_ASSERT(p == GPR_SLICE_END_PTR(hdr)); + + gpr_slice_buffer_add(&transport_global->qbuf, hdr); + gpr_slice_buffer_add(&transport_global->qbuf, status_hdr); + if (optional_message) { + gpr_slice_buffer_add(&transport_global->qbuf, message_pfx); + gpr_slice_buffer_add(&transport_global->qbuf, + gpr_slice_ref(*optional_message)); + } + + gpr_slice_buffer_add( + &transport_global->qbuf, + grpc_chttp2_rst_stream_create(stream_global->id, GRPC_CHTTP2_NO_ERROR)); + + grpc_chttp2_list_add_read_write_state_changed(transport_global, + stream_global); +} + static void cancel_stream_cb(grpc_chttp2_transport_global *transport_global, void *user_data, grpc_chttp2_stream_global *stream_global) { diff --git a/src/core/transport/metadata.c b/src/core/transport/metadata.c index 967fd4898c..44d32b6cb2 100644 --- a/src/core/transport/metadata.c +++ b/src/core/transport/metadata.c @@ -135,7 +135,9 @@ static void unlock(grpc_mdctx *ctx) { if (ctx->refs == 0) { /* uncomment if you're having trouble diagnosing an mdelem leak to make things clearer (slows down destruction a lot, however) */ +#ifdef GRPC_METADATA_REFCOUNT_DEBUG gc_mdtab(ctx); +#endif if (ctx->mdtab_count && ctx->mdtab_count == ctx->mdtab_free) { discard_metadata(ctx); } diff --git a/src/core/transport/transport.c b/src/core/transport/transport.c index 69c00b6a4f..c0d92cf93f 100644 --- a/src/core/transport/transport.c +++ b/src/core/transport/transport.c @@ -32,6 +32,8 @@ */ #include "src/core/transport/transport.h" +#include +#include #include "src/core/transport/transport_impl.h" size_t grpc_transport_stream_size(grpc_transport *transport) { @@ -83,12 +85,54 @@ void grpc_transport_stream_op_finish_with_failure( } void grpc_transport_stream_op_add_cancellation(grpc_transport_stream_op *op, - grpc_status_code status, - grpc_mdstr *message) { + grpc_status_code status) { + GPR_ASSERT(status != GRPC_STATUS_OK); if (op->cancel_with_status == GRPC_STATUS_OK) { op->cancel_with_status = status; } - if (message) { - GRPC_MDSTR_UNREF(message); + if (op->close_with_status != GRPC_STATUS_OK) { + op->close_with_status = GRPC_STATUS_OK; + if (op->optional_close_message != NULL) { + gpr_slice_unref(*op->optional_close_message); + op->optional_close_message = NULL; + } } } + +typedef struct { + gpr_slice message; + grpc_iomgr_closure *then_call; + grpc_iomgr_closure closure; +} close_message_data; + +static void free_message(void *p, int iomgr_success) { + close_message_data *cmd = p; + gpr_slice_unref(cmd->message); + if (cmd->then_call != NULL) { + cmd->then_call->cb(cmd->then_call->cb_arg, iomgr_success); + } + gpr_free(cmd); +} + +void grpc_transport_stream_op_add_close(grpc_transport_stream_op *op, + grpc_status_code status, + gpr_slice *optional_message) { + close_message_data *cmd; + GPR_ASSERT(status != GRPC_STATUS_OK); + if (op->cancel_with_status != GRPC_STATUS_OK || + op->close_with_status != GRPC_STATUS_OK) { + if (optional_message) { + gpr_slice_unref(*optional_message); + } + return; + } + if (optional_message) { + cmd = gpr_malloc(sizeof(*cmd)); + cmd->message = *optional_message; + cmd->then_call = op->on_consumed; + grpc_iomgr_closure_init(&cmd->closure, free_message, cmd); + op->on_consumed = &cmd->closure; + op->optional_close_message = &cmd->message; + } + op->close_with_status = status; +} diff --git a/src/core/transport/transport.h b/src/core/transport/transport.h index 7efcfcf970..92c1f38c5e 100644 --- a/src/core/transport/transport.h +++ b/src/core/transport/transport.h @@ -80,8 +80,14 @@ typedef struct grpc_transport_stream_op { grpc_pollset *bind_pollset; + /** If != GRPC_STATUS_OK, cancel this stream */ grpc_status_code cancel_with_status; + /** If != GRPC_STATUS_OK, send grpc-status, grpc-message, and close this + stream for both reading and writing */ + grpc_status_code close_with_status; + gpr_slice *optional_close_message; + /* Indexes correspond to grpc_context_index enum values */ grpc_call_context_element *context; } grpc_transport_stream_op; @@ -148,8 +154,11 @@ void grpc_transport_destroy_stream(grpc_transport *transport, void grpc_transport_stream_op_finish_with_failure(grpc_transport_stream_op *op); void grpc_transport_stream_op_add_cancellation(grpc_transport_stream_op *op, - grpc_status_code status, - grpc_mdstr *message); + grpc_status_code status); + +void grpc_transport_stream_op_add_close(grpc_transport_stream_op *op, + grpc_status_code status, + gpr_slice *optional_message); char *grpc_transport_stream_op_string(grpc_transport_stream_op *op); diff --git a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c index 7facb6997b..48ea0a29d4 100644 --- a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c +++ b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c @@ -535,7 +535,7 @@ static void test_request_with_server_rejecting_client_creds( (probably in the server_auth_context.c code) where this error on the server does not get to the client. The current error code we are getting is GRPC_STATUS_INTERNAL. */ - GPR_ASSERT(status != GRPC_STATUS_OK); + GPR_ASSERT(status == GRPC_STATUS_UNAUTHENTICATED); grpc_metadata_array_destroy(&initial_metadata_recv); grpc_metadata_array_destroy(&trailing_metadata_recv); -- cgit v1.2.3 From 8e9ff222999199f88344bbb9b4cee3bfc7de433f Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Mon, 3 Aug 2015 15:49:14 -0700 Subject: Removing obsolete comment. --- .../core/end2end/tests/request_response_with_payload_and_call_creds.c | 4 ---- 1 file changed, 4 deletions(-) (limited to 'test/core') diff --git a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c index 48ea0a29d4..2166bd41f7 100644 --- a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c +++ b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c @@ -531,10 +531,6 @@ static void test_request_with_server_rejecting_client_creds( cq_expect_completion(cqv, tag(1), 1); cq_verify(cqv); - /* XXX Should be GRPC_STATUS_UNAUTHENTICATED but it looks like there is a bug - (probably in the server_auth_context.c code) where this error on the server - does not get to the client. The current error code we are getting is - GRPC_STATUS_INTERNAL. */ GPR_ASSERT(status == GRPC_STATUS_UNAUTHENTICATED); grpc_metadata_array_destroy(&initial_metadata_recv); -- cgit v1.2.3 From 7b9ed35a2c0bc8d9c80492531443100d132f7489 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 4 Aug 2015 08:55:12 -0700 Subject: Allow fixtures to specify slowdown factors, use it for grpc_trace tests --- test/core/end2end/fixtures/chttp2_socket_pair_with_grpc_trace.c | 1 + test/core/util/test_config.c | 2 ++ test/core/util/test_config.h | 7 +++++-- 3 files changed, 8 insertions(+), 2 deletions(-) (limited to 'test/core') 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 c59628b959..6d2361b783 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 @@ -148,6 +148,7 @@ int main(int argc, char **argv) { /* force tracing on, with a value to force many code paths in trace.c to be taken */ gpr_setenv("GRPC_TRACE", "doesnt-exist,http,all"); + g_fixture_slowdown_factor = 10.0; grpc_test_init(argc, argv); grpc_init(); diff --git a/test/core/util/test_config.c b/test/core/util/test_config.c index 225658f5e2..cadf88a7c6 100644 --- a/test/core/util/test_config.c +++ b/test/core/util/test_config.c @@ -38,6 +38,8 @@ #include #include +double g_fixture_slowdown_factor = 1.0; + #if GPR_GETPID_IN_UNISTD_H #include static int seed(void) { return getpid(); } diff --git a/test/core/util/test_config.h b/test/core/util/test_config.h index 7028ade7b2..b2cc40bb47 100644 --- a/test/core/util/test_config.h +++ b/test/core/util/test_config.h @@ -48,8 +48,11 @@ extern "C" { #define GRPC_TEST_SLOWDOWN_MACHINE_FACTOR 1.0 #endif -#define GRPC_TEST_SLOWDOWN_FACTOR \ - (GRPC_TEST_SLOWDOWN_BUILD_FACTOR * GRPC_TEST_SLOWDOWN_MACHINE_FACTOR) +extern double g_fixture_slowdown_factor; + +#define GRPC_TEST_SLOWDOWN_FACTOR \ + (GRPC_TEST_SLOWDOWN_BUILD_FACTOR * GRPC_TEST_SLOWDOWN_MACHINE_FACTOR * \ + g_fixture_slowdown_factor) #define GRPC_TIMEOUT_SECONDS_TO_DEADLINE(x) \ gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), \ -- cgit v1.2.3 From f53d9c8d0d7264d9f2f591153670dddf92d9b4a6 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 4 Aug 2015 14:19:43 -0700 Subject: Testing port server run_tests.py will start a server (if it's not running, or if the running port server mismatches the 'current' one) that serves ports to use for tests. The server is left running after run_tests.py finishes, so that in environments such as Mac and Windows where tests run unshielded from each other, we don't start jumping on already used ports. --- BUILD | 32 ++++--- Makefile | 12 +-- build.json | 13 ++- gRPC.podspec | 20 ++-- src/core/httpcli/httpcli.c | 71 ++++++-------- src/core/httpcli/httpcli.h | 14 ++- src/core/httpcli/httpcli_security_connector.c | 49 +++++++++- src/core/httpcli/httpcli_security_connector.h | 43 --------- src/core/security/credentials.c | 4 +- src/core/security/jwt_verifier.c | 4 +- test/core/httpcli/httpcli_test.c | 4 +- test/core/security/credentials_test.c | 6 +- test/core/security/jwt_verifier_test.c | 10 +- test/core/util/port_posix.c | 66 +++++++++++++ tools/doxygen/Doxyfile.core.internal | 13 ++- tools/run_tests/jobset.py | 28 +++--- tools/run_tests/port_server.py | 105 +++++++++++++++++++++ tools/run_tests/run_tests.py | 46 ++++++++- tools/run_tests/sources_and_headers.json | 11 ++- vsprojects/grpc/grpc.vcxproj | 19 ++-- vsprojects/grpc/grpc.vcxproj.filters | 39 ++++---- vsprojects/grpc_unsecure/grpc_unsecure.vcxproj | 9 ++ .../grpc_unsecure/grpc_unsecure.vcxproj.filters | 21 +++++ 23 files changed, 442 insertions(+), 197 deletions(-) delete mode 100644 src/core/httpcli/httpcli_security_connector.h create mode 100755 tools/run_tests/port_server.py (limited to 'test/core') diff --git a/BUILD b/BUILD index 9c170f1d5e..8672d7f942 100644 --- a/BUILD +++ b/BUILD @@ -132,10 +132,6 @@ cc_library( cc_library( name = "grpc", srcs = [ - "src/core/httpcli/format_request.h", - "src/core/httpcli/httpcli.h", - "src/core/httpcli/httpcli_security_connector.h", - "src/core/httpcli/parser.h", "src/core/security/auth_filters.h", "src/core/security/base64.h", "src/core/security/credentials.h", @@ -175,6 +171,9 @@ cc_library( "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/parser.h", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.h", "src/core/iomgr/alarm_internal.h", @@ -248,10 +247,7 @@ cc_library( "src/core/transport/transport_impl.h", "src/core/census/context.h", "src/core/census/rpc_stat_id.h", - "src/core/httpcli/format_request.c", - "src/core/httpcli/httpcli.c", "src/core/httpcli/httpcli_security_connector.c", - "src/core/httpcli/parser.c", "src/core/security/base64.c", "src/core/security/client_auth_filter.c", "src/core/security/credentials.c", @@ -298,6 +294,9 @@ cc_library( "src/core/compression/algorithm.c", "src/core/compression/message_compress.c", "src/core/debug/trace.c", + "src/core/httpcli/format_request.c", + "src/core/httpcli/httpcli.c", + "src/core/httpcli/parser.c", "src/core/iomgr/alarm.c", "src/core/iomgr/alarm_heap.c", "src/core/iomgr/endpoint.c", @@ -437,6 +436,9 @@ cc_library( "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/parser.h", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.h", "src/core/iomgr/alarm_internal.h", @@ -537,6 +539,9 @@ cc_library( "src/core/compression/algorithm.c", "src/core/compression/message_compress.c", "src/core/debug/trace.c", + "src/core/httpcli/format_request.c", + "src/core/httpcli/httpcli.c", + "src/core/httpcli/parser.c", "src/core/iomgr/alarm.c", "src/core/iomgr/alarm_heap.c", "src/core/iomgr/endpoint.c", @@ -973,10 +978,7 @@ objc_library( objc_library( name = "grpc_objc", srcs = [ - "src/core/httpcli/format_request.c", - "src/core/httpcli/httpcli.c", "src/core/httpcli/httpcli_security_connector.c", - "src/core/httpcli/parser.c", "src/core/security/base64.c", "src/core/security/client_auth_filter.c", "src/core/security/credentials.c", @@ -1023,6 +1025,9 @@ objc_library( "src/core/compression/algorithm.c", "src/core/compression/message_compress.c", "src/core/debug/trace.c", + "src/core/httpcli/format_request.c", + "src/core/httpcli/httpcli.c", + "src/core/httpcli/parser.c", "src/core/iomgr/alarm.c", "src/core/iomgr/alarm_heap.c", "src/core/iomgr/endpoint.c", @@ -1121,10 +1126,6 @@ objc_library( "include/grpc/grpc.h", "include/grpc/status.h", "include/grpc/census.h", - "src/core/httpcli/format_request.h", - "src/core/httpcli/httpcli.h", - "src/core/httpcli/httpcli_security_connector.h", - "src/core/httpcli/parser.h", "src/core/security/auth_filters.h", "src/core/security/base64.h", "src/core/security/credentials.h", @@ -1164,6 +1165,9 @@ objc_library( "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/parser.h", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.h", "src/core/iomgr/alarm_internal.h", diff --git a/Makefile b/Makefile index 8a38a689f9..0042ffa056 100644 --- a/Makefile +++ b/Makefile @@ -3698,10 +3698,7 @@ endif LIBGRPC_SRC = \ - src/core/httpcli/format_request.c \ - src/core/httpcli/httpcli.c \ src/core/httpcli/httpcli_security_connector.c \ - src/core/httpcli/parser.c \ src/core/security/base64.c \ src/core/security/client_auth_filter.c \ src/core/security/credentials.c \ @@ -3748,6 +3745,9 @@ LIBGRPC_SRC = \ src/core/compression/algorithm.c \ src/core/compression/message_compress.c \ src/core/debug/trace.c \ + src/core/httpcli/format_request.c \ + src/core/httpcli/httpcli.c \ + src/core/httpcli/parser.c \ src/core/iomgr/alarm.c \ src/core/iomgr/alarm_heap.c \ src/core/iomgr/endpoint.c \ @@ -4016,6 +4016,9 @@ LIBGRPC_UNSECURE_SRC = \ src/core/compression/algorithm.c \ src/core/compression/message_compress.c \ src/core/debug/trace.c \ + src/core/httpcli/format_request.c \ + src/core/httpcli/httpcli.c \ + src/core/httpcli/parser.c \ src/core/iomgr/alarm.c \ src/core/iomgr/alarm_heap.c \ src/core/iomgr/endpoint.c \ @@ -18680,10 +18683,7 @@ ifneq ($(OPENSSL_DEP),) # This is to ensure the embedded OpenSSL is built beforehand, properly # installing headers to their final destination on the drive. We need this # otherwise parallel compilation will fail if a source is compiled first. -src/core/httpcli/format_request.c: $(OPENSSL_DEP) -src/core/httpcli/httpcli.c: $(OPENSSL_DEP) src/core/httpcli/httpcli_security_connector.c: $(OPENSSL_DEP) -src/core/httpcli/parser.c: $(OPENSSL_DEP) src/core/security/base64.c: $(OPENSSL_DEP) src/core/security/client_auth_filter.c: $(OPENSSL_DEP) src/core/security/credentials.c: $(OPENSSL_DEP) diff --git a/build.json b/build.json index deb8640422..d1405054ad 100644 --- a/build.json +++ b/build.json @@ -140,6 +140,9 @@ "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/parser.h", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.h", "src/core/iomgr/alarm_internal.h", @@ -239,6 +242,9 @@ "src/core/compression/algorithm.c", "src/core/compression/message_compress.c", "src/core/debug/trace.c", + "src/core/httpcli/format_request.c", + "src/core/httpcli/httpcli.c", + "src/core/httpcli/parser.c", "src/core/iomgr/alarm.c", "src/core/iomgr/alarm_heap.c", "src/core/iomgr/endpoint.c", @@ -461,10 +467,6 @@ "include/grpc/grpc_security.h" ], "headers": [ - "src/core/httpcli/format_request.h", - "src/core/httpcli/httpcli.h", - "src/core/httpcli/httpcli_security_connector.h", - "src/core/httpcli/parser.h", "src/core/security/auth_filters.h", "src/core/security/base64.h", "src/core/security/credentials.h", @@ -480,10 +482,7 @@ "src/core/tsi/transport_security_interface.h" ], "src": [ - "src/core/httpcli/format_request.c", - "src/core/httpcli/httpcli.c", "src/core/httpcli/httpcli_security_connector.c", - "src/core/httpcli/parser.c", "src/core/security/base64.c", "src/core/security/client_auth_filter.c", "src/core/security/credentials.c", diff --git a/gRPC.podspec b/gRPC.podspec index 632f1ad4e4..31c8ee4074 100644 --- a/gRPC.podspec +++ b/gRPC.podspec @@ -134,10 +134,6 @@ Pod::Spec.new do |s| 'src/core/support/time_posix.c', 'src/core/support/time_win32.c', 'src/core/support/tls_pthread.c', - 'src/core/httpcli/format_request.h', - 'src/core/httpcli/httpcli.h', - 'src/core/httpcli/httpcli_security_connector.h', - 'src/core/httpcli/parser.h', 'src/core/security/auth_filters.h', 'src/core/security/base64.h', 'src/core/security/credentials.h', @@ -177,6 +173,9 @@ Pod::Spec.new do |s| 'src/core/client_config/uri_parser.h', 'src/core/compression/message_compress.h', 'src/core/debug/trace.h', + 'src/core/httpcli/format_request.h', + 'src/core/httpcli/httpcli.h', + 'src/core/httpcli/parser.h', 'src/core/iomgr/alarm.h', 'src/core/iomgr/alarm_heap.h', 'src/core/iomgr/alarm_internal.h', @@ -257,10 +256,7 @@ Pod::Spec.new do |s| 'grpc/grpc.h', 'grpc/status.h', 'grpc/census.h', - 'src/core/httpcli/format_request.c', - 'src/core/httpcli/httpcli.c', 'src/core/httpcli/httpcli_security_connector.c', - 'src/core/httpcli/parser.c', 'src/core/security/base64.c', 'src/core/security/client_auth_filter.c', 'src/core/security/credentials.c', @@ -307,6 +303,9 @@ Pod::Spec.new do |s| 'src/core/compression/algorithm.c', 'src/core/compression/message_compress.c', 'src/core/debug/trace.c', + 'src/core/httpcli/format_request.c', + 'src/core/httpcli/httpcli.c', + 'src/core/httpcli/parser.c', 'src/core/iomgr/alarm.c', 'src/core/iomgr/alarm_heap.c', 'src/core/iomgr/endpoint.c', @@ -404,10 +403,6 @@ Pod::Spec.new do |s| 'src/core/support/string.h', 'src/core/support/string_win32.h', 'src/core/support/thd_internal.h', - 'src/core/httpcli/format_request.h', - 'src/core/httpcli/httpcli.h', - 'src/core/httpcli/httpcli_security_connector.h', - 'src/core/httpcli/parser.h', 'src/core/security/auth_filters.h', 'src/core/security/base64.h', 'src/core/security/credentials.h', @@ -447,6 +442,9 @@ Pod::Spec.new do |s| 'src/core/client_config/uri_parser.h', 'src/core/compression/message_compress.h', 'src/core/debug/trace.h', + 'src/core/httpcli/format_request.h', + 'src/core/httpcli/httpcli.h', + 'src/core/httpcli/parser.h', 'src/core/iomgr/alarm.h', 'src/core/iomgr/alarm_heap.h', 'src/core/iomgr/alarm_internal.h', diff --git a/src/core/httpcli/httpcli.c b/src/core/httpcli/httpcli.c index 65997d5f44..bf5cbfcfba 100644 --- a/src/core/httpcli/httpcli.c +++ b/src/core/httpcli/httpcli.c @@ -40,7 +40,6 @@ #include "src/core/iomgr/resolve_address.h" #include "src/core/iomgr/tcp_client.h" #include "src/core/httpcli/format_request.h" -#include "src/core/httpcli/httpcli_security_connector.h" #include "src/core/httpcli/parser.h" #include "src/core/security/secure_transport_setup.h" #include "src/core/support/string.h" @@ -57,7 +56,7 @@ typedef struct { char *host; gpr_timespec deadline; int have_read_byte; - int use_ssl; + const grpc_httpcli_handshaker *handshaker; grpc_httpcli_response_cb on_response; void *user_data; grpc_httpcli_context *context; @@ -68,6 +67,16 @@ typedef struct { static grpc_httpcli_get_override g_get_override = NULL; static grpc_httpcli_post_override g_post_override = NULL; +static void plaintext_handshake(void *arg, grpc_endpoint *endpoint, + const char *host, + void (*on_done)(void *arg, + grpc_endpoint *endpoint)) { + on_done(arg, endpoint); +} + +const grpc_httpcli_handshaker grpc_httpcli_plaintext = {"http", + plaintext_handshake}; + void grpc_httpcli_context_init(grpc_httpcli_context *context) { grpc_pollset_set_init(&context->pollset_set); } @@ -163,18 +172,16 @@ static void start_write(internal_request *req) { } } -static void on_secure_transport_setup_done(void *rp, - grpc_security_status status, - grpc_endpoint *wrapped_endpoint, - grpc_endpoint *secure_endpoint) { - internal_request *req = rp; - if (status != GRPC_SECURITY_OK) { - gpr_log(GPR_ERROR, "Secure transport setup failed with error %d.", status); - finish(req, 0); - } else { - req->ep = secure_endpoint; - start_write(req); +static void on_handshake_done(void *arg, grpc_endpoint *ep) { + internal_request *req = arg; + + if (!ep) { + next_address(req); + return; } + + req->ep = ep; + start_write(req); } static void on_connected(void *arg, grpc_endpoint *tcp) { @@ -184,25 +191,7 @@ static void on_connected(void *arg, grpc_endpoint *tcp) { next_address(req); return; } - req->ep = tcp; - if (req->use_ssl) { - grpc_channel_security_connector *sc = NULL; - const unsigned char *pem_root_certs = NULL; - size_t pem_root_certs_size = grpc_get_default_ssl_roots(&pem_root_certs); - if (pem_root_certs == NULL || pem_root_certs_size == 0) { - gpr_log(GPR_ERROR, "Could not get default pem root certs."); - finish(req, 0); - return; - } - GPR_ASSERT(grpc_httpcli_ssl_channel_security_connector_create( - pem_root_certs, pem_root_certs_size, req->host, &sc) == - GRPC_SECURITY_OK); - grpc_setup_secure_transport(&sc->base, tcp, on_secure_transport_setup_done, - req); - GRPC_SECURITY_CONNECTOR_UNREF(&sc->base, "httpcli"); - } else { - start_write(req); - } + req->handshaker->handshake(req, tcp, req->host, on_handshake_done); } static void next_address(internal_request *req) { @@ -245,18 +234,17 @@ void grpc_httpcli_get(grpc_httpcli_context *context, grpc_pollset *pollset, req->on_response = on_response; req->user_data = user_data; req->deadline = deadline; - req->use_ssl = request->use_ssl; + req->handshaker = + request->handshaker ? request->handshaker : &grpc_httpcli_plaintext; req->context = context; req->pollset = pollset; gpr_asprintf(&name, "HTTP:GET:%s:%s", request->host, request->path); grpc_iomgr_register_object(&req->iomgr_obj, name); gpr_free(name); - if (req->use_ssl) { - req->host = gpr_strdup(request->host); - } + req->host = gpr_strdup(request->host); grpc_pollset_set_add_pollset(&req->context->pollset_set, req->pollset); - grpc_resolve_address(request->host, req->use_ssl ? "https" : "http", + grpc_resolve_address(request->host, req->handshaker->default_port, on_resolved, req); } @@ -279,18 +267,17 @@ void grpc_httpcli_post(grpc_httpcli_context *context, grpc_pollset *pollset, req->on_response = on_response; req->user_data = user_data; req->deadline = deadline; - req->use_ssl = request->use_ssl; + req->handshaker = + request->handshaker ? request->handshaker : &grpc_httpcli_plaintext; req->context = context; req->pollset = pollset; gpr_asprintf(&name, "HTTP:GET:%s:%s", request->host, request->path); grpc_iomgr_register_object(&req->iomgr_obj, name); gpr_free(name); - if (req->use_ssl) { - req->host = gpr_strdup(request->host); - } + req->host = gpr_strdup(request->host); grpc_pollset_set_add_pollset(&req->context->pollset_set, req->pollset); - grpc_resolve_address(request->host, req->use_ssl ? "https" : "http", + grpc_resolve_address(request->host, req->handshaker->default_port, on_resolved, req); } diff --git a/src/core/httpcli/httpcli.h b/src/core/httpcli/httpcli.h index ab98178f8a..c45966714c 100644 --- a/src/core/httpcli/httpcli.h +++ b/src/core/httpcli/httpcli.h @@ -38,6 +38,7 @@ #include +#include "src/core/iomgr/endpoint.h" #include "src/core/iomgr/pollset_set.h" /* User agent this library reports */ @@ -58,6 +59,15 @@ typedef struct grpc_httpcli_context { grpc_pollset_set pollset_set; } grpc_httpcli_context; +typedef struct { + const char *default_port; + void (*handshake)(void *arg, grpc_endpoint *endpoint, const char *host, + void (*on_done)(void *arg, grpc_endpoint *endpoint)); +} grpc_httpcli_handshaker; + +extern const grpc_httpcli_handshaker grpc_httpcli_plaintext; +extern const grpc_httpcli_handshaker grpc_httpcli_ssl; + /* A request */ typedef struct grpc_httpcli_request { /* The host name to connect to */ @@ -69,8 +79,8 @@ typedef struct grpc_httpcli_request { Host, Connection, User-Agent */ size_t hdr_count; grpc_httpcli_header *hdrs; - /* whether to use ssl for the request */ - int use_ssl; + /* handshaker to use ssl for the request */ + const grpc_httpcli_handshaker *handshaker; } grpc_httpcli_request; /* A response */ diff --git a/src/core/httpcli/httpcli_security_connector.c b/src/core/httpcli/httpcli_security_connector.c index ce0d3d5a70..7887f9d530 100644 --- a/src/core/httpcli/httpcli_security_connector.c +++ b/src/core/httpcli/httpcli_security_connector.c @@ -31,7 +31,7 @@ * */ -#include "src/core/httpcli/httpcli_security_connector.h" +#include "src/core/httpcli/httpcli.h" #include @@ -96,7 +96,7 @@ static grpc_security_status httpcli_ssl_check_peer(grpc_security_connector *sc, static grpc_security_connector_vtable httpcli_ssl_vtable = { httpcli_ssl_destroy, httpcli_ssl_create_handshaker, httpcli_ssl_check_peer}; -grpc_security_status grpc_httpcli_ssl_channel_security_connector_create( +static grpc_security_status httpcli_ssl_channel_security_connector_create( const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *secure_peer_name, grpc_channel_security_connector **sc) { tsi_result result = TSI_OK; @@ -130,3 +130,48 @@ grpc_security_status grpc_httpcli_ssl_channel_security_connector_create( *sc = &c->base; return GRPC_SECURITY_OK; } + +/* handshaker */ + +typedef struct { + void (*func)(void *arg, grpc_endpoint *endpoint); + void *arg; +} on_done_closure; + +static void on_secure_transport_setup_done(void *rp, + grpc_security_status status, + grpc_endpoint *wrapped_endpoint, + grpc_endpoint *secure_endpoint) { + on_done_closure *c = rp; + if (status != GRPC_SECURITY_OK) { + gpr_log(GPR_ERROR, "Secure transport setup failed with error %d.", status); + c->func(c->arg, NULL); + } else { + c->func(c->arg, secure_endpoint); + } + gpr_free(c); +} + +static void ssl_handshake(void *arg, grpc_endpoint *tcp, const char *host, + void (*on_done)(void *arg, grpc_endpoint *endpoint)) { + grpc_channel_security_connector *sc = NULL; + const unsigned char *pem_root_certs = NULL; + on_done_closure *c = gpr_malloc(sizeof(*c)); + size_t pem_root_certs_size = grpc_get_default_ssl_roots(&pem_root_certs); + if (pem_root_certs == NULL || pem_root_certs_size == 0) { + gpr_log(GPR_ERROR, "Could not get default pem root certs."); + on_done(arg, NULL); + gpr_free(c); + return; + } + c->func = on_done; + c->arg = arg; + GPR_ASSERT(httpcli_ssl_channel_security_connector_create( + pem_root_certs, pem_root_certs_size, host, &sc) == + GRPC_SECURITY_OK); + grpc_setup_secure_transport(&sc->base, tcp, on_secure_transport_setup_done, + c); + GRPC_SECURITY_CONNECTOR_UNREF(&sc->base, "httpcli"); +} + +const grpc_httpcli_handshaker grpc_httpcli_ssl = {"https", ssl_handshake}; diff --git a/src/core/httpcli/httpcli_security_connector.h b/src/core/httpcli/httpcli_security_connector.h deleted file mode 100644 index c50f25905e..0000000000 --- a/src/core/httpcli/httpcli_security_connector.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * - * Copyright 2015, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#ifndef GRPC_INTERNAL_CORE_HTTPCLI_HTTPCLI_SECURITY_CONNECTOR_H -#define GRPC_INTERNAL_CORE_HTTPCLI_HTTPCLI_SECURITY_CONNECTOR_H - -#include "src/core/security/security_connector.h" - -grpc_security_status grpc_httpcli_ssl_channel_security_connector_create( - const unsigned char *pem_root_certs, size_t pem_root_certs_size, - const char *secure_peer_name, grpc_channel_security_connector **sc); - -#endif /* GRPC_INTERNAL_CORE_HTTPCLI_HTTPCLI_SECURITY_CONNECTOR_H */ diff --git a/src/core/security/credentials.c b/src/core/security/credentials.c index 15268cefbe..c45b5c065d 100644 --- a/src/core/security/credentials.c +++ b/src/core/security/credentials.c @@ -679,7 +679,7 @@ static void service_account_fetch_oauth2( request.path = GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH; request.hdr_count = 1; request.hdrs = &header; - request.use_ssl = 1; + request.handshaker = &grpc_httpcli_ssl; grpc_httpcli_post(httpcli_context, pollset, &request, body, strlen(body), deadline, response_cb, metadata_req); gpr_free(body); @@ -738,7 +738,7 @@ static void refresh_token_fetch_oauth2( request.path = GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH; request.hdr_count = 1; request.hdrs = &header; - request.use_ssl = 1; + request.handshaker = &grpc_httpcli_ssl; grpc_httpcli_post(httpcli_context, pollset, &request, body, strlen(body), deadline, response_cb, metadata_req); gpr_free(body); diff --git a/src/core/security/jwt_verifier.c b/src/core/security/jwt_verifier.c index 1276693da7..38ad134a6a 100644 --- a/src/core/security/jwt_verifier.c +++ b/src/core/security/jwt_verifier.c @@ -628,7 +628,7 @@ static void on_openid_config_retrieved(void *user_data, goto error; } jwks_uri += 8; - req.use_ssl = 1; + req.handshaker = &grpc_httpcli_ssl; req.host = gpr_strdup(jwks_uri); req.path = strchr(jwks_uri, '/'); if (req.path == NULL) { @@ -685,7 +685,7 @@ static void retrieve_key_and_verify(verifier_cb_ctx *ctx) { const char *iss; grpc_httpcli_request req; memset(&req, 0, sizeof(grpc_httpcli_request)); - req.use_ssl = 1; + req.handshaker = &grpc_httpcli_ssl; GPR_ASSERT(ctx != NULL && ctx->header != NULL && ctx->claims != NULL); iss = ctx->claims->iss; diff --git a/test/core/httpcli/httpcli_test.c b/test/core/httpcli/httpcli_test.c index 4801eb3e39..034501ee69 100644 --- a/test/core/httpcli/httpcli_test.c +++ b/test/core/httpcli/httpcli_test.c @@ -81,7 +81,7 @@ static void test_get(int use_ssl, int port) { memset(&req, 0, sizeof(req)); req.host = host; req.path = "/get"; - req.use_ssl = use_ssl; + req.handshaker = use_ssl ? &grpc_httpcli_ssl : &grpc_httpcli_plaintext; grpc_httpcli_get(&g_context, &g_pollset, &req, n_seconds_time(15), on_finish, (void *)42); @@ -106,7 +106,7 @@ static void test_post(int use_ssl, int port) { memset(&req, 0, sizeof(req)); req.host = host; req.path = "/post"; - req.use_ssl = use_ssl; + req.handshaker = use_ssl ? &grpc_httpcli_ssl : &grpc_httpcli_plaintext; grpc_httpcli_post(&g_context, &g_pollset, &req, "hello", 5, n_seconds_time(15), on_finish, (void *)42); diff --git a/test/core/security/credentials_test.c b/test/core/security/credentials_test.c index dd6e0d7bb3..a0c9445f19 100644 --- a/test/core/security/credentials_test.c +++ b/test/core/security/credentials_test.c @@ -477,7 +477,7 @@ static void on_oauth2_creds_get_metadata_failure( static void validate_compute_engine_http_request( const grpc_httpcli_request *request) { - GPR_ASSERT(!request->use_ssl); + GPR_ASSERT(request->handshaker != &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, "metadata") == 0); GPR_ASSERT( strcmp(request->path, @@ -573,7 +573,7 @@ static void validate_refresh_token_http_request( GPR_ASSERT(strlen(expected_body) == body_size); GPR_ASSERT(memcmp(expected_body, body, body_size) == 0); gpr_free(expected_body); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, GRPC_GOOGLE_OAUTH2_SERVICE_HOST) == 0); GPR_ASSERT(strcmp(request->path, GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH) == 0); GPR_ASSERT(request->hdr_count == 1); @@ -697,7 +697,7 @@ static void validate_service_account_http_request( GPR_ASSERT(strlen(expected_body) == body_size); GPR_ASSERT(memcmp(expected_body, body, body_size) == 0); gpr_free(expected_body); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, GRPC_GOOGLE_OAUTH2_SERVICE_HOST) == 0); GPR_ASSERT(strcmp(request->path, GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH) == 0); GPR_ASSERT(request->hdr_count == 1); diff --git a/test/core/security/jwt_verifier_test.c b/test/core/security/jwt_verifier_test.c index 98db56c0ef..440286ea1a 100644 --- a/test/core/security/jwt_verifier_test.c +++ b/test/core/security/jwt_verifier_test.c @@ -286,7 +286,7 @@ static int httpcli_get_google_keys_for_email( const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data) { grpc_httpcli_response response = http_response(200, good_google_email_keys()); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, "www.googleapis.com") == 0); GPR_ASSERT(strcmp(request->path, "/robot/v1/metadata/x509/" @@ -331,7 +331,7 @@ static int httpcli_get_custom_keys_for_email( const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data) { grpc_httpcli_response response = http_response(200, gpr_strdup(good_jwk_set)); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, "keys.bar.com") == 0); GPR_ASSERT(strcmp(request->path, "/jwk/foo@bar.com") == 0); on_response(user_data, &response); @@ -363,7 +363,7 @@ static int httpcli_get_jwk_set( const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data) { grpc_httpcli_response response = http_response(200, gpr_strdup(good_jwk_set)); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, "www.googleapis.com") == 0); GPR_ASSERT(strcmp(request->path, "/oauth2/v3/certs") == 0); on_response(user_data, &response); @@ -377,7 +377,7 @@ static int httpcli_get_openid_config(const grpc_httpcli_request *request, void *user_data) { grpc_httpcli_response response = http_response(200, gpr_strdup(good_openid_config)); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, "accounts.google.com") == 0); GPR_ASSERT(strcmp(request->path, GRPC_OPENID_CONFIG_URL_SUFFIX) == 0); grpc_httpcli_set_override(httpcli_get_jwk_set, @@ -421,7 +421,7 @@ static int httpcli_get_bad_json(const grpc_httpcli_request *request, void *user_data) { grpc_httpcli_response response = http_response(200, gpr_strdup("{\"bad\": \"stuff\"}")); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); on_response(user_data, &response); gpr_free(response.body); return 1; diff --git a/test/core/util/port_posix.c b/test/core/util/port_posix.c index b07df391f9..715e458262 100644 --- a/test/core/util/port_posix.c +++ b/test/core/util/port_posix.c @@ -44,9 +44,13 @@ #include #include +#include #include #include +#include "src/core/httpcli/httpcli.h" +#include "src/core/support/env.h" + #define NUM_RANDOM_PORTS_TO_PICK 100 static int *chosen_ports = NULL; @@ -126,6 +130,59 @@ static int is_port_available(int *port, int is_tcp) { return 1; } +typedef struct portreq { + grpc_pollset pollset; + int port; +} portreq; + +static void got_port_from_server(void *arg, + const grpc_httpcli_response *response) { + size_t i; + int port = 0; + portreq *pr = arg; + GPR_ASSERT(response); + GPR_ASSERT(response->status == 200); + for (i = 0; i < response->body_length; i++) { + GPR_ASSERT(response->body[i] >= '0' && response->body[i] <= '9'); + port = port * 10 + response->body[i] - '0'; + } + GPR_ASSERT(port > 1024); + gpr_mu_lock(GRPC_POLLSET_MU(&pr->pollset)); + pr->port = port; + grpc_pollset_kick(&pr->pollset); + gpr_mu_unlock(GRPC_POLLSET_MU(&pr->pollset)); +} + +static int pick_port_using_server(char *server) { + grpc_httpcli_context context; + grpc_httpcli_request req; + portreq pr; + + grpc_init(); + + memset(&pr, 0, sizeof(pr)); + memset(&req, 0, sizeof(req)); + grpc_pollset_init(&pr.pollset); + pr.port = -1; + + req.host = server; + req.path = "/get"; + + grpc_httpcli_context_init(&context); + grpc_httpcli_get(&context, &pr.pollset, &req, + GRPC_TIMEOUT_SECONDS_TO_DEADLINE(10), got_port_from_server, + &pr); + gpr_mu_lock(GRPC_POLLSET_MU(&pr.pollset)); + while (pr.port == -1) { + grpc_pollset_work(&pr.pollset, GRPC_TIMEOUT_SECONDS_TO_DEADLINE(1)); + } + gpr_mu_unlock(GRPC_POLLSET_MU(&pr.pollset)); + + grpc_shutdown(); + + return pr.port; +} + int grpc_pick_unused_port(void) { /* We repeatedly pick a port and then see whether or not it is available for use both as a TCP socket and a UDP socket. First, we @@ -143,6 +200,15 @@ int grpc_pick_unused_port(void) { int is_tcp = 1; int try = 0; + char *env = gpr_getenv("GRPC_TEST_PORT_SERVER"); + if (env) { + int port = pick_port_using_server(env); + gpr_free(env); + if (port != 0) { + return port; + } + } + for (;;) { int port; try++; diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index cce0b6fed0..abe1f72d36 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -767,10 +767,6 @@ include/grpc/compression.h \ include/grpc/grpc.h \ include/grpc/status.h \ include/grpc/census.h \ -src/core/httpcli/format_request.h \ -src/core/httpcli/httpcli.h \ -src/core/httpcli/httpcli_security_connector.h \ -src/core/httpcli/parser.h \ src/core/security/auth_filters.h \ src/core/security/base64.h \ src/core/security/credentials.h \ @@ -810,6 +806,9 @@ src/core/client_config/subchannel_factory_decorators/merge_channel_args.h \ src/core/client_config/uri_parser.h \ src/core/compression/message_compress.h \ src/core/debug/trace.h \ +src/core/httpcli/format_request.h \ +src/core/httpcli/httpcli.h \ +src/core/httpcli/parser.h \ src/core/iomgr/alarm.h \ src/core/iomgr/alarm_heap.h \ src/core/iomgr/alarm_internal.h \ @@ -883,10 +882,7 @@ src/core/transport/transport.h \ src/core/transport/transport_impl.h \ src/core/census/context.h \ src/core/census/rpc_stat_id.h \ -src/core/httpcli/format_request.c \ -src/core/httpcli/httpcli.c \ src/core/httpcli/httpcli_security_connector.c \ -src/core/httpcli/parser.c \ src/core/security/base64.c \ src/core/security/client_auth_filter.c \ src/core/security/credentials.c \ @@ -933,6 +929,9 @@ src/core/client_config/uri_parser.c \ src/core/compression/algorithm.c \ src/core/compression/message_compress.c \ src/core/debug/trace.c \ +src/core/httpcli/format_request.c \ +src/core/httpcli/httpcli.c \ +src/core/httpcli/parser.c \ src/core/iomgr/alarm.c \ src/core/iomgr/alarm_heap.c \ src/core/iomgr/endpoint.c \ diff --git a/tools/run_tests/jobset.py b/tools/run_tests/jobset.py index ec25b47610..0318e357b8 100755 --- a/tools/run_tests/jobset.py +++ b/tools/run_tests/jobset.py @@ -162,13 +162,15 @@ class JobSpec(object): class Job(object): """Manages one job.""" - def __init__(self, spec, bin_hash, newline_on_success, travis, xml_report): + def __init__(self, spec, bin_hash, newline_on_success, travis, add_env, xml_report): self._spec = spec self._bin_hash = bin_hash self._tempfile = tempfile.TemporaryFile() env = os.environ.copy() for k, v in spec.environ.iteritems(): env[k] = v + for k, v in add_env.iteritems(): + env[k] = v self._start = time.time() self._process = subprocess.Popen(args=spec.cmdline, stderr=subprocess.STDOUT, @@ -227,7 +229,7 @@ class Jobset(object): """Manages one run of jobs.""" def __init__(self, check_cancelled, maxjobs, newline_on_success, travis, - stop_on_failure, cache, xml_report): + stop_on_failure, add_env, cache, xml_report): self._running = set() self._check_cancelled = check_cancelled self._cancelled = False @@ -240,6 +242,7 @@ class Jobset(object): self._stop_on_failure = stop_on_failure self._hashes = {} self._xml_report = xml_report + self._add_env = add_env def start(self, spec): """Start a job. Return True on success, False on failure.""" @@ -262,16 +265,12 @@ class Jobset(object): bin_hash = None should_run = True if should_run: - try: - self._running.add(Job(spec, - bin_hash, - self._newline_on_success, - self._travis, - self._xml_report)) - except: - message('FAILED', spec.shortname) - self._cancelled = True - return False + self._running.add(Job(spec, + bin_hash, + self._newline_on_success, + self._travis, + self._add_env, + self._xml_report)) return True def reap(self): @@ -342,10 +341,11 @@ def run(cmdlines, infinite_runs=False, stop_on_failure=False, cache=None, - xml_report=None): + xml_report=None, + add_env={}): js = Jobset(check_cancelled, maxjobs if maxjobs is not None else _DEFAULT_MAX_JOBS, - newline_on_success, travis, stop_on_failure, + newline_on_success, travis, stop_on_failure, add_env, cache if cache is not None else NoCache(), xml_report) for cmdline in cmdlines: diff --git a/tools/run_tests/port_server.py b/tools/run_tests/port_server.py new file mode 100755 index 0000000000..41f862ad88 --- /dev/null +++ b/tools/run_tests/port_server.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python +# Copyright 2015, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""Manage TCP ports for unit tests; started by run_tests.py""" + +import argparse +import BaseHTTPServer +import hashlib +import os +import socket +import sys +import time + +argp = argparse.ArgumentParser(description='Server for httpcli_test') +argp.add_argument('-p', '--port', default=12345, type=int) +args = argp.parse_args() + +print 'port server running on port %d' % args.port + +pool = [] +in_use = {} + +with open(sys.argv[0]) as f: + _MY_VERSION = hashlib.sha1(f.read()).hexdigest() + + +def refill_pool(): + """Scan for ports not marked for being in use""" + for i in range(10000, 65000): + if len(pool) > 100: break + if i in in_use: + age = time.time() - in_use[i] + if age < 600: + continue + del in_use[i] + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + try: + s.bind(('localhost', i)) + pool.append(i) + except: + pass # we really don't care about failures + finally: + s.close() + + +def allocate_port(): + global pool + global in_use + if not pool: + refill_pool() + port = pool[0] + pool = pool[1:] + in_use[port] = time.time() + return port + + +class Handler(BaseHTTPServer.BaseHTTPRequestHandler): + + def do_GET(self): + if self.path == '/get': + # allocate a new port, it will stay bound for ten minutes and until + # it's unused + self.send_response(200) + self.send_header('Content-Type', 'text/plain') + self.end_headers() + p = allocate_port() + self.log_message('allocated port %d' % p) + self.wfile.write('%d' % p) + elif self.path == '/version_and_pid': + # fetch a version string and the current process pid + self.send_response(200) + self.send_header('Content-Type', 'text/plain') + self.end_headers() + self.wfile.write('%s+%d' % (_MY_VERSION, os.getpid())) + + +BaseHTTPServer.HTTPServer(('', args.port), Handler).serve_forever() + diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index fa749498d2..653b98d57d 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -32,17 +32,20 @@ import argparse import glob +import hashlib import itertools import json import multiprocessing import os import platform +import psutil import random import re import subprocess import sys import time import xml.etree.cElementTree as ET +import urllib2 import jobset import watch_dirs @@ -522,7 +525,43 @@ class TestCache(object): self.parse(json.loads(f.read())) -def _build_and_run(check_cancelled, newline_on_success, travis, cache, xml_report=None): +def _start_port_server(port_server_port): + # check if a compatible port server is running + # if incompatible (version mismatch) ==> start a new one + # if not running ==> start a new one + # otherwise, leave it up + try: + version, _, pid = urllib2.urlopen( + 'http://localhost:%d/version_and_pid' % port_server_port).read().partition('+') + running = True + except Exception: + running = False + if running: + with open('tools/run_tests/port_server.py') as f: + current_version = hashlib.sha1(f.read()).hexdigest() + running = (version == current_version) + if not running: + psutil.Process(int(pid)).terminate() + if not running: + port_log = open('portlog.txt', 'w') + port_server = subprocess.Popen( + ['tools/run_tests/port_server.py', '-p', '%d' % port_server_port], + stderr=subprocess.STDOUT, + stdout=port_log) + # ensure port server is up + while True: + try: + urllib2.urlopen('http://localhost:%d/get' % port_server_port).read() + break + except urllib2.URLError: + time.sleep(0.5) + except: + port_server.kill() + raise + + +def _build_and_run( + check_cancelled, newline_on_success, travis, cache, xml_report=None): """Do one pass of building & running tests.""" # build latest sequentially if not jobset.run(build_steps, maxjobs=1, @@ -532,6 +571,8 @@ def _build_and_run(check_cancelled, newline_on_success, travis, cache, xml_repor # start antagonists antagonists = [subprocess.Popen(['tools/run_tests/antagonist.py']) for _ in range(0, args.antagonists)] + port_server_port = 9999 + _start_port_server(port_server_port) try: infinite_runs = runs_per_test == 0 # When running on travis, we want out test runs to be as similar as possible @@ -558,7 +599,8 @@ def _build_and_run(check_cancelled, newline_on_success, travis, cache, xml_repor maxjobs=args.jobs, stop_on_failure=args.stop_on_failure, cache=cache if not xml_report else None, - xml_report=testsuite): + xml_report=testsuite, + add_env={'GRPC_TEST_PORT_SERVER': 'localhost:%d' % port_server_port}): return 2 finally: for antagonist in antagonists: diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index d2cf07f197..a8bc1a615c 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -10955,7 +10955,6 @@ "src/core/debug/trace.h", "src/core/httpcli/format_request.h", "src/core/httpcli/httpcli.h", - "src/core/httpcli/httpcli_security_connector.h", "src/core/httpcli/parser.h", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.h", @@ -11114,7 +11113,6 @@ "src/core/httpcli/httpcli.c", "src/core/httpcli/httpcli.h", "src/core/httpcli/httpcli_security_connector.c", - "src/core/httpcli/httpcli_security_connector.h", "src/core/httpcli/parser.c", "src/core/httpcli/parser.h", "src/core/iomgr/alarm.c", @@ -11423,6 +11421,9 @@ "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/parser.h", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.h", "src/core/iomgr/alarm_internal.h", @@ -11561,6 +11562,12 @@ "src/core/compression/message_compress.h", "src/core/debug/trace.c", "src/core/debug/trace.h", + "src/core/httpcli/format_request.c", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.c", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/parser.c", + "src/core/httpcli/parser.h", "src/core/iomgr/alarm.c", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.c", diff --git a/vsprojects/grpc/grpc.vcxproj b/vsprojects/grpc/grpc.vcxproj index 4f28ed922e..a698612606 100644 --- a/vsprojects/grpc/grpc.vcxproj +++ b/vsprojects/grpc/grpc.vcxproj @@ -229,10 +229,6 @@ - - - - @@ -272,6 +268,9 @@ + + + @@ -347,14 +346,8 @@ - - - - - - @@ -447,6 +440,12 @@ + + + + + + diff --git a/vsprojects/grpc/grpc.vcxproj.filters b/vsprojects/grpc/grpc.vcxproj.filters index 2f2c5936d1..d87fef9250 100644 --- a/vsprojects/grpc/grpc.vcxproj.filters +++ b/vsprojects/grpc/grpc.vcxproj.filters @@ -1,18 +1,9 @@ - - src\core\httpcli - - - src\core\httpcli - src\core\httpcli - - src\core\httpcli - src\core\security @@ -151,6 +142,15 @@ src\core\debug + + src\core\httpcli + + + src\core\httpcli + + + src\core\httpcli + src\core\iomgr @@ -443,18 +443,6 @@ - - src\core\httpcli - - - src\core\httpcli - - - src\core\httpcli - - - src\core\httpcli - src\core\security @@ -572,6 +560,15 @@ src\core\debug + + src\core\httpcli + + + src\core\httpcli + + + src\core\httpcli + src\core\iomgr diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj index 004858d070..2be0d1792b 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj @@ -251,6 +251,9 @@ + + + @@ -380,6 +383,12 @@ + + + + + + diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters index b0c62b07c3..03b4fb5bd9 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters @@ -82,6 +82,15 @@ src\core\debug + + src\core\httpcli + + + src\core\httpcli + + + src\core\httpcli + src\core\iomgr @@ -449,6 +458,15 @@ src\core\debug + + src\core\httpcli + + + src\core\httpcli + + + src\core\httpcli + src\core\iomgr @@ -707,6 +725,9 @@ {6d8d5774-7291-554d-fafa-583463cd3fd9} + + {1ba3a245-47e7-89b5-b0c9-aca758bd0277} + {a9df8b24-ecea-ff6d-8999-d8fa54cd70bf} -- cgit v1.2.3 From d50993d49ba02681eb65af9533722c448a359a78 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 5 Aug 2015 08:04:36 -0700 Subject: Add linux, mac as test platforms, only run _with_poll tests on linux --- build.json | 44 + test/core/end2end/gen_build_json.py | 12 +- tools/buildgen/plugins/expand_bin_attrs.py | 2 +- tools/run_tests/run_tests.py | 25 +- tools/run_tests/tests.json | 3694 ++++++++++++++++++---------- 5 files changed, 2480 insertions(+), 1297 deletions(-) (limited to 'test/core') diff --git a/build.json b/build.json index 74ed8608c1..934931097b 100644 --- a/build.json +++ b/build.json @@ -969,6 +969,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -986,6 +988,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -1003,6 +1007,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -1050,6 +1056,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -1067,6 +1075,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -1540,6 +1550,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -1694,6 +1706,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -1753,6 +1767,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -1770,6 +1786,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -1787,6 +1805,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -1907,6 +1927,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -1927,6 +1949,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -1988,6 +2012,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -2229,6 +2255,8 @@ "grpc++_test_config" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -2250,6 +2278,8 @@ "grpc++_test_config" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -2267,6 +2297,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -2374,6 +2406,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -2395,6 +2429,8 @@ "grpc++_test_config" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -2416,6 +2452,8 @@ "grpc++_test_config" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -2470,6 +2508,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -2522,6 +2562,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, @@ -2542,6 +2584,8 @@ "gpr" ], "platforms": [ + "mac", + "linux", "posix" ] }, diff --git a/test/core/end2end/gen_build_json.py b/test/core/end2end/gen_build_json.py index 1c212dd107..524fb2a35f 100755 --- a/test/core/end2end/gen_build_json.py +++ b/test/core/end2end/gen_build_json.py @@ -37,10 +37,10 @@ import collections FixtureOptions = collections.namedtuple('FixtureOptions', 'fullstack includes_proxy dns_resolver secure platforms') -default_unsecure_fixture_options = FixtureOptions(True, False, True, False, ['windows', 'posix']) +default_unsecure_fixture_options = FixtureOptions(True, False, True, False, ['windows', 'linux', 'mac', 'posix']) socketpair_unsecure_fixture_options = default_unsecure_fixture_options._replace(fullstack=False, dns_resolver=False) default_secure_fixture_options = default_unsecure_fixture_options._replace(secure=True) -uds_fixture_options = default_unsecure_fixture_options._replace(dns_resolver=False, platforms=['posix']) +uds_fixture_options = default_unsecure_fixture_options._replace(dns_resolver=False, platforms=['linux', 'mac', 'posix']) # maps fixture name to whether it requires the security library END2END_FIXTURES = { @@ -48,11 +48,11 @@ END2END_FIXTURES = { 'chttp2_fullstack': default_unsecure_fixture_options, 'chttp2_fullstack_compression': default_unsecure_fixture_options, 'chttp2_fullstack_uds_posix': uds_fixture_options, - 'chttp2_fullstack_uds_posix_with_poll': uds_fixture_options, - 'chttp2_fullstack_with_poll': default_unsecure_fixture_options._replace(platforms=['posix']), + 'chttp2_fullstack_uds_posix_with_poll': uds_fixture_options._replace(platforms=['linux']), + 'chttp2_fullstack_with_poll': default_unsecure_fixture_options._replace(platforms=['linux']), 'chttp2_fullstack_with_proxy': default_unsecure_fixture_options._replace(includes_proxy=True), 'chttp2_simple_ssl_fullstack': default_secure_fixture_options, - 'chttp2_simple_ssl_fullstack_with_poll': default_secure_fixture_options._replace(platforms=['posix']), + 'chttp2_simple_ssl_fullstack_with_poll': default_secure_fixture_options._replace(platforms=['linux']), 'chttp2_simple_ssl_fullstack_with_proxy': default_secure_fixture_options._replace(includes_proxy=True), 'chttp2_simple_ssl_with_oauth2_fullstack': default_secure_fixture_options, #'chttp2_simple_ssl_with_oauth2_fullstack_with_proxy': default_secure_fixture_options._replace(includes_proxy=True), @@ -139,7 +139,7 @@ def main(): 'language': 'c', 'secure': 'check' if END2END_FIXTURES[f].secure else 'no', 'src': ['test/core/end2end/fixtures/%s.c' % f], - 'platforms': [ 'posix' ] if f.endswith('_posix') else END2END_FIXTURES[f].platforms, + 'platforms': [ 'linux', 'mac', 'posix' ] if f.endswith('_posix') else END2END_FIXTURES[f].platforms, 'deps': sec_deps if END2END_FIXTURES[f].secure else unsec_deps, 'headers': ['test/core/end2end/end2end_tests.h'], } diff --git a/tools/buildgen/plugins/expand_bin_attrs.py b/tools/buildgen/plugins/expand_bin_attrs.py index 0896a5a165..9c6c31e9a3 100755 --- a/tools/buildgen/plugins/expand_bin_attrs.py +++ b/tools/buildgen/plugins/expand_bin_attrs.py @@ -47,5 +47,5 @@ def mako_plugin(dictionary): for tgt in targets: tgt['flaky'] = tgt.get('flaky', False) - tgt['platforms'] = tgt.get('platforms', ['windows', 'posix']) + tgt['platforms'] = sorted(tgt.get('platforms', ['windows', 'posix'])) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index fa749498d2..df201c409e 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -54,6 +54,17 @@ os.chdir(ROOT) _FORCE_ENVIRON_FOR_WRAPPERS = {} +def platform_string(): + if platform.system() == 'Windows': + return 'windows' + elif platform.system() == 'Darwin': + return 'mac' + elif platform.system() == 'Linux': + return 'linux' + else: + return 'posix' + + # SimpleConfig: just compile with CONFIG=config, and run the binary to test class SimpleConfig(object): @@ -109,11 +120,7 @@ class CLanguage(object): def __init__(self, make_target, test_lang): self.make_target = make_target - if platform.system() == 'Windows': - plat = 'windows' - else: - plat = 'posix' - self.platform = plat + self.platform = platform_string() with open('tools/run_tests/tests.json') as f: js = json.load(f) self.binaries = [tgt @@ -245,11 +252,7 @@ class RubyLanguage(object): class CSharpLanguage(object): def __init__(self): - if platform.system() == 'Windows': - plat = 'windows' - else: - plat = 'posix' - self.platform = plat + self.platform = platform_string() def test_specs(self, config, travis): assemblies = ['Grpc.Core.Tests', @@ -262,7 +265,7 @@ class CSharpLanguage(object): return [config.job_spec([cmd, assembly], None, shortname=assembly, environ=_FORCE_ENVIRON_FOR_WRAPPERS) - for assembly in assemblies ] + for assembly in assemblies] def make_targets(self): # For Windows, this target doesn't really build anything, diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index 3c60f0cdcb..4be8295d5a 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -6,8 +6,8 @@ "language": "c", "name": "alarm_heap_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -15,8 +15,8 @@ "language": "c", "name": "alarm_list_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -24,8 +24,8 @@ "language": "c", "name": "alarm_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -33,8 +33,8 @@ "language": "c", "name": "alpn_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -42,8 +42,8 @@ "language": "c", "name": "bin_encoder_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -51,8 +51,8 @@ "language": "c", "name": "chttp2_status_conversion_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -60,8 +60,8 @@ "language": "c", "name": "chttp2_stream_encoder_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -69,8 +69,8 @@ "language": "c", "name": "chttp2_stream_map_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -78,6 +78,8 @@ "language": "c", "name": "dualstack_socket_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -86,6 +88,8 @@ "language": "c", "name": "fd_conservation_posix_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -94,6 +98,8 @@ "language": "c", "name": "fd_posix_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -102,6 +108,8 @@ "language": "c", "name": "fling_stream_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -110,6 +118,8 @@ "language": "c", "name": "fling_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -118,8 +128,8 @@ "language": "c", "name": "gpr_cancellable_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -127,8 +137,8 @@ "language": "c", "name": "gpr_cmdline_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -136,8 +146,8 @@ "language": "c", "name": "gpr_env_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -145,8 +155,8 @@ "language": "c", "name": "gpr_file_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -154,8 +164,8 @@ "language": "c", "name": "gpr_histogram_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -163,8 +173,8 @@ "language": "c", "name": "gpr_host_port_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -172,8 +182,8 @@ "language": "c", "name": "gpr_log_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -181,8 +191,8 @@ "language": "c", "name": "gpr_slice_buffer_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -190,8 +200,8 @@ "language": "c", "name": "gpr_slice_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -199,8 +209,8 @@ "language": "c", "name": "gpr_stack_lockfree_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -208,8 +218,8 @@ "language": "c", "name": "gpr_string_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -217,8 +227,8 @@ "language": "c", "name": "gpr_sync_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -226,8 +236,8 @@ "language": "c", "name": "gpr_thd_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -235,8 +245,8 @@ "language": "c", "name": "gpr_time_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -244,8 +254,8 @@ "language": "c", "name": "gpr_tls_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -253,8 +263,8 @@ "language": "c", "name": "gpr_useful_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -262,8 +272,8 @@ "language": "c", "name": "grpc_auth_context_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -271,8 +281,8 @@ "language": "c", "name": "grpc_base64_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -280,8 +290,8 @@ "language": "c", "name": "grpc_byte_buffer_reader_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -289,8 +299,8 @@ "language": "c", "name": "grpc_channel_stack_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -298,8 +308,8 @@ "language": "c", "name": "grpc_completion_queue_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -307,8 +317,8 @@ "language": "c", "name": "grpc_credentials_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -316,8 +326,8 @@ "language": "c", "name": "grpc_json_token_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -325,8 +335,8 @@ "language": "c", "name": "grpc_jwt_verifier_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -334,8 +344,8 @@ "language": "c", "name": "grpc_security_connector_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -343,8 +353,8 @@ "language": "c", "name": "grpc_stream_op_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -352,8 +362,8 @@ "language": "c", "name": "hpack_parser_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -361,8 +371,8 @@ "language": "c", "name": "hpack_table_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -370,8 +380,8 @@ "language": "c", "name": "httpcli_format_request_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -379,8 +389,8 @@ "language": "c", "name": "httpcli_parser_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -388,6 +398,8 @@ "language": "c", "name": "httpcli_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -396,8 +408,8 @@ "language": "c", "name": "json_rewrite_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -405,8 +417,8 @@ "language": "c", "name": "json_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -414,8 +426,8 @@ "language": "c", "name": "lame_client_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -423,8 +435,8 @@ "language": "c", "name": "message_compress_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -432,8 +444,8 @@ "language": "c", "name": "multi_init_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -441,8 +453,8 @@ "language": "c", "name": "multiple_server_queues_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -450,8 +462,8 @@ "language": "c", "name": "murmur_hash_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -459,8 +471,8 @@ "language": "c", "name": "no_server_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -468,6 +480,8 @@ "language": "c", "name": "poll_kick_posix_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -476,8 +490,8 @@ "language": "c", "name": "resolve_address_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -485,8 +499,8 @@ "language": "c", "name": "secure_endpoint_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -494,8 +508,8 @@ "language": "c", "name": "sockaddr_utils_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -503,6 +517,8 @@ "language": "c", "name": "tcp_client_posix_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -511,6 +527,8 @@ "language": "c", "name": "tcp_posix_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -519,6 +537,8 @@ "language": "c", "name": "tcp_server_posix_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -527,8 +547,8 @@ "language": "c", "name": "time_averaged_stats_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -536,8 +556,8 @@ "language": "c", "name": "timeout_encoding_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -545,8 +565,8 @@ "language": "c", "name": "timers_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -554,8 +574,8 @@ "language": "c", "name": "transport_metadata_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -563,8 +583,8 @@ "language": "c", "name": "transport_security_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -572,8 +592,8 @@ "language": "c", "name": "uri_parser_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -581,8 +601,8 @@ "language": "c++", "name": "async_end2end_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -590,6 +610,8 @@ "language": "c++", "name": "async_streaming_ping_pong_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -598,6 +620,8 @@ "language": "c++", "name": "async_unary_ping_pong_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -606,8 +630,8 @@ "language": "c++", "name": "auth_property_iterator_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -615,8 +639,8 @@ "language": "c++", "name": "channel_arguments_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -624,8 +648,8 @@ "language": "c++", "name": "cli_call_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -633,6 +657,8 @@ "language": "c++", "name": "client_crash_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -641,8 +667,8 @@ "language": "c++", "name": "credentials_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -650,8 +676,8 @@ "language": "c++", "name": "cxx_byte_buffer_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -659,8 +685,8 @@ "language": "c++", "name": "cxx_slice_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -668,8 +694,8 @@ "language": "c++", "name": "cxx_time_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -677,8 +703,8 @@ "language": "c++", "name": "dynamic_thread_pool_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -686,8 +712,8 @@ "language": "c++", "name": "end2end_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -695,8 +721,8 @@ "language": "c++", "name": "fixed_size_thread_pool_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -704,8 +730,8 @@ "language": "c++", "name": "generic_end2end_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -713,6 +739,8 @@ "language": "c++", "name": "interop_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -721,8 +749,8 @@ "language": "c++", "name": "mock_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -730,6 +758,8 @@ "language": "c++", "name": "qps_openloop_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -738,6 +768,8 @@ "language": "c++", "name": "qps_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -746,8 +778,8 @@ "language": "c++", "name": "secure_auth_context_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -755,6 +787,8 @@ "language": "c++", "name": "server_crash_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -763,8 +797,8 @@ "language": "c++", "name": "status_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -772,6 +806,8 @@ "language": "c++", "name": "sync_streaming_ping_pong_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -780,6 +816,8 @@ "language": "c++", "name": "sync_unary_ping_pong_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -788,8 +826,8 @@ "language": "c++", "name": "thread_stress_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -797,8 +835,10 @@ "language": "c", "name": "chttp2_fake_security_bad_hostname_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -806,8 +846,10 @@ "language": "c", "name": "chttp2_fake_security_cancel_after_accept_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -815,8 +857,10 @@ "language": "c", "name": "chttp2_fake_security_cancel_after_accept_and_writes_closed_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -824,8 +868,10 @@ "language": "c", "name": "chttp2_fake_security_cancel_after_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -833,8 +879,10 @@ "language": "c", "name": "chttp2_fake_security_cancel_before_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -842,8 +890,10 @@ "language": "c", "name": "chttp2_fake_security_cancel_in_a_vacuum_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -851,8 +901,10 @@ "language": "c", "name": "chttp2_fake_security_census_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -860,8 +912,10 @@ "language": "c", "name": "chttp2_fake_security_channel_connectivity_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -869,8 +923,10 @@ "language": "c", "name": "chttp2_fake_security_default_host_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -878,8 +934,10 @@ "language": "c", "name": "chttp2_fake_security_disappearing_server_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -887,8 +945,10 @@ "language": "c", "name": "chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -896,8 +956,10 @@ "language": "c", "name": "chttp2_fake_security_early_server_shutdown_finishes_tags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -905,8 +967,10 @@ "language": "c", "name": "chttp2_fake_security_empty_batch_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -914,8 +978,10 @@ "language": "c", "name": "chttp2_fake_security_graceful_server_shutdown_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -923,8 +989,10 @@ "language": "c", "name": "chttp2_fake_security_invoke_large_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -932,8 +1000,10 @@ "language": "c", "name": "chttp2_fake_security_max_concurrent_streams_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -941,8 +1011,10 @@ "language": "c", "name": "chttp2_fake_security_max_message_length_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -950,8 +1022,10 @@ "language": "c", "name": "chttp2_fake_security_no_op_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -959,8 +1033,10 @@ "language": "c", "name": "chttp2_fake_security_ping_pong_streaming_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -968,8 +1044,10 @@ "language": "c", "name": "chttp2_fake_security_registered_call_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -977,8 +1055,10 @@ "language": "c", "name": "chttp2_fake_security_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -986,8 +1066,10 @@ "language": "c", "name": "chttp2_fake_security_request_response_with_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -995,8 +1077,10 @@ "language": "c", "name": "chttp2_fake_security_request_response_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1004,8 +1088,10 @@ "language": "c", "name": "chttp2_fake_security_request_response_with_payload_and_call_creds_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1013,8 +1099,10 @@ "language": "c", "name": "chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1022,8 +1110,10 @@ "language": "c", "name": "chttp2_fake_security_request_with_compressed_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1031,8 +1121,10 @@ "language": "c", "name": "chttp2_fake_security_request_with_flags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1040,8 +1132,10 @@ "language": "c", "name": "chttp2_fake_security_request_with_large_metadata_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1049,8 +1143,10 @@ "language": "c", "name": "chttp2_fake_security_request_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1058,8 +1154,10 @@ "language": "c", "name": "chttp2_fake_security_server_finishes_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1067,8 +1165,10 @@ "language": "c", "name": "chttp2_fake_security_simple_delayed_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1076,8 +1176,10 @@ "language": "c", "name": "chttp2_fake_security_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1085,8 +1187,10 @@ "language": "c", "name": "chttp2_fake_security_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1094,8 +1198,10 @@ "language": "c", "name": "chttp2_fullstack_bad_hostname_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1103,8 +1209,10 @@ "language": "c", "name": "chttp2_fullstack_cancel_after_accept_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1112,8 +1220,10 @@ "language": "c", "name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1121,8 +1231,10 @@ "language": "c", "name": "chttp2_fullstack_cancel_after_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1130,8 +1242,10 @@ "language": "c", "name": "chttp2_fullstack_cancel_before_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1139,8 +1253,10 @@ "language": "c", "name": "chttp2_fullstack_cancel_in_a_vacuum_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1148,8 +1264,10 @@ "language": "c", "name": "chttp2_fullstack_census_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1157,8 +1275,10 @@ "language": "c", "name": "chttp2_fullstack_channel_connectivity_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1166,8 +1286,10 @@ "language": "c", "name": "chttp2_fullstack_default_host_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1175,8 +1297,10 @@ "language": "c", "name": "chttp2_fullstack_disappearing_server_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1184,8 +1308,10 @@ "language": "c", "name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1193,8 +1319,10 @@ "language": "c", "name": "chttp2_fullstack_early_server_shutdown_finishes_tags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1202,8 +1330,10 @@ "language": "c", "name": "chttp2_fullstack_empty_batch_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1211,8 +1341,10 @@ "language": "c", "name": "chttp2_fullstack_graceful_server_shutdown_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1220,8 +1352,10 @@ "language": "c", "name": "chttp2_fullstack_invoke_large_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1229,8 +1363,10 @@ "language": "c", "name": "chttp2_fullstack_max_concurrent_streams_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1238,8 +1374,10 @@ "language": "c", "name": "chttp2_fullstack_max_message_length_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1247,8 +1385,10 @@ "language": "c", "name": "chttp2_fullstack_no_op_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1256,8 +1396,10 @@ "language": "c", "name": "chttp2_fullstack_ping_pong_streaming_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1265,8 +1407,10 @@ "language": "c", "name": "chttp2_fullstack_registered_call_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1274,8 +1418,10 @@ "language": "c", "name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1283,8 +1429,10 @@ "language": "c", "name": "chttp2_fullstack_request_response_with_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1292,8 +1440,10 @@ "language": "c", "name": "chttp2_fullstack_request_response_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1301,8 +1451,10 @@ "language": "c", "name": "chttp2_fullstack_request_response_with_payload_and_call_creds_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1310,8 +1462,10 @@ "language": "c", "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1319,8 +1473,10 @@ "language": "c", "name": "chttp2_fullstack_request_with_compressed_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1328,8 +1484,10 @@ "language": "c", "name": "chttp2_fullstack_request_with_flags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1337,8 +1495,10 @@ "language": "c", "name": "chttp2_fullstack_request_with_large_metadata_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1346,8 +1506,10 @@ "language": "c", "name": "chttp2_fullstack_request_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1355,8 +1517,10 @@ "language": "c", "name": "chttp2_fullstack_server_finishes_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1364,8 +1528,10 @@ "language": "c", "name": "chttp2_fullstack_simple_delayed_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1373,8 +1539,10 @@ "language": "c", "name": "chttp2_fullstack_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1382,8 +1550,10 @@ "language": "c", "name": "chttp2_fullstack_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1391,8 +1561,10 @@ "language": "c", "name": "chttp2_fullstack_compression_bad_hostname_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1400,8 +1572,10 @@ "language": "c", "name": "chttp2_fullstack_compression_cancel_after_accept_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1409,8 +1583,10 @@ "language": "c", "name": "chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1418,8 +1594,10 @@ "language": "c", "name": "chttp2_fullstack_compression_cancel_after_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1427,8 +1605,10 @@ "language": "c", "name": "chttp2_fullstack_compression_cancel_before_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1436,8 +1616,10 @@ "language": "c", "name": "chttp2_fullstack_compression_cancel_in_a_vacuum_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1445,8 +1627,10 @@ "language": "c", "name": "chttp2_fullstack_compression_census_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1454,8 +1638,10 @@ "language": "c", "name": "chttp2_fullstack_compression_channel_connectivity_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1463,8 +1649,10 @@ "language": "c", "name": "chttp2_fullstack_compression_default_host_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1472,8 +1660,10 @@ "language": "c", "name": "chttp2_fullstack_compression_disappearing_server_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1481,8 +1671,10 @@ "language": "c", "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1490,8 +1682,10 @@ "language": "c", "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1499,8 +1693,10 @@ "language": "c", "name": "chttp2_fullstack_compression_empty_batch_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1508,8 +1704,10 @@ "language": "c", "name": "chttp2_fullstack_compression_graceful_server_shutdown_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1517,8 +1715,10 @@ "language": "c", "name": "chttp2_fullstack_compression_invoke_large_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1526,8 +1726,10 @@ "language": "c", "name": "chttp2_fullstack_compression_max_concurrent_streams_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1535,8 +1737,10 @@ "language": "c", "name": "chttp2_fullstack_compression_max_message_length_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1544,8 +1748,10 @@ "language": "c", "name": "chttp2_fullstack_compression_no_op_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1553,8 +1759,10 @@ "language": "c", "name": "chttp2_fullstack_compression_ping_pong_streaming_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1562,8 +1770,10 @@ "language": "c", "name": "chttp2_fullstack_compression_registered_call_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1571,8 +1781,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1580,8 +1792,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_response_with_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1589,8 +1803,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_response_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1598,8 +1814,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1607,8 +1825,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1616,8 +1836,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_with_compressed_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1625,8 +1847,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_with_flags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1634,8 +1858,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_with_large_metadata_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1643,8 +1869,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1652,8 +1880,10 @@ "language": "c", "name": "chttp2_fullstack_compression_server_finishes_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1661,8 +1891,10 @@ "language": "c", "name": "chttp2_fullstack_compression_simple_delayed_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1670,8 +1902,10 @@ "language": "c", "name": "chttp2_fullstack_compression_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1679,8 +1913,10 @@ "language": "c", "name": "chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -1688,6 +1924,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_bad_hostname_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1696,6 +1934,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_after_accept_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1704,6 +1944,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1712,6 +1954,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_after_invoke_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1720,6 +1964,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_before_invoke_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1728,6 +1974,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_in_a_vacuum_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1736,6 +1984,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_census_simple_request_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1744,6 +1994,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_channel_connectivity_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1752,6 +2004,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_disappearing_server_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1760,6 +2014,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1768,6 +2024,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1776,6 +2034,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_empty_batch_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1784,6 +2044,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_graceful_server_shutdown_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1792,6 +2054,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_invoke_large_request_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1800,6 +2064,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_max_concurrent_streams_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1808,6 +2074,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_max_message_length_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1816,6 +2084,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_no_op_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1824,6 +2094,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_ping_pong_streaming_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1832,6 +2104,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_registered_call_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1840,6 +2114,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1848,6 +2124,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1856,6 +2134,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_payload_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1864,6 +2144,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_payload_and_call_creds_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1872,6 +2154,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1880,6 +2164,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_compressed_payload_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1888,6 +2174,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_flags_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1896,6 +2184,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_large_metadata_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1904,6 +2194,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_payload_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1912,6 +2204,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_server_finishes_request_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1920,6 +2214,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_simple_delayed_request_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1928,6 +2224,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_simple_request_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1936,6 +2234,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -1944,7 +2244,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_bad_hostname_test", "platforms": [ - "posix" + "linux" ] }, { @@ -1952,7 +2252,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_test", "platforms": [ - "posix" + "linux" ] }, { @@ -1960,7 +2260,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_test", "platforms": [ - "posix" + "linux" ] }, { @@ -1968,7 +2268,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_test", "platforms": [ - "posix" + "linux" ] }, { @@ -1976,7 +2276,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_test", "platforms": [ - "posix" + "linux" ] }, { @@ -1984,7 +2284,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_test", "platforms": [ - "posix" + "linux" ] }, { @@ -1992,7 +2292,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_census_simple_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2000,7 +2300,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_channel_connectivity_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2008,7 +2308,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_disappearing_server_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2016,7 +2316,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2024,7 +2324,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2032,7 +2332,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_empty_batch_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2040,7 +2340,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2048,7 +2348,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_invoke_large_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2056,7 +2356,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2064,7 +2364,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_max_message_length_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2072,7 +2372,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_no_op_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2080,7 +2380,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2088,7 +2388,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_registered_call_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2096,7 +2396,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2104,7 +2404,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2112,7 +2412,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2120,7 +2420,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_and_call_creds_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2128,7 +2428,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2136,7 +2436,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2144,7 +2444,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_flags_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2152,7 +2452,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2160,7 +2460,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2168,7 +2468,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_server_finishes_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2176,7 +2476,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2184,7 +2484,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2192,7 +2492,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2200,7 +2500,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_bad_hostname_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2208,7 +2508,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_cancel_after_accept_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2216,7 +2516,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2224,7 +2524,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_cancel_after_invoke_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2232,7 +2532,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_cancel_before_invoke_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2240,7 +2540,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_cancel_in_a_vacuum_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2248,7 +2548,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_census_simple_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2256,7 +2556,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_channel_connectivity_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2264,7 +2564,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_default_host_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2272,7 +2572,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_disappearing_server_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2280,7 +2580,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2288,7 +2588,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2296,7 +2596,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_empty_batch_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2304,7 +2604,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_graceful_server_shutdown_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2312,7 +2612,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_invoke_large_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2320,7 +2620,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_max_concurrent_streams_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2328,7 +2628,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_max_message_length_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2336,7 +2636,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_no_op_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2344,7 +2644,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_ping_pong_streaming_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2352,7 +2652,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_registered_call_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2360,7 +2660,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2368,7 +2668,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2376,7 +2676,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2384,7 +2684,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_payload_and_call_creds_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2392,7 +2692,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2400,7 +2700,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_with_compressed_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2408,7 +2708,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_with_flags_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2416,7 +2716,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_with_large_metadata_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2424,7 +2724,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_with_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2432,7 +2732,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_server_finishes_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2440,7 +2740,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_simple_delayed_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2448,7 +2748,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_simple_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2456,7 +2756,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "posix" + "linux" ] }, { @@ -2464,8 +2764,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_bad_hostname_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2473,8 +2775,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_after_accept_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2482,8 +2786,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2491,8 +2797,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_after_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2500,8 +2808,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_before_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2509,8 +2819,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2518,8 +2830,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_census_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2527,8 +2841,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_default_host_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2536,8 +2852,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_disappearing_server_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2545,8 +2863,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2554,8 +2874,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2563,8 +2885,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_empty_batch_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2572,8 +2896,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_graceful_server_shutdown_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2581,8 +2907,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_invoke_large_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2590,8 +2918,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_max_message_length_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2599,8 +2929,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_no_op_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2608,8 +2940,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_ping_pong_streaming_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2617,8 +2951,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_registered_call_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2626,8 +2962,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2635,8 +2973,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2644,8 +2984,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2653,8 +2995,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2662,8 +3006,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2671,8 +3017,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_with_large_metadata_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2680,8 +3028,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2689,8 +3039,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_server_finishes_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2698,8 +3050,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_simple_delayed_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2707,8 +3061,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2716,8 +3072,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2725,8 +3083,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_bad_hostname_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2734,8 +3094,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2743,8 +3105,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2752,8 +3116,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_cancel_after_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2761,8 +3127,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_cancel_before_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2770,8 +3138,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2779,8 +3149,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_census_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2788,8 +3160,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_channel_connectivity_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2797,8 +3171,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_default_host_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2806,8 +3182,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_disappearing_server_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2815,8 +3193,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2824,8 +3204,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2833,8 +3215,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_empty_batch_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2842,8 +3226,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_graceful_server_shutdown_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2851,8 +3237,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_invoke_large_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2860,8 +3248,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_max_concurrent_streams_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2869,8 +3259,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_max_message_length_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2878,8 +3270,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_no_op_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2887,8 +3281,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_ping_pong_streaming_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2896,8 +3292,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_registered_call_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2905,8 +3303,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2914,8 +3314,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2923,8 +3325,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2932,8 +3336,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2941,8 +3347,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2950,8 +3358,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_request_with_compressed_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2959,8 +3369,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_request_with_flags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2968,8 +3380,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_request_with_large_metadata_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2977,8 +3391,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_request_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2986,8 +3402,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_server_finishes_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -2995,8 +3413,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_simple_delayed_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3004,8 +3424,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3013,8 +3435,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3022,7 +3446,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3030,7 +3454,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3038,7 +3462,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3046,7 +3470,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3054,7 +3478,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3062,7 +3486,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3070,7 +3494,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3078,7 +3502,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3086,7 +3510,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_default_host_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3094,7 +3518,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3102,7 +3526,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3110,7 +3534,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3118,7 +3542,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_empty_batch_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3126,7 +3550,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3134,7 +3558,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3142,7 +3566,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3150,7 +3574,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_max_message_length_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3158,7 +3582,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_no_op_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3166,7 +3590,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3174,7 +3598,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_registered_call_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3182,7 +3606,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3190,7 +3614,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3198,7 +3622,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3206,7 +3630,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3214,7 +3638,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3222,7 +3646,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3230,7 +3654,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3238,7 +3662,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3246,7 +3670,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3254,7 +3678,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3262,7 +3686,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3270,7 +3694,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_simple_request_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3278,7 +3702,7 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "posix" + "linux" ] }, { @@ -3286,8 +3710,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3295,8 +3721,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3304,8 +3732,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3313,8 +3743,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3322,8 +3754,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3331,8 +3765,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3340,8 +3776,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3349,8 +3787,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_default_host_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3358,8 +3798,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3367,8 +3809,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3376,8 +3820,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3385,8 +3831,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3394,8 +3842,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3403,8 +3853,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3412,8 +3864,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3421,8 +3875,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_no_op_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3430,8 +3886,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3439,8 +3897,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_registered_call_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3448,8 +3908,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3457,8 +3919,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3466,8 +3930,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3475,8 +3941,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3484,8 +3952,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3493,8 +3963,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3502,8 +3974,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3511,8 +3985,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3520,8 +3996,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3529,8 +4007,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3538,8 +4018,10 @@ "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3547,8 +4029,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3556,8 +4040,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3565,8 +4051,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3574,8 +4062,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3583,8 +4073,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3592,8 +4084,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3601,8 +4095,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3610,8 +4106,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3619,8 +4117,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_default_host_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3628,8 +4128,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3637,8 +4139,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3646,8 +4150,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3655,8 +4161,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3664,8 +4172,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3673,8 +4183,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3682,8 +4194,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3691,8 +4205,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3700,8 +4216,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_no_op_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3709,8 +4227,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3718,8 +4238,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3727,8 +4249,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3736,8 +4260,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3745,8 +4271,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3754,8 +4282,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3763,8 +4293,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3772,8 +4304,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3781,8 +4315,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3790,8 +4326,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3799,8 +4337,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3808,8 +4348,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3817,8 +4359,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3826,8 +4370,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3835,8 +4381,10 @@ "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3844,8 +4392,10 @@ "language": "c", "name": "chttp2_socket_pair_bad_hostname_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3853,8 +4403,10 @@ "language": "c", "name": "chttp2_socket_pair_cancel_after_accept_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3862,8 +4414,10 @@ "language": "c", "name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3871,8 +4425,10 @@ "language": "c", "name": "chttp2_socket_pair_cancel_after_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3880,8 +4436,10 @@ "language": "c", "name": "chttp2_socket_pair_cancel_before_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3889,8 +4447,10 @@ "language": "c", "name": "chttp2_socket_pair_cancel_in_a_vacuum_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3898,8 +4458,10 @@ "language": "c", "name": "chttp2_socket_pair_census_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3907,8 +4469,10 @@ "language": "c", "name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3916,8 +4480,10 @@ "language": "c", "name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3925,8 +4491,10 @@ "language": "c", "name": "chttp2_socket_pair_empty_batch_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3934,8 +4502,10 @@ "language": "c", "name": "chttp2_socket_pair_graceful_server_shutdown_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3943,8 +4513,10 @@ "language": "c", "name": "chttp2_socket_pair_invoke_large_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3952,8 +4524,10 @@ "language": "c", "name": "chttp2_socket_pair_max_concurrent_streams_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3961,8 +4535,10 @@ "language": "c", "name": "chttp2_socket_pair_max_message_length_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3970,8 +4546,10 @@ "language": "c", "name": "chttp2_socket_pair_no_op_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3979,8 +4557,10 @@ "language": "c", "name": "chttp2_socket_pair_ping_pong_streaming_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3988,8 +4568,10 @@ "language": "c", "name": "chttp2_socket_pair_registered_call_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -3997,8 +4579,10 @@ "language": "c", "name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4006,8 +4590,10 @@ "language": "c", "name": "chttp2_socket_pair_request_response_with_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4015,8 +4601,10 @@ "language": "c", "name": "chttp2_socket_pair_request_response_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4024,8 +4612,10 @@ "language": "c", "name": "chttp2_socket_pair_request_response_with_payload_and_call_creds_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4033,8 +4623,10 @@ "language": "c", "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4042,8 +4634,10 @@ "language": "c", "name": "chttp2_socket_pair_request_with_compressed_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4051,8 +4645,10 @@ "language": "c", "name": "chttp2_socket_pair_request_with_flags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4060,8 +4656,10 @@ "language": "c", "name": "chttp2_socket_pair_request_with_large_metadata_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4069,8 +4667,10 @@ "language": "c", "name": "chttp2_socket_pair_request_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4078,8 +4678,10 @@ "language": "c", "name": "chttp2_socket_pair_server_finishes_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4087,8 +4689,10 @@ "language": "c", "name": "chttp2_socket_pair_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4096,8 +4700,10 @@ "language": "c", "name": "chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4105,8 +4711,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4114,8 +4722,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4123,8 +4733,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4132,8 +4744,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4141,8 +4755,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4150,8 +4766,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4159,8 +4777,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4168,8 +4788,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4177,8 +4799,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4186,8 +4810,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_empty_batch_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4195,8 +4821,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4204,8 +4832,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4213,8 +4843,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4222,8 +4854,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_max_message_length_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4231,8 +4865,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_no_op_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4240,8 +4876,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4249,8 +4887,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_registered_call_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4258,8 +4898,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4267,8 +4909,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4276,8 +4920,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4285,8 +4931,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4294,8 +4942,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4303,8 +4953,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4312,8 +4964,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4321,8 +4975,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4330,8 +4986,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4339,8 +4997,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4348,8 +5008,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4357,8 +5019,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4366,8 +5030,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_bad_hostname_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4375,8 +5041,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4384,8 +5052,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4393,8 +5063,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4402,8 +5074,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4411,8 +5085,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4420,8 +5096,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_census_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4429,8 +5107,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4438,8 +5118,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4447,8 +5129,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_empty_batch_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4456,8 +5140,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4465,8 +5151,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_invoke_large_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4474,8 +5162,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4483,8 +5173,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_max_message_length_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4492,8 +5184,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_no_op_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4501,8 +5195,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4510,8 +5206,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_registered_call_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4519,8 +5217,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4528,8 +5228,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4537,8 +5239,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4546,8 +5250,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4555,8 +5261,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4564,8 +5272,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4573,8 +5283,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_flags_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4582,8 +5294,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4591,8 +5305,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_payload_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4600,8 +5316,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_server_finishes_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4609,8 +5327,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_simple_request_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4618,8 +5338,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4627,8 +5349,10 @@ "language": "c", "name": "chttp2_fullstack_bad_hostname_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4636,8 +5360,10 @@ "language": "c", "name": "chttp2_fullstack_cancel_after_accept_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4645,8 +5371,10 @@ "language": "c", "name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4654,8 +5382,10 @@ "language": "c", "name": "chttp2_fullstack_cancel_after_invoke_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4663,8 +5393,10 @@ "language": "c", "name": "chttp2_fullstack_cancel_before_invoke_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4672,8 +5404,10 @@ "language": "c", "name": "chttp2_fullstack_cancel_in_a_vacuum_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4681,8 +5415,10 @@ "language": "c", "name": "chttp2_fullstack_census_simple_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4690,8 +5426,10 @@ "language": "c", "name": "chttp2_fullstack_channel_connectivity_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4699,8 +5437,10 @@ "language": "c", "name": "chttp2_fullstack_default_host_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4708,8 +5448,10 @@ "language": "c", "name": "chttp2_fullstack_disappearing_server_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4717,8 +5459,10 @@ "language": "c", "name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4726,8 +5470,10 @@ "language": "c", "name": "chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4735,8 +5481,10 @@ "language": "c", "name": "chttp2_fullstack_empty_batch_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4744,8 +5492,10 @@ "language": "c", "name": "chttp2_fullstack_graceful_server_shutdown_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4753,8 +5503,10 @@ "language": "c", "name": "chttp2_fullstack_invoke_large_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4762,8 +5514,10 @@ "language": "c", "name": "chttp2_fullstack_max_concurrent_streams_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4771,8 +5525,10 @@ "language": "c", "name": "chttp2_fullstack_max_message_length_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4780,8 +5536,10 @@ "language": "c", "name": "chttp2_fullstack_no_op_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4789,8 +5547,10 @@ "language": "c", "name": "chttp2_fullstack_ping_pong_streaming_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4798,8 +5558,10 @@ "language": "c", "name": "chttp2_fullstack_registered_call_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4807,8 +5569,10 @@ "language": "c", "name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4816,8 +5580,10 @@ "language": "c", "name": "chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4825,8 +5591,10 @@ "language": "c", "name": "chttp2_fullstack_request_response_with_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4834,8 +5602,10 @@ "language": "c", "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4843,8 +5613,10 @@ "language": "c", "name": "chttp2_fullstack_request_with_compressed_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4852,8 +5624,10 @@ "language": "c", "name": "chttp2_fullstack_request_with_flags_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4861,8 +5635,10 @@ "language": "c", "name": "chttp2_fullstack_request_with_large_metadata_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4870,8 +5646,10 @@ "language": "c", "name": "chttp2_fullstack_request_with_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4879,8 +5657,10 @@ "language": "c", "name": "chttp2_fullstack_server_finishes_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4888,8 +5668,10 @@ "language": "c", "name": "chttp2_fullstack_simple_delayed_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4897,8 +5679,10 @@ "language": "c", "name": "chttp2_fullstack_simple_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4906,8 +5690,10 @@ "language": "c", "name": "chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4915,8 +5701,10 @@ "language": "c", "name": "chttp2_fullstack_compression_bad_hostname_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4924,8 +5712,10 @@ "language": "c", "name": "chttp2_fullstack_compression_cancel_after_accept_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4933,8 +5723,10 @@ "language": "c", "name": "chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4942,8 +5734,10 @@ "language": "c", "name": "chttp2_fullstack_compression_cancel_after_invoke_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4951,8 +5745,10 @@ "language": "c", "name": "chttp2_fullstack_compression_cancel_before_invoke_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4960,8 +5756,10 @@ "language": "c", "name": "chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4969,8 +5767,10 @@ "language": "c", "name": "chttp2_fullstack_compression_census_simple_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4978,8 +5778,10 @@ "language": "c", "name": "chttp2_fullstack_compression_channel_connectivity_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4987,8 +5789,10 @@ "language": "c", "name": "chttp2_fullstack_compression_default_host_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -4996,8 +5800,10 @@ "language": "c", "name": "chttp2_fullstack_compression_disappearing_server_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5005,8 +5811,10 @@ "language": "c", "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5014,8 +5822,10 @@ "language": "c", "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5023,8 +5833,10 @@ "language": "c", "name": "chttp2_fullstack_compression_empty_batch_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5032,8 +5844,10 @@ "language": "c", "name": "chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5041,8 +5855,10 @@ "language": "c", "name": "chttp2_fullstack_compression_invoke_large_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5050,8 +5866,10 @@ "language": "c", "name": "chttp2_fullstack_compression_max_concurrent_streams_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5059,8 +5877,10 @@ "language": "c", "name": "chttp2_fullstack_compression_max_message_length_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5068,8 +5888,10 @@ "language": "c", "name": "chttp2_fullstack_compression_no_op_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5077,8 +5899,10 @@ "language": "c", "name": "chttp2_fullstack_compression_ping_pong_streaming_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5086,8 +5910,10 @@ "language": "c", "name": "chttp2_fullstack_compression_registered_call_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5095,8 +5921,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5104,8 +5932,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5113,8 +5943,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_response_with_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5122,8 +5954,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5131,8 +5965,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5140,8 +5976,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_with_flags_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5149,8 +5987,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_with_large_metadata_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5158,8 +5998,10 @@ "language": "c", "name": "chttp2_fullstack_compression_request_with_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5167,8 +6009,10 @@ "language": "c", "name": "chttp2_fullstack_compression_server_finishes_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5176,8 +6020,10 @@ "language": "c", "name": "chttp2_fullstack_compression_simple_delayed_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5185,8 +6031,10 @@ "language": "c", "name": "chttp2_fullstack_compression_simple_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5194,8 +6042,10 @@ "language": "c", "name": "chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5203,6 +6053,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_bad_hostname_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5211,6 +6063,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_after_accept_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5219,6 +6073,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5227,6 +6083,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_after_invoke_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5235,6 +6093,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_before_invoke_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5243,6 +6103,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_in_a_vacuum_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5251,6 +6113,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_census_simple_request_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5259,6 +6123,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_channel_connectivity_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5267,6 +6133,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_disappearing_server_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5275,6 +6143,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5283,6 +6153,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5291,6 +6163,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_empty_batch_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5299,6 +6173,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_graceful_server_shutdown_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5307,6 +6183,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_invoke_large_request_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5315,6 +6193,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_max_concurrent_streams_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5323,6 +6203,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_max_message_length_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5331,6 +6213,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_no_op_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5339,6 +6223,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_ping_pong_streaming_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5347,6 +6233,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_registered_call_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5355,6 +6243,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5363,6 +6253,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5371,6 +6263,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_payload_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5379,6 +6273,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5387,6 +6283,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_compressed_payload_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5395,6 +6293,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_flags_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5403,6 +6303,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_large_metadata_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5411,6 +6313,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_payload_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5419,6 +6323,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_server_finishes_request_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5427,6 +6333,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_simple_delayed_request_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5435,6 +6343,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_simple_request_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5443,6 +6353,8 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_unsecure_test", "platforms": [ + "linux", + "mac", "posix" ] }, @@ -5451,7 +6363,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_bad_hostname_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5459,7 +6371,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5467,7 +6379,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5475,7 +6387,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5483,7 +6395,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5491,7 +6403,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5499,7 +6411,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_census_simple_request_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5507,7 +6419,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_channel_connectivity_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5515,7 +6427,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_disappearing_server_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5523,7 +6435,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5531,7 +6443,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5539,7 +6451,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_empty_batch_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5547,7 +6459,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5555,7 +6467,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_invoke_large_request_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5563,7 +6475,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5571,7 +6483,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_max_message_length_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5579,7 +6491,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_no_op_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5587,7 +6499,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5595,7 +6507,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_registered_call_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5603,7 +6515,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5611,7 +6523,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5619,7 +6531,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5627,7 +6539,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5635,7 +6547,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5643,7 +6555,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_flags_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5651,7 +6563,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5659,7 +6571,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_payload_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5667,7 +6579,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_server_finishes_request_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5675,7 +6587,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5683,7 +6595,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5691,7 +6603,7 @@ "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5699,7 +6611,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_bad_hostname_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5707,7 +6619,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_cancel_after_accept_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5715,7 +6627,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5723,7 +6635,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_cancel_after_invoke_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5731,7 +6643,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_cancel_before_invoke_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5739,7 +6651,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_cancel_in_a_vacuum_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5747,7 +6659,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_census_simple_request_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5755,7 +6667,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_channel_connectivity_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5763,7 +6675,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_default_host_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5771,7 +6683,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_disappearing_server_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5779,7 +6691,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5787,7 +6699,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5795,7 +6707,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_empty_batch_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5803,7 +6715,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_graceful_server_shutdown_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5811,7 +6723,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_invoke_large_request_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5819,7 +6731,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_max_concurrent_streams_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5827,7 +6739,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_max_message_length_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5835,7 +6747,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_no_op_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5843,7 +6755,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_ping_pong_streaming_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5851,7 +6763,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_registered_call_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5859,7 +6771,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5867,7 +6779,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5875,7 +6787,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_payload_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5883,7 +6795,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5891,7 +6803,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_with_compressed_payload_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5899,7 +6811,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_with_flags_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5907,7 +6819,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_with_large_metadata_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5915,7 +6827,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_request_with_payload_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5923,7 +6835,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_server_finishes_request_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5931,7 +6843,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5939,7 +6851,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_simple_request_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5947,7 +6859,7 @@ "language": "c", "name": "chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test", "platforms": [ - "posix" + "linux" ] }, { @@ -5955,8 +6867,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_bad_hostname_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5964,8 +6878,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5973,8 +6889,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5982,8 +6900,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -5991,8 +6911,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6000,8 +6922,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6009,8 +6933,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_census_simple_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6018,8 +6944,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_default_host_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6027,8 +6955,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_disappearing_server_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6036,8 +6966,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6045,8 +6977,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6054,8 +6988,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_empty_batch_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6063,8 +6999,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6072,8 +7010,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6081,8 +7021,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_max_message_length_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6090,8 +7032,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_no_op_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6099,8 +7043,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6108,8 +7054,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_registered_call_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6117,8 +7065,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6126,8 +7076,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6135,8 +7087,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6144,8 +7098,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6153,8 +7109,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6162,8 +7120,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_request_with_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6171,8 +7131,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6180,8 +7142,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6189,8 +7153,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_simple_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6198,8 +7164,10 @@ "language": "c", "name": "chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6207,8 +7175,10 @@ "language": "c", "name": "chttp2_socket_pair_bad_hostname_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6216,8 +7186,10 @@ "language": "c", "name": "chttp2_socket_pair_cancel_after_accept_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6225,8 +7197,10 @@ "language": "c", "name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6234,8 +7208,10 @@ "language": "c", "name": "chttp2_socket_pair_cancel_after_invoke_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6243,8 +7219,10 @@ "language": "c", "name": "chttp2_socket_pair_cancel_before_invoke_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6252,8 +7230,10 @@ "language": "c", "name": "chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6261,8 +7241,10 @@ "language": "c", "name": "chttp2_socket_pair_census_simple_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6270,8 +7252,10 @@ "language": "c", "name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6279,8 +7263,10 @@ "language": "c", "name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6288,8 +7274,10 @@ "language": "c", "name": "chttp2_socket_pair_empty_batch_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6297,8 +7285,10 @@ "language": "c", "name": "chttp2_socket_pair_graceful_server_shutdown_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6306,8 +7296,10 @@ "language": "c", "name": "chttp2_socket_pair_invoke_large_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6315,8 +7307,10 @@ "language": "c", "name": "chttp2_socket_pair_max_concurrent_streams_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6324,8 +7318,10 @@ "language": "c", "name": "chttp2_socket_pair_max_message_length_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6333,8 +7329,10 @@ "language": "c", "name": "chttp2_socket_pair_no_op_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6342,8 +7340,10 @@ "language": "c", "name": "chttp2_socket_pair_ping_pong_streaming_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6351,8 +7351,10 @@ "language": "c", "name": "chttp2_socket_pair_registered_call_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6360,8 +7362,10 @@ "language": "c", "name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6369,8 +7373,10 @@ "language": "c", "name": "chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6378,8 +7384,10 @@ "language": "c", "name": "chttp2_socket_pair_request_response_with_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6387,8 +7395,10 @@ "language": "c", "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6396,8 +7406,10 @@ "language": "c", "name": "chttp2_socket_pair_request_with_compressed_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6405,8 +7417,10 @@ "language": "c", "name": "chttp2_socket_pair_request_with_flags_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6414,8 +7428,10 @@ "language": "c", "name": "chttp2_socket_pair_request_with_large_metadata_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6423,8 +7439,10 @@ "language": "c", "name": "chttp2_socket_pair_request_with_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6432,8 +7450,10 @@ "language": "c", "name": "chttp2_socket_pair_server_finishes_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6441,8 +7461,10 @@ "language": "c", "name": "chttp2_socket_pair_simple_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6450,8 +7472,10 @@ "language": "c", "name": "chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6459,8 +7483,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6468,8 +7494,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6477,8 +7505,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6486,8 +7516,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6495,8 +7527,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6504,8 +7538,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6513,8 +7549,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6522,8 +7560,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6531,8 +7571,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6540,8 +7582,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6549,8 +7593,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6558,8 +7604,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6567,8 +7615,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6576,8 +7626,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6585,8 +7637,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6594,8 +7648,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6603,8 +7659,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6612,8 +7670,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6621,8 +7681,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6630,8 +7692,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6639,8 +7703,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6648,8 +7714,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6657,8 +7725,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6666,8 +7736,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6675,8 +7747,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6684,8 +7758,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6693,8 +7769,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6702,8 +7780,10 @@ "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6711,8 +7791,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6720,8 +7802,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6729,8 +7813,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6738,8 +7824,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6747,8 +7835,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6756,8 +7846,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6765,8 +7857,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6774,8 +7868,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6783,8 +7879,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6792,8 +7890,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6801,8 +7901,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6810,8 +7912,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6819,8 +7923,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6828,8 +7934,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6837,8 +7945,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6846,8 +7956,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6855,8 +7967,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6864,8 +7978,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6873,8 +7989,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6882,8 +8000,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6891,8 +8011,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6900,8 +8022,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6909,8 +8033,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6918,8 +8044,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6927,8 +8055,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6936,8 +8066,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6945,8 +8077,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6954,8 +8088,10 @@ "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test", "platforms": [ - "windows", - "posix" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -6963,8 +8099,8 @@ "language": "c", "name": "connection_prefix_bad_client_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] }, { @@ -6972,8 +8108,8 @@ "language": "c", "name": "initial_settings_frame_bad_client_test", "platforms": [ - "windows", - "posix" + "posix", + "windows" ] } ] -- cgit v1.2.3 From a5af2be96479a2d5f2db0309d9ab4c0b9dd10f29 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 5 Aug 2015 15:31:02 -0700 Subject: Fix integration breakage --- test/core/util/port_posix.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'test/core') diff --git a/test/core/util/port_posix.c b/test/core/util/port_posix.c index 715e458262..62d5e7df20 100644 --- a/test/core/util/port_posix.c +++ b/test/core/util/port_posix.c @@ -149,7 +149,7 @@ static void got_port_from_server(void *arg, GPR_ASSERT(port > 1024); gpr_mu_lock(GRPC_POLLSET_MU(&pr->pollset)); pr->port = port; - grpc_pollset_kick(&pr->pollset); + grpc_pollset_kick(&pr->pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(&pr->pollset)); } @@ -174,7 +174,9 @@ static int pick_port_using_server(char *server) { &pr); gpr_mu_lock(GRPC_POLLSET_MU(&pr.pollset)); while (pr.port == -1) { - grpc_pollset_work(&pr.pollset, GRPC_TIMEOUT_SECONDS_TO_DEADLINE(1)); + grpc_pollset_worker worker; + grpc_pollset_work(&pr.pollset, &worker, + GRPC_TIMEOUT_SECONDS_TO_DEADLINE(1)); } gpr_mu_unlock(GRPC_POLLSET_MU(&pr.pollset)); -- cgit v1.2.3 From 77a7b870c3e4259cc8f5cffc2b59876b42c0624a Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Wed, 5 Aug 2015 20:11:02 -0700 Subject: Fixing API (thanks Craig for the comments) and associated tests. --- include/grpc/grpc_security.h | 26 +++-- src/core/security/security_context.h | 11 ++- src/core/security/server_auth_filter.c | 26 ++--- test/core/end2end/end2end_tests.h | 2 + test/core/end2end/fixtures/chttp2_fake_security.c | 25 +++++ .../end2end/fixtures/chttp2_simple_ssl_fullstack.c | 24 +++++ .../chttp2_simple_ssl_fullstack_with_poll.c | 24 +++++ .../chttp2_simple_ssl_with_oauth2_fullstack.c | 48 ++++++--- .../request_response_with_payload_and_call_creds.c | 110 ++++++++++++++++++++- 9 files changed, 242 insertions(+), 54 deletions(-) (limited to 'test/core') diff --git a/include/grpc/grpc_security.h b/include/grpc/grpc_security.h index 65887d86ba..640c1fda98 100644 --- a/include/grpc/grpc_security.h +++ b/include/grpc/grpc_security.h @@ -255,12 +255,9 @@ void grpc_auth_context_release(grpc_auth_context *context); /* -- The following auth context methods should only be called by a server metadata - processor that will augment the channel auth context (see below). + processor to set properties extracted from auth metadata. -- */ -/* Creates a new auth context based off a chained context. */ -grpc_auth_context *grpc_auth_context_create(grpc_auth_context *chained); - /* Add a property. */ void grpc_auth_context_add_property(grpc_auth_context *ctx, const char *name, const char *value, size_t value_length); @@ -277,21 +274,22 @@ int grpc_auth_context_set_peer_identity_property_name(grpc_auth_context *ctx, /* --- Auth Metadata Processing --- */ -/* Opaque data structure useful for processors defined in core. */ -typedef struct grpc_auth_ticket grpc_auth_ticket; - /* Callback function that is called when the metadata processing is done. - success is 1 if processing succeeded, 0 otherwise. */ + success is 1 if processing succeeded, 0 otherwise. + Consumed metadata will be removed from the set of metadata available on the + call. */ typedef void (*grpc_process_auth_metadata_done_cb)( void *user_data, const grpc_metadata *consumed_md, size_t num_consumed_md, - int success, grpc_auth_context *result); + int success); -/* Pluggable server-side metadata processor object */ +/* Pluggable server-side metadata processor object. */ typedef struct { - void (*process)(void *state, grpc_auth_ticket *ticket, - grpc_auth_context *channel_ctx, const grpc_metadata *md, - size_t md_count, grpc_process_auth_metadata_done_cb cb, - void *user_data); + /* The context object is read/write: it contains the properties of the + channel peer and it is the job of the process function to augment it with + properties derived from the passed-in metadata. */ + void (*process)(void *state, grpc_auth_context *context, + const grpc_metadata *md, size_t md_count, + grpc_process_auth_metadata_done_cb cb, void *user_data); void *state; } grpc_auth_metadata_processor; diff --git a/src/core/security/security_context.h b/src/core/security/security_context.h index ddc0a7afad..3ad57cadea 100644 --- a/src/core/security/security_context.h +++ b/src/core/security/security_context.h @@ -37,11 +37,6 @@ #include "src/core/iomgr/pollset.h" #include "src/core/security/credentials.h" -/* --- grpc_auth_ticket --- */ -struct grpc_auth_ticket { - grpc_pollset *pollset; -}; - /* --- grpc_auth_context --- High level authentication context object. Can optionally be chained. */ @@ -59,8 +54,12 @@ struct grpc_auth_context { grpc_auth_property_array properties; gpr_refcount refcount; const char *peer_identity_property_name; + grpc_pollset *pollset; }; +/* Creation. */ +grpc_auth_context *grpc_auth_context_create(grpc_auth_context *chained); + /* Refcounting. */ #ifdef GRPC_AUTH_CONTEXT_REFCOUNT_DEBUG #define GRPC_AUTH_CONTEXT_REF(p, r) \ @@ -79,6 +78,8 @@ grpc_auth_context *grpc_auth_context_ref(grpc_auth_context *policy); void grpc_auth_context_unref(grpc_auth_context *policy); #endif +/* Get the pollset. */ + void grpc_auth_property_reset(grpc_auth_property *property); /* --- grpc_client_security_context --- diff --git a/src/core/security/server_auth_filter.c b/src/core/security/server_auth_filter.c index 41d3110001..2fc689caec 100644 --- a/src/core/security/server_auth_filter.c +++ b/src/core/security/server_auth_filter.c @@ -53,8 +53,7 @@ typedef struct call_data { const grpc_metadata *consumed_md; size_t num_consumed_md; grpc_stream_op *md_op; - grpc_auth_context **call_auth_context; - grpc_auth_ticket ticket; + grpc_auth_context *auth_context; } call_data; typedef struct channel_data { @@ -107,8 +106,7 @@ static grpc_mdelem *remove_consumed_md(void *user_data, grpc_mdelem *md) { static void on_md_processing_done(void *user_data, const grpc_metadata *consumed_md, - size_t num_consumed_md, int success, - grpc_auth_context *result) { + size_t num_consumed_md, int success) { grpc_call_element *elem = user_data; call_data *calld = elem->call_data; @@ -117,11 +115,6 @@ static void on_md_processing_done(void *user_data, calld->num_consumed_md = num_consumed_md; grpc_metadata_batch_filter(&calld->md_op->data.metadata, remove_consumed_md, elem); - GPR_ASSERT(calld->call_auth_context != NULL); - GRPC_AUTH_CONTEXT_UNREF(*calld->call_auth_context, - "releasing old context."); - *calld->call_auth_context = - GRPC_AUTH_CONTEXT_REF(result, "refing new context."); calld->on_done_recv->cb(calld->on_done_recv->cb_arg, success); } else { gpr_slice message = gpr_slice_from_copied_string( @@ -149,8 +142,7 @@ static void auth_on_recv(void *user_data, int success) { if (chand->processor.process == NULL) continue; calld->md_op = op; md_array = metadata_batch_to_md_array(&op->data.metadata); - chand->processor.process(chand->processor.state, &calld->ticket, - chand->security_connector->auth_context, + chand->processor.process(chand->processor.state, calld->auth_context, md_array.metadata, md_array.count, on_md_processing_done, elem); grpc_metadata_array_destroy(&md_array); @@ -200,11 +192,6 @@ static void init_call_elem(grpc_call_element *elem, GPR_ASSERT(initial_op && initial_op->context != NULL && initial_op->context[GRPC_CONTEXT_SECURITY].value == NULL); - /* Get the pollset for the ticket. */ - if (initial_op->bind_pollset) { - calld->ticket.pollset = initial_op->bind_pollset; - } - /* Create a security context for the call and reference the auth context from the channel. */ if (initial_op->context[GRPC_CONTEXT_SECURITY].value != NULL) { @@ -212,12 +199,13 @@ static void init_call_elem(grpc_call_element *elem, initial_op->context[GRPC_CONTEXT_SECURITY].value); } server_ctx = grpc_server_security_context_create(); - server_ctx->auth_context = GRPC_AUTH_CONTEXT_REF( - chand->security_connector->auth_context, "server_security_context"); + server_ctx->auth_context = + grpc_auth_context_create(chand->security_connector->auth_context); + server_ctx->auth_context->pollset = initial_op->bind_pollset; initial_op->context[GRPC_CONTEXT_SECURITY].value = server_ctx; initial_op->context[GRPC_CONTEXT_SECURITY].destroy = grpc_server_security_context_destroy; - calld->call_auth_context = &server_ctx->auth_context; + calld->auth_context = server_ctx->auth_context; /* Set the metadata callbacks. */ set_recv_ops_md_callbacks(elem, initial_op); diff --git a/test/core/end2end/end2end_tests.h b/test/core/end2end/end2end_tests.h index a18c702951..3f1665613c 100644 --- a/test/core/end2end/end2end_tests.h +++ b/test/core/end2end/end2end_tests.h @@ -43,6 +43,8 @@ typedef struct grpc_end2end_test_config grpc_end2end_test_config; #define FEATURE_MASK_SUPPORTS_HOSTNAME_VERIFICATION 2 #define FEATURE_MASK_SUPPORTS_PER_CALL_CREDENTIALS 4 +#define FAIL_AUTH_CHECK_SERVER_ARG_NAME "fail_auth_check" + struct grpc_end2end_test_fixture { grpc_completion_queue *cq; grpc_server *server; diff --git a/test/core/end2end/fixtures/chttp2_fake_security.c b/test/core/end2end/fixtures/chttp2_fake_security.c index f879b43f79..78b692a45d 100644 --- a/test/core/end2end/fixtures/chttp2_fake_security.c +++ b/test/core/end2end/fixtures/chttp2_fake_security.c @@ -65,6 +65,14 @@ static grpc_end2end_test_fixture chttp2_create_fixture_secure_fullstack( return f; } +static void process_auth_failure(void *state, grpc_auth_context *ctx, + const grpc_metadata *md, size_t md_count, + grpc_process_auth_metadata_done_cb cb, + void *user_data) { + GPR_ASSERT(state == NULL); + cb(user_data, NULL, 0, 0); +} + static void chttp2_init_client_secure_fullstack(grpc_end2end_test_fixture *f, grpc_channel_args *client_args, grpc_credentials *creds) { @@ -102,10 +110,27 @@ static void chttp2_init_client_fake_secure_fullstack( chttp2_init_client_secure_fullstack(f, client_args, fake_ts_creds); } +static int fail_server_auth_check(grpc_channel_args *server_args) { + size_t i; + if (server_args == NULL) return 0; + for (i = 0; i < server_args->num_args; i++) { + if (strcmp(server_args->args[i].key, FAIL_AUTH_CHECK_SERVER_ARG_NAME) == + 0) { + return 1; + } + } + return 0; +} + static void chttp2_init_server_fake_secure_fullstack( grpc_end2end_test_fixture *f, grpc_channel_args *server_args) { grpc_server_credentials *fake_ts_creds = grpc_fake_transport_security_server_credentials_create(); + if (fail_server_auth_check(server_args)) { + grpc_auth_metadata_processor processor = {process_auth_failure, NULL}; + grpc_server_credentials_set_auth_metadata_processor(fake_ts_creds, + processor); + } chttp2_init_server_secure_fullstack(f, server_args, fake_ts_creds); } diff --git a/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c b/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c index 6d5669d05a..9850aac69b 100644 --- a/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c +++ b/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c @@ -68,6 +68,14 @@ static grpc_end2end_test_fixture chttp2_create_fixture_secure_fullstack( return f; } +static void process_auth_failure(void *state, grpc_auth_context *ctx, + const grpc_metadata *md, size_t md_count, + grpc_process_auth_metadata_done_cb cb, + void *user_data) { + GPR_ASSERT(state == NULL); + cb(user_data, NULL, 0, 0); +} + static void chttp2_init_client_secure_fullstack(grpc_end2end_test_fixture *f, grpc_channel_args *client_args, grpc_credentials *creds) { @@ -110,12 +118,28 @@ static void chttp2_init_client_simple_ssl_secure_fullstack( grpc_channel_args_destroy(new_client_args); } +static int fail_server_auth_check(grpc_channel_args *server_args) { + size_t i; + if (server_args == NULL) return 0; + for (i = 0; i < server_args->num_args; i++) { + if (strcmp(server_args->args[i].key, FAIL_AUTH_CHECK_SERVER_ARG_NAME) == + 0) { + return 1; + } + } + return 0; +} + static void chttp2_init_server_simple_ssl_secure_fullstack( grpc_end2end_test_fixture *f, grpc_channel_args *server_args) { grpc_ssl_pem_key_cert_pair pem_cert_key_pair = {test_server1_key, test_server1_cert}; grpc_server_credentials *ssl_creds = grpc_ssl_server_credentials_create(NULL, &pem_cert_key_pair, 1, 0); + if (fail_server_auth_check(server_args)) { + grpc_auth_metadata_processor processor = {process_auth_failure, NULL}; + grpc_server_credentials_set_auth_metadata_processor(ssl_creds, processor); + } chttp2_init_server_secure_fullstack(f, server_args, ssl_creds); } diff --git a/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_poll.c b/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_poll.c index d0cc3dd74a..3df2acd296 100644 --- a/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_poll.c +++ b/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_poll.c @@ -68,6 +68,14 @@ static grpc_end2end_test_fixture chttp2_create_fixture_secure_fullstack( return f; } +static void process_auth_failure(void *state, grpc_auth_context *ctx, + const grpc_metadata *md, size_t md_count, + grpc_process_auth_metadata_done_cb cb, + void *user_data) { + GPR_ASSERT(state == NULL); + cb(user_data, NULL, 0, 0); +} + static void chttp2_init_client_secure_fullstack(grpc_end2end_test_fixture *f, grpc_channel_args *client_args, grpc_credentials *creds) { @@ -110,12 +118,28 @@ static void chttp2_init_client_simple_ssl_secure_fullstack( grpc_channel_args_destroy(new_client_args); } +static int fail_server_auth_check(grpc_channel_args *server_args) { + size_t i; + if (server_args == NULL) return 0; + for (i = 0; i < server_args->num_args; i++) { + if (strcmp(server_args->args[i].key, FAIL_AUTH_CHECK_SERVER_ARG_NAME) == + 0) { + return 1; + } + } + return 0; +} + static void chttp2_init_server_simple_ssl_secure_fullstack( grpc_end2end_test_fixture *f, grpc_channel_args *server_args) { grpc_ssl_pem_key_cert_pair pem_cert_key_pair = {test_server1_key, test_server1_cert}; grpc_server_credentials *ssl_creds = grpc_ssl_server_credentials_create(NULL, &pem_cert_key_pair, 1, 0); + if (fail_server_auth_check(server_args)) { + grpc_auth_metadata_processor processor = {process_auth_failure, NULL}; + grpc_server_credentials_set_auth_metadata_processor(ssl_creds, processor); + } chttp2_init_server_secure_fullstack(f, server_args, ssl_creds); } diff --git a/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c b/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c index 1fc988c98e..284d5f07ae 100644 --- a/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c +++ b/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c @@ -68,22 +68,30 @@ static const grpc_metadata *find_metadata(const grpc_metadata *md, return NULL; } -void process_oauth2(void *state, grpc_auth_ticket *ticket, - grpc_auth_context *channel_ctx, const grpc_metadata *md, - size_t md_count, grpc_process_auth_metadata_done_cb cb, - void *user_data) { +static void process_oauth2_success(void *state, grpc_auth_context *ctx, + const grpc_metadata *md, size_t md_count, + grpc_process_auth_metadata_done_cb cb, + void *user_data) { const grpc_metadata *oauth2 = find_metadata(md, md_count, "Authorization", oauth2_md); - grpc_auth_context *new_ctx; GPR_ASSERT(state == NULL); GPR_ASSERT(oauth2 != NULL); - new_ctx = grpc_auth_context_create(channel_ctx); - grpc_auth_context_add_cstring_property(new_ctx, client_identity_property_name, + grpc_auth_context_add_cstring_property(ctx, client_identity_property_name, client_identity); GPR_ASSERT(grpc_auth_context_set_peer_identity_property_name( - new_ctx, client_identity_property_name) == 1); - cb(user_data, oauth2, 1, 1, new_ctx); - grpc_auth_context_release(new_ctx); + ctx, client_identity_property_name) == 1); + cb(user_data, oauth2, 1, 1); +} + +static void process_oauth2_failure(void *state, grpc_auth_context *ctx, + const grpc_metadata *md, size_t md_count, + grpc_process_auth_metadata_done_cb cb, + void *user_data) { + const grpc_metadata *oauth2 = + find_metadata(md, md_count, "Authorization", oauth2_md); + GPR_ASSERT(state == NULL); + GPR_ASSERT(oauth2 != NULL); + cb(user_data, oauth2, 1, 0); } static grpc_end2end_test_fixture chttp2_create_fixture_secure_fullstack( @@ -151,13 +159,31 @@ static void chttp2_init_client_simple_ssl_with_oauth2_secure_fullstack( grpc_credentials_release(oauth2_creds); } +static int fail_server_auth_check(grpc_channel_args *server_args) { + size_t i; + if (server_args == NULL) return 0; + for (i = 0; i < server_args->num_args; i++) { + if (strcmp(server_args->args[i].key, FAIL_AUTH_CHECK_SERVER_ARG_NAME) == + 0) { + return 1; + } + } + return 0; +} + static void chttp2_init_server_simple_ssl_secure_fullstack( grpc_end2end_test_fixture *f, grpc_channel_args *server_args) { grpc_ssl_pem_key_cert_pair pem_key_cert_pair = {test_server1_key, test_server1_cert}; grpc_server_credentials *ssl_creds = grpc_ssl_server_credentials_create(NULL, &pem_key_cert_pair, 1, 0); - grpc_auth_metadata_processor processor = {process_oauth2, NULL}; + grpc_auth_metadata_processor processor; + processor.state = NULL; + if (fail_server_auth_check(server_args)) { + processor.process = process_oauth2_failure; + } else { + processor.process = process_oauth2_success; + } grpc_server_credentials_set_auth_metadata_processor(ssl_creds, processor); chttp2_init_server_secure_fullstack(f, server_args, ssl_creds); } diff --git a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c index e621fcbed2..b4ccaf8216 100644 --- a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c +++ b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c @@ -57,13 +57,23 @@ enum { TIMEOUT = 200000 }; static void *tag(gpr_intptr t) { return (void *)t; } -static grpc_end2end_test_fixture begin_test( - grpc_end2end_test_config config, const char *test_name) { +static grpc_end2end_test_fixture begin_test(grpc_end2end_test_config config, + const char *test_name, + int fail_server_auth_check) { grpc_end2end_test_fixture f; gpr_log(GPR_INFO, "%s/%s", test_name, config.name); f = config.create_fixture(NULL, NULL); config.init_client(&f, NULL); - config.init_server(&f, NULL); + if (fail_server_auth_check) { + grpc_arg fail_auth_arg = { + GRPC_ARG_STRING, FAIL_AUTH_CHECK_SERVER_ARG_NAME, {NULL}}; + grpc_channel_args args; + args.num_args= 1; + args.args = &fail_auth_arg; + config.init_server(&f, &args); + } else { + config.init_server(&f, NULL); + } return f; } @@ -125,7 +135,8 @@ static void print_auth_context(int is_client, const grpc_auth_context *ctx) { static void test_call_creds_failure(grpc_end2end_test_config config) { grpc_call *c; grpc_credentials *creds = NULL; - grpc_end2end_test_fixture f = begin_test(config, "test_call_creds_failure"); + grpc_end2end_test_fixture f = + begin_test(config, "test_call_creds_failure", 0); gpr_timespec deadline = five_seconds_time(); c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", deadline); @@ -172,7 +183,7 @@ static void request_response_with_payload_and_call_creds( grpc_auth_context *s_auth_context = NULL; grpc_auth_context *c_auth_context = NULL; - f = begin_test(config, test_name); + f = begin_test(config, test_name, 0); cqv = cq_verifier_create(f.cq); c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", @@ -365,11 +376,100 @@ static void test_request_response_with_payload_and_deleted_call_creds( DESTROY); } +static void test_request_with_server_rejecting_client_creds( + grpc_end2end_test_config config) { + grpc_op ops[6]; + grpc_op *op; + grpc_call *c; + grpc_end2end_test_fixture f; + gpr_timespec deadline = five_seconds_time(); + cq_verifier *cqv; + grpc_metadata_array initial_metadata_recv; + grpc_metadata_array trailing_metadata_recv; + grpc_metadata_array request_metadata_recv; + grpc_call_details call_details; + grpc_status_code status; + char *details = NULL; + size_t details_capacity = 0; + grpc_byte_buffer *response_payload_recv = NULL; + gpr_slice request_payload_slice = gpr_slice_from_copied_string("hello world"); + grpc_byte_buffer *request_payload = + grpc_raw_byte_buffer_create(&request_payload_slice, 1); + grpc_credentials *creds; + + f = begin_test(config, "test_request_with_server_rejecting_client_creds", 1); + cqv = cq_verifier_create(f.cq); + + c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", + deadline); + GPR_ASSERT(c); + + creds = grpc_iam_credentials_create(iam_token, iam_selector); + GPR_ASSERT(creds != NULL); + GPR_ASSERT(grpc_call_set_credentials(c, creds) == GRPC_CALL_OK); + grpc_credentials_release(creds); + + grpc_metadata_array_init(&initial_metadata_recv); + grpc_metadata_array_init(&trailing_metadata_recv); + grpc_metadata_array_init(&request_metadata_recv); + grpc_call_details_init(&call_details); + + op = ops; + op->op = GRPC_OP_RECV_STATUS_ON_CLIENT; + op->data.recv_status_on_client.trailing_metadata = &trailing_metadata_recv; + op->data.recv_status_on_client.status = &status; + op->data.recv_status_on_client.status_details = &details; + op->data.recv_status_on_client.status_details_capacity = &details_capacity; + op->flags = 0; + op++; + op->op = GRPC_OP_SEND_INITIAL_METADATA; + op->data.send_initial_metadata.count = 0; + op->flags = 0; + op++; + op->op = GRPC_OP_SEND_MESSAGE; + op->data.send_message = request_payload; + op->flags = 0; + op++; + op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT; + op->flags = 0; + op++; + op->op = GRPC_OP_RECV_INITIAL_METADATA; + op->data.recv_initial_metadata = &initial_metadata_recv; + op->flags = 0; + op++; + op->op = GRPC_OP_RECV_MESSAGE; + op->data.recv_message = &response_payload_recv; + op->flags = 0; + op++; + GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(c, ops, op - ops, tag(1))); + + cq_expect_completion(cqv, tag(1), 1); + cq_verify(cqv); + + GPR_ASSERT(status == GRPC_STATUS_UNAUTHENTICATED); + + grpc_metadata_array_destroy(&initial_metadata_recv); + grpc_metadata_array_destroy(&trailing_metadata_recv); + grpc_metadata_array_destroy(&request_metadata_recv); + grpc_call_details_destroy(&call_details); + + grpc_byte_buffer_destroy(request_payload); + grpc_byte_buffer_destroy(response_payload_recv); + gpr_free(details); + + grpc_call_destroy(c); + + cq_verifier_destroy(cqv); + end_test(&f); + config.tear_down_data(&f); +} + void grpc_end2end_tests(grpc_end2end_test_config config) { if (config.feature_mask & FEATURE_MASK_SUPPORTS_PER_CALL_CREDENTIALS) { test_call_creds_failure(config); test_request_response_with_payload_and_call_creds(config); test_request_response_with_payload_and_overridden_call_creds(config); test_request_response_with_payload_and_deleted_call_creds(config); + test_request_with_server_rejecting_client_creds(config); } } -- cgit v1.2.3 From 09316e7605bd7768e375a393f7cf9cbce50189f6 Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Thu, 6 Aug 2015 15:48:42 -0700 Subject: Fixing build. --- .../core/end2end/tests/request_response_with_payload_and_call_creds.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test/core') diff --git a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c index 0ea7b30fc5..342dfa03f6 100644 --- a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c +++ b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c @@ -400,8 +400,8 @@ static void test_request_with_server_rejecting_client_creds( f = begin_test(config, "test_request_with_server_rejecting_client_creds", 1); cqv = cq_verifier_create(f.cq); - c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr", - deadline); + c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq, + "/foo", "foo.test.google.fr", deadline); GPR_ASSERT(c); creds = grpc_iam_credentials_create(iam_token, iam_selector); -- cgit v1.2.3 From 29c990abccc8be833a87da633c4ff6f4cf5b4e66 Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Thu, 6 Aug 2015 15:53:33 -0700 Subject: fixing one more test. --- .../chttp2_simple_ssl_fullstack_with_proxy.c | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'test/core') diff --git a/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_proxy.c b/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_proxy.c index 46a64de6c5..4d77039cac 100644 --- a/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_proxy.c +++ b/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_proxy.c @@ -96,6 +96,14 @@ static grpc_end2end_test_fixture chttp2_create_fixture_secure_fullstack( return f; } +static void process_auth_failure(void *state, grpc_auth_context *ctx, + const grpc_metadata *md, size_t md_count, + grpc_process_auth_metadata_done_cb cb, + void *user_data) { + GPR_ASSERT(state == NULL); + cb(user_data, NULL, 0, 0); +} + static void chttp2_init_client_secure_fullstack(grpc_end2end_test_fixture *f, grpc_channel_args *client_args, grpc_credentials *creds) { @@ -139,12 +147,28 @@ static void chttp2_init_client_simple_ssl_secure_fullstack( grpc_channel_args_destroy(new_client_args); } +static int fail_server_auth_check(grpc_channel_args *server_args) { + size_t i; + if (server_args == NULL) return 0; + for (i = 0; i < server_args->num_args; i++) { + if (strcmp(server_args->args[i].key, FAIL_AUTH_CHECK_SERVER_ARG_NAME) == + 0) { + return 1; + } + } + return 0; +} + static void chttp2_init_server_simple_ssl_secure_fullstack( grpc_end2end_test_fixture *f, grpc_channel_args *server_args) { grpc_ssl_pem_key_cert_pair pem_cert_key_pair = {test_server1_key, test_server1_cert}; grpc_server_credentials *ssl_creds = grpc_ssl_server_credentials_create(NULL, &pem_cert_key_pair, 1, 0); + if (fail_server_auth_check(server_args)) { + grpc_auth_metadata_processor processor = {process_auth_failure, NULL}; + grpc_server_credentials_set_auth_metadata_processor(ssl_creds, processor); + } chttp2_init_server_secure_fullstack(f, server_args, ssl_creds); } -- cgit v1.2.3 From b933c2cd55883880b4babc6055f9bbdaa9267476 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 6 Aug 2015 17:49:49 -0700 Subject: Fix memory leaks --- test/core/util/port_posix.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'test/core') diff --git a/test/core/util/port_posix.c b/test/core/util/port_posix.c index 62d5e7df20..9bff18d311 100644 --- a/test/core/util/port_posix.c +++ b/test/core/util/port_posix.c @@ -153,6 +153,11 @@ static void got_port_from_server(void *arg, gpr_mu_unlock(GRPC_POLLSET_MU(&pr->pollset)); } +static void destroy_pollset_and_shutdown(void *p) { + grpc_pollset_destroy(p); + grpc_shutdown(); +} + static int pick_port_using_server(char *server) { grpc_httpcli_context context; grpc_httpcli_request req; @@ -180,7 +185,8 @@ static int pick_port_using_server(char *server) { } gpr_mu_unlock(GRPC_POLLSET_MU(&pr.pollset)); - grpc_shutdown(); + grpc_httpcli_context_destroy(&context); + grpc_pollset_shutdown(&pr.pollset, destroy_pollset_and_shutdown, &pr.pollset); return pr.port; } -- cgit v1.2.3 From c85357e05149374a90559a2c1558ff9dbd35aedc Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 7 Aug 2015 07:33:04 -0700 Subject: Reduce mac CI load --- templates/tools/run_tests/tests.json.template | 2 +- test/core/end2end/gen_build_json.py | 28 +- tools/buildgen/plugins/expand_bin_attrs.py | 2 +- tools/run_tests/run_tests.py | 6 +- tools/run_tests/tests.json | 3991 ++++++++++++++++++++++++- 5 files changed, 4010 insertions(+), 19 deletions(-) (limited to 'test/core') diff --git a/templates/tools/run_tests/tests.json.template b/templates/tools/run_tests/tests.json.template index d1ba5ed43c..ffbf843235 100644 --- a/templates/tools/run_tests/tests.json.template +++ b/templates/tools/run_tests/tests.json.template @@ -5,8 +5,8 @@ import json ${json.dumps([{"name": tgt.name, "language": tgt.language, "platforms": tgt.platforms, + "ci_platforms": tgt.ci_platforms, "flaky": tgt.flaky} for tgt in targets if tgt.get('run', True) and tgt.build == 'test'], sort_keys=True, indent=2)} - diff --git a/test/core/end2end/gen_build_json.py b/test/core/end2end/gen_build_json.py index d1138abd78..6f10b78dad 100755 --- a/test/core/end2end/gen_build_json.py +++ b/test/core/end2end/gen_build_json.py @@ -36,27 +36,27 @@ import simplejson import collections -FixtureOptions = collections.namedtuple('FixtureOptions', 'fullstack includes_proxy dns_resolver secure platforms') -default_unsecure_fixture_options = FixtureOptions(True, False, True, False, ['windows', 'linux', 'mac', 'posix']) +FixtureOptions = collections.namedtuple('FixtureOptions', 'fullstack includes_proxy dns_resolver secure platforms ci_mac') +default_unsecure_fixture_options = FixtureOptions(True, False, True, False, ['windows', 'linux', 'mac', 'posix'], True) socketpair_unsecure_fixture_options = default_unsecure_fixture_options._replace(fullstack=False, dns_resolver=False) default_secure_fixture_options = default_unsecure_fixture_options._replace(secure=True) uds_fixture_options = default_unsecure_fixture_options._replace(dns_resolver=False, platforms=['linux', 'mac', 'posix']) # maps fixture name to whether it requires the security library END2END_FIXTURES = { - 'chttp2_fake_security': default_secure_fixture_options, + 'chttp2_fake_security': default_secure_fixture_options._replace(ci_mac=False), 'chttp2_fullstack': default_unsecure_fixture_options, 'chttp2_fullstack_compression': default_unsecure_fixture_options, 'chttp2_fullstack_uds_posix': uds_fixture_options, 'chttp2_fullstack_uds_posix_with_poll': uds_fixture_options._replace(platforms=['linux']), 'chttp2_fullstack_with_poll': default_unsecure_fixture_options._replace(platforms=['linux']), - 'chttp2_fullstack_with_proxy': default_unsecure_fixture_options._replace(includes_proxy=True), + 'chttp2_fullstack_with_proxy': default_unsecure_fixture_options._replace(includes_proxy=True, ci_mac=False), 'chttp2_simple_ssl_fullstack': default_secure_fixture_options, 'chttp2_simple_ssl_fullstack_with_poll': default_secure_fixture_options._replace(platforms=['linux']), - 'chttp2_simple_ssl_fullstack_with_proxy': default_secure_fixture_options._replace(includes_proxy=True), - 'chttp2_simple_ssl_with_oauth2_fullstack': default_secure_fixture_options, - 'chttp2_socket_pair': socketpair_unsecure_fixture_options, - 'chttp2_socket_pair_one_byte_at_a_time': socketpair_unsecure_fixture_options, + 'chttp2_simple_ssl_fullstack_with_proxy': default_secure_fixture_options._replace(includes_proxy=True, ci_mac=False), + 'chttp2_simple_ssl_with_oauth2_fullstack': default_secure_fixture_options._replace(ci_mac=False), + 'chttp2_socket_pair': socketpair_unsecure_fixture_options._replace(ci_mac=False), + 'chttp2_socket_pair_one_byte_at_a_time': socketpair_unsecure_fixture_options._replace(ci_mac=False), 'chttp2_socket_pair_with_grpc_trace': socketpair_unsecure_fixture_options, } @@ -115,6 +115,12 @@ def compatible(f, t): return True +def without(l, e): + l = l[:] + l.remove(e) + return l + + def main(): sec_deps = [ 'end2end_certs', @@ -173,6 +179,9 @@ def main(): 'src': [], 'flaky': END2END_TESTS[t].flaky, 'platforms': END2END_FIXTURES[f].platforms, + 'ci_platforms': (END2END_FIXTURES[f].platforms + if END2END_FIXTURES[f].ci_mac + else without(END2END_FIXTURES[f].platforms, 'mac')), 'deps': [ 'end2end_fixture_%s' % f, 'end2end_test_%s' % t] + sec_deps @@ -188,6 +197,9 @@ def main(): 'src': [], 'flaky': END2END_TESTS[t].flaky, 'platforms': END2END_FIXTURES[f].platforms, + 'ci_platforms': (END2END_FIXTURES[f].platforms + if END2END_FIXTURES[f].ci_mac + else without(END2END_FIXTURES[f].platforms, 'mac')), 'deps': [ 'end2end_fixture_%s' % f, 'end2end_test_%s' % t] + unsec_deps diff --git a/tools/buildgen/plugins/expand_bin_attrs.py b/tools/buildgen/plugins/expand_bin_attrs.py index e35b9fe740..d221b3a325 100755 --- a/tools/buildgen/plugins/expand_bin_attrs.py +++ b/tools/buildgen/plugins/expand_bin_attrs.py @@ -49,4 +49,4 @@ def mako_plugin(dictionary): for tgt in targets: tgt['flaky'] = tgt.get('flaky', False) tgt['platforms'] = sorted(tgt.get('platforms', default_platforms)) - + tgt['ci_platforms'] = sorted(tgt.get('ci_platforms', tgt['platforms'])) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 482ffcc435..0d4caa66aa 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -127,10 +127,14 @@ class CLanguage(object): for tgt in js if tgt['language'] == test_lang and platform_string() in tgt['platforms']] + self.ci_binaries = [tgt + for tgt in js + if tgt['language'] == test_lang and + platform_string() in tgt['ci_platforms']] def test_specs(self, config, travis): out = [] - for target in self.binaries: + for target in (self.ci_binaries if travis else self.binaries): if travis and target['flaky']: continue if self.platform == 'windows': diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index f2fbc92e93..471dae0efa 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -2,6 +2,12 @@ [ { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "alarm_heap_test", @@ -13,6 +19,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "alarm_list_test", @@ -24,6 +36,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "alarm_test", @@ -35,6 +53,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "alpn_test", @@ -46,6 +70,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "bin_encoder_test", @@ -57,6 +87,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_status_conversion_test", @@ -68,6 +104,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_stream_encoder_test", @@ -79,6 +121,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_stream_map_test", @@ -90,6 +138,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "dualstack_socket_test", @@ -100,6 +153,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "fd_conservation_posix_test", @@ -110,6 +168,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "fd_posix_test", @@ -120,6 +183,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "fling_stream_test", @@ -130,6 +198,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "fling_test", @@ -140,6 +213,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_cancellable_test", @@ -151,6 +230,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_cmdline_test", @@ -162,6 +247,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_env_test", @@ -173,6 +264,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_file_test", @@ -184,6 +281,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_histogram_test", @@ -195,6 +298,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_host_port_test", @@ -206,6 +315,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_log_test", @@ -217,6 +332,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_slice_buffer_test", @@ -228,6 +349,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_slice_test", @@ -239,6 +366,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_stack_lockfree_test", @@ -250,6 +383,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_string_test", @@ -261,6 +400,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_sync_test", @@ -272,6 +417,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_thd_test", @@ -283,6 +434,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_time_test", @@ -294,6 +451,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_tls_test", @@ -305,6 +468,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "gpr_useful_test", @@ -316,6 +485,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "grpc_auth_context_test", @@ -327,6 +502,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "grpc_base64_test", @@ -338,6 +519,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "grpc_byte_buffer_reader_test", @@ -349,6 +536,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "grpc_channel_stack_test", @@ -360,6 +553,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "grpc_completion_queue_test", @@ -371,6 +570,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "grpc_credentials_test", @@ -382,6 +587,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "grpc_json_token_test", @@ -393,6 +604,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "grpc_jwt_verifier_test", @@ -404,6 +621,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "grpc_security_connector_test", @@ -415,6 +638,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "grpc_stream_op_test", @@ -426,6 +655,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "hpack_parser_test", @@ -437,6 +672,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "hpack_table_test", @@ -448,6 +689,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "httpcli_format_request_test", @@ -459,6 +706,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "httpcli_parser_test", @@ -470,6 +723,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "httpcli_test", @@ -480,6 +738,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "json_rewrite_test", @@ -491,6 +755,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "json_test", @@ -502,6 +772,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "lame_client_test", @@ -513,6 +789,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "message_compress_test", @@ -524,6 +806,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "multi_init_test", @@ -535,6 +823,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "multiple_server_queues_test", @@ -546,6 +840,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "murmur_hash_test", @@ -557,6 +857,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "no_server_test", @@ -568,6 +874,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "resolve_address_test", @@ -579,6 +891,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "secure_endpoint_test", @@ -590,6 +908,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "sockaddr_utils_test", @@ -601,6 +925,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "tcp_client_posix_test", @@ -611,6 +940,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "tcp_posix_test", @@ -621,6 +955,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "tcp_server_posix_test", @@ -631,6 +970,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "time_averaged_stats_test", @@ -642,6 +987,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "timeout_encoding_test", @@ -653,6 +1004,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "timers_test", @@ -664,6 +1021,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "transport_metadata_test", @@ -675,6 +1038,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "transport_security_test", @@ -686,6 +1055,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "uri_parser_test", @@ -697,6 +1072,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "async_end2end_test", @@ -708,6 +1089,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c++", "name": "async_streaming_ping_pong_test", @@ -718,8 +1104,13 @@ ] }, { - "flaky": false, - "language": "c++", + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "flaky": false, + "language": "c++", "name": "async_unary_ping_pong_test", "platforms": [ "linux", @@ -728,6 +1119,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "auth_property_iterator_test", @@ -739,6 +1136,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "channel_arguments_test", @@ -750,6 +1153,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "cli_call_test", @@ -761,6 +1170,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c++", "name": "client_crash_test", @@ -771,6 +1185,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "credentials_test", @@ -782,6 +1202,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "cxx_byte_buffer_test", @@ -793,6 +1219,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "cxx_slice_test", @@ -804,6 +1236,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "cxx_time_test", @@ -815,6 +1253,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "dynamic_thread_pool_test", @@ -826,6 +1270,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "end2end_test", @@ -837,6 +1287,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "fixed_size_thread_pool_test", @@ -848,6 +1304,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "generic_end2end_test", @@ -859,6 +1321,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c++", "name": "interop_test", @@ -869,6 +1336,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "mock_test", @@ -880,6 +1353,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c++", "name": "qps_openloop_test", @@ -890,6 +1368,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c++", "name": "qps_test", @@ -900,6 +1383,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "secure_auth_context_test", @@ -911,6 +1400,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c++", "name": "server_crash_test", @@ -921,6 +1415,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "status_test", @@ -932,6 +1432,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c++", "name": "sync_streaming_ping_pong_test", @@ -942,6 +1447,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c++", "name": "sync_unary_ping_pong_test", @@ -952,6 +1462,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c++", "name": "thread_stress_test", @@ -963,6 +1479,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_bad_hostname_test", @@ -974,6 +1495,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_cancel_after_accept_test", @@ -985,6 +1511,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_cancel_after_accept_and_writes_closed_test", @@ -996,6 +1527,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_cancel_after_invoke_test", @@ -1007,6 +1543,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_cancel_before_invoke_test", @@ -1018,6 +1559,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_cancel_in_a_vacuum_test", @@ -1029,6 +1575,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_census_simple_request_test", @@ -1040,6 +1591,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_channel_connectivity_test", @@ -1051,6 +1607,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_default_host_test", @@ -1062,6 +1623,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_disappearing_server_test", @@ -1073,6 +1639,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test", @@ -1084,6 +1655,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_early_server_shutdown_finishes_tags_test", @@ -1095,6 +1671,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_empty_batch_test", @@ -1106,6 +1687,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_graceful_server_shutdown_test", @@ -1117,6 +1703,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_invoke_large_request_test", @@ -1128,6 +1719,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_max_concurrent_streams_test", @@ -1139,6 +1735,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_max_message_length_test", @@ -1150,6 +1751,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_no_op_test", @@ -1161,6 +1767,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_ping_pong_streaming_test", @@ -1172,6 +1783,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_registered_call_test", @@ -1183,6 +1799,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_request_response_with_binary_metadata_and_payload_test", @@ -1194,6 +1815,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_request_response_with_metadata_and_payload_test", @@ -1205,6 +1831,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_request_response_with_payload_test", @@ -1216,6 +1847,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_request_response_with_payload_and_call_creds_test", @@ -1227,6 +1863,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test", @@ -1238,6 +1879,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_request_with_compressed_payload_test", @@ -1249,6 +1895,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_request_with_flags_test", @@ -1260,6 +1911,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_request_with_large_metadata_test", @@ -1271,6 +1927,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_request_with_payload_test", @@ -1282,6 +1943,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_server_finishes_request_test", @@ -1293,6 +1959,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_simple_delayed_request_test", @@ -1304,6 +1975,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_simple_request_test", @@ -1315,6 +1991,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fake_security_simple_request_with_high_initial_sequence_number_test", @@ -1326,6 +2007,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_bad_hostname_test", @@ -1337,6 +2024,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_cancel_after_accept_test", @@ -1348,6 +2041,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_test", @@ -1359,6 +2058,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_cancel_after_invoke_test", @@ -1370,6 +2075,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_cancel_before_invoke_test", @@ -1381,6 +2092,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_cancel_in_a_vacuum_test", @@ -1392,6 +2109,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_census_simple_request_test", @@ -1403,6 +2126,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_channel_connectivity_test", @@ -1414,6 +2143,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_default_host_test", @@ -1425,6 +2160,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_disappearing_server_test", @@ -1436,6 +2177,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test", @@ -1447,6 +2194,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_early_server_shutdown_finishes_tags_test", @@ -1458,6 +2211,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_empty_batch_test", @@ -1469,6 +2228,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_graceful_server_shutdown_test", @@ -1480,6 +2245,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_invoke_large_request_test", @@ -1491,6 +2262,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_max_concurrent_streams_test", @@ -1502,6 +2279,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_max_message_length_test", @@ -1513,9 +2296,15 @@ ] }, { - "flaky": false, - "language": "c", - "name": "chttp2_fullstack_no_op_test", + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "flaky": false, + "language": "c", + "name": "chttp2_fullstack_no_op_test", "platforms": [ "linux", "mac", @@ -1524,6 +2313,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_ping_pong_streaming_test", @@ -1535,6 +2330,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_registered_call_test", @@ -1546,6 +2347,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_test", @@ -1557,6 +2364,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_response_with_metadata_and_payload_test", @@ -1568,6 +2381,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_response_with_payload_test", @@ -1579,6 +2398,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_response_with_payload_and_call_creds_test", @@ -1590,6 +2415,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test", @@ -1601,6 +2432,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_with_compressed_payload_test", @@ -1612,6 +2449,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_with_flags_test", @@ -1623,6 +2466,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_with_large_metadata_test", @@ -1634,6 +2483,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_with_payload_test", @@ -1645,6 +2500,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_server_finishes_request_test", @@ -1656,6 +2517,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_simple_delayed_request_test", @@ -1667,6 +2534,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_simple_request_test", @@ -1678,6 +2551,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_simple_request_with_high_initial_sequence_number_test", @@ -1689,6 +2568,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_bad_hostname_test", @@ -1700,6 +2585,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_cancel_after_accept_test", @@ -1711,6 +2602,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test", @@ -1722,6 +2619,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_cancel_after_invoke_test", @@ -1733,6 +2636,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_cancel_before_invoke_test", @@ -1744,6 +2653,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_cancel_in_a_vacuum_test", @@ -1755,6 +2670,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_census_simple_request_test", @@ -1766,6 +2687,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_channel_connectivity_test", @@ -1777,6 +2704,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_default_host_test", @@ -1788,6 +2721,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_disappearing_server_test", @@ -1799,6 +2738,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test", @@ -1810,6 +2755,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test", @@ -1821,6 +2772,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_empty_batch_test", @@ -1832,6 +2789,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_graceful_server_shutdown_test", @@ -1843,6 +2806,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_invoke_large_request_test", @@ -1854,6 +2823,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_max_concurrent_streams_test", @@ -1865,6 +2840,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_max_message_length_test", @@ -1876,6 +2857,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_no_op_test", @@ -1887,6 +2874,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_ping_pong_streaming_test", @@ -1898,6 +2891,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_registered_call_test", @@ -1909,6 +2908,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test", @@ -1920,6 +2925,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_response_with_metadata_and_payload_test", @@ -1931,6 +2942,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_response_with_payload_test", @@ -1942,6 +2959,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test", @@ -1953,6 +2976,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test", @@ -1964,6 +2993,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_with_compressed_payload_test", @@ -1975,6 +3010,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_with_flags_test", @@ -1986,6 +3027,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_with_large_metadata_test", @@ -1997,6 +3044,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_with_payload_test", @@ -2008,6 +3061,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_server_finishes_request_test", @@ -2019,6 +3078,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_simple_delayed_request_test", @@ -2030,6 +3095,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_simple_request_test", @@ -2041,6 +3112,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test", @@ -2052,6 +3129,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_bad_hostname_test", @@ -2062,6 +3144,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_after_accept_test", @@ -2072,6 +3159,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_test", @@ -2082,6 +3174,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_after_invoke_test", @@ -2092,6 +3189,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_before_invoke_test", @@ -2102,6 +3204,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_in_a_vacuum_test", @@ -2112,6 +3219,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_census_simple_request_test", @@ -2122,6 +3234,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_channel_connectivity_test", @@ -2132,6 +3249,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_disappearing_server_test", @@ -2142,6 +3264,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_test", @@ -2152,6 +3279,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_test", @@ -2162,6 +3294,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_empty_batch_test", @@ -2172,6 +3309,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_graceful_server_shutdown_test", @@ -2182,6 +3324,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_invoke_large_request_test", @@ -2192,6 +3339,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_max_concurrent_streams_test", @@ -2202,6 +3354,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_max_message_length_test", @@ -2212,6 +3369,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_no_op_test", @@ -2222,6 +3384,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_ping_pong_streaming_test", @@ -2232,6 +3399,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_registered_call_test", @@ -2242,6 +3414,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_test", @@ -2252,6 +3429,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_test", @@ -2262,6 +3444,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_payload_test", @@ -2272,6 +3459,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_payload_and_call_creds_test", @@ -2282,6 +3474,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_test", @@ -2292,6 +3489,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_compressed_payload_test", @@ -2302,6 +3504,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_flags_test", @@ -2312,6 +3519,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_large_metadata_test", @@ -2322,6 +3534,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_payload_test", @@ -2332,6 +3549,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_server_finishes_request_test", @@ -2342,6 +3564,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_simple_delayed_request_test", @@ -2352,6 +3579,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_simple_request_test", @@ -2362,6 +3594,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_test", @@ -2372,6 +3609,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_bad_hostname_test", @@ -2380,6 +3620,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_test", @@ -2388,6 +3631,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_test", @@ -2396,6 +3642,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_test", @@ -2404,6 +3653,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_test", @@ -2412,6 +3664,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_test", @@ -2420,6 +3675,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_census_simple_request_test", @@ -2428,6 +3686,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_channel_connectivity_test", @@ -2436,6 +3697,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_disappearing_server_test", @@ -2444,6 +3708,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_test", @@ -2452,6 +3719,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_test", @@ -2460,6 +3730,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_empty_batch_test", @@ -2468,6 +3741,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_test", @@ -2476,6 +3752,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_invoke_large_request_test", @@ -2484,6 +3763,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_test", @@ -2492,6 +3774,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_max_message_length_test", @@ -2500,6 +3785,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_no_op_test", @@ -2508,6 +3796,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_test", @@ -2516,6 +3807,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_registered_call_test", @@ -2524,6 +3818,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_test", @@ -2532,6 +3829,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_test", @@ -2540,6 +3840,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_test", @@ -2548,6 +3851,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_and_call_creds_test", @@ -2556,6 +3862,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_test", @@ -2564,6 +3873,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_test", @@ -2572,6 +3884,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_flags_test", @@ -2580,6 +3895,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_test", @@ -2588,6 +3906,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_payload_test", @@ -2596,6 +3917,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_server_finishes_request_test", @@ -2604,6 +3928,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_test", @@ -2612,6 +3939,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_test", @@ -2620,6 +3950,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_test", @@ -2628,6 +3961,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_bad_hostname_test", @@ -2636,6 +3972,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_cancel_after_accept_test", @@ -2644,6 +3983,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_test", @@ -2652,6 +3994,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_cancel_after_invoke_test", @@ -2660,6 +4005,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_cancel_before_invoke_test", @@ -2668,6 +4016,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_cancel_in_a_vacuum_test", @@ -2676,6 +4027,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_census_simple_request_test", @@ -2684,6 +4038,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_channel_connectivity_test", @@ -2692,6 +4049,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_default_host_test", @@ -2700,6 +4060,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_disappearing_server_test", @@ -2708,6 +4071,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test", @@ -2716,6 +4082,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_test", @@ -2724,6 +4093,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_empty_batch_test", @@ -2732,6 +4104,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_graceful_server_shutdown_test", @@ -2740,6 +4115,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_invoke_large_request_test", @@ -2748,6 +4126,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_max_concurrent_streams_test", @@ -2756,6 +4137,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_max_message_length_test", @@ -2764,6 +4148,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_no_op_test", @@ -2772,6 +4159,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_ping_pong_streaming_test", @@ -2780,6 +4170,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_registered_call_test", @@ -2788,6 +4181,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test", @@ -2796,6 +4192,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_test", @@ -2804,6 +4203,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_payload_test", @@ -2812,6 +4214,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_payload_and_call_creds_test", @@ -2820,6 +4225,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test", @@ -2828,6 +4236,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_with_compressed_payload_test", @@ -2836,6 +4247,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_with_flags_test", @@ -2844,6 +4258,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_with_large_metadata_test", @@ -2852,6 +4269,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_with_payload_test", @@ -2860,6 +4280,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_server_finishes_request_test", @@ -2868,6 +4291,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_simple_delayed_request_test", @@ -2876,6 +4302,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_simple_request_test", @@ -2884,6 +4313,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test", @@ -2892,6 +4324,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_bad_hostname_test", @@ -2903,6 +4340,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_after_accept_test", @@ -2914,6 +4356,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test", @@ -2925,6 +4372,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_after_invoke_test", @@ -2936,6 +4388,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_before_invoke_test", @@ -2947,6 +4404,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test", @@ -2958,6 +4420,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_census_simple_request_test", @@ -2969,6 +4436,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_default_host_test", @@ -2980,6 +4452,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_disappearing_server_test", @@ -2991,6 +4468,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test", @@ -3002,6 +4484,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test", @@ -3013,6 +4500,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_empty_batch_test", @@ -3024,6 +4516,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_graceful_server_shutdown_test", @@ -3035,6 +4532,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_invoke_large_request_test", @@ -3046,6 +4548,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_max_message_length_test", @@ -3057,6 +4564,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_no_op_test", @@ -3068,6 +4580,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_ping_pong_streaming_test", @@ -3079,6 +4596,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_registered_call_test", @@ -3090,6 +4612,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test", @@ -3101,6 +4628,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test", @@ -3112,6 +4644,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_payload_test", @@ -3123,6 +4660,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test", @@ -3134,6 +4676,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test", @@ -3145,6 +4692,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_with_large_metadata_test", @@ -3156,6 +4708,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_with_payload_test", @@ -3167,6 +4724,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_server_finishes_request_test", @@ -3178,6 +4740,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_simple_delayed_request_test", @@ -3189,6 +4756,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_simple_request_test", @@ -3200,6 +4772,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test", @@ -3211,6 +4788,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_bad_hostname_test", @@ -3222,6 +4805,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_test", @@ -3233,6 +4822,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test", @@ -3244,6 +4839,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_cancel_after_invoke_test", @@ -3255,6 +4856,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_cancel_before_invoke_test", @@ -3266,6 +4873,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test", @@ -3277,6 +4890,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_census_simple_request_test", @@ -3288,6 +4907,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_channel_connectivity_test", @@ -3299,6 +4924,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_default_host_test", @@ -3310,6 +4941,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_disappearing_server_test", @@ -3321,6 +4958,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test", @@ -3332,6 +4975,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test", @@ -3343,6 +4992,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_empty_batch_test", @@ -3354,6 +5009,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_graceful_server_shutdown_test", @@ -3365,6 +5026,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_invoke_large_request_test", @@ -3376,6 +5043,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_max_concurrent_streams_test", @@ -3387,7 +5060,13 @@ ] }, { - "flaky": false, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_max_message_length_test", "platforms": [ @@ -3398,6 +5077,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_no_op_test", @@ -3409,6 +5094,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_ping_pong_streaming_test", @@ -3420,6 +5111,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_registered_call_test", @@ -3431,6 +5128,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test", @@ -3442,6 +5145,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test", @@ -3453,6 +5162,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_test", @@ -3464,6 +5179,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test", @@ -3475,6 +5196,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test", @@ -3486,6 +5213,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_request_with_compressed_payload_test", @@ -3497,6 +5230,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_request_with_flags_test", @@ -3508,6 +5247,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_request_with_large_metadata_test", @@ -3519,6 +5264,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_request_with_payload_test", @@ -3530,6 +5281,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_server_finishes_request_test", @@ -3541,6 +5298,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_simple_delayed_request_test", @@ -3552,6 +5315,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_simple_request_test", @@ -3563,6 +5332,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test", @@ -3574,6 +5349,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test", @@ -3582,6 +5360,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test", @@ -3590,6 +5371,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test", @@ -3598,6 +5382,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test", @@ -3606,6 +5393,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test", @@ -3614,6 +5404,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test", @@ -3622,6 +5415,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test", @@ -3630,6 +5426,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test", @@ -3638,6 +5437,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_default_host_test", @@ -3646,6 +5448,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test", @@ -3654,6 +5459,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test", @@ -3662,6 +5470,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test", @@ -3670,6 +5481,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_empty_batch_test", @@ -3678,6 +5492,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test", @@ -3686,6 +5503,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test", @@ -3694,6 +5514,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test", @@ -3702,6 +5525,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_max_message_length_test", @@ -3710,6 +5536,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_no_op_test", @@ -3718,6 +5547,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test", @@ -3726,6 +5558,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_registered_call_test", @@ -3734,6 +5569,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test", @@ -3742,6 +5580,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test", @@ -3750,6 +5591,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test", @@ -3758,6 +5602,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test", @@ -3766,6 +5613,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test", @@ -3774,6 +5624,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test", @@ -3782,6 +5635,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test", @@ -3790,6 +5646,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test", @@ -3798,6 +5657,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test", @@ -3806,6 +5668,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test", @@ -3814,6 +5679,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test", @@ -3822,6 +5690,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_simple_request_test", @@ -3830,6 +5701,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test", @@ -3838,6 +5712,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test", @@ -3849,6 +5728,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test", @@ -3860,6 +5744,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test", @@ -3871,6 +5760,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test", @@ -3882,6 +5776,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test", @@ -3893,6 +5792,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test", @@ -3904,6 +5808,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test", @@ -3915,6 +5824,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_default_host_test", @@ -3926,6 +5840,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test", @@ -3937,6 +5856,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test", @@ -3948,6 +5872,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test", @@ -3959,6 +5888,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test", @@ -3970,6 +5904,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test", @@ -3981,6 +5920,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test", @@ -3992,6 +5936,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test", @@ -4003,6 +5952,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_no_op_test", @@ -4014,6 +5968,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test", @@ -4025,6 +5984,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_registered_call_test", @@ -4036,6 +6000,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test", @@ -4047,6 +6016,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test", @@ -4058,6 +6032,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test", @@ -4069,6 +6048,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test", @@ -4080,6 +6064,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test", @@ -4091,6 +6080,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test", @@ -4102,6 +6096,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test", @@ -4113,6 +6112,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test", @@ -4124,6 +6128,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test", @@ -4135,6 +6144,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_simple_request_test", @@ -4146,6 +6160,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test", @@ -4157,6 +6176,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test", @@ -4168,6 +6192,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test", @@ -4179,6 +6208,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test", @@ -4190,6 +6224,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test", @@ -4201,6 +6240,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test", @@ -4212,6 +6256,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test", @@ -4223,6 +6272,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test", @@ -4234,6 +6288,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test", @@ -4245,6 +6304,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_default_host_test", @@ -4256,6 +6320,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test", @@ -4267,6 +6336,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test", @@ -4278,6 +6352,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test", @@ -4289,6 +6368,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test", @@ -4300,6 +6384,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test", @@ -4311,6 +6400,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test", @@ -4322,6 +6416,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test", @@ -4333,6 +6432,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test", @@ -4344,6 +6448,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_no_op_test", @@ -4355,6 +6464,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test", @@ -4366,6 +6480,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test", @@ -4377,6 +6496,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test", @@ -4388,6 +6512,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test", @@ -4399,7 +6528,12 @@ ] }, { - "flaky": false, + "ci_platforms": [ + "linux", + "posix", + "windows" + ], + "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test", "platforms": [ @@ -4410,6 +6544,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test", @@ -4421,6 +6560,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test", @@ -4432,6 +6576,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test", @@ -4443,6 +6592,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test", @@ -4454,6 +6608,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test", @@ -4465,6 +6624,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test", @@ -4476,6 +6640,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test", @@ -4487,6 +6656,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test", @@ -4498,6 +6672,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test", @@ -4509,6 +6688,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test", @@ -4520,6 +6704,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_bad_hostname_test", @@ -4531,6 +6720,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_cancel_after_accept_test", @@ -4542,6 +6736,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_test", @@ -4553,6 +6752,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_cancel_after_invoke_test", @@ -4564,6 +6768,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_cancel_before_invoke_test", @@ -4575,6 +6784,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_cancel_in_a_vacuum_test", @@ -4586,6 +6800,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_census_simple_request_test", @@ -4597,6 +6816,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test", @@ -4608,6 +6832,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_test", @@ -4619,6 +6848,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_empty_batch_test", @@ -4630,6 +6864,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_graceful_server_shutdown_test", @@ -4641,6 +6880,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_invoke_large_request_test", @@ -4652,6 +6896,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_max_concurrent_streams_test", @@ -4663,6 +6912,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_max_message_length_test", @@ -4674,6 +6928,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_no_op_test", @@ -4685,6 +6944,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_ping_pong_streaming_test", @@ -4696,6 +6960,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_registered_call_test", @@ -4707,6 +6976,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test", @@ -4718,6 +6992,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_response_with_metadata_and_payload_test", @@ -4729,6 +7008,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_response_with_payload_test", @@ -4740,6 +7024,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_response_with_payload_and_call_creds_test", @@ -4751,6 +7040,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test", @@ -4762,6 +7056,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_with_compressed_payload_test", @@ -4773,6 +7072,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_with_flags_test", @@ -4784,6 +7088,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_with_large_metadata_test", @@ -4795,6 +7104,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_with_payload_test", @@ -4806,6 +7120,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_server_finishes_request_test", @@ -4817,6 +7136,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_simple_request_test", @@ -4828,6 +7152,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test", @@ -4839,6 +7168,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test", @@ -4850,6 +7184,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test", @@ -4861,6 +7200,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test", @@ -4872,6 +7216,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test", @@ -4883,6 +7232,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test", @@ -4894,6 +7248,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test", @@ -4905,6 +7264,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test", @@ -4916,6 +7280,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test", @@ -4927,6 +7296,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test", @@ -4938,6 +7312,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_empty_batch_test", @@ -4949,6 +7328,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test", @@ -4960,6 +7344,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test", @@ -4971,6 +7360,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test", @@ -4982,6 +7376,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_max_message_length_test", @@ -4993,6 +7392,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_no_op_test", @@ -5004,6 +7408,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test", @@ -5015,6 +7424,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_registered_call_test", @@ -5026,6 +7440,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test", @@ -5037,6 +7456,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test", @@ -5048,6 +7472,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test", @@ -5059,6 +7488,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test", @@ -5070,6 +7504,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test", @@ -5081,6 +7520,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test", @@ -5092,6 +7536,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test", @@ -5103,6 +7552,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test", @@ -5114,6 +7568,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test", @@ -5125,6 +7584,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test", @@ -5136,6 +7600,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_test", @@ -5147,6 +7616,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test", @@ -5158,6 +7632,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_bad_hostname_test", @@ -5169,6 +7649,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test", @@ -5180,6 +7666,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test", @@ -5191,6 +7683,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test", @@ -5202,6 +7700,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test", @@ -5213,6 +7717,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test", @@ -5224,6 +7734,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_census_simple_request_test", @@ -5235,6 +7751,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test", @@ -5246,6 +7768,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test", @@ -5257,6 +7785,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_empty_batch_test", @@ -5268,6 +7802,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test", @@ -5279,6 +7819,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_invoke_large_request_test", @@ -5290,6 +7836,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test", @@ -5301,6 +7853,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_max_message_length_test", @@ -5312,6 +7870,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_no_op_test", @@ -5323,6 +7887,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test", @@ -5334,6 +7904,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_registered_call_test", @@ -5345,6 +7921,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test", @@ -5356,6 +7938,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test", @@ -5367,6 +7955,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test", @@ -5378,6 +7972,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test", @@ -5389,6 +7989,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test", @@ -5400,6 +8006,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test", @@ -5411,6 +8023,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_flags_test", @@ -5422,6 +8040,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test", @@ -5433,6 +8057,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_payload_test", @@ -5444,6 +8074,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_server_finishes_request_test", @@ -5455,6 +8091,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_simple_request_test", @@ -5466,6 +8108,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test", @@ -5477,6 +8125,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_bad_hostname_unsecure_test", @@ -5488,6 +8142,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_cancel_after_accept_unsecure_test", @@ -5499,6 +8159,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test", @@ -5510,6 +8176,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_cancel_after_invoke_unsecure_test", @@ -5521,6 +8193,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_cancel_before_invoke_unsecure_test", @@ -5532,6 +8210,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_cancel_in_a_vacuum_unsecure_test", @@ -5543,6 +8227,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_census_simple_request_unsecure_test", @@ -5554,6 +8244,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_channel_connectivity_unsecure_test", @@ -5565,6 +8261,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_default_host_unsecure_test", @@ -5576,6 +8278,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_disappearing_server_unsecure_test", @@ -5587,6 +8295,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test", @@ -5598,6 +8312,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test", @@ -5609,6 +8329,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_empty_batch_unsecure_test", @@ -5620,6 +8346,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_graceful_server_shutdown_unsecure_test", @@ -5631,6 +8363,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_invoke_large_request_unsecure_test", @@ -5642,6 +8380,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_max_concurrent_streams_unsecure_test", @@ -5653,6 +8397,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_max_message_length_unsecure_test", @@ -5664,6 +8414,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_no_op_unsecure_test", @@ -5675,6 +8431,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_ping_pong_streaming_unsecure_test", @@ -5686,6 +8448,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_registered_call_unsecure_test", @@ -5697,6 +8465,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test", @@ -5708,6 +8482,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test", @@ -5719,6 +8499,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_response_with_payload_unsecure_test", @@ -5730,6 +8516,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test", @@ -5741,6 +8533,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_with_compressed_payload_unsecure_test", @@ -5752,6 +8550,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_with_flags_unsecure_test", @@ -5763,6 +8567,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_with_large_metadata_unsecure_test", @@ -5774,6 +8584,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_request_with_payload_unsecure_test", @@ -5785,6 +8601,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_server_finishes_request_unsecure_test", @@ -5796,6 +8618,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_simple_delayed_request_unsecure_test", @@ -5807,6 +8635,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_simple_request_unsecure_test", @@ -5818,6 +8652,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test", @@ -5829,6 +8669,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_bad_hostname_unsecure_test", @@ -5840,6 +8686,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_cancel_after_accept_unsecure_test", @@ -5851,6 +8703,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test", @@ -5862,6 +8720,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_cancel_after_invoke_unsecure_test", @@ -5873,6 +8737,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_cancel_before_invoke_unsecure_test", @@ -5884,6 +8754,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test", @@ -5895,6 +8771,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_census_simple_request_unsecure_test", @@ -5906,6 +8788,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_channel_connectivity_unsecure_test", @@ -5917,6 +8805,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_default_host_unsecure_test", @@ -5928,6 +8822,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_disappearing_server_unsecure_test", @@ -5939,6 +8839,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test", @@ -5950,6 +8856,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test", @@ -5961,6 +8873,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_empty_batch_unsecure_test", @@ -5972,6 +8890,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test", @@ -5983,6 +8907,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_invoke_large_request_unsecure_test", @@ -5994,6 +8924,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_max_concurrent_streams_unsecure_test", @@ -6005,6 +8941,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_max_message_length_unsecure_test", @@ -6016,6 +8958,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_no_op_unsecure_test", @@ -6027,6 +8975,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_ping_pong_streaming_unsecure_test", @@ -6038,6 +8992,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_registered_call_unsecure_test", @@ -6049,6 +9009,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test", @@ -6060,6 +9026,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test", @@ -6071,6 +9043,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_response_with_payload_unsecure_test", @@ -6082,6 +9060,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test", @@ -6093,6 +9077,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test", @@ -6104,6 +9094,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_with_flags_unsecure_test", @@ -6115,6 +9111,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_with_large_metadata_unsecure_test", @@ -6126,6 +9128,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_request_with_payload_unsecure_test", @@ -6137,6 +9145,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_server_finishes_request_unsecure_test", @@ -6148,6 +9162,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_simple_delayed_request_unsecure_test", @@ -6159,6 +9179,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_simple_request_unsecure_test", @@ -6170,6 +9196,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test", @@ -6181,6 +9213,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_bad_hostname_unsecure_test", @@ -6191,6 +9228,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_after_accept_unsecure_test", @@ -6201,6 +9243,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_unsecure_test", @@ -6211,6 +9258,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_after_invoke_unsecure_test", @@ -6221,6 +9273,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_before_invoke_unsecure_test", @@ -6231,6 +9288,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_cancel_in_a_vacuum_unsecure_test", @@ -6241,6 +9303,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_census_simple_request_unsecure_test", @@ -6251,6 +9318,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_channel_connectivity_unsecure_test", @@ -6261,6 +9333,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_disappearing_server_unsecure_test", @@ -6271,6 +9348,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_unsecure_test", @@ -6281,6 +9363,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_unsecure_test", @@ -6291,6 +9378,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_empty_batch_unsecure_test", @@ -6301,6 +9393,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_graceful_server_shutdown_unsecure_test", @@ -6311,6 +9408,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_invoke_large_request_unsecure_test", @@ -6321,6 +9423,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_max_concurrent_streams_unsecure_test", @@ -6331,6 +9438,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_max_message_length_unsecure_test", @@ -6341,6 +9453,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_no_op_unsecure_test", @@ -6351,6 +9468,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_ping_pong_streaming_unsecure_test", @@ -6361,6 +9483,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_registered_call_unsecure_test", @@ -6371,6 +9498,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_unsecure_test", @@ -6381,6 +9513,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_unsecure_test", @@ -6391,6 +9528,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_payload_unsecure_test", @@ -6401,6 +9543,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_unsecure_test", @@ -6411,6 +9558,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_compressed_payload_unsecure_test", @@ -6421,6 +9573,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_flags_unsecure_test", @@ -6431,6 +9588,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_large_metadata_unsecure_test", @@ -6441,6 +9603,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_request_with_payload_unsecure_test", @@ -6451,6 +9618,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_server_finishes_request_unsecure_test", @@ -6461,6 +9633,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_simple_delayed_request_unsecure_test", @@ -6471,6 +9648,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_simple_request_unsecure_test", @@ -6481,6 +9663,11 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_unsecure_test", @@ -6491,6 +9678,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_bad_hostname_unsecure_test", @@ -6499,6 +9689,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_unsecure_test", @@ -6507,6 +9700,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_unsecure_test", @@ -6515,6 +9711,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_unsecure_test", @@ -6523,6 +9722,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_unsecure_test", @@ -6531,6 +9733,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_unsecure_test", @@ -6539,6 +9744,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_census_simple_request_unsecure_test", @@ -6547,6 +9755,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_channel_connectivity_unsecure_test", @@ -6555,6 +9766,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_disappearing_server_unsecure_test", @@ -6563,6 +9777,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test", @@ -6571,6 +9788,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_unsecure_test", @@ -6579,6 +9799,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_empty_batch_unsecure_test", @@ -6587,6 +9810,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_unsecure_test", @@ -6595,6 +9821,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_invoke_large_request_unsecure_test", @@ -6603,6 +9832,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_unsecure_test", @@ -6611,6 +9843,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_max_message_length_unsecure_test", @@ -6619,6 +9854,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_no_op_unsecure_test", @@ -6627,6 +9865,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_unsecure_test", @@ -6635,6 +9876,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_registered_call_unsecure_test", @@ -6643,6 +9887,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test", @@ -6651,6 +9898,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_unsecure_test", @@ -6659,6 +9909,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_unsecure_test", @@ -6667,6 +9920,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test", @@ -6675,6 +9931,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_unsecure_test", @@ -6683,6 +9942,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_flags_unsecure_test", @@ -6691,6 +9953,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_unsecure_test", @@ -6699,6 +9964,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_request_with_payload_unsecure_test", @@ -6707,6 +9975,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_server_finishes_request_unsecure_test", @@ -6715,6 +9986,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_unsecure_test", @@ -6723,6 +9997,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_unsecure_test", @@ -6731,6 +10008,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test", @@ -6739,6 +10019,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_bad_hostname_unsecure_test", @@ -6747,6 +10030,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_cancel_after_accept_unsecure_test", @@ -6755,6 +10041,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_unsecure_test", @@ -6763,6 +10052,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_cancel_after_invoke_unsecure_test", @@ -6771,6 +10063,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_cancel_before_invoke_unsecure_test", @@ -6779,6 +10074,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_cancel_in_a_vacuum_unsecure_test", @@ -6787,6 +10085,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_census_simple_request_unsecure_test", @@ -6795,6 +10096,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_channel_connectivity_unsecure_test", @@ -6803,6 +10107,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_default_host_unsecure_test", @@ -6811,6 +10118,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_disappearing_server_unsecure_test", @@ -6819,6 +10129,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test", @@ -6827,6 +10140,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_unsecure_test", @@ -6835,6 +10151,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_empty_batch_unsecure_test", @@ -6843,6 +10162,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_graceful_server_shutdown_unsecure_test", @@ -6851,6 +10173,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_invoke_large_request_unsecure_test", @@ -6859,6 +10184,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_max_concurrent_streams_unsecure_test", @@ -6867,6 +10195,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_max_message_length_unsecure_test", @@ -6875,6 +10206,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_no_op_unsecure_test", @@ -6883,6 +10217,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_ping_pong_streaming_unsecure_test", @@ -6891,6 +10228,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_registered_call_unsecure_test", @@ -6899,6 +10239,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test", @@ -6907,6 +10250,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_unsecure_test", @@ -6915,6 +10261,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_payload_unsecure_test", @@ -6923,6 +10272,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test", @@ -6931,6 +10283,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_with_compressed_payload_unsecure_test", @@ -6939,6 +10294,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_with_flags_unsecure_test", @@ -6947,6 +10305,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_with_large_metadata_unsecure_test", @@ -6955,6 +10316,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_request_with_payload_unsecure_test", @@ -6963,6 +10327,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_server_finishes_request_unsecure_test", @@ -6971,6 +10338,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test", @@ -6979,6 +10349,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_simple_request_unsecure_test", @@ -6987,6 +10360,9 @@ ] }, { + "ci_platforms": [ + "linux" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test", @@ -6995,6 +10371,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_bad_hostname_unsecure_test", @@ -7006,6 +10387,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test", @@ -7017,6 +10403,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test", @@ -7028,6 +10419,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test", @@ -7039,6 +10435,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test", @@ -7050,6 +10451,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test", @@ -7061,6 +10467,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_census_simple_request_unsecure_test", @@ -7072,6 +10483,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_default_host_unsecure_test", @@ -7083,6 +10499,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_disappearing_server_unsecure_test", @@ -7094,6 +10515,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test", @@ -7105,6 +10531,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test", @@ -7116,6 +10547,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_empty_batch_unsecure_test", @@ -7127,6 +10563,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test", @@ -7138,6 +10579,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test", @@ -7149,6 +10595,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_max_message_length_unsecure_test", @@ -7160,6 +10611,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_no_op_unsecure_test", @@ -7171,6 +10627,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test", @@ -7182,6 +10643,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_registered_call_unsecure_test", @@ -7193,6 +10659,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test", @@ -7204,6 +10675,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test", @@ -7215,6 +10691,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test", @@ -7226,6 +10707,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test", @@ -7237,6 +10723,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test", @@ -7248,6 +10739,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_request_with_payload_unsecure_test", @@ -7259,6 +10755,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test", @@ -7270,6 +10771,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test", @@ -7281,6 +10787,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_simple_request_unsecure_test", @@ -7292,6 +10803,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test", @@ -7303,6 +10819,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_bad_hostname_unsecure_test", @@ -7314,6 +10835,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_cancel_after_accept_unsecure_test", @@ -7325,6 +10851,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test", @@ -7336,6 +10867,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_cancel_after_invoke_unsecure_test", @@ -7347,6 +10883,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_cancel_before_invoke_unsecure_test", @@ -7358,6 +10899,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test", @@ -7369,6 +10915,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_census_simple_request_unsecure_test", @@ -7380,6 +10931,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test", @@ -7391,6 +10947,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test", @@ -7402,6 +10963,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_empty_batch_unsecure_test", @@ -7413,6 +10979,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_graceful_server_shutdown_unsecure_test", @@ -7424,6 +10995,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_invoke_large_request_unsecure_test", @@ -7435,6 +11011,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_max_concurrent_streams_unsecure_test", @@ -7446,6 +11027,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_max_message_length_unsecure_test", @@ -7457,6 +11043,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_no_op_unsecure_test", @@ -7468,6 +11059,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_ping_pong_streaming_unsecure_test", @@ -7479,6 +11075,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_registered_call_unsecure_test", @@ -7490,6 +11091,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test", @@ -7501,6 +11107,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test", @@ -7512,6 +11123,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_response_with_payload_unsecure_test", @@ -7523,6 +11139,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test", @@ -7534,6 +11155,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_with_compressed_payload_unsecure_test", @@ -7545,6 +11171,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_with_flags_unsecure_test", @@ -7556,6 +11187,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_with_large_metadata_unsecure_test", @@ -7567,6 +11203,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_request_with_payload_unsecure_test", @@ -7578,6 +11219,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_server_finishes_request_unsecure_test", @@ -7589,6 +11235,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_simple_request_unsecure_test", @@ -7600,6 +11251,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test", @@ -7611,6 +11267,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test", @@ -7622,6 +11283,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test", @@ -7633,6 +11299,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test", @@ -7644,6 +11315,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test", @@ -7655,6 +11331,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test", @@ -7666,6 +11347,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test", @@ -7677,6 +11363,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test", @@ -7688,6 +11379,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test", @@ -7699,6 +11395,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test", @@ -7710,6 +11411,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test", @@ -7721,6 +11427,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test", @@ -7732,6 +11443,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test", @@ -7743,6 +11459,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test", @@ -7754,6 +11475,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test", @@ -7765,6 +11491,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test", @@ -7776,6 +11507,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test", @@ -7787,6 +11523,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test", @@ -7798,6 +11539,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test", @@ -7809,6 +11555,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test", @@ -7820,6 +11571,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test", @@ -7831,6 +11587,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test", @@ -7842,6 +11603,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test", @@ -7853,6 +11619,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test", @@ -7864,6 +11635,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test", @@ -7875,6 +11651,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test", @@ -7886,6 +11667,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test", @@ -7897,6 +11683,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test", @@ -7908,6 +11699,11 @@ ] }, { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test", @@ -7919,6 +11715,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test", @@ -7930,6 +11732,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test", @@ -7941,6 +11749,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test", @@ -7952,6 +11766,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test", @@ -7963,6 +11783,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test", @@ -7974,6 +11800,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test", @@ -7985,6 +11817,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test", @@ -7996,6 +11834,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test", @@ -8007,6 +11851,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test", @@ -8018,6 +11868,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test", @@ -8029,6 +11885,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test", @@ -8040,6 +11902,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test", @@ -8051,6 +11919,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test", @@ -8062,6 +11936,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test", @@ -8073,6 +11953,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test", @@ -8084,6 +11970,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test", @@ -8095,6 +11987,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test", @@ -8106,6 +12004,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test", @@ -8117,6 +12021,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test", @@ -8128,6 +12038,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test", @@ -8139,6 +12055,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test", @@ -8150,6 +12072,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test", @@ -8161,6 +12089,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test", @@ -8172,6 +12106,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test", @@ -8183,6 +12123,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test", @@ -8194,6 +12140,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test", @@ -8205,6 +12157,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test", @@ -8216,6 +12174,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test", @@ -8227,6 +12191,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "connection_prefix_bad_client_test", @@ -8238,6 +12208,12 @@ ] }, { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], "flaky": false, "language": "c", "name": "initial_settings_frame_bad_client_test", @@ -8249,4 +12225,3 @@ ] } ] - -- cgit v1.2.3 From 2d91b5de4031ecd5e82c720ba9d39c677f5888b1 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 7 Aug 2015 07:39:27 -0700 Subject: Only slow down tracing tests if stdout isatty --- test/core/end2end/fixtures/chttp2_socket_pair_with_grpc_trace.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'test/core') 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 6d2361b783..9d798ad1d2 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 @@ -148,7 +148,11 @@ int main(int argc, char **argv) { /* force tracing on, with a value to force many code paths in trace.c to be taken */ gpr_setenv("GRPC_TRACE", "doesnt-exist,http,all"); +#ifdef GPR_POSIX_SOCKET + g_fixture_slowdown_factor = isatty(STDOUT_FILENO) ? 10.0 : 1.0; +#else g_fixture_slowdown_factor = 10.0; +#endif grpc_test_init(argc, argv); grpc_init(); -- cgit v1.2.3 From ca9460bc6d0580bc979abf08bf17ba74473655c4 Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Fri, 7 Aug 2015 15:41:15 -0700 Subject: Fixing test. --- test/core/end2end/tests/bad_hostname.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/core') diff --git a/test/core/end2end/tests/bad_hostname.c b/test/core/end2end/tests/bad_hostname.c index 198ba46cd2..3007b62024 100644 --- a/test/core/end2end/tests/bad_hostname.c +++ b/test/core/end2end/tests/bad_hostname.c @@ -146,7 +146,7 @@ static void simple_request_body(grpc_end2end_test_fixture f) { cq_expect_completion(cqv, tag(1), 1); cq_verify(cqv); - GPR_ASSERT(status == GRPC_STATUS_UNAUTHENTICATED); + GPR_ASSERT(status == GRPC_STATUS_FAILED_PRECONDITION); gpr_free(details); grpc_metadata_array_destroy(&initial_metadata_recv); -- cgit v1.2.3 From e41d3ade7b30f84cc1bc94cdbd7f57521111991a Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Tue, 11 Aug 2015 15:58:01 -0700 Subject: Fixing test. --- test/core/end2end/tests/bad_hostname.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/core') diff --git a/test/core/end2end/tests/bad_hostname.c b/test/core/end2end/tests/bad_hostname.c index 3007b62024..501db89b7b 100644 --- a/test/core/end2end/tests/bad_hostname.c +++ b/test/core/end2end/tests/bad_hostname.c @@ -146,7 +146,7 @@ static void simple_request_body(grpc_end2end_test_fixture f) { cq_expect_completion(cqv, tag(1), 1); cq_verify(cqv); - GPR_ASSERT(status == GRPC_STATUS_FAILED_PRECONDITION); + GPR_ASSERT(status == GRPC_STATUS_INVALID_ARGUMENT); gpr_free(details); grpc_metadata_array_destroy(&initial_metadata_recv); -- cgit v1.2.3 From c7176a80ab9a01a4bbfdedeed0fbf1710a120850 Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Tue, 11 Aug 2015 17:39:00 -0700 Subject: Fixing clock type. --- test/core/security/verify_jwt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/core') diff --git a/test/core/security/verify_jwt.c b/test/core/security/verify_jwt.c index 9b334b3c3e..69bbc3cc0c 100644 --- a/test/core/security/verify_jwt.c +++ b/test/core/security/verify_jwt.c @@ -112,7 +112,7 @@ int main(int argc, char **argv) { while (!sync.is_done) { grpc_pollset_worker worker; grpc_pollset_work(&sync.pollset, &worker, - gpr_inf_future(GPR_CLOCK_REALTIME)); + gpr_inf_future(GPR_CLOCK_MONOTONIC)); } gpr_mu_unlock(GRPC_POLLSET_MU(&sync.pollset)); -- cgit v1.2.3