aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2016-04-04 10:38:49 -0700
committerGravatar Craig Tiller <ctiller@google.com>2016-04-04 10:38:49 -0700
commit9e9edbc0d5811f4ddc1e2d98f52add766197b7ef (patch)
tree1eb18ca1448adbd196122ccd8ff823844b49b2f3 /test
parent1b7c0a2c5cf27d7a77d9c3476fe6406a98ca3d76 (diff)
Introduce machinery to allow tests to register plugins
Diffstat (limited to 'test')
-rw-r--r--test/core/end2end/end2end_nosec_tests.c75
-rw-r--r--test/core/end2end/end2end_tests.c77
-rw-r--r--test/core/end2end/end2end_tests.h1
-rw-r--r--test/core/end2end/fixtures/h2_census.c1
-rw-r--r--test/core/end2end/fixtures/h2_compress.c1
-rw-r--r--test/core/end2end/fixtures/h2_fakesec.c2
-rw-r--r--test/core/end2end/fixtures/h2_full+pipe.c1
-rw-r--r--test/core/end2end/fixtures/h2_full+trace.c1
-rw-r--r--test/core/end2end/fixtures/h2_full.c1
-rw-r--r--test/core/end2end/fixtures/h2_oauth2.c2
-rw-r--r--test/core/end2end/fixtures/h2_proxy.c1
-rw-r--r--test/core/end2end/fixtures/h2_sockpair+trace.c1
-rw-r--r--test/core/end2end/fixtures/h2_sockpair.c1
-rw-r--r--test/core/end2end/fixtures/h2_sockpair_1byte.c1
-rw-r--r--test/core/end2end/fixtures/h2_ssl.c1
-rw-r--r--test/core/end2end/fixtures/h2_ssl_proxy.c1
-rw-r--r--test/core/end2end/fixtures/h2_uds.c1
-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/compressed_payload.c2
-rw-r--r--test/core/end2end/tests/connectivity.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/idempotent_request.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/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.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_metadata.c2
-rw-r--r--test/core/end2end/tests/simple_request.c2
-rw-r--r--test/core/end2end/tests/trailing_metadata.c2
54 files changed, 241 insertions, 2 deletions
diff --git a/test/core/end2end/end2end_nosec_tests.c b/test/core/end2end/end2end_nosec_tests.c
index deb73395e0..3de5a2800d 100644
--- a/test/core/end2end/end2end_nosec_tests.c
+++ b/test/core/end2end/end2end_nosec_tests.c
@@ -41,41 +41,116 @@
#include <grpc/support/log.h>
extern void bad_hostname(grpc_end2end_test_config config);
+extern void bad_hostname_pre_init(void);
extern void binary_metadata(grpc_end2end_test_config config);
+extern void binary_metadata_pre_init(void);
extern void cancel_after_accept(grpc_end2end_test_config config);
+extern void cancel_after_accept_pre_init(void);
extern void cancel_after_client_done(grpc_end2end_test_config config);
+extern void cancel_after_client_done_pre_init(void);
extern void cancel_after_invoke(grpc_end2end_test_config config);
+extern void cancel_after_invoke_pre_init(void);
extern void cancel_before_invoke(grpc_end2end_test_config config);
+extern void cancel_before_invoke_pre_init(void);
extern void cancel_in_a_vacuum(grpc_end2end_test_config config);
+extern void cancel_in_a_vacuum_pre_init(void);
extern void cancel_with_status(grpc_end2end_test_config config);
+extern void cancel_with_status_pre_init(void);
extern void compressed_payload(grpc_end2end_test_config config);
+extern void compressed_payload_pre_init(void);
extern void connectivity(grpc_end2end_test_config config);
+extern void connectivity_pre_init(void);
extern void default_host(grpc_end2end_test_config config);
+extern void default_host_pre_init(void);
extern void disappearing_server(grpc_end2end_test_config config);
+extern void disappearing_server_pre_init(void);
extern void empty_batch(grpc_end2end_test_config config);
+extern void empty_batch_pre_init(void);
extern void graceful_server_shutdown(grpc_end2end_test_config config);
+extern void graceful_server_shutdown_pre_init(void);
extern void high_initial_seqno(grpc_end2end_test_config config);
+extern void high_initial_seqno_pre_init(void);
extern void hpack_size(grpc_end2end_test_config config);
+extern void hpack_size_pre_init(void);
extern void idempotent_request(grpc_end2end_test_config config);
+extern void idempotent_request_pre_init(void);
extern void invoke_large_request(grpc_end2end_test_config config);
+extern void invoke_large_request_pre_init(void);
extern void large_metadata(grpc_end2end_test_config config);
+extern void large_metadata_pre_init(void);
extern void max_concurrent_streams(grpc_end2end_test_config config);
+extern void max_concurrent_streams_pre_init(void);
extern void max_message_length(grpc_end2end_test_config config);
+extern void max_message_length_pre_init(void);
extern void negative_deadline(grpc_end2end_test_config config);
+extern void negative_deadline_pre_init(void);
extern void no_op(grpc_end2end_test_config config);
+extern void no_op_pre_init(void);
extern void payload(grpc_end2end_test_config config);
+extern void payload_pre_init(void);
extern void ping(grpc_end2end_test_config config);
+extern void ping_pre_init(void);
extern void ping_pong_streaming(grpc_end2end_test_config config);
+extern void ping_pong_streaming_pre_init(void);
extern void registered_call(grpc_end2end_test_config config);
+extern void registered_call_pre_init(void);
extern void request_with_flags(grpc_end2end_test_config config);
+extern void request_with_flags_pre_init(void);
extern void request_with_payload(grpc_end2end_test_config config);
+extern void request_with_payload_pre_init(void);
extern void server_finishes_request(grpc_end2end_test_config config);
+extern void server_finishes_request_pre_init(void);
extern void shutdown_finishes_calls(grpc_end2end_test_config config);
+extern void shutdown_finishes_calls_pre_init(void);
extern void shutdown_finishes_tags(grpc_end2end_test_config config);
+extern void shutdown_finishes_tags_pre_init(void);
extern void simple_delayed_request(grpc_end2end_test_config config);
+extern void simple_delayed_request_pre_init(void);
extern void simple_metadata(grpc_end2end_test_config config);
+extern void simple_metadata_pre_init(void);
extern void simple_request(grpc_end2end_test_config config);
+extern void simple_request_pre_init(void);
extern void trailing_metadata(grpc_end2end_test_config config);
+extern void trailing_metadata_pre_init(void);
+
+void grpc_end2end_tests_pre_init(void) {
+ bad_hostname_pre_init();
+ binary_metadata_pre_init();
+ cancel_after_accept_pre_init();
+ cancel_after_client_done_pre_init();
+ cancel_after_invoke_pre_init();
+ cancel_before_invoke_pre_init();
+ cancel_in_a_vacuum_pre_init();
+ cancel_with_status_pre_init();
+ compressed_payload_pre_init();
+ connectivity_pre_init();
+ default_host_pre_init();
+ disappearing_server_pre_init();
+ empty_batch_pre_init();
+ graceful_server_shutdown_pre_init();
+ high_initial_seqno_pre_init();
+ hpack_size_pre_init();
+ idempotent_request_pre_init();
+ invoke_large_request_pre_init();
+ large_metadata_pre_init();
+ max_concurrent_streams_pre_init();
+ max_message_length_pre_init();
+ negative_deadline_pre_init();
+ no_op_pre_init();
+ payload_pre_init();
+ ping_pre_init();
+ ping_pong_streaming_pre_init();
+ registered_call_pre_init();
+ request_with_flags_pre_init();
+ request_with_payload_pre_init();
+ server_finishes_request_pre_init();
+ shutdown_finishes_calls_pre_init();
+ shutdown_finishes_tags_pre_init();
+ simple_delayed_request_pre_init();
+ simple_metadata_pre_init();
+ simple_request_pre_init();
+ trailing_metadata_pre_init();
+}
void grpc_end2end_tests(int argc, char **argv,
grpc_end2end_test_config config) {
diff --git a/test/core/end2end/end2end_tests.c b/test/core/end2end/end2end_tests.c
index dd7f6a2a31..493307e441 100644
--- a/test/core/end2end/end2end_tests.c
+++ b/test/core/end2end/end2end_tests.c
@@ -41,42 +41,119 @@
#include <grpc/support/log.h>
extern void bad_hostname(grpc_end2end_test_config config);
+extern void bad_hostname_pre_init(void);
extern void binary_metadata(grpc_end2end_test_config config);
+extern void binary_metadata_pre_init(void);
extern void call_creds(grpc_end2end_test_config config);
+extern void call_creds_pre_init(void);
extern void cancel_after_accept(grpc_end2end_test_config config);
+extern void cancel_after_accept_pre_init(void);
extern void cancel_after_client_done(grpc_end2end_test_config config);
+extern void cancel_after_client_done_pre_init(void);
extern void cancel_after_invoke(grpc_end2end_test_config config);
+extern void cancel_after_invoke_pre_init(void);
extern void cancel_before_invoke(grpc_end2end_test_config config);
+extern void cancel_before_invoke_pre_init(void);
extern void cancel_in_a_vacuum(grpc_end2end_test_config config);
+extern void cancel_in_a_vacuum_pre_init(void);
extern void cancel_with_status(grpc_end2end_test_config config);
+extern void cancel_with_status_pre_init(void);
extern void compressed_payload(grpc_end2end_test_config config);
+extern void compressed_payload_pre_init(void);
extern void connectivity(grpc_end2end_test_config config);
+extern void connectivity_pre_init(void);
extern void default_host(grpc_end2end_test_config config);
+extern void default_host_pre_init(void);
extern void disappearing_server(grpc_end2end_test_config config);
+extern void disappearing_server_pre_init(void);
extern void empty_batch(grpc_end2end_test_config config);
+extern void empty_batch_pre_init(void);
extern void graceful_server_shutdown(grpc_end2end_test_config config);
+extern void graceful_server_shutdown_pre_init(void);
extern void high_initial_seqno(grpc_end2end_test_config config);
+extern void high_initial_seqno_pre_init(void);
extern void hpack_size(grpc_end2end_test_config config);
+extern void hpack_size_pre_init(void);
extern void idempotent_request(grpc_end2end_test_config config);
+extern void idempotent_request_pre_init(void);
extern void invoke_large_request(grpc_end2end_test_config config);
+extern void invoke_large_request_pre_init(void);
extern void large_metadata(grpc_end2end_test_config config);
+extern void large_metadata_pre_init(void);
extern void max_concurrent_streams(grpc_end2end_test_config config);
+extern void max_concurrent_streams_pre_init(void);
extern void max_message_length(grpc_end2end_test_config config);
+extern void max_message_length_pre_init(void);
extern void negative_deadline(grpc_end2end_test_config config);
+extern void negative_deadline_pre_init(void);
extern void no_op(grpc_end2end_test_config config);
+extern void no_op_pre_init(void);
extern void payload(grpc_end2end_test_config config);
+extern void payload_pre_init(void);
extern void ping(grpc_end2end_test_config config);
+extern void ping_pre_init(void);
extern void ping_pong_streaming(grpc_end2end_test_config config);
+extern void ping_pong_streaming_pre_init(void);
extern void registered_call(grpc_end2end_test_config config);
+extern void registered_call_pre_init(void);
extern void request_with_flags(grpc_end2end_test_config config);
+extern void request_with_flags_pre_init(void);
extern void request_with_payload(grpc_end2end_test_config config);
+extern void request_with_payload_pre_init(void);
extern void server_finishes_request(grpc_end2end_test_config config);
+extern void server_finishes_request_pre_init(void);
extern void shutdown_finishes_calls(grpc_end2end_test_config config);
+extern void shutdown_finishes_calls_pre_init(void);
extern void shutdown_finishes_tags(grpc_end2end_test_config config);
+extern void shutdown_finishes_tags_pre_init(void);
extern void simple_delayed_request(grpc_end2end_test_config config);
+extern void simple_delayed_request_pre_init(void);
extern void simple_metadata(grpc_end2end_test_config config);
+extern void simple_metadata_pre_init(void);
extern void simple_request(grpc_end2end_test_config config);
+extern void simple_request_pre_init(void);
extern void trailing_metadata(grpc_end2end_test_config config);
+extern void trailing_metadata_pre_init(void);
+
+void grpc_end2end_tests_pre_init(void) {
+ bad_hostname_pre_init();
+ binary_metadata_pre_init();
+ call_creds_pre_init();
+ cancel_after_accept_pre_init();
+ cancel_after_client_done_pre_init();
+ cancel_after_invoke_pre_init();
+ cancel_before_invoke_pre_init();
+ cancel_in_a_vacuum_pre_init();
+ cancel_with_status_pre_init();
+ compressed_payload_pre_init();
+ connectivity_pre_init();
+ default_host_pre_init();
+ disappearing_server_pre_init();
+ empty_batch_pre_init();
+ graceful_server_shutdown_pre_init();
+ high_initial_seqno_pre_init();
+ hpack_size_pre_init();
+ idempotent_request_pre_init();
+ invoke_large_request_pre_init();
+ large_metadata_pre_init();
+ max_concurrent_streams_pre_init();
+ max_message_length_pre_init();
+ negative_deadline_pre_init();
+ no_op_pre_init();
+ payload_pre_init();
+ ping_pre_init();
+ ping_pong_streaming_pre_init();
+ registered_call_pre_init();
+ request_with_flags_pre_init();
+ request_with_payload_pre_init();
+ server_finishes_request_pre_init();
+ shutdown_finishes_calls_pre_init();
+ shutdown_finishes_tags_pre_init();
+ simple_delayed_request_pre_init();
+ simple_metadata_pre_init();
+ simple_request_pre_init();
+ trailing_metadata_pre_init();
+}
void grpc_end2end_tests(int argc, char **argv,
grpc_end2end_test_config config) {
diff --git a/test/core/end2end/end2end_tests.h b/test/core/end2end/end2end_tests.h
index bc44f43a17..dfa041c0c6 100644
--- a/test/core/end2end/end2end_tests.h
+++ b/test/core/end2end/end2end_tests.h
@@ -64,6 +64,7 @@ struct grpc_end2end_test_config {
void (*tear_down_data)(grpc_end2end_test_fixture *f);
};
+void grpc_end2end_tests_pre_init(void);
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 9d41ff2dbb..9b6f2bf80d 100644
--- a/test/core/end2end/fixtures/h2_census.c
+++ b/test/core/end2end/fixtures/h2_census.c
@@ -120,6 +120,7 @@ int main(int argc, char **argv) {
size_t i;
grpc_test_init(argc, argv);
+ grpc_end2end_tests_pre_init();
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
diff --git a/test/core/end2end/fixtures/h2_compress.c b/test/core/end2end/fixtures/h2_compress.c
index 55355b58dd..fe72c6851f 100644
--- a/test/core/end2end/fixtures/h2_compress.c
+++ b/test/core/end2end/fixtures/h2_compress.c
@@ -124,6 +124,7 @@ int main(int argc, char **argv) {
size_t i;
grpc_test_init(argc, argv);
+ grpc_end2end_tests_pre_init();
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
diff --git a/test/core/end2end/fixtures/h2_fakesec.c b/test/core/end2end/fixtures/h2_fakesec.c
index a312585946..246619bf68 100644
--- a/test/core/end2end/fixtures/h2_fakesec.c
+++ b/test/core/end2end/fixtures/h2_fakesec.c
@@ -150,7 +150,7 @@ static grpc_end2end_test_config configs[] = {
int main(int argc, char **argv) {
size_t i;
grpc_test_init(argc, argv);
-
+ grpc_end2end_tests_pre_init();
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
diff --git a/test/core/end2end/fixtures/h2_full+pipe.c b/test/core/end2end/fixtures/h2_full+pipe.c
index a3e2196bf6..11e6d0eff2 100644
--- a/test/core/end2end/fixtures/h2_full+pipe.c
+++ b/test/core/end2end/fixtures/h2_full+pipe.c
@@ -108,6 +108,7 @@ int main(int argc, char **argv) {
grpc_allow_specialized_wakeup_fd = 0;
grpc_test_init(argc, argv);
+ grpc_end2end_tests_pre_init();
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
diff --git a/test/core/end2end/fixtures/h2_full+trace.c b/test/core/end2end/fixtures/h2_full+trace.c
index 986a06bd01..7599412dfb 100644
--- a/test/core/end2end/fixtures/h2_full+trace.c
+++ b/test/core/end2end/fixtures/h2_full+trace.c
@@ -116,6 +116,7 @@ int main(int argc, char **argv) {
#endif
grpc_test_init(argc, argv);
+ grpc_end2end_tests_pre_init();
grpc_init();
GPR_ASSERT(0 == grpc_tracer_set_enabled("also-doesnt-exist", 0));
diff --git a/test/core/end2end/fixtures/h2_full.c b/test/core/end2end/fixtures/h2_full.c
index d0797e0a64..d4ee2aeb9d 100644
--- a/test/core/end2end/fixtures/h2_full.c
+++ b/test/core/end2end/fixtures/h2_full.c
@@ -105,6 +105,7 @@ int main(int argc, char **argv) {
size_t i;
grpc_test_init(argc, argv);
+ grpc_end2end_tests_pre_init();
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
diff --git a/test/core/end2end/fixtures/h2_oauth2.c b/test/core/end2end/fixtures/h2_oauth2.c
index 9e7d8d3125..550ff33140 100644
--- a/test/core/end2end/fixtures/h2_oauth2.c
+++ b/test/core/end2end/fixtures/h2_oauth2.c
@@ -226,7 +226,7 @@ static grpc_end2end_test_config configs[] = {
int main(int argc, char **argv) {
size_t i;
grpc_test_init(argc, argv);
-
+ grpc_end2end_tests_pre_init();
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
diff --git a/test/core/end2end/fixtures/h2_proxy.c b/test/core/end2end/fixtures/h2_proxy.c
index 4650da98e3..8f6f156ef7 100644
--- a/test/core/end2end/fixtures/h2_proxy.c
+++ b/test/core/end2end/fixtures/h2_proxy.c
@@ -120,6 +120,7 @@ int main(int argc, char **argv) {
size_t i;
grpc_test_init(argc, argv);
+ grpc_end2end_tests_pre_init();
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
diff --git a/test/core/end2end/fixtures/h2_sockpair+trace.c b/test/core/end2end/fixtures/h2_sockpair+trace.c
index 9fdceabbaf..4eb1c57302 100644
--- a/test/core/end2end/fixtures/h2_sockpair+trace.c
+++ b/test/core/end2end/fixtures/h2_sockpair+trace.c
@@ -150,6 +150,7 @@ int main(int argc, char **argv) {
#endif
grpc_test_init(argc, argv);
+ grpc_end2end_tests_pre_init();
grpc_init();
grpc_exec_ctx_finish(&exec_ctx);
diff --git a/test/core/end2end/fixtures/h2_sockpair.c b/test/core/end2end/fixtures/h2_sockpair.c
index 84777158b6..7760d38100 100644
--- a/test/core/end2end/fixtures/h2_sockpair.c
+++ b/test/core/end2end/fixtures/h2_sockpair.c
@@ -139,6 +139,7 @@ int main(int argc, char **argv) {
size_t i;
grpc_test_init(argc, argv);
+ grpc_end2end_tests_pre_init();
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
diff --git a/test/core/end2end/fixtures/h2_sockpair_1byte.c b/test/core/end2end/fixtures/h2_sockpair_1byte.c
index 6b6ca19885..23a5a19c59 100644
--- a/test/core/end2end/fixtures/h2_sockpair_1byte.c
+++ b/test/core/end2end/fixtures/h2_sockpair_1byte.c
@@ -139,6 +139,7 @@ int main(int argc, char **argv) {
size_t i;
grpc_test_init(argc, argv);
+ grpc_end2end_tests_pre_init();
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
diff --git a/test/core/end2end/fixtures/h2_ssl.c b/test/core/end2end/fixtures/h2_ssl.c
index e5a255f7c3..69f7616074 100644
--- a/test/core/end2end/fixtures/h2_ssl.c
+++ b/test/core/end2end/fixtures/h2_ssl.c
@@ -165,6 +165,7 @@ int main(int argc, char **argv) {
char *roots_filename;
grpc_test_init(argc, argv);
+ grpc_end2end_tests_pre_init();
/* Set the SSL roots env var. */
roots_file = gpr_tmpfile("chttp2_simple_ssl_fullstack_test", &roots_filename);
diff --git a/test/core/end2end/fixtures/h2_ssl_proxy.c b/test/core/end2end/fixtures/h2_ssl_proxy.c
index 9edc8a0c23..1403b760f5 100644
--- a/test/core/end2end/fixtures/h2_ssl_proxy.c
+++ b/test/core/end2end/fixtures/h2_ssl_proxy.c
@@ -195,6 +195,7 @@ int main(int argc, char **argv) {
char *roots_filename;
grpc_test_init(argc, argv);
+ grpc_end2end_tests_pre_init();
/* Set the SSL roots env var. */
roots_file = gpr_tmpfile("chttp2_simple_ssl_fullstack_test", &roots_filename);
diff --git a/test/core/end2end/fixtures/h2_uds.c b/test/core/end2end/fixtures/h2_uds.c
index 9216860a64..d454a103ce 100644
--- a/test/core/end2end/fixtures/h2_uds.c
+++ b/test/core/end2end/fixtures/h2_uds.c
@@ -110,6 +110,7 @@ int main(int argc, char **argv) {
size_t i;
grpc_test_init(argc, argv);
+ grpc_end2end_tests_pre_init();
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
diff --git a/test/core/end2end/tests/bad_hostname.c b/test/core/end2end/tests/bad_hostname.c
index eb1fa46de3..3cb9b3d4b1 100644
--- a/test/core/end2end/tests/bad_hostname.c
+++ b/test/core/end2end/tests/bad_hostname.c
@@ -179,3 +179,5 @@ void bad_hostname(grpc_end2end_test_config config) {
test_invoke_simple_request(config);
}
}
+
+void bad_hostname_pre_init(void) {}
diff --git a/test/core/end2end/tests/binary_metadata.c b/test/core/end2end/tests/binary_metadata.c
index 54583b09bc..994c3bf1dd 100644
--- a/test/core/end2end/tests/binary_metadata.c
+++ b/test/core/end2end/tests/binary_metadata.c
@@ -287,3 +287,5 @@ static void test_request_response_with_metadata_and_payload(
void binary_metadata(grpc_end2end_test_config config) {
test_request_response_with_metadata_and_payload(config);
}
+
+void binary_metadata_pre_init(void) {}
diff --git a/test/core/end2end/tests/call_creds.c b/test/core/end2end/tests/call_creds.c
index a3f86a76c7..b555bea740 100644
--- a/test/core/end2end/tests/call_creds.c
+++ b/test/core/end2end/tests/call_creds.c
@@ -475,3 +475,5 @@ void call_creds(grpc_end2end_test_config config) {
test_request_with_server_rejecting_client_creds(config);
}
}
+
+void call_creds_pre_init(void) {}
diff --git a/test/core/end2end/tests/cancel_after_accept.c b/test/core/end2end/tests/cancel_after_accept.c
index 08d0ef6e51..fc2a64a6c1 100644
--- a/test/core/end2end/tests/cancel_after_accept.c
+++ b/test/core/end2end/tests/cancel_after_accept.c
@@ -233,3 +233,5 @@ void cancel_after_accept(grpc_end2end_test_config config) {
test_cancel_after_accept(config, cancellation_modes[i]);
}
}
+
+void cancel_after_accept_pre_init(void) {}
diff --git a/test/core/end2end/tests/cancel_after_client_done.c b/test/core/end2end/tests/cancel_after_client_done.c
index f85ffad118..3bafa8c85f 100644
--- a/test/core/end2end/tests/cancel_after_client_done.c
+++ b/test/core/end2end/tests/cancel_after_client_done.c
@@ -237,3 +237,5 @@ void cancel_after_client_done(grpc_end2end_test_config config) {
test_cancel_after_accept_and_writes_closed(config, cancellation_modes[i]);
}
}
+
+void cancel_after_client_done_pre_init(void) {}
diff --git a/test/core/end2end/tests/cancel_after_invoke.c b/test/core/end2end/tests/cancel_after_invoke.c
index e7d6e0098a..fc2751af8e 100644
--- a/test/core/end2end/tests/cancel_after_invoke.c
+++ b/test/core/end2end/tests/cancel_after_invoke.c
@@ -199,3 +199,5 @@ void cancel_after_invoke(grpc_end2end_test_config config) {
}
}
}
+
+void cancel_after_invoke_pre_init(void) {}
diff --git a/test/core/end2end/tests/cancel_before_invoke.c b/test/core/end2end/tests/cancel_before_invoke.c
index a4f47f01fa..33005db9e4 100644
--- a/test/core/end2end/tests/cancel_before_invoke.c
+++ b/test/core/end2end/tests/cancel_before_invoke.c
@@ -194,3 +194,5 @@ void cancel_before_invoke(grpc_end2end_test_config config) {
test_cancel_before_invoke(config, i);
}
}
+
+void cancel_before_invoke_pre_init(void) {}
diff --git a/test/core/end2end/tests/cancel_in_a_vacuum.c b/test/core/end2end/tests/cancel_in_a_vacuum.c
index 73a6fc452a..0c893b5f9e 100644
--- a/test/core/end2end/tests/cancel_in_a_vacuum.c
+++ b/test/core/end2end/tests/cancel_in_a_vacuum.c
@@ -127,3 +127,5 @@ void cancel_in_a_vacuum(grpc_end2end_test_config config) {
test_cancel_in_a_vacuum(config, cancellation_modes[i]);
}
}
+
+void cancel_in_a_vacuum_pre_init(void) {}
diff --git a/test/core/end2end/tests/cancel_with_status.c b/test/core/end2end/tests/cancel_with_status.c
index aa73d48891..c3ee4a6a0e 100644
--- a/test/core/end2end/tests/cancel_with_status.c
+++ b/test/core/end2end/tests/cancel_with_status.c
@@ -182,3 +182,5 @@ void cancel_with_status(grpc_end2end_test_config config) {
test_invoke_simple_request(config, i);
}
}
+
+void cancel_with_status_pre_init(void) {}
diff --git a/test/core/end2end/tests/compressed_payload.c b/test/core/end2end/tests/compressed_payload.c
index d5cf9a7858..589bc314f8 100644
--- a/test/core/end2end/tests/compressed_payload.c
+++ b/test/core/end2end/tests/compressed_payload.c
@@ -336,3 +336,5 @@ void compressed_payload(grpc_end2end_test_config config) {
test_invoke_request_with_compressed_payload(config);
test_invoke_request_with_compressed_payload_md_override(config);
}
+
+void compressed_payload_pre_init(void) {}
diff --git a/test/core/end2end/tests/connectivity.c b/test/core/end2end/tests/connectivity.c
index edef2ff68b..5775976b1c 100644
--- a/test/core/end2end/tests/connectivity.c
+++ b/test/core/end2end/tests/connectivity.c
@@ -172,3 +172,5 @@ void connectivity(grpc_end2end_test_config config) {
GPR_ASSERT(config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION);
test_connectivity(config);
}
+
+void connectivity_pre_init(void) {}
diff --git a/test/core/end2end/tests/default_host.c b/test/core/end2end/tests/default_host.c
index 105f4e68f0..44384a783e 100644
--- a/test/core/end2end/tests/default_host.c
+++ b/test/core/end2end/tests/default_host.c
@@ -232,3 +232,5 @@ void default_host(grpc_end2end_test_config config) {
return;
test_invoke_simple_request(config);
}
+
+void default_host_pre_init(void) {}
diff --git a/test/core/end2end/tests/disappearing_server.c b/test/core/end2end/tests/disappearing_server.c
index 5b2bbaf70c..03d1ded04c 100644
--- a/test/core/end2end/tests/disappearing_server.c
+++ b/test/core/end2end/tests/disappearing_server.c
@@ -213,3 +213,5 @@ void disappearing_server(grpc_end2end_test_config config) {
GPR_ASSERT(config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION);
disappearing_server_test(config);
}
+
+void disappearing_server_pre_init(void) {}
diff --git a/test/core/end2end/tests/empty_batch.c b/test/core/end2end/tests/empty_batch.c
index 95df93ac5b..c05b919914 100644
--- a/test/core/end2end/tests/empty_batch.c
+++ b/test/core/end2end/tests/empty_batch.c
@@ -132,3 +132,5 @@ static void test_invoke_empty_body(grpc_end2end_test_config config) {
void empty_batch(grpc_end2end_test_config config) {
test_invoke_empty_body(config);
}
+
+void empty_batch_pre_init(void) {}
diff --git a/test/core/end2end/tests/graceful_server_shutdown.c b/test/core/end2end/tests/graceful_server_shutdown.c
index cc6a9d44f8..26198f3bdf 100644
--- a/test/core/end2end/tests/graceful_server_shutdown.c
+++ b/test/core/end2end/tests/graceful_server_shutdown.c
@@ -210,3 +210,5 @@ static void test_early_server_shutdown_finishes_inflight_calls(
void graceful_server_shutdown(grpc_end2end_test_config config) {
test_early_server_shutdown_finishes_inflight_calls(config);
}
+
+void graceful_server_shutdown_pre_init(void) {}
diff --git a/test/core/end2end/tests/high_initial_seqno.c b/test/core/end2end/tests/high_initial_seqno.c
index 8b6e50bdd8..374606dcb7 100644
--- a/test/core/end2end/tests/high_initial_seqno.c
+++ b/test/core/end2end/tests/high_initial_seqno.c
@@ -237,3 +237,5 @@ void high_initial_seqno(grpc_end2end_test_config config) {
test_invoke_10_simple_requests(config, 2147483645);
}
}
+
+void high_initial_seqno_pre_init(void) {}
diff --git a/test/core/end2end/tests/hpack_size.c b/test/core/end2end/tests/hpack_size.c
index 15efcd23bf..07d5d387b4 100644
--- a/test/core/end2end/tests/hpack_size.c
+++ b/test/core/end2end/tests/hpack_size.c
@@ -444,3 +444,5 @@ void hpack_size(grpc_end2end_test_config config) {
}
}
}
+
+void hpack_size_pre_init(void) {}
diff --git a/test/core/end2end/tests/idempotent_request.c b/test/core/end2end/tests/idempotent_request.c
index 485a854441..42a672bf19 100644
--- a/test/core/end2end/tests/idempotent_request.c
+++ b/test/core/end2end/tests/idempotent_request.c
@@ -246,3 +246,5 @@ void idempotent_request(grpc_end2end_test_config config) {
}
test_invoke_10_simple_requests(config);
}
+
+void idempotent_request_pre_init(void) {}
diff --git a/test/core/end2end/tests/invoke_large_request.c b/test/core/end2end/tests/invoke_large_request.c
index 28c0e36461..6410305451 100644
--- a/test/core/end2end/tests/invoke_large_request.c
+++ b/test/core/end2end/tests/invoke_large_request.c
@@ -254,3 +254,5 @@ static void test_invoke_large_request(grpc_end2end_test_config config) {
void invoke_large_request(grpc_end2end_test_config config) {
test_invoke_large_request(config);
}
+
+void invoke_large_request_pre_init(void) {}
diff --git a/test/core/end2end/tests/large_metadata.c b/test/core/end2end/tests/large_metadata.c
index 173c20996e..0e5d6b4fe0 100644
--- a/test/core/end2end/tests/large_metadata.c
+++ b/test/core/end2end/tests/large_metadata.c
@@ -245,3 +245,5 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
void large_metadata(grpc_end2end_test_config config) {
test_request_with_large_metadata(config);
}
+
+void large_metadata_pre_init(void) {}
diff --git a/test/core/end2end/tests/max_concurrent_streams.c b/test/core/end2end/tests/max_concurrent_streams.c
index 60e9ecd7d8..1bb53073cb 100644
--- a/test/core/end2end/tests/max_concurrent_streams.c
+++ b/test/core/end2end/tests/max_concurrent_streams.c
@@ -436,3 +436,5 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
void max_concurrent_streams(grpc_end2end_test_config config) {
test_max_concurrent_streams(config);
}
+
+void max_concurrent_streams_pre_init(void) {}
diff --git a/test/core/end2end/tests/max_message_length.c b/test/core/end2end/tests/max_message_length.c
index 00a83ecb33..b5dbc1382a 100644
--- a/test/core/end2end/tests/max_message_length.c
+++ b/test/core/end2end/tests/max_message_length.c
@@ -221,3 +221,5 @@ static void test_max_message_length(grpc_end2end_test_config config) {
void max_message_length(grpc_end2end_test_config config) {
test_max_message_length(config);
}
+
+void max_message_length_pre_init(void) {}
diff --git a/test/core/end2end/tests/negative_deadline.c b/test/core/end2end/tests/negative_deadline.c
index 0cc68a33a1..03e57a90f6 100644
--- a/test/core/end2end/tests/negative_deadline.c
+++ b/test/core/end2end/tests/negative_deadline.c
@@ -179,3 +179,5 @@ void negative_deadline(grpc_end2end_test_config config) {
test_invoke_simple_request(config, i);
}
}
+
+void negative_deadline_pre_init(void) {}
diff --git a/test/core/end2end/tests/no_op.c b/test/core/end2end/tests/no_op.c
index 9dda569cb9..284be7af2a 100644
--- a/test/core/end2end/tests/no_op.c
+++ b/test/core/end2end/tests/no_op.c
@@ -104,3 +104,5 @@ static void test_no_op(grpc_end2end_test_config config) {
}
void no_op(grpc_end2end_test_config config) { test_no_op(config); }
+
+void no_op_pre_init(void) {}
diff --git a/test/core/end2end/tests/payload.c b/test/core/end2end/tests/payload.c
index e9272b6bce..bdfb135406 100644
--- a/test/core/end2end/tests/payload.c
+++ b/test/core/end2end/tests/payload.c
@@ -268,3 +268,5 @@ void payload(grpc_end2end_test_config config) {
test_invoke_request_response_with_payload(config);
test_invoke_10_request_response_with_payload(config);
}
+
+void payload_pre_init(void) {}
diff --git a/test/core/end2end/tests/ping.c b/test/core/end2end/tests/ping.c
index f42f186502..d49bec983b 100644
--- a/test/core/end2end/tests/ping.c
+++ b/test/core/end2end/tests/ping.c
@@ -95,3 +95,5 @@ void ping(grpc_end2end_test_config config) {
GPR_ASSERT(config.feature_mask & FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION);
test_ping(config);
}
+
+void ping_pre_init(void) {}
diff --git a/test/core/end2end/tests/ping_pong_streaming.c b/test/core/end2end/tests/ping_pong_streaming.c
index ac4e810573..15e1c6e338 100644
--- a/test/core/end2end/tests/ping_pong_streaming.c
+++ b/test/core/end2end/tests/ping_pong_streaming.c
@@ -275,3 +275,5 @@ void ping_pong_streaming(grpc_end2end_test_config config) {
test_pingpong_streaming(config, i);
}
}
+
+void ping_pong_streaming_pre_init(void) {}
diff --git a/test/core/end2end/tests/registered_call.c b/test/core/end2end/tests/registered_call.c
index a67df863d5..3c4edbae7d 100644
--- a/test/core/end2end/tests/registered_call.c
+++ b/test/core/end2end/tests/registered_call.c
@@ -231,3 +231,5 @@ void registered_call(grpc_end2end_test_config config) {
test_invoke_simple_request(config);
test_invoke_10_simple_requests(config);
}
+
+void registered_call_pre_init(void) {}
diff --git a/test/core/end2end/tests/request_with_flags.c b/test/core/end2end/tests/request_with_flags.c
index 9d01ddc94c..779895b970 100644
--- a/test/core/end2end/tests/request_with_flags.c
+++ b/test/core/end2end/tests/request_with_flags.c
@@ -214,3 +214,5 @@ void request_with_flags(grpc_end2end_test_config config) {
}
}
}
+
+void request_with_flags_pre_init(void) {}
diff --git a/test/core/end2end/tests/request_with_payload.c b/test/core/end2end/tests/request_with_payload.c
index 9866d39000..7706404090 100644
--- a/test/core/end2end/tests/request_with_payload.c
+++ b/test/core/end2end/tests/request_with_payload.c
@@ -232,3 +232,5 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
void request_with_payload(grpc_end2end_test_config config) {
test_invoke_request_with_payload(config);
}
+
+void request_with_payload_pre_init(void) {}
diff --git a/test/core/end2end/tests/server_finishes_request.c b/test/core/end2end/tests/server_finishes_request.c
index 2a26c98916..a4f5319e5b 100644
--- a/test/core/end2end/tests/server_finishes_request.c
+++ b/test/core/end2end/tests/server_finishes_request.c
@@ -210,3 +210,5 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) {
void server_finishes_request(grpc_end2end_test_config config) {
test_invoke_simple_request(config);
}
+
+void server_finishes_request_pre_init(void) {}
diff --git a/test/core/end2end/tests/shutdown_finishes_calls.c b/test/core/end2end/tests/shutdown_finishes_calls.c
index b56ba464b9..80287cd507 100644
--- a/test/core/end2end/tests/shutdown_finishes_calls.c
+++ b/test/core/end2end/tests/shutdown_finishes_calls.c
@@ -192,3 +192,5 @@ static void test_early_server_shutdown_finishes_inflight_calls(
void shutdown_finishes_calls(grpc_end2end_test_config config) {
test_early_server_shutdown_finishes_inflight_calls(config);
}
+
+void shutdown_finishes_calls_pre_init(void) {}
diff --git a/test/core/end2end/tests/shutdown_finishes_tags.c b/test/core/end2end/tests/shutdown_finishes_tags.c
index 4a060de716..b1f3c94562 100644
--- a/test/core/end2end/tests/shutdown_finishes_tags.c
+++ b/test/core/end2end/tests/shutdown_finishes_tags.c
@@ -119,3 +119,5 @@ static void test_early_server_shutdown_finishes_tags(
void shutdown_finishes_tags(grpc_end2end_test_config config) {
test_early_server_shutdown_finishes_tags(config);
}
+
+void shutdown_finishes_tags_pre_init(void) {}
diff --git a/test/core/end2end/tests/simple_delayed_request.c b/test/core/end2end/tests/simple_delayed_request.c
index bb9d462cef..013f1e3981 100644
--- a/test/core/end2end/tests/simple_delayed_request.c
+++ b/test/core/end2end/tests/simple_delayed_request.c
@@ -221,3 +221,5 @@ void simple_delayed_request(grpc_end2end_test_config config) {
test_simple_delayed_request_short(config);
test_simple_delayed_request_long(config);
}
+
+void simple_delayed_request_pre_init(void) {}
diff --git a/test/core/end2end/tests/simple_metadata.c b/test/core/end2end/tests/simple_metadata.c
index 084c0df817..707b3c9512 100644
--- a/test/core/end2end/tests/simple_metadata.c
+++ b/test/core/end2end/tests/simple_metadata.c
@@ -263,3 +263,5 @@ static void test_request_response_with_metadata_and_payload(
void simple_metadata(grpc_end2end_test_config config) {
test_request_response_with_metadata_and_payload(config);
}
+
+void simple_metadata_pre_init(void) {}
diff --git a/test/core/end2end/tests/simple_request.c b/test/core/end2end/tests/simple_request.c
index 68db58d225..42108425e6 100644
--- a/test/core/end2end/tests/simple_request.c
+++ b/test/core/end2end/tests/simple_request.c
@@ -246,3 +246,5 @@ void simple_request(grpc_end2end_test_config config) {
}
test_invoke_10_simple_requests(config);
}
+
+void simple_request_pre_init(void) {}
diff --git a/test/core/end2end/tests/trailing_metadata.c b/test/core/end2end/tests/trailing_metadata.c
index 99e1e2264a..4dd8c12cba 100644
--- a/test/core/end2end/tests/trailing_metadata.c
+++ b/test/core/end2end/tests/trailing_metadata.c
@@ -268,3 +268,5 @@ static void test_request_response_with_metadata_and_payload(
void trailing_metadata(grpc_end2end_test_config config) {
test_request_response_with_metadata_and_payload(config);
}
+
+void trailing_metadata_pre_init(void) {}