Make passing NULL for host not crash

pull/2717/head
Craig Tiller 10 years ago
parent b256faa353
commit c4b56b67a2
  1. 271
      Makefile
  2. 10
      src/core/channel/http_server_filter.c
  3. 18
      src/core/surface/channel.c
  4. 6
      src/core/surface/server.c
  5. 1
      test/core/end2end/gen_build_json.py
  6. 220
      test/core/end2end/tests/default_host.c
  7. 224
      tools/run_tests/sources_and_headers.json
  8. 119
      tools/run_tests/tests.json
  9. 57
      vsprojects/Grpc.mak

File diff suppressed because one or more lines are too long

@ -44,6 +44,7 @@ typedef struct call_data {
gpr_uint8 sent_status;
gpr_uint8 seen_scheme;
gpr_uint8 seen_te_trailers;
gpr_uint8 seen_authority;
grpc_linked_mdelem status;
grpc_stream_op_buffer *recv_ops;
@ -125,6 +126,9 @@ static grpc_mdelem *server_filter(void *user_data, grpc_mdelem *md) {
}
calld->seen_path = 1;
return md;
} else if (md->key == channeld->authority_key) {
calld->seen_authority = 1;
return md;
} else if (md->key == channeld->host_key) {
/* translate host to :authority since :authority may be
omitted */
@ -132,6 +136,7 @@ static grpc_mdelem *server_filter(void *user_data, grpc_mdelem *md) {
channeld->mdctx, GRPC_MDSTR_REF(channeld->authority_key),
GRPC_MDSTR_REF(md->value));
GRPC_MDELEM_UNREF(md);
calld->seen_authority = 1;
return authority;
} else {
return md;
@ -154,12 +159,15 @@ static void hs_on_recv(void *user_data, int success) {
(:method, :scheme, content-type, with :path and :authority covered
at the channel level right now) */
if (calld->seen_post && calld->seen_scheme && calld->seen_te_trailers &&
calld->seen_path) {
calld->seen_path && calld->seen_authority) {
/* do nothing */
} else {
if (!calld->seen_path) {
gpr_log(GPR_ERROR, "Missing :path header");
}
if (!calld->seen_authority) {
gpr_log(GPR_ERROR, "Missing :authority header");
}
if (!calld->seen_post) {
gpr_log(GPR_ERROR, "Missing :method header");
}

@ -149,14 +149,17 @@ static grpc_call *grpc_channel_create_call_internal(
grpc_channel *channel, grpc_completion_queue *cq, grpc_mdelem *path_mdelem,
grpc_mdelem *authority_mdelem, gpr_timespec deadline) {
grpc_mdelem *send_metadata[2];
int num_metadata = 0;
GPR_ASSERT(channel->is_client);
send_metadata[0] = path_mdelem;
send_metadata[1] = authority_mdelem;
send_metadata[num_metadata++] = path_mdelem;
if (authority_mdelem != NULL) {
send_metadata[num_metadata++] = authority_mdelem;
}
return grpc_call_create(channel, cq, NULL, send_metadata,
GPR_ARRAY_SIZE(send_metadata), deadline);
num_metadata, deadline);
}
grpc_call *grpc_channel_create_call(grpc_channel *channel,
@ -168,9 +171,10 @@ grpc_call *grpc_channel_create_call(grpc_channel *channel,
grpc_mdelem_from_metadata_strings(
channel->metadata_context, GRPC_MDSTR_REF(channel->path_string),
grpc_mdstr_from_string(channel->metadata_context, method)),
host ?
grpc_mdelem_from_metadata_strings(
channel->metadata_context, GRPC_MDSTR_REF(channel->authority_string),
grpc_mdstr_from_string(channel->metadata_context, host)),
grpc_mdstr_from_string(channel->metadata_context, host)) : NULL,
deadline);
}
@ -180,9 +184,9 @@ void *grpc_channel_register_call(grpc_channel *channel, const char *method,
rc->path = grpc_mdelem_from_metadata_strings(
channel->metadata_context, GRPC_MDSTR_REF(channel->path_string),
grpc_mdstr_from_string(channel->metadata_context, method));
rc->authority = grpc_mdelem_from_metadata_strings(
rc->authority = host ? grpc_mdelem_from_metadata_strings(
channel->metadata_context, GRPC_MDSTR_REF(channel->authority_string),
grpc_mdstr_from_string(channel->metadata_context, host));
grpc_mdstr_from_string(channel->metadata_context, host)) : NULL;
gpr_mu_lock(&channel->registered_call_mu);
rc->next = channel->registered_calls;
channel->registered_calls = rc;
@ -196,7 +200,7 @@ grpc_call *grpc_channel_create_registered_call(
registered_call *rc = registered_call_handle;
return grpc_channel_create_call_internal(
channel, completion_queue, GRPC_MDELEM_REF(rc->path),
GRPC_MDELEM_REF(rc->authority), deadline);
rc->authority ? GRPC_MDELEM_REF(rc->authority) : NULL, deadline);
}
#ifdef GRPC_CHANNEL_REF_COUNT_DEBUG

@ -543,8 +543,10 @@ static void server_on_recv(void *ptr, int success) {
gpr_inf_future(GPR_CLOCK_REALTIME))) {
calld->deadline = op->data.metadata.deadline;
}
calld->got_initial_metadata = 1;
start_new_rpc(elem);
if (calld->host && calld->path) {
calld->got_initial_metadata = 1;
start_new_rpc(elem);
}
break;
}
}

@ -71,6 +71,7 @@ END2END_TESTS = {
'cancel_in_a_vacuum': default_test_options,
'census_simple_request': default_test_options,
'channel_connectivity': connectivity_test_options,
'default_host': connectivity_test_options,
'disappearing_server': connectivity_test_options,
'early_server_shutdown_finishes_inflight_calls': default_test_options,
'early_server_shutdown_finishes_tags': default_test_options,

@ -0,0 +1,220 @@
/*
*
* 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.
*
*/
#include "test/core/end2end/end2end_tests.h"
#include <stdio.h>
#include <string.h>
#include "src/core/support/string.h"
#include <grpc/byte_buffer.h>
#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
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) {
grpc_end2end_test_fixture f;
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);
return f;
}
static gpr_timespec n_seconds_time(int n) {
return GRPC_TIMEOUT_SECONDS_TO_DEADLINE(n);
}
static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); }
static void drain_cq(grpc_completion_queue *cq) {
grpc_event ev;
do {
ev = grpc_completion_queue_next(cq, five_seconds_time());
} while (ev.type != GRPC_QUEUE_SHUTDOWN);
}
static void shutdown_server(grpc_end2end_test_fixture *f) {
if (!f->server) return;
grpc_server_shutdown_and_notify(f->server, f->cq, tag(1000));
GPR_ASSERT(grpc_completion_queue_pluck(f->cq, tag(1000),
GRPC_TIMEOUT_SECONDS_TO_DEADLINE(5))
.type == GRPC_OP_COMPLETE);
grpc_server_destroy(f->server);
f->server = NULL;
}
static void shutdown_client(grpc_end2end_test_fixture *f) {
if (!f->client) return;
grpc_channel_destroy(f->client);
f->client = NULL;
}
static void end_test(grpc_end2end_test_fixture *f) {
shutdown_server(f);
shutdown_client(f);
grpc_completion_queue_shutdown(f->cq);
drain_cq(f->cq);
grpc_completion_queue_destroy(f->cq);
}
static void simple_request_body(grpc_end2end_test_fixture f) {
grpc_call *c;
grpc_call *s;
gpr_timespec deadline = five_seconds_time();
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_call_details call_details;
grpc_status_code status;
char *details = NULL;
size_t details_capacity = 0;
int was_cancelled = 2;
char *peer;
c = grpc_channel_create_call(f.client, f.cq, "/foo", NULL, deadline);
GPR_ASSERT(c);
peer = grpc_call_get_peer(c);
GPR_ASSERT(peer != NULL);
gpr_log(GPR_DEBUG, "client_peer_before_call=%s", peer);
gpr_free(peer);
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_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_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);
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != NULL);
gpr_log(GPR_DEBUG, "server_peer=%s", peer);
gpr_free(peer);
peer = grpc_call_get_peer(c);
GPR_ASSERT(peer != NULL);
gpr_log(GPR_DEBUG, "client_peer=%s", peer);
gpr_free(peer);
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_STATUS_FROM_SERVER;
op->data.send_status_from_server.trailing_metadata_count = 0;
op->data.send_status_from_server.status = GRPC_STATUS_UNIMPLEMENTED;
op->data.send_status_from_server.status_details = "xyz";
op->flags = 0;
op++;
op->op = GRPC_OP_RECV_CLOSE_ON_SERVER;
op->data.recv_close_on_server.cancelled = &was_cancelled;
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_expect_completion(cqv, tag(1), 1);
cq_verify(cqv);
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == strcmp(details, "xyz"));
GPR_ASSERT(0 == strcmp(call_details.method, "/foo"));
GPR_ASSERT(0 == strcmp(call_details.host, "localhost"));
GPR_ASSERT(was_cancelled == 1);
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);
}
static void test_invoke_simple_request(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f;
f = begin_test(config, "test_invoke_simple_request", NULL, NULL);
simple_request_body(f);
end_test(&f);
config.tear_down_data(&f);
}
void grpc_end2end_tests(grpc_end2end_test_config config) {
if ((config.feature_mask & FEATURE_MASK_SUPPORTS_HOSTNAME_VERIFICATION) != 0) return;
if ((config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION) == 0) return;
test_invoke_simple_request(config);
}

@ -1739,6 +1739,21 @@
"name": "chttp2_fake_security_channel_connectivity_test",
"src": []
},
{
"deps": [
"end2end_certs",
"end2end_fixture_chttp2_fake_security",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc",
"grpc_test_util"
],
"headers": [],
"language": "c",
"name": "chttp2_fake_security_default_host_test",
"src": []
},
{
"deps": [
"end2end_certs",
@ -2219,6 +2234,21 @@
"name": "chttp2_fullstack_channel_connectivity_test",
"src": []
},
{
"deps": [
"end2end_certs",
"end2end_fixture_chttp2_fullstack",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc",
"grpc_test_util"
],
"headers": [],
"language": "c",
"name": "chttp2_fullstack_default_host_test",
"src": []
},
{
"deps": [
"end2end_certs",
@ -2699,6 +2729,21 @@
"name": "chttp2_fullstack_compression_channel_connectivity_test",
"src": []
},
{
"deps": [
"end2end_certs",
"end2end_fixture_chttp2_fullstack_compression",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc",
"grpc_test_util"
],
"headers": [],
"language": "c",
"name": "chttp2_fullstack_compression_default_host_test",
"src": []
},
{
"deps": [
"end2end_certs",
@ -3179,6 +3224,21 @@
"name": "chttp2_fullstack_uds_posix_channel_connectivity_test",
"src": []
},
{
"deps": [
"end2end_certs",
"end2end_fixture_chttp2_fullstack_uds_posix",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc",
"grpc_test_util"
],
"headers": [],
"language": "c",
"name": "chttp2_fullstack_uds_posix_default_host_test",
"src": []
},
{
"deps": [
"end2end_certs",
@ -3659,6 +3719,21 @@
"name": "chttp2_fullstack_uds_posix_with_poll_channel_connectivity_test",
"src": []
},
{
"deps": [
"end2end_certs",
"end2end_fixture_chttp2_fullstack_uds_posix_with_poll",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc",
"grpc_test_util"
],
"headers": [],
"language": "c",
"name": "chttp2_fullstack_uds_posix_with_poll_default_host_test",
"src": []
},
{
"deps": [
"end2end_certs",
@ -4139,6 +4214,21 @@
"name": "chttp2_fullstack_with_poll_channel_connectivity_test",
"src": []
},
{
"deps": [
"end2end_certs",
"end2end_fixture_chttp2_fullstack_with_poll",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc",
"grpc_test_util"
],
"headers": [],
"language": "c",
"name": "chttp2_fullstack_with_poll_default_host_test",
"src": []
},
{
"deps": [
"end2end_certs",
@ -4619,6 +4709,21 @@
"name": "chttp2_simple_ssl_fullstack_channel_connectivity_test",
"src": []
},
{
"deps": [
"end2end_certs",
"end2end_fixture_chttp2_simple_ssl_fullstack",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc",
"grpc_test_util"
],
"headers": [],
"language": "c",
"name": "chttp2_simple_ssl_fullstack_default_host_test",
"src": []
},
{
"deps": [
"end2end_certs",
@ -5099,6 +5204,21 @@
"name": "chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test",
"src": []
},
{
"deps": [
"end2end_certs",
"end2end_fixture_chttp2_simple_ssl_fullstack_with_poll",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc",
"grpc_test_util"
],
"headers": [],
"language": "c",
"name": "chttp2_simple_ssl_fullstack_with_poll_default_host_test",
"src": []
},
{
"deps": [
"end2end_certs",
@ -5579,6 +5699,21 @@
"name": "chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test",
"src": []
},
{
"deps": [
"end2end_certs",
"end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc",
"grpc_test_util"
],
"headers": [],
"language": "c",
"name": "chttp2_simple_ssl_with_oauth2_fullstack_default_host_test",
"src": []
},
{
"deps": [
"end2end_certs",
@ -7356,6 +7491,20 @@
"name": "chttp2_fullstack_channel_connectivity_unsecure_test",
"src": []
},
{
"deps": [
"end2end_fixture_chttp2_fullstack",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc_test_util_unsecure",
"grpc_unsecure"
],
"headers": [],
"language": "c",
"name": "chttp2_fullstack_default_host_unsecure_test",
"src": []
},
{
"deps": [
"end2end_fixture_chttp2_fullstack",
@ -7790,6 +7939,20 @@
"name": "chttp2_fullstack_compression_channel_connectivity_unsecure_test",
"src": []
},
{
"deps": [
"end2end_fixture_chttp2_fullstack_compression",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc_test_util_unsecure",
"grpc_unsecure"
],
"headers": [],
"language": "c",
"name": "chttp2_fullstack_compression_default_host_unsecure_test",
"src": []
},
{
"deps": [
"end2end_fixture_chttp2_fullstack_compression",
@ -8224,6 +8387,20 @@
"name": "chttp2_fullstack_uds_posix_channel_connectivity_unsecure_test",
"src": []
},
{
"deps": [
"end2end_fixture_chttp2_fullstack_uds_posix",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc_test_util_unsecure",
"grpc_unsecure"
],
"headers": [],
"language": "c",
"name": "chttp2_fullstack_uds_posix_default_host_unsecure_test",
"src": []
},
{
"deps": [
"end2end_fixture_chttp2_fullstack_uds_posix",
@ -8658,6 +8835,20 @@
"name": "chttp2_fullstack_uds_posix_with_poll_channel_connectivity_unsecure_test",
"src": []
},
{
"deps": [
"end2end_fixture_chttp2_fullstack_uds_posix_with_poll",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc_test_util_unsecure",
"grpc_unsecure"
],
"headers": [],
"language": "c",
"name": "chttp2_fullstack_uds_posix_with_poll_default_host_unsecure_test",
"src": []
},
{
"deps": [
"end2end_fixture_chttp2_fullstack_uds_posix_with_poll",
@ -9092,6 +9283,20 @@
"name": "chttp2_fullstack_with_poll_channel_connectivity_unsecure_test",
"src": []
},
{
"deps": [
"end2end_fixture_chttp2_fullstack_with_poll",
"end2end_test_default_host",
"gpr",
"gpr_test_util",
"grpc_test_util_unsecure",
"grpc_unsecure"
],
"headers": [],
"language": "c",
"name": "chttp2_fullstack_with_poll_default_host_unsecure_test",
"src": []
},
{
"deps": [
"end2end_fixture_chttp2_fullstack_with_poll",
@ -12424,6 +12629,25 @@
"test/core/end2end/tests/channel_connectivity.c"
]
},
{
"deps": [
"gpr",
"gpr_test_util",
"grpc_test_util_unsecure",
"grpc_unsecure"
],
"headers": [
"test/core/end2end/end2end_tests.h",
"test/core/end2end/tests/cancel_test_helpers.h"
],
"language": "c",
"name": "end2end_test_default_host",
"src": [
"test/core/end2end/end2end_tests.h",
"test/core/end2end/tests/cancel_test_helpers.h",
"test/core/end2end/tests/default_host.c"
]
},
{
"deps": [
"gpr",

@ -864,6 +864,15 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_fake_security_default_host_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -1152,6 +1161,15 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_fullstack_default_host_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -1440,6 +1458,15 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_fullstack_compression_default_host_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -1720,6 +1747,14 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_fullstack_uds_posix_default_host_test",
"platforms": [
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -1976,6 +2011,14 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_fullstack_uds_posix_with_poll_default_host_test",
"platforms": [
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -2232,6 +2275,14 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_fullstack_with_poll_default_host_test",
"platforms": [
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -2496,6 +2547,15 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_simple_ssl_fullstack_default_host_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -2776,6 +2836,14 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_simple_ssl_fullstack_with_poll_default_host_test",
"platforms": [
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -3040,6 +3108,15 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_simple_ssl_with_oauth2_fullstack_default_host_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -4111,6 +4188,15 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_fullstack_default_host_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -4390,6 +4476,15 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_fullstack_compression_default_host_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -4661,6 +4756,14 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_fullstack_uds_posix_default_host_unsecure_test",
"platforms": [
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -4909,6 +5012,14 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_fullstack_uds_posix_with_poll_default_host_unsecure_test",
"platforms": [
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -5157,6 +5268,14 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_fullstack_with_poll_default_host_unsecure_test",
"platforms": [
"posix"
]
},
{
"flaky": false,
"language": "c",

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save