aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/core/bad_client/gen_build_yaml.py3
-rw-r--r--test/core/bad_client/tests/window_overflow.c106
-rw-r--r--test/core/bad_ssl/bad_ssl_test.c2
-rwxr-xr-xtest/core/bad_ssl/gen_build_yaml.py2
-rw-r--r--test/core/bad_ssl/server.c7
-rw-r--r--test/core/client_config/lb_policies_test.c21
-rw-r--r--test/core/end2end/end2end_nosec_tests.c267
-rw-r--r--test/core/end2end/end2end_tests.c273
-rw-r--r--test/core/end2end/end2end_tests.h2
-rw-r--r--test/core/end2end/fixtures/h2_census.c2
-rw-r--r--test/core/end2end/fixtures/h2_compress.c2
-rw-r--r--test/core/end2end/fixtures/h2_fakesec.c2
-rw-r--r--test/core/end2end/fixtures/h2_full+pipe.c2
-rw-r--r--test/core/end2end/fixtures/h2_full+poll+pipe.c2
-rw-r--r--test/core/end2end/fixtures/h2_full+poll.c2
-rw-r--r--test/core/end2end/fixtures/h2_full.c2
-rw-r--r--test/core/end2end/fixtures/h2_oauth2.c2
-rw-r--r--test/core/end2end/fixtures/h2_proxy.c2
-rw-r--r--test/core/end2end/fixtures/h2_sockpair+trace.c2
-rw-r--r--test/core/end2end/fixtures/h2_sockpair.c2
-rw-r--r--test/core/end2end/fixtures/h2_sockpair_1byte.c2
-rw-r--r--test/core/end2end/fixtures/h2_ssl+poll.c2
-rw-r--r--test/core/end2end/fixtures/h2_ssl.c2
-rw-r--r--test/core/end2end/fixtures/h2_ssl_proxy.c2
-rw-r--r--test/core/end2end/fixtures/h2_uchannel.c2
-rw-r--r--test/core/end2end/fixtures/h2_uds+poll.c2
-rw-r--r--test/core/end2end/fixtures/h2_uds.c2
-rwxr-xr-xtest/core/end2end/gen_build_yaml.py86
-rw-r--r--test/core/end2end/tests/bad_hostname.c2
-rw-r--r--test/core/end2end/tests/binary_metadata.c2
-rw-r--r--test/core/end2end/tests/call_creds.c2
-rw-r--r--test/core/end2end/tests/cancel_after_accept.c2
-rw-r--r--test/core/end2end/tests/cancel_after_client_done.c2
-rw-r--r--test/core/end2end/tests/cancel_after_invoke.c2
-rw-r--r--test/core/end2end/tests/cancel_before_invoke.c2
-rw-r--r--test/core/end2end/tests/cancel_in_a_vacuum.c2
-rw-r--r--test/core/end2end/tests/cancel_with_status.c2
-rw-r--r--test/core/end2end/tests/channel_connectivity.c2
-rw-r--r--test/core/end2end/tests/channel_ping.c2
-rw-r--r--test/core/end2end/tests/compressed_payload.c2
-rw-r--r--test/core/end2end/tests/default_host.c2
-rw-r--r--test/core/end2end/tests/disappearing_server.c2
-rw-r--r--test/core/end2end/tests/empty_batch.c2
-rw-r--r--test/core/end2end/tests/graceful_server_shutdown.c2
-rw-r--r--test/core/end2end/tests/high_initial_seqno.c2
-rw-r--r--test/core/end2end/tests/hpack_size.c2
-rw-r--r--test/core/end2end/tests/invoke_large_request.c2
-rw-r--r--test/core/end2end/tests/large_metadata.c2
-rw-r--r--test/core/end2end/tests/max_concurrent_streams.c2
-rw-r--r--test/core/end2end/tests/max_message_length.c2
-rw-r--r--test/core/end2end/tests/metadata.c2
-rw-r--r--test/core/end2end/tests/negative_deadline.c2
-rw-r--r--test/core/end2end/tests/no_op.c2
-rw-r--r--test/core/end2end/tests/payload.c2
-rw-r--r--test/core/end2end/tests/ping_pong_streaming.c2
-rw-r--r--test/core/end2end/tests/registered_call.c2
-rw-r--r--test/core/end2end/tests/request_with_flags.c2
-rw-r--r--test/core/end2end/tests/request_with_payload.c2
-rw-r--r--test/core/end2end/tests/server_finishes_request.c2
-rw-r--r--test/core/end2end/tests/shutdown_finishes_calls.c2
-rw-r--r--test/core/end2end/tests/shutdown_finishes_tags.c2
-rw-r--r--test/core/end2end/tests/simple_delayed_request.c2
-rw-r--r--test/core/end2end/tests/simple_request.c2
-rw-r--r--test/core/end2end/tests/trailing_metadata.c2
-rw-r--r--test/core/security/security_connector_test.c57
-rw-r--r--test/core/support/alloc_test.c4
-rw-r--r--test/core/transport/connectivity_state_test.c2
-rw-r--r--test/cpp/end2end/zookeeper_test.cc2
-rw-r--r--test/cpp/util/string_ref_test.cc6
69 files changed, 845 insertions, 103 deletions
diff --git a/test/core/bad_client/gen_build_yaml.py b/test/core/bad_client/gen_build_yaml.py
index 45fcb6982b..a86a50065d 100755
--- a/test/core/bad_client/gen_build_yaml.py
+++ b/test/core/bad_client/gen_build_yaml.py
@@ -46,6 +46,7 @@ BAD_CLIENT_TESTS = {
'initial_settings_frame': default_test_options,
'server_registered_method': default_test_options,
'simple_request': default_test_options,
+ 'window_overflow': default_test_options,
'unknown_frame': default_test_options,
}
@@ -63,7 +64,7 @@ def main():
'headers': [
'test/core/bad_client/bad_client.h'
],
- 'vs_proj_dir': 'test',
+ 'vs_proj_dir': 'test/bad_client',
'deps': [
'grpc_test_util_unsecure',
'grpc_unsecure',
diff --git a/test/core/bad_client/tests/window_overflow.c b/test/core/bad_client/tests/window_overflow.c
new file mode 100644
index 0000000000..1c898f352d
--- /dev/null
+++ b/test/core/bad_client/tests/window_overflow.c
@@ -0,0 +1,106 @@
+/*
+ *
+ * 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/bad_client/bad_client.h"
+
+#include <string.h>
+
+#include <grpc/support/alloc.h>
+
+#include "src/core/surface/server.h"
+
+#define PFX_STR \
+ "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" \
+ "\x00\x00\x00\x04\x00\x00\x00\x00\x00" /* settings frame */ \
+ "\x00\x00\xc9\x01\x04\x00\x00\x00\x01" /* headers: generated from \
+ simple_request.headers in this \
+ directory */ \
+ "\x10\x05:path\x08/foo/bar" \
+ "\x10\x07:scheme\x04http" \
+ "\x10\x07:method\x04POST" \
+ "\x10\x0a:authority\x09localhost" \
+ "\x10\x0c" \
+ "content-type\x10" \
+ "application/grpc" \
+ "\x10\x14grpc-accept-encoding\x15" \
+ "deflate,identity,gzip" \
+ "\x10\x02te\x08trailers" \
+ "\x10\x0auser-agent\"bad-client grpc-c/0.12.0.0 (linux)"
+
+static void verifier(grpc_server *server, grpc_completion_queue *cq,
+ void *registered_method) {
+ while (grpc_server_has_open_connections(server)) {
+ GPR_ASSERT(grpc_completion_queue_next(cq,
+ GRPC_TIMEOUT_MILLIS_TO_DEADLINE(20),
+ NULL).type == GRPC_QUEUE_TIMEOUT);
+ }
+}
+
+char *g_buffer;
+size_t g_cap = 0;
+size_t g_count = 0;
+
+static void addbuf(const void *data, size_t len) {
+ if (g_count + len > g_cap) {
+ g_cap = GPR_MAX(g_count + len, g_cap * 2);
+ g_buffer = gpr_realloc(g_buffer, g_cap);
+ }
+ memcpy(g_buffer + g_count, data, len);
+ g_count += len;
+}
+
+int main(int argc, char **argv) {
+ int i, j;
+#define MAX_FRAME_SIZE 16384
+#define MESSAGES_PER_FRAME (MAX_FRAME_SIZE / 5)
+#define FRAME_SIZE (MESSAGES_PER_FRAME * 5)
+#define SEND_SIZE (100 * 1024)
+#define NUM_FRAMES (SEND_SIZE / FRAME_SIZE + 1)
+ grpc_test_init(argc, argv);
+
+ addbuf(PFX_STR, sizeof(PFX_STR) - 1);
+ for (i = 0; i < NUM_FRAMES; i++) {
+ gpr_uint8 hdr[9] = {(gpr_uint8)(FRAME_SIZE >> 16),
+ (gpr_uint8)(FRAME_SIZE >> 8), (gpr_uint8)FRAME_SIZE, 0,
+ 0, 0, 0, 0, 1};
+ addbuf(hdr, sizeof(hdr));
+ for (j = 0; j < MESSAGES_PER_FRAME; j++) {
+ gpr_uint8 message[5] = {0, 0, 0, 0, 0};
+ addbuf(message, sizeof(message));
+ }
+ }
+ grpc_run_bad_client_test(verifier, g_buffer, g_count, 0);
+ gpr_free(g_buffer);
+
+ return 0;
+}
diff --git a/test/core/bad_ssl/bad_ssl_test.c b/test/core/bad_ssl/bad_ssl_test.c
index 54ac6d0e1c..08ab482c58 100644
--- a/test/core/bad_ssl/bad_ssl_test.c
+++ b/test/core/bad_ssl/bad_ssl_test.c
@@ -163,7 +163,7 @@ int main(int argc, char **argv) {
grpc_shutdown();
}
gpr_free(args[2]);
-
+
gpr_subprocess_interrupt(svr);
status = gpr_subprocess_join(svr);
gpr_subprocess_destroy(svr);
diff --git a/test/core/bad_ssl/gen_build_yaml.py b/test/core/bad_ssl/gen_build_yaml.py
index d12722439e..15189d8b79 100755
--- a/test/core/bad_ssl/gen_build_yaml.py
+++ b/test/core/bad_ssl/gen_build_yaml.py
@@ -71,7 +71,7 @@ def main():
'language': 'c',
'run': False,
'src': ['test/core/bad_ssl/servers/%s.c' % t],
- 'vs_proj_dir': 'test',
+ 'vs_proj_dir': 'test/bad_ssl',
'platforms': ['linux', 'posix', 'mac'],
'deps': [
'bad_ssl_test_server',
diff --git a/test/core/bad_ssl/server.c b/test/core/bad_ssl/server.c
index 2ed94de099..6113d364c9 100644
--- a/test/core/bad_ssl/server.c
+++ b/test/core/bad_ssl/server.c
@@ -74,9 +74,8 @@ void bad_ssl_run(grpc_server *server) {
grpc_server_register_completion_queue(server, cq, NULL);
grpc_server_start(server);
- error =
- grpc_server_request_call(server, &s, &call_details,
- &request_metadata_recv, cq, cq, (void*)1);
+ error = grpc_server_request_call(server, &s, &call_details,
+ &request_metadata_recv, cq, cq, (void *)1);
GPR_ASSERT(GRPC_CALL_OK == error);
signal(SIGINT, sigint_handler);
@@ -96,7 +95,7 @@ void bad_ssl_run(grpc_server *server) {
NULL);
switch (ev.type) {
case GRPC_OP_COMPLETE:
- GPR_ASSERT(ev.tag == (void*)1);
+ GPR_ASSERT(ev.tag == (void *)1);
GPR_ASSERT(ev.success == 0);
break;
case GRPC_QUEUE_SHUTDOWN:
diff --git a/test/core/client_config/lb_policies_test.c b/test/core/client_config/lb_policies_test.c
index c088fe2c09..5f6166cbb5 100644
--- a/test/core/client_config/lb_policies_test.c
+++ b/test/core/client_config/lb_policies_test.c
@@ -137,9 +137,8 @@ static void kill_server(const servers_fixture *f, size_t i) {
gpr_log(GPR_INFO, "KILLING SERVER %d", i);
GPR_ASSERT(f->servers[i] != NULL);
grpc_server_shutdown_and_notify(f->servers[i], f->cq, tag(10000));
- GPR_ASSERT(
- grpc_completion_queue_pluck(f->cq, tag(10000), n_millis_time(5000), NULL)
- .type == GRPC_OP_COMPLETE);
+ GPR_ASSERT(grpc_completion_queue_pluck(f->cq, tag(10000), n_millis_time(5000),
+ NULL).type == GRPC_OP_COMPLETE);
grpc_server_destroy(f->servers[i]);
f->servers[i] = NULL;
}
@@ -205,8 +204,8 @@ static void teardown_servers(servers_fixture *f) {
if (f->servers[i] == NULL) continue;
grpc_server_shutdown_and_notify(f->servers[i], f->cq, tag(10000));
GPR_ASSERT(grpc_completion_queue_pluck(f->cq, tag(10000),
- n_millis_time(5000), NULL)
- .type == GRPC_OP_COMPLETE);
+ n_millis_time(5000),
+ NULL).type == GRPC_OP_COMPLETE);
grpc_server_destroy(f->servers[i]);
}
grpc_completion_queue_shutdown(f->cq);
@@ -304,8 +303,8 @@ static int *perform_request(servers_fixture *f, grpc_channel *client,
s_idx = -1;
while ((ev = grpc_completion_queue_next(
- f->cq, GRPC_TIMEOUT_SECONDS_TO_DEADLINE(1), NULL))
- .type != GRPC_QUEUE_TIMEOUT) {
+ f->cq, GRPC_TIMEOUT_SECONDS_TO_DEADLINE(1), NULL)).type !=
+ GRPC_QUEUE_TIMEOUT) {
GPR_ASSERT(ev.type == GRPC_OP_COMPLETE);
read_tag = ((int)(gpr_intptr)ev.tag);
gpr_log(GPR_DEBUG, "EVENT: success:%d, type:%d, tag:%d iter:%d",
@@ -377,8 +376,9 @@ static int *perform_request(servers_fixture *f, grpc_channel *client,
}
}
- GPR_ASSERT(grpc_completion_queue_next(
- f->cq, GRPC_TIMEOUT_MILLIS_TO_DEADLINE(200), NULL).type == GRPC_QUEUE_TIMEOUT);
+ GPR_ASSERT(grpc_completion_queue_next(f->cq,
+ GRPC_TIMEOUT_MILLIS_TO_DEADLINE(200),
+ NULL).type == GRPC_QUEUE_TIMEOUT);
grpc_metadata_array_destroy(&rdata->initial_metadata_recv);
grpc_metadata_array_destroy(&rdata->trailing_metadata_recv);
@@ -800,7 +800,8 @@ static void verify_rebirth_round_robin(const servers_fixture *f,
const size_t expected_seq_length = f->num_servers;
int *seen_elements;
- dump_array("actual_connection_sequence", actual_connection_sequence, num_iters);
+ dump_array("actual_connection_sequence", actual_connection_sequence,
+ num_iters);
/* verify conn. seq. expectation */
/* get the first unique run of length "num_servers". */
diff --git a/test/core/end2end/end2end_nosec_tests.c b/test/core/end2end/end2end_nosec_tests.c
new file mode 100644
index 0000000000..8f6cdd8a0a
--- /dev/null
+++ b/test/core/end2end/end2end_nosec_tests.c
@@ -0,0 +1,267 @@
+
+
+/*
+ *
+ * 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.
+ *
+ */
+
+
+
+/* This file is auto-generated */
+
+#include "test/core/end2end/end2end_tests.h"
+#include <string.h>
+#include <grpc/support/log.h>
+
+extern void bad_hostname(grpc_end2end_test_config config);
+extern void binary_metadata(grpc_end2end_test_config config);
+extern void cancel_after_accept(grpc_end2end_test_config config);
+extern void cancel_after_client_done(grpc_end2end_test_config config);
+extern void cancel_after_invoke(grpc_end2end_test_config config);
+extern void cancel_before_invoke(grpc_end2end_test_config config);
+extern void cancel_in_a_vacuum(grpc_end2end_test_config config);
+extern void cancel_with_status(grpc_end2end_test_config config);
+extern void channel_connectivity(grpc_end2end_test_config config);
+extern void channel_ping(grpc_end2end_test_config config);
+extern void compressed_payload(grpc_end2end_test_config config);
+extern void default_host(grpc_end2end_test_config config);
+extern void disappearing_server(grpc_end2end_test_config config);
+extern void empty_batch(grpc_end2end_test_config config);
+extern void graceful_server_shutdown(grpc_end2end_test_config config);
+extern void high_initial_seqno(grpc_end2end_test_config config);
+extern void hpack_size(grpc_end2end_test_config config);
+extern void invoke_large_request(grpc_end2end_test_config config);
+extern void large_metadata(grpc_end2end_test_config config);
+extern void max_concurrent_streams(grpc_end2end_test_config config);
+extern void max_message_length(grpc_end2end_test_config config);
+extern void metadata(grpc_end2end_test_config config);
+extern void negative_deadline(grpc_end2end_test_config config);
+extern void no_op(grpc_end2end_test_config config);
+extern void payload(grpc_end2end_test_config config);
+extern void ping_pong_streaming(grpc_end2end_test_config config);
+extern void registered_call(grpc_end2end_test_config config);
+extern void request_with_flags(grpc_end2end_test_config config);
+extern void request_with_payload(grpc_end2end_test_config config);
+extern void server_finishes_request(grpc_end2end_test_config config);
+extern void shutdown_finishes_calls(grpc_end2end_test_config config);
+extern void shutdown_finishes_tags(grpc_end2end_test_config config);
+extern void simple_delayed_request(grpc_end2end_test_config config);
+extern void simple_request(grpc_end2end_test_config config);
+extern void trailing_metadata(grpc_end2end_test_config config);
+
+void grpc_end2end_tests(int argc, char **argv, grpc_end2end_test_config config) {
+ int i;
+
+ if (argc <= 1) {
+ bad_hostname(config);
+ binary_metadata(config);
+ cancel_after_accept(config);
+ cancel_after_client_done(config);
+ cancel_after_invoke(config);
+ cancel_before_invoke(config);
+ cancel_in_a_vacuum(config);
+ cancel_with_status(config);
+ channel_connectivity(config);
+ channel_ping(config);
+ compressed_payload(config);
+ default_host(config);
+ disappearing_server(config);
+ empty_batch(config);
+ graceful_server_shutdown(config);
+ high_initial_seqno(config);
+ hpack_size(config);
+ invoke_large_request(config);
+ large_metadata(config);
+ max_concurrent_streams(config);
+ max_message_length(config);
+ metadata(config);
+ negative_deadline(config);
+ no_op(config);
+ payload(config);
+ ping_pong_streaming(config);
+ registered_call(config);
+ request_with_flags(config);
+ request_with_payload(config);
+ server_finishes_request(config);
+ shutdown_finishes_calls(config);
+ shutdown_finishes_tags(config);
+ simple_delayed_request(config);
+ simple_request(config);
+ trailing_metadata(config);
+ return;
+ }
+
+ for (i = 1; i < argc; i++) {
+ if (0 == strcmp("bad_hostname", argv[i])) {
+ bad_hostname(config);
+ continue;
+ }
+ if (0 == strcmp("binary_metadata", argv[i])) {
+ binary_metadata(config);
+ continue;
+ }
+ if (0 == strcmp("cancel_after_accept", argv[i])) {
+ cancel_after_accept(config);
+ continue;
+ }
+ if (0 == strcmp("cancel_after_client_done", argv[i])) {
+ cancel_after_client_done(config);
+ continue;
+ }
+ if (0 == strcmp("cancel_after_invoke", argv[i])) {
+ cancel_after_invoke(config);
+ continue;
+ }
+ if (0 == strcmp("cancel_before_invoke", argv[i])) {
+ cancel_before_invoke(config);
+ continue;
+ }
+ if (0 == strcmp("cancel_in_a_vacuum", argv[i])) {
+ cancel_in_a_vacuum(config);
+ continue;
+ }
+ if (0 == strcmp("cancel_with_status", argv[i])) {
+ cancel_with_status(config);
+ continue;
+ }
+ if (0 == strcmp("channel_connectivity", argv[i])) {
+ channel_connectivity(config);
+ continue;
+ }
+ if (0 == strcmp("channel_ping", argv[i])) {
+ channel_ping(config);
+ continue;
+ }
+ if (0 == strcmp("compressed_payload", argv[i])) {
+ compressed_payload(config);
+ continue;
+ }
+ if (0 == strcmp("default_host", argv[i])) {
+ default_host(config);
+ continue;
+ }
+ if (0 == strcmp("disappearing_server", argv[i])) {
+ disappearing_server(config);
+ continue;
+ }
+ if (0 == strcmp("empty_batch", argv[i])) {
+ empty_batch(config);
+ continue;
+ }
+ if (0 == strcmp("graceful_server_shutdown", argv[i])) {
+ graceful_server_shutdown(config);
+ continue;
+ }
+ if (0 == strcmp("high_initial_seqno", argv[i])) {
+ high_initial_seqno(config);
+ continue;
+ }
+ if (0 == strcmp("hpack_size", argv[i])) {
+ hpack_size(config);
+ continue;
+ }
+ if (0 == strcmp("invoke_large_request", argv[i])) {
+ invoke_large_request(config);
+ continue;
+ }
+ if (0 == strcmp("large_metadata", argv[i])) {
+ large_metadata(config);
+ continue;
+ }
+ if (0 == strcmp("max_concurrent_streams", argv[i])) {
+ max_concurrent_streams(config);
+ continue;
+ }
+ if (0 == strcmp("max_message_length", argv[i])) {
+ max_message_length(config);
+ continue;
+ }
+ if (0 == strcmp("metadata", argv[i])) {
+ metadata(config);
+ continue;
+ }
+ if (0 == strcmp("negative_deadline", argv[i])) {
+ negative_deadline(config);
+ continue;
+ }
+ if (0 == strcmp("no_op", argv[i])) {
+ no_op(config);
+ continue;
+ }
+ if (0 == strcmp("payload", argv[i])) {
+ payload(config);
+ continue;
+ }
+ if (0 == strcmp("ping_pong_streaming", argv[i])) {
+ ping_pong_streaming(config);
+ continue;
+ }
+ if (0 == strcmp("registered_call", argv[i])) {
+ registered_call(config);
+ continue;
+ }
+ if (0 == strcmp("request_with_flags", argv[i])) {
+ request_with_flags(config);
+ continue;
+ }
+ if (0 == strcmp("request_with_payload", argv[i])) {
+ request_with_payload(config);
+ continue;
+ }
+ if (0 == strcmp("server_finishes_request", argv[i])) {
+ server_finishes_request(config);
+ continue;
+ }
+ if (0 == strcmp("shutdown_finishes_calls", argv[i])) {
+ shutdown_finishes_calls(config);
+ continue;
+ }
+ if (0 == strcmp("shutdown_finishes_tags", argv[i])) {
+ shutdown_finishes_tags(config);
+ continue;
+ }
+ if (0 == strcmp("simple_delayed_request", argv[i])) {
+ simple_delayed_request(config);
+ continue;
+ }
+ if (0 == strcmp("simple_request", argv[i])) {
+ simple_request(config);
+ continue;
+ }
+ if (0 == strcmp("trailing_metadata", argv[i])) {
+ trailing_metadata(config);
+ continue;
+ }
+ gpr_log(GPR_DEBUG, "not a test: '%%s'", argv[i]);
+ abort();
+ }
+}
+
diff --git a/test/core/end2end/end2end_tests.c b/test/core/end2end/end2end_tests.c
new file mode 100644
index 0000000000..42a3a705f6
--- /dev/null
+++ b/test/core/end2end/end2end_tests.c
@@ -0,0 +1,273 @@
+
+
+/*
+ *
+ * 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.
+ *
+ */
+
+
+
+/* This file is auto-generated */
+
+#include "test/core/end2end/end2end_tests.h"
+#include <string.h>
+#include <grpc/support/log.h>
+
+extern void bad_hostname(grpc_end2end_test_config config);
+extern void binary_metadata(grpc_end2end_test_config config);
+extern void call_creds(grpc_end2end_test_config config);
+extern void cancel_after_accept(grpc_end2end_test_config config);
+extern void cancel_after_client_done(grpc_end2end_test_config config);
+extern void cancel_after_invoke(grpc_end2end_test_config config);
+extern void cancel_before_invoke(grpc_end2end_test_config config);
+extern void cancel_in_a_vacuum(grpc_end2end_test_config config);
+extern void cancel_with_status(grpc_end2end_test_config config);
+extern void channel_connectivity(grpc_end2end_test_config config);
+extern void channel_ping(grpc_end2end_test_config config);
+extern void compressed_payload(grpc_end2end_test_config config);
+extern void default_host(grpc_end2end_test_config config);
+extern void disappearing_server(grpc_end2end_test_config config);
+extern void empty_batch(grpc_end2end_test_config config);
+extern void graceful_server_shutdown(grpc_end2end_test_config config);
+extern void high_initial_seqno(grpc_end2end_test_config config);
+extern void hpack_size(grpc_end2end_test_config config);
+extern void invoke_large_request(grpc_end2end_test_config config);
+extern void large_metadata(grpc_end2end_test_config config);
+extern void max_concurrent_streams(grpc_end2end_test_config config);
+extern void max_message_length(grpc_end2end_test_config config);
+extern void metadata(grpc_end2end_test_config config);
+extern void negative_deadline(grpc_end2end_test_config config);
+extern void no_op(grpc_end2end_test_config config);
+extern void payload(grpc_end2end_test_config config);
+extern void ping_pong_streaming(grpc_end2end_test_config config);
+extern void registered_call(grpc_end2end_test_config config);
+extern void request_with_flags(grpc_end2end_test_config config);
+extern void request_with_payload(grpc_end2end_test_config config);
+extern void server_finishes_request(grpc_end2end_test_config config);
+extern void shutdown_finishes_calls(grpc_end2end_test_config config);
+extern void shutdown_finishes_tags(grpc_end2end_test_config config);
+extern void simple_delayed_request(grpc_end2end_test_config config);
+extern void simple_request(grpc_end2end_test_config config);
+extern void trailing_metadata(grpc_end2end_test_config config);
+
+void grpc_end2end_tests(int argc, char **argv, grpc_end2end_test_config config) {
+ int i;
+
+ if (argc <= 1) {
+ bad_hostname(config);
+ binary_metadata(config);
+ call_creds(config);
+ cancel_after_accept(config);
+ cancel_after_client_done(config);
+ cancel_after_invoke(config);
+ cancel_before_invoke(config);
+ cancel_in_a_vacuum(config);
+ cancel_with_status(config);
+ channel_connectivity(config);
+ channel_ping(config);
+ compressed_payload(config);
+ default_host(config);
+ disappearing_server(config);
+ empty_batch(config);
+ graceful_server_shutdown(config);
+ high_initial_seqno(config);
+ hpack_size(config);
+ invoke_large_request(config);
+ large_metadata(config);
+ max_concurrent_streams(config);
+ max_message_length(config);
+ metadata(config);
+ negative_deadline(config);
+ no_op(config);
+ payload(config);
+ ping_pong_streaming(config);
+ registered_call(config);
+ request_with_flags(config);
+ request_with_payload(config);
+ server_finishes_request(config);
+ shutdown_finishes_calls(config);
+ shutdown_finishes_tags(config);
+ simple_delayed_request(config);
+ simple_request(config);
+ trailing_metadata(config);
+ return;
+ }
+
+ for (i = 1; i < argc; i++) {
+ if (0 == strcmp("bad_hostname", argv[i])) {
+ bad_hostname(config);
+ continue;
+ }
+ if (0 == strcmp("binary_metadata", argv[i])) {
+ binary_metadata(config);
+ continue;
+ }
+ if (0 == strcmp("call_creds", argv[i])) {
+ call_creds(config);
+ continue;
+ }
+ if (0 == strcmp("cancel_after_accept", argv[i])) {
+ cancel_after_accept(config);
+ continue;
+ }
+ if (0 == strcmp("cancel_after_client_done", argv[i])) {
+ cancel_after_client_done(config);
+ continue;
+ }
+ if (0 == strcmp("cancel_after_invoke", argv[i])) {
+ cancel_after_invoke(config);
+ continue;
+ }
+ if (0 == strcmp("cancel_before_invoke", argv[i])) {
+ cancel_before_invoke(config);
+ continue;
+ }
+ if (0 == strcmp("cancel_in_a_vacuum", argv[i])) {
+ cancel_in_a_vacuum(config);
+ continue;
+ }
+ if (0 == strcmp("cancel_with_status", argv[i])) {
+ cancel_with_status(config);
+ continue;
+ }
+ if (0 == strcmp("channel_connectivity", argv[i])) {
+ channel_connectivity(config);
+ continue;
+ }
+ if (0 == strcmp("channel_ping", argv[i])) {
+ channel_ping(config);
+ continue;
+ }
+ if (0 == strcmp("compressed_payload", argv[i])) {
+ compressed_payload(config);
+ continue;
+ }
+ if (0 == strcmp("default_host", argv[i])) {
+ default_host(config);
+ continue;
+ }
+ if (0 == strcmp("disappearing_server", argv[i])) {
+ disappearing_server(config);
+ continue;
+ }
+ if (0 == strcmp("empty_batch", argv[i])) {
+ empty_batch(config);
+ continue;
+ }
+ if (0 == strcmp("graceful_server_shutdown", argv[i])) {
+ graceful_server_shutdown(config);
+ continue;
+ }
+ if (0 == strcmp("high_initial_seqno", argv[i])) {
+ high_initial_seqno(config);
+ continue;
+ }
+ if (0 == strcmp("hpack_size", argv[i])) {
+ hpack_size(config);
+ continue;
+ }
+ if (0 == strcmp("invoke_large_request", argv[i])) {
+ invoke_large_request(config);
+ continue;
+ }
+ if (0 == strcmp("large_metadata", argv[i])) {
+ large_metadata(config);
+ continue;
+ }
+ if (0 == strcmp("max_concurrent_streams", argv[i])) {
+ max_concurrent_streams(config);
+ continue;
+ }
+ if (0 == strcmp("max_message_length", argv[i])) {
+ max_message_length(config);
+ continue;
+ }
+ if (0 == strcmp("metadata", argv[i])) {
+ metadata(config);
+ continue;
+ }
+ if (0 == strcmp("negative_deadline", argv[i])) {
+ negative_deadline(config);
+ continue;
+ }
+ if (0 == strcmp("no_op", argv[i])) {
+ no_op(config);
+ continue;
+ }
+ if (0 == strcmp("payload", argv[i])) {
+ payload(config);
+ continue;
+ }
+ if (0 == strcmp("ping_pong_streaming", argv[i])) {
+ ping_pong_streaming(config);
+ continue;
+ }
+ if (0 == strcmp("registered_call", argv[i])) {
+ registered_call(config);
+ continue;
+ }
+ if (0 == strcmp("request_with_flags", argv[i])) {
+ request_with_flags(config);
+ continue;
+ }
+ if (0 == strcmp("request_with_payload", argv[i])) {
+ request_with_payload(config);
+ continue;
+ }
+ if (0 == strcmp("server_finishes_request", argv[i])) {
+ server_finishes_request(config);
+ continue;
+ }
+ if (0 == strcmp("shutdown_finishes_calls", argv[i])) {
+ shutdown_finishes_calls(config);
+ continue;
+ }
+ if (0 == strcmp("shutdown_finishes_tags", argv[i])) {
+ shutdown_finishes_tags(config);
+ continue;
+ }
+ if (0 == strcmp("simple_delayed_request", argv[i])) {
+ simple_delayed_request(config);
+ continue;
+ }
+ if (0 == strcmp("simple_request", argv[i])) {
+ simple_request(config);
+ continue;
+ }
+ if (0 == strcmp("trailing_metadata", argv[i])) {
+ trailing_metadata(config);
+ continue;
+ }
+ gpr_log(GPR_DEBUG, "not a test: '%%s'", argv[i]);
+ abort();
+ }
+}
+
diff --git a/test/core/end2end/end2end_tests.h b/test/core/end2end/end2end_tests.h
index 3f1665613c..087abfd741 100644
--- a/test/core/end2end/end2end_tests.h
+++ b/test/core/end2end/end2end_tests.h
@@ -64,6 +64,6 @@ struct grpc_end2end_test_config {
void (*tear_down_data)(grpc_end2end_test_fixture *f);
};
-void grpc_end2end_tests(grpc_end2end_test_config config);
+void grpc_end2end_tests(int argc, char **argv, grpc_end2end_test_config config);
#endif /* GRPC_TEST_CORE_END2END_END2END_TESTS_H */
diff --git a/test/core/end2end/fixtures/h2_census.c b/test/core/end2end/fixtures/h2_census.c
index 90f3713cc8..e74c9ae243 100644
--- a/test/core/end2end/fixtures/h2_census.c
+++ b/test/core/end2end/fixtures/h2_census.c
@@ -123,7 +123,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_compress.c b/test/core/end2end/fixtures/h2_compress.c
index 6e7a1faf55..fea8a4f751 100644
--- a/test/core/end2end/fixtures/h2_compress.c
+++ b/test/core/end2end/fixtures/h2_compress.c
@@ -127,7 +127,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_fakesec.c b/test/core/end2end/fixtures/h2_fakesec.c
index bc009e1df1..2767f1df4a 100644
--- a/test/core/end2end/fixtures/h2_fakesec.c
+++ b/test/core/end2end/fixtures/h2_fakesec.c
@@ -154,7 +154,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_full+pipe.c b/test/core/end2end/fixtures/h2_full+pipe.c
index 83cde49305..4b93581899 100644
--- a/test/core/end2end/fixtures/h2_full+pipe.c
+++ b/test/core/end2end/fixtures/h2_full+pipe.c
@@ -111,7 +111,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_full+poll+pipe.c b/test/core/end2end/fixtures/h2_full+poll+pipe.c
index ffae11f90d..d475a7bb55 100644
--- a/test/core/end2end/fixtures/h2_full+poll+pipe.c
+++ b/test/core/end2end/fixtures/h2_full+poll+pipe.c
@@ -111,7 +111,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_full+poll.c b/test/core/end2end/fixtures/h2_full+poll.c
index 48feefc931..3f5e6096f6 100644
--- a/test/core/end2end/fixtures/h2_full+poll.c
+++ b/test/core/end2end/fixtures/h2_full+poll.c
@@ -109,7 +109,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_full.c b/test/core/end2end/fixtures/h2_full.c
index 0170dcf0e5..ebaa1c6a2c 100644
--- a/test/core/end2end/fixtures/h2_full.c
+++ b/test/core/end2end/fixtures/h2_full.c
@@ -108,7 +108,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_oauth2.c b/test/core/end2end/fixtures/h2_oauth2.c
index 7a34cc67d8..e2c82917ef 100644
--- a/test/core/end2end/fixtures/h2_oauth2.c
+++ b/test/core/end2end/fixtures/h2_oauth2.c
@@ -230,7 +230,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_proxy.c b/test/core/end2end/fixtures/h2_proxy.c
index 44083e2676..8bcc1b6ee0 100644
--- a/test/core/end2end/fixtures/h2_proxy.c
+++ b/test/core/end2end/fixtures/h2_proxy.c
@@ -123,7 +123,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_sockpair+trace.c b/test/core/end2end/fixtures/h2_sockpair+trace.c
index ccc8631d94..511c8b1a46 100644
--- a/test/core/end2end/fixtures/h2_sockpair+trace.c
+++ b/test/core/end2end/fixtures/h2_sockpair+trace.c
@@ -169,7 +169,7 @@ int main(int argc, char **argv) {
GPR_ASSERT(1 == grpc_tracer_set_enabled("all", 1));
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_sockpair.c b/test/core/end2end/fixtures/h2_sockpair.c
index a6a84c9b1a..6b4787b1e5 100644
--- a/test/core/end2end/fixtures/h2_sockpair.c
+++ b/test/core/end2end/fixtures/h2_sockpair.c
@@ -153,7 +153,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_sockpair_1byte.c b/test/core/end2end/fixtures/h2_sockpair_1byte.c
index 4b8f9054ef..3ae8e96683 100644
--- a/test/core/end2end/fixtures/h2_sockpair_1byte.c
+++ b/test/core/end2end/fixtures/h2_sockpair_1byte.c
@@ -153,7 +153,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_ssl+poll.c b/test/core/end2end/fixtures/h2_ssl+poll.c
index 37e1758f00..614654ed52 100644
--- a/test/core/end2end/fixtures/h2_ssl+poll.c
+++ b/test/core/end2end/fixtures/h2_ssl+poll.c
@@ -179,7 +179,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_ssl.c b/test/core/end2end/fixtures/h2_ssl.c
index f5a006bd08..5c63dfb6aa 100644
--- a/test/core/end2end/fixtures/h2_ssl.c
+++ b/test/core/end2end/fixtures/h2_ssl.c
@@ -176,7 +176,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_ssl_proxy.c b/test/core/end2end/fixtures/h2_ssl_proxy.c
index 7233cdbe2d..a93bd83a1f 100644
--- a/test/core/end2end/fixtures/h2_ssl_proxy.c
+++ b/test/core/end2end/fixtures/h2_ssl_proxy.c
@@ -206,7 +206,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_uchannel.c b/test/core/end2end/fixtures/h2_uchannel.c
index ea630c3275..9b622e80d6 100644
--- a/test/core/end2end/fixtures/h2_uchannel.c
+++ b/test/core/end2end/fixtures/h2_uchannel.c
@@ -348,7 +348,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_uds+poll.c b/test/core/end2end/fixtures/h2_uds+poll.c
index 05b9ea0949..155017c887 100644
--- a/test/core/end2end/fixtures/h2_uds+poll.c
+++ b/test/core/end2end/fixtures/h2_uds+poll.c
@@ -115,7 +115,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/fixtures/h2_uds.c b/test/core/end2end/fixtures/h2_uds.c
index 59d39bbb0f..30928270e5 100644
--- a/test/core/end2end/fixtures/h2_uds.c
+++ b/test/core/end2end/fixtures/h2_uds.c
@@ -113,7 +113,7 @@ int main(int argc, char **argv) {
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
- grpc_end2end_tests(configs[i]);
+ grpc_end2end_tests(argc, argv, configs[i]);
}
grpc_shutdown();
diff --git a/test/core/end2end/gen_build_yaml.py b/test/core/end2end/gen_build_yaml.py
index 9f94cfe6be..abb50399b3 100755
--- a/test/core/end2end/gen_build_yaml.py
+++ b/test/core/end2end/gen_build_yaml.py
@@ -77,8 +77,8 @@ END2END_FIXTURES = {
}
TestOptions = collections.namedtuple(
- 'TestOptions', 'needs_fullstack needs_dns proxyable flaky secure traceable')
-default_test_options = TestOptions(False, False, True, False, False, True)
+ 'TestOptions', 'needs_fullstack needs_dns proxyable secure traceable')
+default_test_options = TestOptions(False, False, True, False, True)
connectivity_test_options = default_test_options._replace(needs_fullstack=True)
# maps test names to options
@@ -173,7 +173,7 @@ def main():
else END2END_FIXTURES[f].platforms,
'deps': sec_deps,
'headers': ['test/core/end2end/end2end_tests.h'],
- 'vs_proj_dir': 'test',
+ 'vs_proj_dir': 'test/end2end/fixtures/%s' % f,
} for f in sorted(END2END_FIXTURES.keys())
] + [
{
@@ -186,34 +186,38 @@ def main():
else END2END_FIXTURES[f].platforms,
'deps': unsec_deps,
'headers': ['test/core/end2end/end2end_tests.h'],
- 'vs_proj_dir': 'test',
+ 'vs_proj_dir': 'test/end2end/fixtures/%s' % f,
} for f in sorted(END2END_FIXTURES.keys())
if not END2END_FIXTURES[f].secure
] + [
{
- 'name': 'end2end_test_%s' % t,
+ 'name': 'end2end_tests',
'build': 'private',
'language': 'c',
- 'secure': 'check' if END2END_TESTS[t].secure else False,
- 'src': ['test/core/end2end/tests/%s.c' % t],
+ 'secure': True,
+ 'src': ['test/core/end2end/end2end_tests.c'] + [
+ 'test/core/end2end/tests/%s.c' % t
+ for t in sorted(END2END_TESTS.keys())],
'headers': ['test/core/end2end/tests/cancel_test_helpers.h',
'test/core/end2end/end2end_tests.h'],
'deps': sec_deps,
- 'vs_proj_dir': 'test',
- } for t in sorted(END2END_TESTS.keys())
+ 'vs_proj_dir': 'test/end2end/tests',
+ }
] + [
{
- 'name': 'end2end_nosec_test_%s' % t,
+ 'name': 'end2end_nosec_tests',
'build': 'private',
'language': 'c',
'secure': False,
- 'src': ['test/core/end2end/tests/%s.c' % t],
+ 'src': ['test/core/end2end/end2end_nosec_tests.c'] + [
+ 'test/core/end2end/tests/%s.c' % t
+ for t in sorted(END2END_TESTS.keys())
+ if not END2END_TESTS[t].secure],
'headers': ['test/core/end2end/tests/cancel_test_helpers.h',
'test/core/end2end/end2end_tests.h'],
'deps': unsec_deps,
- 'vs_proj_dir': 'test',
- } for t in sorted(END2END_TESTS.keys())
- if not END2END_TESTS[t].secure
+ 'vs_proj_dir': 'test/end2end/tests',
+ }
] + [
{
'name': 'end2end_certs',
@@ -224,49 +228,81 @@ def main():
"test/core/end2end/data/server1_cert.c",
"test/core/end2end/data/server1_key.c"
],
- 'vs_proj_dir': 'test',
+ 'vs_proj_dir': 'test/end2end',
}
],
'targets': [
{
- 'name': '%s_%s_test' % (f, t),
+ 'name': '%s_test' % f,
'build': 'test',
'language': 'c',
+ 'run': False,
'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
+ 'end2end_fixture_%s' % f, 'end2end_tests'
] + sec_deps,
- 'vs_proj_dir': 'test',
+ 'vs_proj_dir': 'test/end2end/tests',
}
for f in sorted(END2END_FIXTURES.keys())
- for t in sorted(END2END_TESTS.keys()) if compatible(f, t)
] + [
{
- 'name': '%s_%s_nosec_test' % (f, t),
+ 'name': '%s_nosec_test' % f,
'build': 'test',
'language': 'c',
'secure': 'no',
'src': [],
- 'flaky': END2END_TESTS[t].flaky,
+ 'run': False,
'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_nosec_fixture_%s' % f, 'end2end_nosec_test_%s' % t
+ 'end2end_nosec_fixture_%s' % f, 'end2end_nosec_tests'
] + unsec_deps,
- 'vs_proj_dir': 'test',
+ 'vs_proj_dir': 'test/end2end/tests',
+ }
+ for f in sorted(END2END_FIXTURES.keys())
+ if not END2END_FIXTURES[f].secure
+ ],
+ 'tests': [
+ {
+ 'name': '%s_test' % f,
+ 'args': [t],
+ 'exclude_configs': [],
+ 'platforms': END2END_FIXTURES[f].platforms,
+ 'ci_platforms': (END2END_FIXTURES[f].platforms
+ if END2END_FIXTURES[f].ci_mac else without(
+ END2END_FIXTURES[f].platforms, 'mac')),
+ 'flaky': False,
+ 'language': 'c',
+ }
+ for f in sorted(END2END_FIXTURES.keys())
+ for t in sorted(END2END_TESTS.keys()) if compatible(f, t)
+ ] + [
+ {
+ 'name': '%s_test' % f,
+ 'args': [t],
+ 'exclude_configs': [],
+ 'platforms': END2END_FIXTURES[f].platforms,
+ 'ci_platforms': (END2END_FIXTURES[f].platforms
+ if END2END_FIXTURES[f].ci_mac else without(
+ END2END_FIXTURES[f].platforms, 'mac')),
+ 'flaky': False,
+ 'language': 'c',
}
for f in sorted(END2END_FIXTURES.keys())
if not END2END_FIXTURES[f].secure
for t in sorted(END2END_TESTS.keys())
if compatible(f, t) and not END2END_TESTS[t].secure
- ]
+ ],
+ 'core_end2end_tests': dict(
+ (t, END2END_TESTS[t].secure)
+ for t in END2END_TESTS.keys()
+ )
}
print yaml.dump(json)
diff --git a/test/core/end2end/tests/bad_hostname.c b/test/core/end2end/tests/bad_hostname.c
index ca4c1a9805..17f0b98ec3 100644
--- a/test/core/end2end/tests/bad_hostname.c
+++ b/test/core/end2end/tests/bad_hostname.c
@@ -174,7 +174,7 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void bad_hostname(grpc_end2end_test_config config) {
if (config.feature_mask & FEATURE_MASK_SUPPORTS_HOSTNAME_VERIFICATION) {
test_invoke_simple_request(config);
}
diff --git a/test/core/end2end/tests/binary_metadata.c b/test/core/end2end/tests/binary_metadata.c
index e6404d6f51..6b506bafcc 100644
--- a/test/core/end2end/tests/binary_metadata.c
+++ b/test/core/end2end/tests/binary_metadata.c
@@ -284,6 +284,6 @@ static void test_request_response_with_metadata_and_payload(
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void binary_metadata(grpc_end2end_test_config config) {
test_request_response_with_metadata_and_payload(config);
}
diff --git a/test/core/end2end/tests/call_creds.c b/test/core/end2end/tests/call_creds.c
index bbfad21b62..910d280822 100644
--- a/test/core/end2end/tests/call_creds.c
+++ b/test/core/end2end/tests/call_creds.c
@@ -467,7 +467,7 @@ static void test_request_with_server_rejecting_client_creds(
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void call_creds(grpc_end2end_test_config config) {
if (config.feature_mask & FEATURE_MASK_SUPPORTS_PER_CALL_CREDENTIALS) {
test_request_response_with_payload_and_call_creds(config);
test_request_response_with_payload_and_overridden_call_creds(config);
diff --git a/test/core/end2end/tests/cancel_after_accept.c b/test/core/end2end/tests/cancel_after_accept.c
index 68bd4bc36e..a4e5dd1fc8 100644
--- a/test/core/end2end/tests/cancel_after_accept.c
+++ b/test/core/end2end/tests/cancel_after_accept.c
@@ -226,7 +226,7 @@ static void test_cancel_after_accept(grpc_end2end_test_config config,
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void cancel_after_accept(grpc_end2end_test_config config) {
unsigned i;
for (i = 0; i < GPR_ARRAY_SIZE(cancellation_modes); i++) {
diff --git a/test/core/end2end/tests/cancel_after_client_done.c b/test/core/end2end/tests/cancel_after_client_done.c
index 1e919ce19e..86d359575e 100644
--- a/test/core/end2end/tests/cancel_after_client_done.c
+++ b/test/core/end2end/tests/cancel_after_client_done.c
@@ -230,7 +230,7 @@ static void test_cancel_after_accept_and_writes_closed(
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void cancel_after_client_done(grpc_end2end_test_config config) {
unsigned i;
for (i = 0; i < GPR_ARRAY_SIZE(cancellation_modes); i++) {
diff --git a/test/core/end2end/tests/cancel_after_invoke.c b/test/core/end2end/tests/cancel_after_invoke.c
index a84f9be14e..47ade8c0fe 100644
--- a/test/core/end2end/tests/cancel_after_invoke.c
+++ b/test/core/end2end/tests/cancel_after_invoke.c
@@ -190,7 +190,7 @@ static void test_cancel_after_invoke(grpc_end2end_test_config config,
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void cancel_after_invoke(grpc_end2end_test_config config) {
unsigned i, j;
for (j = 2; j < 6; j++) {
diff --git a/test/core/end2end/tests/cancel_before_invoke.c b/test/core/end2end/tests/cancel_before_invoke.c
index 61574df3d0..e827a95f48 100644
--- a/test/core/end2end/tests/cancel_before_invoke.c
+++ b/test/core/end2end/tests/cancel_before_invoke.c
@@ -188,7 +188,7 @@ static void test_cancel_before_invoke(grpc_end2end_test_config config,
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void cancel_before_invoke(grpc_end2end_test_config config) {
size_t i;
for (i = 1; i <= 6; i++) {
test_cancel_before_invoke(config, i);
diff --git a/test/core/end2end/tests/cancel_in_a_vacuum.c b/test/core/end2end/tests/cancel_in_a_vacuum.c
index 6435d22ee9..2168e1dcc6 100644
--- a/test/core/end2end/tests/cancel_in_a_vacuum.c
+++ b/test/core/end2end/tests/cancel_in_a_vacuum.c
@@ -120,7 +120,7 @@ static void test_cancel_in_a_vacuum(grpc_end2end_test_config config,
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void cancel_in_a_vacuum(grpc_end2end_test_config config) {
unsigned i;
for (i = 0; i < GPR_ARRAY_SIZE(cancellation_modes); i++) {
diff --git a/test/core/end2end/tests/cancel_with_status.c b/test/core/end2end/tests/cancel_with_status.c
index 2e36902a51..cb4cd1bf63 100644
--- a/test/core/end2end/tests/cancel_with_status.c
+++ b/test/core/end2end/tests/cancel_with_status.c
@@ -176,7 +176,7 @@ static void test_invoke_simple_request(grpc_end2end_test_config config,
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void cancel_with_status(grpc_end2end_test_config config) {
size_t i;
for (i = 1; i <= 4; i++) {
test_invoke_simple_request(config, i);
diff --git a/test/core/end2end/tests/channel_connectivity.c b/test/core/end2end/tests/channel_connectivity.c
index 0e0ac03015..8001f3f398 100644
--- a/test/core/end2end/tests/channel_connectivity.c
+++ b/test/core/end2end/tests/channel_connectivity.c
@@ -168,7 +168,7 @@ static void test_connectivity(grpc_end2end_test_config config) {
cq_verifier_destroy(cqv);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void channel_connectivity(grpc_end2end_test_config config) {
GPR_ASSERT(config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION);
test_connectivity(config);
}
diff --git a/test/core/end2end/tests/channel_ping.c b/test/core/end2end/tests/channel_ping.c
index 441e49ee7a..c97778fbf0 100644
--- a/test/core/end2end/tests/channel_ping.c
+++ b/test/core/end2end/tests/channel_ping.c
@@ -91,7 +91,7 @@ static void test_ping(grpc_end2end_test_config config) {
cq_verifier_destroy(cqv);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void channel_ping(grpc_end2end_test_config config) {
GPR_ASSERT(config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION);
test_ping(config);
}
diff --git a/test/core/end2end/tests/compressed_payload.c b/test/core/end2end/tests/compressed_payload.c
index 0d07110aef..2aa852817f 100644
--- a/test/core/end2end/tests/compressed_payload.c
+++ b/test/core/end2end/tests/compressed_payload.c
@@ -330,7 +330,7 @@ static void test_invoke_request_with_compressed_payload_md_override(
GRPC_COMPRESS_DEFLATE, GRPC_COMPRESS_NONE, &none_compression_override);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void compressed_payload(grpc_end2end_test_config config) {
test_invoke_request_with_exceptionally_uncompressed_payload(config);
test_invoke_request_with_uncompressed_payload(config);
test_invoke_request_with_compressed_payload(config);
diff --git a/test/core/end2end/tests/default_host.c b/test/core/end2end/tests/default_host.c
index fc06b8950d..98f3547041 100644
--- a/test/core/end2end/tests/default_host.c
+++ b/test/core/end2end/tests/default_host.c
@@ -225,7 +225,7 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void default_host(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)
diff --git a/test/core/end2end/tests/disappearing_server.c b/test/core/end2end/tests/disappearing_server.c
index de3ea16f66..0e261a0e46 100644
--- a/test/core/end2end/tests/disappearing_server.c
+++ b/test/core/end2end/tests/disappearing_server.c
@@ -209,7 +209,7 @@ static void disappearing_server_test(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void disappearing_server(grpc_end2end_test_config config) {
GPR_ASSERT(config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION);
disappearing_server_test(config);
}
diff --git a/test/core/end2end/tests/empty_batch.c b/test/core/end2end/tests/empty_batch.c
index f331aa92e0..6d85399c85 100644
--- a/test/core/end2end/tests/empty_batch.c
+++ b/test/core/end2end/tests/empty_batch.c
@@ -129,6 +129,6 @@ static void test_invoke_empty_body(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void empty_batch(grpc_end2end_test_config config) {
test_invoke_empty_body(config);
}
diff --git a/test/core/end2end/tests/graceful_server_shutdown.c b/test/core/end2end/tests/graceful_server_shutdown.c
index 8efa5a34d0..69dc397b6b 100644
--- a/test/core/end2end/tests/graceful_server_shutdown.c
+++ b/test/core/end2end/tests/graceful_server_shutdown.c
@@ -207,6 +207,6 @@ static void test_early_server_shutdown_finishes_inflight_calls(
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void graceful_server_shutdown(grpc_end2end_test_config config) {
test_early_server_shutdown_finishes_inflight_calls(config);
}
diff --git a/test/core/end2end/tests/high_initial_seqno.c b/test/core/end2end/tests/high_initial_seqno.c
index 399b6e2183..42328ae558 100644
--- a/test/core/end2end/tests/high_initial_seqno.c
+++ b/test/core/end2end/tests/high_initial_seqno.c
@@ -231,7 +231,7 @@ static void test_invoke_10_simple_requests(grpc_end2end_test_config config,
gpr_free(name);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void high_initial_seqno(grpc_end2end_test_config config) {
test_invoke_10_simple_requests(config, 16777213);
if (config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION) {
test_invoke_10_simple_requests(config, 2147483645);
diff --git a/test/core/end2end/tests/hpack_size.c b/test/core/end2end/tests/hpack_size.c
index f16883ecfd..a5319aebd9 100644
--- a/test/core/end2end/tests/hpack_size.c
+++ b/test/core/end2end/tests/hpack_size.c
@@ -433,7 +433,7 @@ static void test_size(grpc_end2end_test_config config, int encode_size,
gpr_free(name);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void hpack_size(grpc_end2end_test_config config) {
static const int interesting_sizes[] = {4096, 0, 100,
1000, 32768, 4 * 1024 * 1024};
size_t i, j;
diff --git a/test/core/end2end/tests/invoke_large_request.c b/test/core/end2end/tests/invoke_large_request.c
index c612af91e3..88879a9011 100644
--- a/test/core/end2end/tests/invoke_large_request.c
+++ b/test/core/end2end/tests/invoke_large_request.c
@@ -251,6 +251,6 @@ static void test_invoke_large_request(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void invoke_large_request(grpc_end2end_test_config config) {
test_invoke_large_request(config);
}
diff --git a/test/core/end2end/tests/large_metadata.c b/test/core/end2end/tests/large_metadata.c
index 763f75d59d..09188be1cd 100644
--- a/test/core/end2end/tests/large_metadata.c
+++ b/test/core/end2end/tests/large_metadata.c
@@ -242,6 +242,6 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void large_metadata(grpc_end2end_test_config config) {
test_request_with_large_metadata(config);
}
diff --git a/test/core/end2end/tests/max_concurrent_streams.c b/test/core/end2end/tests/max_concurrent_streams.c
index d39aabaf70..a25579ea4a 100644
--- a/test/core/end2end/tests/max_concurrent_streams.c
+++ b/test/core/end2end/tests/max_concurrent_streams.c
@@ -433,6 +433,6 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void max_concurrent_streams(grpc_end2end_test_config config) {
test_max_concurrent_streams(config);
}
diff --git a/test/core/end2end/tests/max_message_length.c b/test/core/end2end/tests/max_message_length.c
index c311f0a44e..4da42dd9d8 100644
--- a/test/core/end2end/tests/max_message_length.c
+++ b/test/core/end2end/tests/max_message_length.c
@@ -218,6 +218,6 @@ static void test_max_message_length(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void max_message_length(grpc_end2end_test_config config) {
test_max_message_length(config);
}
diff --git a/test/core/end2end/tests/metadata.c b/test/core/end2end/tests/metadata.c
index 2593cde027..6cda00837f 100644
--- a/test/core/end2end/tests/metadata.c
+++ b/test/core/end2end/tests/metadata.c
@@ -260,6 +260,6 @@ static void test_request_response_with_metadata_and_payload(
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void metadata(grpc_end2end_test_config config) {
test_request_response_with_metadata_and_payload(config);
}
diff --git a/test/core/end2end/tests/negative_deadline.c b/test/core/end2end/tests/negative_deadline.c
index 23b8591e25..5df632b4cf 100644
--- a/test/core/end2end/tests/negative_deadline.c
+++ b/test/core/end2end/tests/negative_deadline.c
@@ -173,7 +173,7 @@ static void test_invoke_simple_request(grpc_end2end_test_config config,
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void negative_deadline(grpc_end2end_test_config config) {
size_t i;
for (i = 1; i <= 4; i++) {
test_invoke_simple_request(config, i);
diff --git a/test/core/end2end/tests/no_op.c b/test/core/end2end/tests/no_op.c
index dbaad3004e..0f3ec102ab 100644
--- a/test/core/end2end/tests/no_op.c
+++ b/test/core/end2end/tests/no_op.c
@@ -103,4 +103,4 @@ static void test_no_op(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) { test_no_op(config); }
+void no_op(grpc_end2end_test_config config) { test_no_op(config); }
diff --git a/test/core/end2end/tests/payload.c b/test/core/end2end/tests/payload.c
index df44c0de1e..af86c199c3 100644
--- a/test/core/end2end/tests/payload.c
+++ b/test/core/end2end/tests/payload.c
@@ -264,7 +264,7 @@ static void test_invoke_10_request_response_with_payload(
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void payload(grpc_end2end_test_config config) {
test_invoke_request_response_with_payload(config);
test_invoke_10_request_response_with_payload(config);
}
diff --git a/test/core/end2end/tests/ping_pong_streaming.c b/test/core/end2end/tests/ping_pong_streaming.c
index 27180dd679..3d5f15fbea 100644
--- a/test/core/end2end/tests/ping_pong_streaming.c
+++ b/test/core/end2end/tests/ping_pong_streaming.c
@@ -268,7 +268,7 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void ping_pong_streaming(grpc_end2end_test_config config) {
int i;
for (i = 1; i < 10; i++) {
diff --git a/test/core/end2end/tests/registered_call.c b/test/core/end2end/tests/registered_call.c
index ef4d5063b5..ad8981ecfe 100644
--- a/test/core/end2end/tests/registered_call.c
+++ b/test/core/end2end/tests/registered_call.c
@@ -227,7 +227,7 @@ static void test_invoke_10_simple_requests(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void registered_call(grpc_end2end_test_config config) {
test_invoke_simple_request(config);
test_invoke_10_simple_requests(config);
}
diff --git a/test/core/end2end/tests/request_with_flags.c b/test/core/end2end/tests/request_with_flags.c
index 0ad5a4612e..fa2ed3bc4a 100644
--- a/test/core/end2end/tests/request_with_flags.c
+++ b/test/core/end2end/tests/request_with_flags.c
@@ -185,7 +185,7 @@ static void test_invoke_request_with_flags(
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void request_with_flags(grpc_end2end_test_config config) {
size_t i;
gpr_uint32 flags_for_op[GRPC_OP_RECV_CLOSE_ON_SERVER + 1];
diff --git a/test/core/end2end/tests/request_with_payload.c b/test/core/end2end/tests/request_with_payload.c
index ee5b071372..7b02465f1e 100644
--- a/test/core/end2end/tests/request_with_payload.c
+++ b/test/core/end2end/tests/request_with_payload.c
@@ -229,6 +229,6 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void request_with_payload(grpc_end2end_test_config config) {
test_invoke_request_with_payload(config);
}
diff --git a/test/core/end2end/tests/server_finishes_request.c b/test/core/end2end/tests/server_finishes_request.c
index 94863e7280..5c6749962c 100644
--- a/test/core/end2end/tests/server_finishes_request.c
+++ b/test/core/end2end/tests/server_finishes_request.c
@@ -207,6 +207,6 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void server_finishes_request(grpc_end2end_test_config config) {
test_invoke_simple_request(config);
}
diff --git a/test/core/end2end/tests/shutdown_finishes_calls.c b/test/core/end2end/tests/shutdown_finishes_calls.c
index aa679081ec..206b376463 100644
--- a/test/core/end2end/tests/shutdown_finishes_calls.c
+++ b/test/core/end2end/tests/shutdown_finishes_calls.c
@@ -189,6 +189,6 @@ static void test_early_server_shutdown_finishes_inflight_calls(
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void shutdown_finishes_calls(grpc_end2end_test_config config) {
test_early_server_shutdown_finishes_inflight_calls(config);
}
diff --git a/test/core/end2end/tests/shutdown_finishes_tags.c b/test/core/end2end/tests/shutdown_finishes_tags.c
index 53a1573e16..8e19c32691 100644
--- a/test/core/end2end/tests/shutdown_finishes_tags.c
+++ b/test/core/end2end/tests/shutdown_finishes_tags.c
@@ -116,6 +116,6 @@ static void test_early_server_shutdown_finishes_tags(
cq_verifier_destroy(cqv);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void shutdown_finishes_tags(grpc_end2end_test_config config) {
test_early_server_shutdown_finishes_tags(config);
}
diff --git a/test/core/end2end/tests/simple_delayed_request.c b/test/core/end2end/tests/simple_delayed_request.c
index 04447f9df4..4657019501 100644
--- a/test/core/end2end/tests/simple_delayed_request.c
+++ b/test/core/end2end/tests/simple_delayed_request.c
@@ -216,7 +216,7 @@ static void test_simple_delayed_request_long(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void simple_delayed_request(grpc_end2end_test_config config) {
GPR_ASSERT(config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION);
test_simple_delayed_request_short(config);
test_simple_delayed_request_long(config);
diff --git a/test/core/end2end/tests/simple_request.c b/test/core/end2end/tests/simple_request.c
index ce5df86a92..9d3ecd5efa 100644
--- a/test/core/end2end/tests/simple_request.c
+++ b/test/core/end2end/tests/simple_request.c
@@ -238,7 +238,7 @@ static void test_invoke_10_simple_requests(grpc_end2end_test_config config) {
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void simple_request(grpc_end2end_test_config config) {
int i;
for (i = 0; i < 10; i++) {
test_invoke_simple_request(config);
diff --git a/test/core/end2end/tests/trailing_metadata.c b/test/core/end2end/tests/trailing_metadata.c
index 71f10eb8f5..31182bc68d 100644
--- a/test/core/end2end/tests/trailing_metadata.c
+++ b/test/core/end2end/tests/trailing_metadata.c
@@ -265,6 +265,6 @@ static void test_request_response_with_metadata_and_payload(
config.tear_down_data(&f);
}
-void grpc_end2end_tests(grpc_end2end_test_config config) {
+void trailing_metadata(grpc_end2end_test_config config) {
test_request_response_with_metadata_and_payload(config);
}
diff --git a/test/core/security/security_connector_test.c b/test/core/security/security_connector_test.c
index 3f6c592b0b..0dcffa40ce 100644
--- a/test/core/security/security_connector_test.c
+++ b/test/core/security/security_connector_test.c
@@ -60,8 +60,39 @@ static int check_transport_security_type(const grpc_auth_context *ctx) {
return 1;
}
+static int check_peer_property(const tsi_peer *peer,
+ const tsi_peer_property *expected) {
+ size_t i;
+ for (i = 0; i < peer->property_count; i++) {
+ const tsi_peer_property *prop = &peer->properties[i];
+ if ((strcmp(prop->name, expected->name) == 0) &&
+ (prop->value.length == expected->value.length) &&
+ (memcmp(prop->value.data, expected->value.data,
+ expected->value.length) == 0)) {
+ return 1;
+ }
+ }
+ return 0; /* Not found... */
+}
+
+static int check_ssl_peer_equivalence(const tsi_peer *original,
+ const tsi_peer *reconstructed) {
+ /* The reconstructed peer only has CN and SAN properties. */
+ size_t i;
+ for (i = 0; i < original->property_count; i++) {
+ const tsi_peer_property *prop = &original->properties[i];
+ if ((strcmp(prop->name, TSI_X509_SUBJECT_COMMON_NAME_PEER_PROPERTY) == 0) ||
+ (strcmp(prop->name, TSI_X509_SUBJECT_ALTERNATIVE_NAME_PEER_PROPERTY) ==
+ 0)) {
+ if (!check_peer_property(reconstructed, prop)) return 0;
+ }
+ }
+ return 1;
+}
+
static void test_unauthenticated_ssl_peer(void) {
tsi_peer peer;
+ tsi_peer rpeer;
grpc_auth_context *ctx;
GPR_ASSERT(tsi_construct_peer(1, &peer) == TSI_OK);
GPR_ASSERT(tsi_construct_string_peer_property_from_cstring(
@@ -72,6 +103,10 @@ static void test_unauthenticated_ssl_peer(void) {
GPR_ASSERT(!grpc_auth_context_peer_is_authenticated(ctx));
GPR_ASSERT(check_transport_security_type(ctx));
+ rpeer = tsi_shallow_peer_from_ssl_auth_context(ctx);
+ GPR_ASSERT(check_ssl_peer_equivalence(&peer, &rpeer));
+
+ tsi_shallow_peer_destruct(&rpeer);
tsi_peer_destruct(&peer);
GRPC_AUTH_CONTEXT_UNREF(ctx, "test");
}
@@ -128,6 +163,7 @@ static int check_x509_cn(const grpc_auth_context *ctx,
static void test_cn_only_ssl_peer_to_auth_context(void) {
tsi_peer peer;
+ tsi_peer rpeer;
grpc_auth_context *ctx;
const char *expected_cn = "cn1";
GPR_ASSERT(tsi_construct_peer(2, &peer) == TSI_OK);
@@ -144,12 +180,17 @@ static void test_cn_only_ssl_peer_to_auth_context(void) {
GPR_ASSERT(check_transport_security_type(ctx));
GPR_ASSERT(check_x509_cn(ctx, expected_cn));
+ rpeer = tsi_shallow_peer_from_ssl_auth_context(ctx);
+ GPR_ASSERT(check_ssl_peer_equivalence(&peer, &rpeer));
+
+ tsi_shallow_peer_destruct(&rpeer);
tsi_peer_destruct(&peer);
GRPC_AUTH_CONTEXT_UNREF(ctx, "test");
}
static void test_cn_and_one_san_ssl_peer_to_auth_context(void) {
tsi_peer peer;
+ tsi_peer rpeer;
grpc_auth_context *ctx;
const char *expected_cn = "cn1";
const char *expected_san = "san1";
@@ -171,12 +212,17 @@ static void test_cn_and_one_san_ssl_peer_to_auth_context(void) {
GPR_ASSERT(check_transport_security_type(ctx));
GPR_ASSERT(check_x509_cn(ctx, expected_cn));
+ rpeer = tsi_shallow_peer_from_ssl_auth_context(ctx);
+ GPR_ASSERT(check_ssl_peer_equivalence(&peer, &rpeer));
+
+ tsi_shallow_peer_destruct(&rpeer);
tsi_peer_destruct(&peer);
GRPC_AUTH_CONTEXT_UNREF(ctx, "test");
}
static void test_cn_and_multiple_sans_ssl_peer_to_auth_context(void) {
tsi_peer peer;
+ tsi_peer rpeer;
grpc_auth_context *ctx;
const char *expected_cn = "cn1";
const char *expected_sans[] = {"san1", "san2", "san3"};
@@ -202,6 +248,10 @@ static void test_cn_and_multiple_sans_ssl_peer_to_auth_context(void) {
GPR_ASSERT(check_transport_security_type(ctx));
GPR_ASSERT(check_x509_cn(ctx, expected_cn));
+ rpeer = tsi_shallow_peer_from_ssl_auth_context(ctx);
+ GPR_ASSERT(check_ssl_peer_equivalence(&peer, &rpeer));
+
+ tsi_shallow_peer_destruct(&rpeer);
tsi_peer_destruct(&peer);
GRPC_AUTH_CONTEXT_UNREF(ctx, "test");
}
@@ -209,6 +259,7 @@ static void test_cn_and_multiple_sans_ssl_peer_to_auth_context(void) {
static void test_cn_and_multiple_sans_and_others_ssl_peer_to_auth_context(
void) {
tsi_peer peer;
+ tsi_peer rpeer;
grpc_auth_context *ctx;
const char *expected_cn = "cn1";
const char *expected_sans[] = {"san1", "san2", "san3"};
@@ -238,10 +289,16 @@ static void test_cn_and_multiple_sans_and_others_ssl_peer_to_auth_context(
GPR_ASSERT(check_transport_security_type(ctx));
GPR_ASSERT(check_x509_cn(ctx, expected_cn));
+ rpeer = tsi_shallow_peer_from_ssl_auth_context(ctx);
+ GPR_ASSERT(check_ssl_peer_equivalence(&peer, &rpeer));
+
+ tsi_shallow_peer_destruct(&rpeer);
tsi_peer_destruct(&peer);
GRPC_AUTH_CONTEXT_UNREF(ctx, "test");
}
+/* TODO(jboeuf): Unit-test tsi_shallow_peer_from_auth_context. */
+
int main(int argc, char **argv) {
grpc_test_init(argc, argv);
grpc_init();
diff --git a/test/core/support/alloc_test.c b/test/core/support/alloc_test.c
index b950f0ab49..dc0a2acfa5 100644
--- a/test/core/support/alloc_test.c
+++ b/test/core/support/alloc_test.c
@@ -48,8 +48,8 @@ static void test_custom_allocs() {
gpr_allocation_functions fns = {fake_malloc, fake_realloc, fake_free};
gpr_set_allocation_functions(fns);
- GPR_ASSERT((void *)0xdeadbeef == gpr_malloc(0xdeadbeef));
- GPR_ASSERT((void *)0xcafed00d == gpr_realloc(0, 0xcafed00d));
+ GPR_ASSERT((void*)(size_t)0xdeadbeef == gpr_malloc(0xdeadbeef));
+ GPR_ASSERT((void*)(size_t)0xcafed00d == gpr_realloc(0, 0xcafed00d));
gpr_free(&addr_to_free);
GPR_ASSERT(addr_to_free == 0xdeadd00d);
diff --git a/test/core/transport/connectivity_state_test.c b/test/core/transport/connectivity_state_test.c
index 1f23221812..34ab45d260 100644
--- a/test/core/transport/connectivity_state_test.c
+++ b/test/core/transport/connectivity_state_test.c
@@ -39,7 +39,7 @@
#include "test/core/util/test_config.h"
-#define THE_ARG ((void *)0xcafebabe)
+#define THE_ARG ((void *)(size_t)0xcafebabe)
int g_counter;
diff --git a/test/cpp/end2end/zookeeper_test.cc b/test/cpp/end2end/zookeeper_test.cc
index e88c0f9c68..41482717d2 100644
--- a/test/cpp/end2end/zookeeper_test.cc
+++ b/test/cpp/end2end/zookeeper_test.cc
@@ -158,7 +158,7 @@ class ZookeeperTest : public ::testing::Test {
void ResetStub() {
string target = "zookeeper://" + zookeeper_address_ + "/test";
channel_ = CreateChannel(target, InsecureChannelCredentials());
- stub_ = std::move(grpc::cpp::test::util::TestService::NewStub(channel_));
+ stub_ = grpc::cpp::test::util::TestService::NewStub(channel_);
}
string to_string(const int number) {
diff --git a/test/cpp/util/string_ref_test.cc b/test/cpp/util/string_ref_test.cc
index 44a298d892..d94aa5962b 100644
--- a/test/cpp/util/string_ref_test.cc
+++ b/test/cpp/util/string_ref_test.cc
@@ -102,7 +102,8 @@ TEST_F(StringRefTest, Iterator) {
string_ref s(kTestString);
size_t i = 0;
for (auto it = s.cbegin(); it != s.cend(); ++it) {
- EXPECT_EQ(kTestString[i++], *it);
+ auto val = kTestString[i++];
+ EXPECT_EQ(val, *it);
}
EXPECT_EQ(strlen(kTestString), i);
}
@@ -111,7 +112,8 @@ TEST_F(StringRefTest, ReverseIterator) {
string_ref s(kTestString);
size_t i = strlen(kTestString);
for (auto rit = s.crbegin(); rit != s.crend(); ++rit) {
- EXPECT_EQ(kTestString[--i], *rit);
+ auto val = kTestString[--i];
+ EXPECT_EQ(val, *rit);
}
EXPECT_EQ(0U, i);
}