diff --git a/BUILD b/BUILD
index b4d11d5ba873ec65f152f6a9fa0687c6bc162ded..02c9061d887f48d230901e8f74246b538a8ae879 100644
--- a/BUILD
+++ b/BUILD
@@ -721,6 +721,7 @@ cc_library(
     "include/grpc++/status.h",
     "include/grpc++/status_code_enum.h",
     "include/grpc++/stream.h",
+    "include/grpc++/stub_options.h",
     "include/grpc++/thread_pool_interface.h",
     "include/grpc++/time.h",
   ],
@@ -808,6 +809,7 @@ cc_library(
     "include/grpc++/status.h",
     "include/grpc++/status_code_enum.h",
     "include/grpc++/stream.h",
+    "include/grpc++/stub_options.h",
     "include/grpc++/thread_pool_interface.h",
     "include/grpc++/time.h",
   ],
diff --git a/Makefile b/Makefile
index 5253e7cabf090e90796224dc67e01f5663ae156d..9d9a78d9b14b8bc57a8ce5e600c77cb68c1f7705 100644
--- a/Makefile
+++ b/Makefile
@@ -1077,6 +1077,35 @@ chttp2_fullstack_with_poll_server_finishes_request_test: $(BINDIR)/$(CONFIG)/cht
 chttp2_fullstack_with_poll_simple_delayed_request_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_delayed_request_test
 chttp2_fullstack_with_poll_simple_request_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_test
 chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test
+chttp2_fullstack_with_proxy_bad_hostname_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_bad_hostname_test
+chttp2_fullstack_with_proxy_cancel_after_accept_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_test
+chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test
+chttp2_fullstack_with_proxy_cancel_after_invoke_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_invoke_test
+chttp2_fullstack_with_proxy_cancel_before_invoke_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_before_invoke_test
+chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test
+chttp2_fullstack_with_proxy_census_simple_request_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_census_simple_request_test
+chttp2_fullstack_with_proxy_default_host_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_default_host_test
+chttp2_fullstack_with_proxy_disappearing_server_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_disappearing_server_test
+chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test
+chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test
+chttp2_fullstack_with_proxy_empty_batch_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_empty_batch_test
+chttp2_fullstack_with_proxy_graceful_server_shutdown_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_graceful_server_shutdown_test
+chttp2_fullstack_with_proxy_invoke_large_request_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_invoke_large_request_test
+chttp2_fullstack_with_proxy_max_message_length_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_max_message_length_test
+chttp2_fullstack_with_proxy_no_op_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_no_op_test
+chttp2_fullstack_with_proxy_ping_pong_streaming_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_ping_pong_streaming_test
+chttp2_fullstack_with_proxy_registered_call_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_registered_call_test
+chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test
+chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test
+chttp2_fullstack_with_proxy_request_response_with_payload_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_test
+chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test
+chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test
+chttp2_fullstack_with_proxy_request_with_large_metadata_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_large_metadata_test
+chttp2_fullstack_with_proxy_request_with_payload_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_payload_test
+chttp2_fullstack_with_proxy_server_finishes_request_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_server_finishes_request_test
+chttp2_fullstack_with_proxy_simple_delayed_request_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_delayed_request_test
+chttp2_fullstack_with_proxy_simple_request_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_test
+chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test
 chttp2_simple_ssl_fullstack_bad_hostname_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test
 chttp2_simple_ssl_fullstack_cancel_after_accept_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test
 chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test
@@ -1143,6 +1172,35 @@ chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test: $(BINDIR)/$(
 chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test
 chttp2_simple_ssl_fullstack_with_poll_simple_request_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test
 chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test
+chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test
+chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test
+chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test
+chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test
+chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test
+chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test
+chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test
+chttp2_simple_ssl_fullstack_with_proxy_default_host_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_default_host_test
+chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test
+chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test
+chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test
+chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test
+chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test
+chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test
+chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test
+chttp2_simple_ssl_fullstack_with_proxy_no_op_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_no_op_test
+chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test
+chttp2_simple_ssl_fullstack_with_proxy_registered_call_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_registered_call_test
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test
+chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test
+chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test
+chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test
+chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test
+chttp2_simple_ssl_fullstack_with_proxy_simple_request_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_request_test
+chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test
 chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test
 chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test
 chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test: $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test
@@ -1421,6 +1479,34 @@ chttp2_fullstack_with_poll_server_finishes_request_unsecure_test: $(BINDIR)/$(CO
 chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test
 chttp2_fullstack_with_poll_simple_request_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_unsecure_test
 chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test
+chttp2_fullstack_with_proxy_bad_hostname_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_bad_hostname_unsecure_test
+chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test
+chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test
+chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test
+chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test
+chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test
+chttp2_fullstack_with_proxy_census_simple_request_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_census_simple_request_unsecure_test
+chttp2_fullstack_with_proxy_default_host_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_default_host_unsecure_test
+chttp2_fullstack_with_proxy_disappearing_server_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_disappearing_server_unsecure_test
+chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test
+chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test
+chttp2_fullstack_with_proxy_empty_batch_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_empty_batch_unsecure_test
+chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test
+chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test
+chttp2_fullstack_with_proxy_max_message_length_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_max_message_length_unsecure_test
+chttp2_fullstack_with_proxy_no_op_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_no_op_unsecure_test
+chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test
+chttp2_fullstack_with_proxy_registered_call_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_registered_call_unsecure_test
+chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test
+chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test
+chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test
+chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test
+chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test
+chttp2_fullstack_with_proxy_request_with_payload_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_payload_unsecure_test
+chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test
+chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test
+chttp2_fullstack_with_proxy_simple_request_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_unsecure_test
+chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test
 chttp2_socket_pair_bad_hostname_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_unsecure_test
 chttp2_socket_pair_cancel_after_accept_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_unsecure_test
 chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test: $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test
@@ -1590,7 +1676,7 @@ plugins: $(PROTOC_PLUGINS)
 
 privatelibs: privatelibs_c privatelibs_cxx
 
-privatelibs_c:  $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_compression.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_uds_posix.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_uds_posix_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_with_grpc_trace.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_test_channel_connectivity.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_compressed_payload.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_flags.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libbad_client_test.a
+privatelibs_c:  $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_compression.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_uds_posix.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_uds_posix_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_with_grpc_trace.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_test_channel_connectivity.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_compressed_payload.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_flags.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libbad_client_test.a
 pc_gpr: $(LIBDIR)/$(CONFIG)/pkgconfig/gpr.pc
 
 pc_c: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc
@@ -1605,7 +1691,7 @@ privatelibs_cxx:  $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBDIR)/$(CONFIG
 
 buildtests: buildtests_c buildtests_cxx
 
-buildtests_c: privatelibs_c $(BINDIR)/$(CONFIG)/alarm_heap_test $(BINDIR)/$(CONFIG)/alarm_list_test $(BINDIR)/$(CONFIG)/alarm_test $(BINDIR)/$(CONFIG)/alpn_test $(BINDIR)/$(CONFIG)/bin_encoder_test $(BINDIR)/$(CONFIG)/chttp2_status_conversion_test $(BINDIR)/$(CONFIG)/chttp2_stream_encoder_test $(BINDIR)/$(CONFIG)/chttp2_stream_map_test $(BINDIR)/$(CONFIG)/dualstack_socket_test $(BINDIR)/$(CONFIG)/fd_conservation_posix_test $(BINDIR)/$(CONFIG)/fd_posix_test $(BINDIR)/$(CONFIG)/fling_client $(BINDIR)/$(CONFIG)/fling_server $(BINDIR)/$(CONFIG)/fling_stream_test $(BINDIR)/$(CONFIG)/fling_test $(BINDIR)/$(CONFIG)/gpr_cancellable_test $(BINDIR)/$(CONFIG)/gpr_cmdline_test $(BINDIR)/$(CONFIG)/gpr_env_test $(BINDIR)/$(CONFIG)/gpr_file_test $(BINDIR)/$(CONFIG)/gpr_histogram_test $(BINDIR)/$(CONFIG)/gpr_host_port_test $(BINDIR)/$(CONFIG)/gpr_log_test $(BINDIR)/$(CONFIG)/gpr_slice_buffer_test $(BINDIR)/$(CONFIG)/gpr_slice_test $(BINDIR)/$(CONFIG)/gpr_stack_lockfree_test $(BINDIR)/$(CONFIG)/gpr_string_test $(BINDIR)/$(CONFIG)/gpr_sync_test $(BINDIR)/$(CONFIG)/gpr_thd_test $(BINDIR)/$(CONFIG)/gpr_time_test $(BINDIR)/$(CONFIG)/gpr_tls_test $(BINDIR)/$(CONFIG)/gpr_useful_test $(BINDIR)/$(CONFIG)/grpc_auth_context_test $(BINDIR)/$(CONFIG)/grpc_base64_test $(BINDIR)/$(CONFIG)/grpc_byte_buffer_reader_test $(BINDIR)/$(CONFIG)/grpc_channel_stack_test $(BINDIR)/$(CONFIG)/grpc_completion_queue_test $(BINDIR)/$(CONFIG)/grpc_credentials_test $(BINDIR)/$(CONFIG)/grpc_json_token_test $(BINDIR)/$(CONFIG)/grpc_jwt_verifier_test $(BINDIR)/$(CONFIG)/grpc_security_connector_test $(BINDIR)/$(CONFIG)/grpc_stream_op_test $(BINDIR)/$(CONFIG)/hpack_parser_test $(BINDIR)/$(CONFIG)/hpack_table_test $(BINDIR)/$(CONFIG)/httpcli_format_request_test $(BINDIR)/$(CONFIG)/httpcli_parser_test $(BINDIR)/$(CONFIG)/httpcli_test $(BINDIR)/$(CONFIG)/json_rewrite $(BINDIR)/$(CONFIG)/json_rewrite_test $(BINDIR)/$(CONFIG)/json_test $(BINDIR)/$(CONFIG)/lame_client_test $(BINDIR)/$(CONFIG)/message_compress_test $(BINDIR)/$(CONFIG)/multi_init_test $(BINDIR)/$(CONFIG)/multiple_server_queues_test $(BINDIR)/$(CONFIG)/murmur_hash_test $(BINDIR)/$(CONFIG)/no_server_test $(BINDIR)/$(CONFIG)/resolve_address_test $(BINDIR)/$(CONFIG)/secure_endpoint_test $(BINDIR)/$(CONFIG)/sockaddr_utils_test $(BINDIR)/$(CONFIG)/tcp_client_posix_test $(BINDIR)/$(CONFIG)/tcp_posix_test $(BINDIR)/$(CONFIG)/tcp_server_posix_test $(BINDIR)/$(CONFIG)/time_averaged_stats_test $(BINDIR)/$(CONFIG)/timeout_encoding_test $(BINDIR)/$(CONFIG)/timers_test $(BINDIR)/$(CONFIG)/transport_metadata_test $(BINDIR)/$(CONFIG)/transport_security_test $(BINDIR)/$(CONFIG)/uri_parser_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_default_host_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_default_host_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_default_host_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_default_host_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_default_host_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_default_host_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_default_host_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_default_host_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_default_host_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_default_host_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test
+buildtests_c: privatelibs_c $(BINDIR)/$(CONFIG)/alarm_heap_test $(BINDIR)/$(CONFIG)/alarm_list_test $(BINDIR)/$(CONFIG)/alarm_test $(BINDIR)/$(CONFIG)/alpn_test $(BINDIR)/$(CONFIG)/bin_encoder_test $(BINDIR)/$(CONFIG)/chttp2_status_conversion_test $(BINDIR)/$(CONFIG)/chttp2_stream_encoder_test $(BINDIR)/$(CONFIG)/chttp2_stream_map_test $(BINDIR)/$(CONFIG)/dualstack_socket_test $(BINDIR)/$(CONFIG)/fd_conservation_posix_test $(BINDIR)/$(CONFIG)/fd_posix_test $(BINDIR)/$(CONFIG)/fling_client $(BINDIR)/$(CONFIG)/fling_server $(BINDIR)/$(CONFIG)/fling_stream_test $(BINDIR)/$(CONFIG)/fling_test $(BINDIR)/$(CONFIG)/gpr_cancellable_test $(BINDIR)/$(CONFIG)/gpr_cmdline_test $(BINDIR)/$(CONFIG)/gpr_env_test $(BINDIR)/$(CONFIG)/gpr_file_test $(BINDIR)/$(CONFIG)/gpr_histogram_test $(BINDIR)/$(CONFIG)/gpr_host_port_test $(BINDIR)/$(CONFIG)/gpr_log_test $(BINDIR)/$(CONFIG)/gpr_slice_buffer_test $(BINDIR)/$(CONFIG)/gpr_slice_test $(BINDIR)/$(CONFIG)/gpr_stack_lockfree_test $(BINDIR)/$(CONFIG)/gpr_string_test $(BINDIR)/$(CONFIG)/gpr_sync_test $(BINDIR)/$(CONFIG)/gpr_thd_test $(BINDIR)/$(CONFIG)/gpr_time_test $(BINDIR)/$(CONFIG)/gpr_tls_test $(BINDIR)/$(CONFIG)/gpr_useful_test $(BINDIR)/$(CONFIG)/grpc_auth_context_test $(BINDIR)/$(CONFIG)/grpc_base64_test $(BINDIR)/$(CONFIG)/grpc_byte_buffer_reader_test $(BINDIR)/$(CONFIG)/grpc_channel_stack_test $(BINDIR)/$(CONFIG)/grpc_completion_queue_test $(BINDIR)/$(CONFIG)/grpc_credentials_test $(BINDIR)/$(CONFIG)/grpc_json_token_test $(BINDIR)/$(CONFIG)/grpc_jwt_verifier_test $(BINDIR)/$(CONFIG)/grpc_security_connector_test $(BINDIR)/$(CONFIG)/grpc_stream_op_test $(BINDIR)/$(CONFIG)/hpack_parser_test $(BINDIR)/$(CONFIG)/hpack_table_test $(BINDIR)/$(CONFIG)/httpcli_format_request_test $(BINDIR)/$(CONFIG)/httpcli_parser_test $(BINDIR)/$(CONFIG)/httpcli_test $(BINDIR)/$(CONFIG)/json_rewrite $(BINDIR)/$(CONFIG)/json_rewrite_test $(BINDIR)/$(CONFIG)/json_test $(BINDIR)/$(CONFIG)/lame_client_test $(BINDIR)/$(CONFIG)/message_compress_test $(BINDIR)/$(CONFIG)/multi_init_test $(BINDIR)/$(CONFIG)/multiple_server_queues_test $(BINDIR)/$(CONFIG)/murmur_hash_test $(BINDIR)/$(CONFIG)/no_server_test $(BINDIR)/$(CONFIG)/resolve_address_test $(BINDIR)/$(CONFIG)/secure_endpoint_test $(BINDIR)/$(CONFIG)/sockaddr_utils_test $(BINDIR)/$(CONFIG)/tcp_client_posix_test $(BINDIR)/$(CONFIG)/tcp_posix_test $(BINDIR)/$(CONFIG)/tcp_server_posix_test $(BINDIR)/$(CONFIG)/time_averaged_stats_test $(BINDIR)/$(CONFIG)/timeout_encoding_test $(BINDIR)/$(CONFIG)/timers_test $(BINDIR)/$(CONFIG)/transport_metadata_test $(BINDIR)/$(CONFIG)/transport_security_test $(BINDIR)/$(CONFIG)/uri_parser_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_default_host_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_default_host_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_default_host_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_default_host_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_default_host_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_default_host_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_default_host_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_default_host_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_default_host_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_default_host_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_default_host_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_default_host_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_default_host_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test
 
 buildtests_cxx: privatelibs_cxx $(BINDIR)/$(CONFIG)/async_end2end_test $(BINDIR)/$(CONFIG)/async_streaming_ping_pong_test $(BINDIR)/$(CONFIG)/async_unary_ping_pong_test $(BINDIR)/$(CONFIG)/auth_property_iterator_test $(BINDIR)/$(CONFIG)/channel_arguments_test $(BINDIR)/$(CONFIG)/cli_call_test $(BINDIR)/$(CONFIG)/client_crash_test $(BINDIR)/$(CONFIG)/client_crash_test_server $(BINDIR)/$(CONFIG)/credentials_test $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test $(BINDIR)/$(CONFIG)/cxx_slice_test $(BINDIR)/$(CONFIG)/cxx_time_test $(BINDIR)/$(CONFIG)/dynamic_thread_pool_test $(BINDIR)/$(CONFIG)/end2end_test $(BINDIR)/$(CONFIG)/fixed_size_thread_pool_test $(BINDIR)/$(CONFIG)/generic_end2end_test $(BINDIR)/$(CONFIG)/grpc_cli $(BINDIR)/$(CONFIG)/interop_client $(BINDIR)/$(CONFIG)/interop_server $(BINDIR)/$(CONFIG)/interop_test $(BINDIR)/$(CONFIG)/mock_test $(BINDIR)/$(CONFIG)/qps_interarrival_test $(BINDIR)/$(CONFIG)/qps_openloop_test $(BINDIR)/$(CONFIG)/qps_test $(BINDIR)/$(CONFIG)/reconnect_interop_client $(BINDIR)/$(CONFIG)/reconnect_interop_server $(BINDIR)/$(CONFIG)/secure_auth_context_test $(BINDIR)/$(CONFIG)/server_crash_test $(BINDIR)/$(CONFIG)/server_crash_test_client $(BINDIR)/$(CONFIG)/status_test $(BINDIR)/$(CONFIG)/sync_streaming_ping_pong_test $(BINDIR)/$(CONFIG)/sync_unary_ping_pong_test $(BINDIR)/$(CONFIG)/thread_stress_test
 
@@ -2134,6 +2220,64 @@ test_c: buildtests_c
 	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_test || ( echo test chttp2_fullstack_with_poll_simple_request_test failed ; exit 1 )
 	$(E) "[RUN]     Testing chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test"
 	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test || ( echo test chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_bad_hostname_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_bad_hostname_test || ( echo test chttp2_fullstack_with_proxy_bad_hostname_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_cancel_after_accept_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_test || ( echo test chttp2_fullstack_with_proxy_cancel_after_accept_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test || ( echo test chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_cancel_after_invoke_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_invoke_test || ( echo test chttp2_fullstack_with_proxy_cancel_after_invoke_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_cancel_before_invoke_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_before_invoke_test || ( echo test chttp2_fullstack_with_proxy_cancel_before_invoke_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test || ( echo test chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_census_simple_request_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_census_simple_request_test || ( echo test chttp2_fullstack_with_proxy_census_simple_request_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_default_host_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_default_host_test || ( echo test chttp2_fullstack_with_proxy_default_host_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_disappearing_server_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_disappearing_server_test || ( echo test chttp2_fullstack_with_proxy_disappearing_server_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test || ( echo test chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test || ( echo test chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_empty_batch_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_empty_batch_test || ( echo test chttp2_fullstack_with_proxy_empty_batch_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_graceful_server_shutdown_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_graceful_server_shutdown_test || ( echo test chttp2_fullstack_with_proxy_graceful_server_shutdown_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_invoke_large_request_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_invoke_large_request_test || ( echo test chttp2_fullstack_with_proxy_invoke_large_request_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_max_message_length_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_max_message_length_test || ( echo test chttp2_fullstack_with_proxy_max_message_length_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_no_op_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_no_op_test || ( echo test chttp2_fullstack_with_proxy_no_op_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_ping_pong_streaming_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_ping_pong_streaming_test || ( echo test chttp2_fullstack_with_proxy_ping_pong_streaming_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_registered_call_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_registered_call_test || ( echo test chttp2_fullstack_with_proxy_registered_call_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test || ( echo test chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test || ( echo test chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_response_with_payload_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_test || ( echo test chttp2_fullstack_with_proxy_request_response_with_payload_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test || ( echo test chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test || ( echo test chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_with_large_metadata_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_large_metadata_test || ( echo test chttp2_fullstack_with_proxy_request_with_large_metadata_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_with_payload_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_payload_test || ( echo test chttp2_fullstack_with_proxy_request_with_payload_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_server_finishes_request_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_server_finishes_request_test || ( echo test chttp2_fullstack_with_proxy_server_finishes_request_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_simple_delayed_request_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_delayed_request_test || ( echo test chttp2_fullstack_with_proxy_simple_delayed_request_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_simple_request_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_test || ( echo test chttp2_fullstack_with_proxy_simple_request_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test || ( echo test chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test failed ; exit 1 )
 	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_bad_hostname_test"
 	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test || ( echo test chttp2_simple_ssl_fullstack_bad_hostname_test failed ; exit 1 )
 	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_cancel_after_accept_test"
@@ -2266,6 +2410,64 @@ test_c: buildtests_c
 	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test || ( echo test chttp2_simple_ssl_fullstack_with_poll_simple_request_test failed ; exit 1 )
 	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test"
 	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test || ( echo test chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_default_host_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_default_host_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_default_host_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_no_op_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_no_op_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_no_op_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_registered_call_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_registered_call_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_registered_call_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_simple_request_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_request_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_simple_request_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test || ( echo test chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test failed ; exit 1 )
 	$(E) "[RUN]     Testing chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test"
 	$(Q) $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test || ( echo test chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test failed ; exit 1 )
 	$(E) "[RUN]     Testing chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test"
@@ -2822,6 +3024,62 @@ test_c: buildtests_c
 	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_unsecure_test || ( echo test chttp2_fullstack_with_poll_simple_request_unsecure_test failed ; exit 1 )
 	$(E) "[RUN]     Testing chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test"
 	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test || ( echo test chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_bad_hostname_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_bad_hostname_unsecure_test || ( echo test chttp2_fullstack_with_proxy_bad_hostname_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test || ( echo test chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test || ( echo test chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test || ( echo test chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test || ( echo test chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test || ( echo test chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_census_simple_request_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_census_simple_request_unsecure_test || ( echo test chttp2_fullstack_with_proxy_census_simple_request_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_default_host_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_default_host_unsecure_test || ( echo test chttp2_fullstack_with_proxy_default_host_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_disappearing_server_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_disappearing_server_unsecure_test || ( echo test chttp2_fullstack_with_proxy_disappearing_server_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test || ( echo test chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test || ( echo test chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_empty_batch_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_empty_batch_unsecure_test || ( echo test chttp2_fullstack_with_proxy_empty_batch_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test || ( echo test chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test || ( echo test chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_max_message_length_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_max_message_length_unsecure_test || ( echo test chttp2_fullstack_with_proxy_max_message_length_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_no_op_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_no_op_unsecure_test || ( echo test chttp2_fullstack_with_proxy_no_op_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test || ( echo test chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_registered_call_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_registered_call_unsecure_test || ( echo test chttp2_fullstack_with_proxy_registered_call_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test || ( echo test chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test || ( echo test chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test || ( echo test chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test || ( echo test chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test || ( echo test chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_request_with_payload_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_payload_unsecure_test || ( echo test chttp2_fullstack_with_proxy_request_with_payload_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test || ( echo test chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test || ( echo test chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_simple_request_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_unsecure_test || ( echo test chttp2_fullstack_with_proxy_simple_request_unsecure_test failed ; exit 1 )
+	$(E) "[RUN]     Testing chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test"
+	$(Q) $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test || ( echo test chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test failed ; exit 1 )
 	$(E) "[RUN]     Testing chttp2_socket_pair_bad_hostname_unsecure_test"
 	$(Q) $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_unsecure_test || ( echo test chttp2_socket_pair_bad_hostname_unsecure_test failed ; exit 1 )
 	$(E) "[RUN]     Testing chttp2_socket_pair_cancel_after_accept_unsecure_test"
@@ -3912,6 +4170,7 @@ LIBGRPC_TEST_UTIL_SRC = \
     test/core/end2end/data/server1_key.c \
     test/core/end2end/data/test_root_cert.c \
     test/core/end2end/cq_verifier.c \
+    test/core/end2end/fixtures/proxy.c \
     test/core/iomgr/endpoint_tests.c \
     test/core/security/oauth2_utils.c \
     test/core/util/grpc_profiler.c \
@@ -3957,6 +4216,7 @@ endif
 
 LIBGRPC_TEST_UTIL_UNSECURE_SRC = \
     test/core/end2end/cq_verifier.c \
+    test/core/end2end/fixtures/proxy.c \
     test/core/iomgr/endpoint_tests.c \
     test/core/security/oauth2_utils.c \
     test/core/util/grpc_profiler.c \
@@ -4257,6 +4517,7 @@ PUBLIC_HEADERS_CXX += \
     include/grpc++/status.h \
     include/grpc++/status_code_enum.h \
     include/grpc++/stream.h \
+    include/grpc++/stub_options.h \
     include/grpc++/thread_pool_interface.h \
     include/grpc++/time.h \
 
@@ -4500,6 +4761,7 @@ PUBLIC_HEADERS_CXX += \
     include/grpc++/status.h \
     include/grpc++/status_code_enum.h \
     include/grpc++/stream.h \
+    include/grpc++/stub_options.h \
     include/grpc++/thread_pool_interface.h \
     include/grpc++/time.h \
 
@@ -5123,6 +5385,29 @@ ifneq ($(NO_DEPS),true)
 endif
 
 
+LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_WITH_PROXY_SRC = \
+    test/core/end2end/fixtures/chttp2_fullstack_with_proxy.c \
+
+
+LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_WITH_PROXY_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_WITH_PROXY_SRC))))
+
+$(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a: $(ZLIB_DEP) $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_WITH_PROXY_OBJS)
+	$(E) "[AR]      Creating $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) rm -f $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a
+	$(Q) $(AR) rcs $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_WITH_PROXY_OBJS)
+ifeq ($(SYSTEM),Darwin)
+	$(Q) ranlib $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a
+endif
+
+
+
+
+ifneq ($(NO_DEPS),true)
+-include $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_WITH_PROXY_OBJS:.o=.dep)
+endif
+
+
 LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_SRC = \
     test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c \
 
@@ -5197,6 +5482,43 @@ endif
 endif
 
 
+LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_WITH_PROXY_SRC = \
+    test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_proxy.c \
+
+
+LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_WITH_PROXY_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_WITH_PROXY_SRC))))
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure libraries if you don't have OpenSSL.
+
+$(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a: openssl_dep_error
+
+
+else
+
+
+$(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_WITH_PROXY_OBJS)
+	$(E) "[AR]      Creating $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) rm -f $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a
+	$(Q) $(AR) rcs $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_WITH_PROXY_OBJS)
+ifeq ($(SYSTEM),Darwin)
+	$(Q) ranlib $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a
+endif
+
+
+
+
+endif
+
+ifneq ($(NO_SECURE),true)
+ifneq ($(NO_DEPS),true)
+-include $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_WITH_PROXY_OBJS:.o=.dep)
+endif
+endif
+
+
 LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SRC = \
     test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c \
 
@@ -13455,14 +13777,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_bad_hostname_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_bad_hostname_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_bad_hostname_test
 
 endif
 
@@ -13473,14 +13795,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_test
 
 endif
 
@@ -13491,14 +13813,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test
 
 endif
 
@@ -13509,14 +13831,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_invoke_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_invoke_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_invoke_test
 
 endif
 
@@ -13527,14 +13849,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_before_invoke_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_before_invoke_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_before_invoke_test
 
 endif
 
@@ -13545,14 +13867,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test
 
 endif
 
@@ -13563,14 +13885,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_census_simple_request_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_census_simple_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_census_simple_request_test
 
 endif
 
@@ -13581,14 +13903,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_channel_connectivity_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_default_host_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_channel_connectivity_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_channel_connectivity.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_default_host_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_channel_connectivity.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_channel_connectivity_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_default_host_test
 
 endif
 
@@ -13599,14 +13921,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_default_host_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_disappearing_server_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_default_host_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_disappearing_server_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_default_host_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_disappearing_server_test
 
 endif
 
@@ -13617,14 +13939,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test
 
 endif
 
@@ -13635,14 +13957,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test
 
 endif
 
@@ -13653,14 +13975,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_empty_batch_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_empty_batch_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_empty_batch_test
 
 endif
 
@@ -13671,14 +13993,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_empty_batch_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_graceful_server_shutdown_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_empty_batch_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_graceful_server_shutdown_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_empty_batch_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_graceful_server_shutdown_test
 
 endif
 
@@ -13689,14 +14011,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_invoke_large_request_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_invoke_large_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_invoke_large_request_test
 
 endif
 
@@ -13707,14 +14029,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_max_message_length_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_max_message_length_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_max_message_length_test
 
 endif
 
@@ -13725,14 +14047,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_no_op_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_no_op_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_no_op_test
 
 endif
 
@@ -13743,14 +14065,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_message_length_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_ping_pong_streaming_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_message_length_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_ping_pong_streaming_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_message_length_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_ping_pong_streaming_test
 
 endif
 
@@ -13761,14 +14083,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_registered_call_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_registered_call_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_registered_call_test
 
 endif
 
@@ -13779,14 +14101,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test
 
 endif
 
@@ -13797,14 +14119,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_registered_call_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_registered_call_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_registered_call_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test
 
 endif
 
@@ -13815,14 +14137,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_test
 
 endif
 
@@ -13833,14 +14155,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test
 
 endif
 
@@ -13851,14 +14173,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test
 
 endif
 
@@ -13869,14 +14191,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_large_metadata_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_large_metadata_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_large_metadata_test
 
 endif
 
@@ -13887,14 +14209,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_payload_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_payload_test
 
 endif
 
@@ -13905,14 +14227,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_compressed_payload_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_server_finishes_request_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_compressed_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_compressed_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_server_finishes_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_compressed_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_compressed_payload_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_server_finishes_request_test
 
 endif
 
@@ -13923,14 +14245,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_flags_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_delayed_request_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_flags_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_flags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_delayed_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_flags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_flags_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_delayed_request_test
 
 endif
 
@@ -13941,14 +14263,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_large_metadata_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_large_metadata_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_large_metadata_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_test
 
 endif
 
@@ -13959,14 +14281,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_payload_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_payload_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test
 
 endif
 
@@ -13977,14 +14299,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_server_finishes_request_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_server_finishes_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_server_finishes_request_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test
 
 endif
 
@@ -13995,14 +14317,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test
 
 endif
 
@@ -14013,14 +14335,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test
 
 endif
 
@@ -14031,14 +14353,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test
 
 endif
 
@@ -14049,14 +14371,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test
 
 endif
 
@@ -14067,14 +14389,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test
 
 endif
 
@@ -14085,14 +14407,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test
 
 endif
 
@@ -14103,14 +14425,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_channel_connectivity_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_channel_connectivity_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_channel_connectivity.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_channel_connectivity.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_channel_connectivity_test
 
 endif
 
@@ -14121,14 +14443,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_default_host_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_default_host_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_default_host_test
 
 endif
 
@@ -14139,14 +14461,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test
 
 endif
 
@@ -14157,14 +14479,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test
 
 endif
 
@@ -14175,14 +14497,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_channel_connectivity.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_channel_connectivity.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test
 
 endif
 
@@ -14193,14 +14515,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_default_host_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_empty_batch_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_default_host_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_empty_batch_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_default_host_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_empty_batch_test
 
 endif
 
@@ -14211,14 +14533,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test
 
 endif
 
@@ -14229,14 +14551,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test
 
 endif
 
@@ -14247,14 +14569,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test
 
 endif
 
@@ -14265,14 +14587,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_empty_batch_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_message_length_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_empty_batch_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_message_length_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_empty_batch_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_message_length_test
 
 endif
 
@@ -14283,14 +14605,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test
 
 endif
 
@@ -14301,14 +14623,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test
 
 endif
 
@@ -14319,14 +14641,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_registered_call_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_registered_call_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_registered_call_test
 
 endif
 
@@ -14337,14 +14659,536 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_message_length_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_message_length_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_message_length_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_compressed_payload_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_compressed_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_compressed_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_compressed_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_compressed_payload_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_flags_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_flags_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_flags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_flags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_flags_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_large_metadata_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_large_metadata_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_large_metadata_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_payload_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_payload_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_server_finishes_request_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_server_finishes_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_server_finishes_request_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_channel_connectivity.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_channel_connectivity.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_default_host_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_default_host_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_default_host_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_empty_batch_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_empty_batch_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_empty_batch_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_message_length_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_message_length_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_message_length_test
 
 endif
 
@@ -14359,10 +15203,496 @@ $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_no_op_test: openssl_de
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_no_op_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_no_op_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_no_op_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_registered_call_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_registered_call_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_registered_call_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_compressed_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_compressed_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_flags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_flags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_default_host_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_default_host_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_default_host_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_no_op_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test
 
 endif
 
@@ -14373,14 +15703,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test
 
 endif
 
@@ -14391,14 +15721,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_registered_call_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_registered_call_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_registered_call_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test
 
 endif
 
@@ -14409,14 +15739,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test
 
 endif
 
@@ -14427,14 +15757,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_no_op_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_no_op_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_no_op_test
 
 endif
 
@@ -14445,14 +15775,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test
 
 endif
 
@@ -14463,14 +15793,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_registered_call_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_registered_call_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_registered_call_test
 
 endif
 
@@ -14481,14 +15811,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test
 
 endif
 
@@ -14499,14 +15829,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_compressed_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_compressed_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test
 
 endif
 
@@ -14517,14 +15847,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_flags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_flags.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test
 
 endif
 
@@ -14535,14 +15865,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload_and_call_creds.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test
 
 endif
 
@@ -14553,14 +15883,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test
 
 endif
 
@@ -14571,14 +15901,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test
 
 endif
 
@@ -14589,14 +15919,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test
 
 endif
 
@@ -14607,14 +15937,14 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test
 
 endif
 
@@ -14625,14 +15955,50 @@ ifeq ($(NO_SECURE),true)
 
 # You can't build secure targets if you don't have OpenSSL.
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test: openssl_dep_error
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test: openssl_dep_error
 
 else
 
-$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_poll.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_request_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_request_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_request_test
+
+endif
+
+
+
+
+ifeq ($(NO_SECURE),true)
+
+# You can't build secure targets if you don't have OpenSSL.
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test: openssl_dep_error
+
+else
+
+$(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test
 
 endif
 
@@ -18063,6 +19429,230 @@ $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_
 
 
 
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_bad_hostname_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_bad_hostname_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_census_simple_request_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_census_simple_request_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_default_host_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_default_host.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_default_host_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_disappearing_server_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_disappearing_server_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_empty_batch_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_empty_batch.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_empty_batch_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_max_message_length_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_max_message_length.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_max_message_length_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_no_op_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_no_op.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_no_op_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_registered_call_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_registered_call.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_registered_call_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_large_metadata.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_payload_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_request_with_payload.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_request_with_payload_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_server_finishes_request.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_unsecure_test
+
+
+
+
+$(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
+	$(E) "[LD]      Linking $@"
+	$(Q) mkdir -p `dirname $@`
+	$(Q) $(LD) $(LDFLAGS)  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_fullstack_with_proxy.a $(LIBDIR)/$(CONFIG)/libend2end_test_simple_request_with_high_initial_sequence_number.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test
+
+
+
+
 $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_unsecure_test:  $(LIBDIR)/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a $(LIBDIR)/$(CONFIG)/libend2end_test_bad_hostname.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
@@ -18817,6 +20407,7 @@ test/core/end2end/data/test_root_cert.c: $(OPENSSL_DEP)
 test/core/end2end/fixtures/chttp2_fake_security.c: $(OPENSSL_DEP)
 test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c: $(OPENSSL_DEP)
 test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_poll.c: $(OPENSSL_DEP)
+test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_proxy.c: $(OPENSSL_DEP)
 test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c: $(OPENSSL_DEP)
 test/core/end2end/tests/request_response_with_payload_and_call_creds.c: $(OPENSSL_DEP)
 test/core/util/reconnect_server.c: $(OPENSSL_DEP)
diff --git a/build.json b/build.json
index 9fb43c3464edc7efb949fb94768de1856e8bdc64..e0f768882b239a21c0c1e2cdd9d32a5a9d71915e 100644
--- a/build.json
+++ b/build.json
@@ -69,6 +69,7 @@
         "include/grpc++/status.h",
         "include/grpc++/status_code_enum.h",
         "include/grpc++/stream.h",
+        "include/grpc++/stub_options.h",
         "include/grpc++/thread_pool_interface.h",
         "include/grpc++/time.h"
       ],
@@ -329,6 +330,7 @@
       "name": "grpc_test_util_base",
       "headers": [
         "test/core/end2end/cq_verifier.h",
+        "test/core/end2end/fixtures/proxy.h",
         "test/core/iomgr/endpoint_tests.h",
         "test/core/security/oauth2_utils.h",
         "test/core/util/grpc_profiler.h",
@@ -338,6 +340,7 @@
       ],
       "src": [
         "test/core/end2end/cq_verifier.c",
+        "test/core/end2end/fixtures/proxy.c",
         "test/core/iomgr/endpoint_tests.c",
         "test/core/security/oauth2_utils.c",
         "test/core/util/grpc_profiler.c",
@@ -982,6 +985,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -999,6 +1004,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -1016,6 +1023,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -1063,6 +1072,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -1080,6 +1091,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -1553,6 +1566,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -1749,6 +1764,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -1766,6 +1783,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -1783,6 +1802,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -1903,6 +1924,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -1923,6 +1946,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -1984,6 +2009,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -2225,6 +2252,8 @@
         "grpc++_test_config"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -2246,6 +2275,8 @@
         "grpc++_test_config"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -2263,6 +2294,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -2370,6 +2403,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -2391,6 +2426,8 @@
         "grpc++_test_config"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -2412,6 +2449,8 @@
         "grpc++_test_config"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -2509,6 +2548,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -2561,6 +2602,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
@@ -2581,6 +2624,8 @@
         "gpr"
       ],
       "platforms": [
+        "mac",
+        "linux",
         "posix"
       ]
     },
diff --git a/doc/interop-test-descriptions.md b/doc/interop-test-descriptions.md
index 065e107c24944d6fdfe2948b431bca5037ada671..84ceaa3081a5b461bd93cdf588620d19c311f755 100644
--- a/doc/interop-test-descriptions.md
+++ b/doc/interop-test-descriptions.md
@@ -55,7 +55,7 @@ Server features:
 Procedure:
  1. Client calls EmptyCall with the default Empty message
 
-Asserts:
+Client asserts:
 * call was successful
 * response is non-null
 
@@ -84,7 +84,7 @@ Procedure:
     }
     ```
 
-Asserts:
+Client asserts:
 * call was successful
 * response payload type is COMPRESSABLE
 * response payload body is 314159 bytes in size
@@ -110,6 +110,7 @@ Procedure:
       }
     }
     ```
+
  3. Client then sends:
 
     ```
@@ -119,6 +120,7 @@ Procedure:
       }
     }
     ```
+
  4. Client then sends:
 
     ```
@@ -128,6 +130,7 @@ Procedure:
       }
     }
     ```
+
  5. Client then sends:
 
     ```
@@ -137,9 +140,10 @@ Procedure:
       }
     }
     ```
- 6. Client halfCloses
 
-Asserts:
+ 6. Client half-closes
+
+Client asserts:
 * call was successful
 * response aggregated_payload_size is 74922
 
@@ -172,7 +176,7 @@ Procedure:
     }
     ```
 
-Asserts:
+Client asserts:
 * call was successful
 * exactly four responses
 * response payloads are COMPRESSABLE
@@ -202,6 +206,7 @@ Procedure:
       }
     }
     ```
+
  2. After getting a reply, it sends:
 
     ```
@@ -215,6 +220,7 @@ Procedure:
       }
     }
     ```
+
  3. After getting a reply, it sends:
 
     ```
@@ -228,6 +234,7 @@ Procedure:
       }
     }
     ```
+
  4. After getting a reply, it sends:
 
     ```
@@ -242,7 +249,9 @@ Procedure:
     }
     ```
 
-Asserts:
+ 5. After getting a reply, client half-closes
+
+Client asserts:
 * call was successful
 * exactly four responses
 * response payloads are COMPRESSABLE
@@ -261,7 +270,7 @@ Server features:
 Procedure:
  1. Client calls FullDuplexCall and then half-closes
 
-Asserts:
+Client asserts:
 * call was successful
 * exactly zero responses
 
@@ -300,7 +309,7 @@ Procedure:
     }
     ```
 
-Asserts:
+Client asserts:
 * call was successful
 * received SimpleResponse.username equals the value of `--default_service_account` flag
 * received SimpleResponse.oauth_scope is in `--oauth_scope`
@@ -328,7 +337,7 @@ Server features:
 * [Echo OAuth Scope][]
 
 Procedure:
- 1. Client configures the channel to use ServiceAccountCredentials.
+ 1. Client configures the channel to use ServiceAccountCredentials
  2. Client calls UnaryCall with:
 
     ```
@@ -343,7 +352,7 @@ Procedure:
     }
     ```
 
-Asserts:
+Client asserts:
 * call was successful
 * received SimpleResponse.username is in the json key file read from
    `--service_account_key_file`
@@ -370,7 +379,7 @@ Server features:
 * [Echo OAuth Scope][]
 
 Procedure:
- 1. Client configures the channel to use JWTTokenCredentials.
+ 1. Client configures the channel to use JWTTokenCredentials
  2. Client calls UnaryCall with:
 
     ```
@@ -384,7 +393,7 @@ Procedure:
     }
     ```
 
-Asserts:
+Client asserts:
 * call was successful
 * received SimpleResponse.username is in the json key file read from
   `--service_account_key_file`
@@ -422,7 +431,7 @@ Server features:
 
 Procedure:
  1. Client uses the auth library to obtain an authorization token
- 2. Client configures the channel to use AccessTokenCredentials with the access token obtained in step 1.
+ 2. Client configures the channel to use AccessTokenCredentials with the access token obtained in step 1
  3. Client calls UnaryCall with the following message
 
     ```
@@ -431,8 +440,8 @@ Procedure:
       fill_oauth_scope: true
     }
     ```
-    
-Asserts:
+
+Client asserts:
 * call was successful
 * received SimpleResponse.username is in the json key file used by the auth
 library to obtain the authorization token
@@ -464,10 +473,10 @@ Server features:
 
 Procedure:
  1. Client uses the auth library to obtain an authorization token
- 2. Client configures the channel with just SSL credentials.
+ 2. Client configures the channel with just SSL credentials
  3. Client calls UnaryCall, setting per-call credentials to
- AccessTokenCredentials with the access token obtained in step 1. The request is
- the following message
+    AccessTokenCredentials with the access token obtained in step 1. The request
+    is the following message
 
     ```
     {
@@ -475,8 +484,8 @@ Procedure:
       fill_oauth_scope: true
     }
     ```
-    
-Asserts:
+
+Client asserts:
 * call was successful
 * received SimpleResponse.username is in the json key file used by the auth
 library to obtain the authorization token
@@ -496,8 +505,14 @@ Server features:
 * [Echo Metadata][]
 
 Procedure:
- 1. While sending custom metadata (ascii + binary) in the header, client calls
- UnaryCall with:
+ 1. The client attaches custom metadata with the following keys and values:
+
+    ```
+    key: "x-grpc-test-echo-initial", value: "test_initial_metadata_value"
+    key: "x-grpc-test-echo-trailing-bin", value: 0xababab
+    ```
+
+    to a UnaryCall with request:
 
     ```
     {
@@ -508,23 +523,41 @@ Procedure:
       }
     }
     ```
-The client attaches custom metadata with the following keys and values:
+
+ 2. The client attaches custom metadata with the following keys and values:
+
     ```
     key: "x-grpc-test-echo-initial", value: "test_initial_metadata_value"
     key: "x-grpc-test-echo-trailing-bin", value: 0xababab
     ```
- 2. Client repeats step 1. with FullDuplexCall instead of UnaryCall.
 
-Asserts:
+    to a FullDuplexCall with request:
+
+    ```
+    {
+      response_type: COMPRESSABLE
+      response_size: 314159
+      payload:{
+        body: 271828 bytes of zeros
+      }
+    }
+    ```
+
+    and then half-closes
+
+Client asserts:
 * call was successful
-* metadata with key `"x-grpc-test-echo-initial"` and value `"test_initial_metadata_value"`is received in the initial metadata.
-* metadata with key `"x-grpc-test-echo-trailing-bin"` and value `0xababab` is received in the trailing metadata.
+* metadata with key `"x-grpc-test-echo-initial"` and value
+  `"test_initial_metadata_value"`is received in the initial metadata for calls
+  in Procedure steps 1 and 2.
+* metadata with key `"x-grpc-test-echo-trailing-bin"` and value `0xababab` is
+  received in the trailing metadata for calls in Procedure steps 1 and 2.
 
 
 
 ### status_code_and_message
 
-This test verifies unary calls succeed in sending messages, and propagates back
+This test verifies unary calls succeed in sending messages, and propagate back
 status code and message sent along with the messages.
 
 Server features:
@@ -543,12 +576,26 @@ Procedure:
       }
     }
     ```
-2. Client repeats step 1. with FullDuplexCall instead of UnaryCall.
 
+ 2. Client calls FullDuplexCall with:
+
+    ```
+    {
+      response_status:{
+        code: 2
+        message: "test status message"
+      }
+    }
+    ```
+
+    and then half-closes
 
-Asserts:
-* received status code is the same with sent code
-* received status message is the same with sent message
+
+Client asserts:
+* received status code is the same as the sent code for both Procedure steps 1
+  and 2
+* received status message is the same as the sent message for both Procedure
+  steps 1 and 2
 
 ### unimplemented_method
 
@@ -556,15 +603,19 @@ Status: Ready for implementation. Blocking beta.
 
 This test verifies calling unimplemented RPC method returns the UNIMPLEMENTED status code.
 
+Server features:
+N/A
+
 Procedure:
-* Client calls `grpc.testing.UnimplementedService/UnimplementedCall` with an empty request (defined as `grpc.testing.Empty`):
+* Client calls `grpc.testing.UnimplementedService/UnimplementedCall` with an
+  empty request (defined as `grpc.testing.Empty`):
 
     ```
     {
     }
     ```
 
-Asserts:
+Client asserts:
 * received status code is 12 (UNIMPLEMENTED)
 * received status message is empty or null/unset
 
@@ -580,7 +631,7 @@ Procedure:
  1. Client starts StreamingInputCall
  2. Client immediately cancels request
 
-Asserts:
+Client asserts:
 * Call completed with status CANCELLED
 
 ### cancel_after_first_response
@@ -606,9 +657,10 @@ Procedure:
       }
     }
     ```
+
  2. After receiving a response, client cancels request
 
-Asserts:
+Client asserts:
 * Call completed with status CANCELLED
 
 ### timeout_on_sleeping_server
@@ -620,7 +672,8 @@ Server features:
 * [FullDuplexCall][]
 
 Procedure:
- 1. Client calls FullDuplexCall with the following request and sets its timeout to 1ms.
+ 1. Client calls FullDuplexCall with the following request and sets its timeout
+    to 1ms
 
     ```
     {
@@ -630,7 +683,9 @@ Procedure:
     }
     ```
 
-Asserts:
+ 2. Client waits
+
+Client asserts:
 * Call completed with status DEADLINE_EXCEEDED.
 
 ### concurrent_large_unary
diff --git a/include/grpc++/client_context.h b/include/grpc++/client_context.h
index 10c967d85bc0991b962ba54c9bf5a34cd304b2ce..34945f32820d95c8d84cb7b834fa6c04eea1d1e7 100644
--- a/include/grpc++/client_context.h
+++ b/include/grpc++/client_context.h
@@ -39,6 +39,7 @@
 #include <string>
 
 #include <grpc/compression.h>
+#include <grpc/grpc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc++/auth_context.h>
@@ -46,8 +47,6 @@
 #include <grpc++/status.h>
 #include <grpc++/time.h>
 
-struct grpc_call;
-struct grpc_completion_queue;
 struct census_context;
 
 namespace grpc {
@@ -70,12 +69,68 @@ template <class R, class W>
 class ClientAsyncReaderWriter;
 template <class R>
 class ClientAsyncResponseReader;
+class ServerContext;
+
+class PropagationOptions {
+ public:
+  PropagationOptions() : propagate_(GRPC_PROPAGATE_DEFAULTS) {}
+
+  PropagationOptions& enable_deadline_propagation() {
+    propagate_ |= GRPC_PROPAGATE_DEADLINE;
+    return *this;
+  }
+
+  PropagationOptions& disable_deadline_propagation() {
+    propagate_ &= ~GRPC_PROPAGATE_DEADLINE;
+    return *this;
+  }
+
+  PropagationOptions& enable_census_stats_propagation() {
+    propagate_ |= GRPC_PROPAGATE_CENSUS_STATS_CONTEXT;
+    return *this;
+  }
+
+  PropagationOptions& disable_census_stats_propagation() {
+    propagate_ &= ~GRPC_PROPAGATE_CENSUS_STATS_CONTEXT;
+    return *this;
+  }
+
+  PropagationOptions& enable_census_tracing_propagation() {
+    propagate_ |= GRPC_PROPAGATE_CENSUS_TRACING_CONTEXT;
+    return *this;
+  }
+
+  PropagationOptions& disable_census_tracing_propagation() {
+    propagate_ &= ~GRPC_PROPAGATE_CENSUS_TRACING_CONTEXT;
+    return *this;
+  }
+
+  PropagationOptions& enable_cancellation_propagation() {
+    propagate_ |= GRPC_PROPAGATE_CANCELLATION;
+    return *this;
+  }
+
+  PropagationOptions& disable_cancellation_propagation() {
+    propagate_ &= ~GRPC_PROPAGATE_CANCELLATION;
+    return *this;
+  }
+
+  gpr_uint32 c_bitmask() const { return propagate_; }
+
+ private:
+  gpr_uint32 propagate_;
+};
 
 class ClientContext {
  public:
   ClientContext();
   ~ClientContext();
 
+  /// Create a new ClientContext that propagates some or all of its attributes
+  static std::unique_ptr<ClientContext> FromServerContext(
+      const ServerContext& server_context,
+      PropagationOptions options = PropagationOptions());
+
   void AddMetadata(const grpc::string& meta_key,
                    const grpc::string& meta_value);
 
@@ -181,6 +236,9 @@ class ClientContext {
   std::multimap<grpc::string, grpc::string> recv_initial_metadata_;
   std::multimap<grpc::string, grpc::string> trailing_metadata_;
 
+  grpc_call* propagate_from_call_;
+  PropagationOptions propagation_options_;
+
   grpc_compression_algorithm compression_algorithm_;
 };
 
diff --git a/include/grpc++/server_context.h b/include/grpc++/server_context.h
index 23273f43e6706754ff0a0192853bc52b23d3be26..4f7fc54ef13447b5f613d0fd557b508b5e3b4e7b 100644
--- a/include/grpc++/server_context.h
+++ b/include/grpc++/server_context.h
@@ -50,6 +50,7 @@ struct census_context;
 
 namespace grpc {
 
+class ClientContext;
 template <class W, class R>
 class ServerAsyncReader;
 template <class W>
@@ -158,6 +159,7 @@ class ServerContext {
   friend class ServerStreamingHandler;
   template <class ServiceType, class RequestType, class ResponseType>
   friend class BidiStreamingHandler;
+  friend class ::grpc::ClientContext;
 
   // Prevent copying.
   ServerContext(const ServerContext&);
diff --git a/include/grpc++/stream.h b/include/grpc++/stream.h
index 3903f2ec06c9337c2b3c75877dde03630c135f27..bc0c3c0f3b21a5d54ca6e8ceda9e67e8a3b7af16 100644
--- a/include/grpc++/stream.h
+++ b/include/grpc++/stream.h
@@ -54,7 +54,11 @@ class ClientStreamingInterface {
   // client side declares it has no more message to send, either implicitly or
   // by calling WritesDone, it needs to make sure there is no more message to
   // be received from the server, either implicitly or by getting a false from
-  // a Read(). Otherwise, this implicitly cancels the stream.
+  // a Read().
+  // This function will return either:
+  // - when all incoming messages have been read and the server has returned
+  //   status
+  // - OR when the server has returned a non-OK status
   virtual Status Finish() = 0;
 };
 
diff --git a/include/grpc++/stub_options.h b/include/grpc++/stub_options.h
new file mode 100644
index 0000000000000000000000000000000000000000..c7c16dcd554d945887428cea51c407066b2b4923
--- /dev/null
+++ b/include/grpc++/stub_options.h
@@ -0,0 +1,43 @@
+/*
+ *
+ * Copyright 2015, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#ifndef GRPCXX_STUB_OPTIONS_H
+#define GRPCXX_STUB_OPTIONS_H
+
+namespace grpc {
+
+class StubOptions {};
+
+}  // namespace grpc
+
+#endif  // GRPCXX_STUB_OPTIONS_H
diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h
index 15556a6d5c55bc3f154645ee72b312517c5cde07..bf340e81ca01b5436a81c186869d6509991f6ec7 100644
--- a/include/grpc/grpc.h
+++ b/include/grpc/grpc.h
@@ -177,6 +177,8 @@ typedef enum grpc_call_error {
   GRPC_CALL_ERROR_INVALID_FLAGS,
   /** invalid metadata was passed to this call */
   GRPC_CALL_ERROR_INVALID_METADATA,
+  /** invalid message was passed to this call */
+  GRPC_CALL_ERROR_INVALID_MESSAGE,
   /** completion queue for notification has not been registered with the
       server */
   GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE
@@ -308,8 +310,8 @@ typedef struct grpc_op {
         value, or reuse it in a future op. */
     grpc_metadata_array *recv_initial_metadata;
     /** ownership of the byte buffer is moved to the caller; the caller must
-       call
-        grpc_byte_buffer_destroy on this value, or reuse it in a future op. */
+        call grpc_byte_buffer_destroy on this value, or reuse it in a future op.
+       */
     grpc_byte_buffer **recv_message;
     struct {
       /** ownership of the array is with the caller, but ownership of the
@@ -351,6 +353,26 @@ typedef struct grpc_op {
   } data;
 } grpc_op;
 
+/* Propagation bits: this can be bitwise or-ed to form propagation_mask for
+ * grpc_call */
+/** Propagate deadline */
+#define GRPC_PROPAGATE_DEADLINE ((gpr_uint32)1)
+/** Propagate census context */
+#define GRPC_PROPAGATE_CENSUS_STATS_CONTEXT ((gpr_uint32)2)
+#define GRPC_PROPAGATE_CENSUS_TRACING_CONTEXT ((gpr_uint32)4)
+/** Propagate cancellation */
+#define GRPC_PROPAGATE_CANCELLATION ((gpr_uint32)8)
+
+/* Default propagation mask: clients of the core API are encouraged to encode
+   deltas from this in their implementations... ie write:
+   GRPC_PROPAGATE_DEFAULTS & ~GRPC_PROPAGATE_DEADLINE to disable deadline 
+   propagation. Doing so gives flexibility in the future to define new 
+   propagation types that are default inherited or not. */
+#define GRPC_PROPAGATE_DEFAULTS                                                \
+  ((gpr_uint32)((                                                              \
+      0xffff | GRPC_PROPAGATE_DEADLINE | GRPC_PROPAGATE_CENSUS_STATS_CONTEXT | \
+      GRPC_PROPAGATE_CENSUS_TRACING_CONTEXT | GRPC_PROPAGATE_CANCELLATION)))
+
 /** Initialize the grpc library.
 
     It is not safe to call any other grpc functions before calling this.
@@ -430,8 +452,13 @@ void grpc_channel_watch_connectivity_state(
 
 /** Create a call given a grpc_channel, in order to call 'method'. All
     completions are sent to 'completion_queue'. 'method' and 'host' need only
-    live through the invocation of this function. */
+    live through the invocation of this function.
+    If parent_call is non-NULL, it must be a server-side call. It will be used
+    to propagate properties from the server call to this new client call. 
+    */
 grpc_call *grpc_channel_create_call(grpc_channel *channel,
+                                    grpc_call *parent_call,
+                                    gpr_uint32 propagation_mask,
                                     grpc_completion_queue *completion_queue,
                                     const char *method, const char *host,
                                     gpr_timespec deadline);
@@ -442,8 +469,9 @@ void *grpc_channel_register_call(grpc_channel *channel, const char *method,
 
 /** Create a call given a handle returned from grpc_channel_register_call */
 grpc_call *grpc_channel_create_registered_call(
-    grpc_channel *channel, grpc_completion_queue *completion_queue,
-    void *registered_call_handle, gpr_timespec deadline);
+    grpc_channel *channel, grpc_call *parent_call, gpr_uint32 propagation_mask,
+    grpc_completion_queue *completion_queue, void *registered_call_handle,
+    gpr_timespec deadline);
 
 /** Start a batch of operations defined in the array ops; when complete, post a
     completion of type 'tag' to the completion queue bound to the call.
diff --git a/src/compiler/cpp_generator.cc b/src/compiler/cpp_generator.cc
index 75659947df9b15e12e8d97cf83add3bea8fcec33..ea487bcd89a1ed2e82a0e909856a694b33635797 100644
--- a/src/compiler/cpp_generator.cc
+++ b/src/compiler/cpp_generator.cc
@@ -119,6 +119,7 @@ grpc::string GetHeaderIncludes(const grpc::protobuf::FileDescriptor *file,
       "#include <grpc++/async_unary_call.h>\n"
       "#include <grpc++/status.h>\n"
       "#include <grpc++/stream.h>\n"
+      "#include <grpc++/stub_options.h>\n"
       "\n"
       "namespace grpc {\n"
       "class CompletionQueue;\n"
@@ -574,8 +575,8 @@ void PrintHeaderService(grpc::protobuf::io::Printer *printer,
   printer->Print("};\n");
   printer->Print(
       "static std::unique_ptr<Stub> NewStub(const std::shared_ptr< "
-      "::grpc::ChannelInterface>& "
-      "channel);\n");
+      "::grpc::ChannelInterface>& channel, "
+      "const ::grpc::StubOptions& options = ::grpc::StubOptions());\n");
 
   printer->Print("\n");
 
@@ -966,7 +967,8 @@ void PrintSourceService(grpc::protobuf::io::Printer *printer,
   printer->Print(
       *vars,
       "std::unique_ptr< $ns$$Service$::Stub> $ns$$Service$::NewStub("
-      "const std::shared_ptr< ::grpc::ChannelInterface>& channel) {\n"
+      "const std::shared_ptr< ::grpc::ChannelInterface>& channel, "
+      "const ::grpc::StubOptions& options) {\n"
       "  std::unique_ptr< $ns$$Service$::Stub> stub(new "
       "$ns$$Service$::Stub(channel));\n"
       "  return stub;\n"
diff --git a/src/compiler/csharp_generator.cc b/src/compiler/csharp_generator.cc
index e0c1bcda19c9ee4c050a576e53e08deeed4d431c..9432bdda96b30c8b65b76efd086dbe57daacafc8 100644
--- a/src/compiler/csharp_generator.cc
+++ b/src/compiler/csharp_generator.cc
@@ -246,6 +246,8 @@ void GenerateStaticMethodField(Printer* out, const MethodDescriptor *method) {
   out->Indent();
   out->Print("$methodtype$,\n", "methodtype",
              GetCSharpMethodType(GetMethodType(method)));
+  out->Print("$servicenamefield$,\n", "servicenamefield",
+               GetServiceNameFieldName());
   out->Print("\"$methodname$\",\n", "methodname", method->name());
   out->Print("$requestmarshaller$,\n", "requestmarshaller",
              GetMarshallerFieldName(method->input_type()));
@@ -273,6 +275,13 @@ void GenerateClientInterface(Printer* out, const ServiceDescriptor *service) {
           "methodname", method->name(), "request",
           GetClassName(method->input_type()), "response",
           GetClassName(method->output_type()));
+
+      // overload taking CallOptions as a param
+      out->Print(
+          "$response$ $methodname$($request$ request, CallOptions options);\n",
+          "methodname", method->name(), "request",
+          GetClassName(method->input_type()), "response",
+          GetClassName(method->output_type()));
     }
 
     std::string method_name = method->name();
@@ -284,6 +293,13 @@ void GenerateClientInterface(Printer* out, const ServiceDescriptor *service) {
         "methodname", method_name, "request_maybe",
         GetMethodRequestParamMaybe(method), "returntype",
         GetMethodReturnTypeClient(method));
+
+    // overload taking CallOptions as a param
+    out->Print(
+        "$returntype$ $methodname$($request_maybe$CallOptions options);\n",
+        "methodname", method_name, "request_maybe",
+        GetMethodRequestParamMaybe(method), "returntype",
+        GetMethodReturnTypeClient(method));
   }
   out->Outdent();
   out->Print("}\n");
@@ -340,10 +356,23 @@ void GenerateClientStub(Printer* out, const ServiceDescriptor *service) {
           GetClassName(method->output_type()));
       out->Print("{\n");
       out->Indent();
-      out->Print("var call = CreateCall($servicenamefield$, $methodfield$, headers, deadline);\n",
-                 "servicenamefield", GetServiceNameFieldName(), "methodfield",
-                 GetMethodFieldName(method));
-      out->Print("return Calls.BlockingUnaryCall(call, request, cancellationToken);\n");
+      out->Print("var call = CreateCall($methodfield$, new CallOptions(headers, deadline, cancellationToken));\n",
+                 "methodfield", GetMethodFieldName(method));
+      out->Print("return Calls.BlockingUnaryCall(call, request);\n");
+      out->Outdent();
+      out->Print("}\n");
+
+      // overload taking CallOptions as a param
+      out->Print(
+                "public $response$ $methodname$($request$ request, CallOptions options)\n",
+                "methodname", method->name(), "request",
+                GetClassName(method->input_type()), "response",
+                GetClassName(method->output_type()));
+      out->Print("{\n");
+      out->Indent();
+      out->Print("var call = CreateCall($methodfield$, options);\n",
+                 "methodfield", GetMethodFieldName(method));
+      out->Print("return Calls.BlockingUnaryCall(call, request);\n");
       out->Outdent();
       out->Print("}\n");
     }
@@ -359,26 +388,55 @@ void GenerateClientStub(Printer* out, const ServiceDescriptor *service) {
         GetMethodReturnTypeClient(method));
     out->Print("{\n");
     out->Indent();
-    out->Print("var call = CreateCall($servicenamefield$, $methodfield$, headers, deadline);\n",
-               "servicenamefield", GetServiceNameFieldName(), "methodfield",
-               GetMethodFieldName(method));
+    out->Print("var call = CreateCall($methodfield$, new CallOptions(headers, deadline, cancellationToken));\n",
+               "methodfield", GetMethodFieldName(method));
     switch (GetMethodType(method)) {
       case METHODTYPE_NO_STREAMING:
-        out->Print("return Calls.AsyncUnaryCall(call, request, cancellationToken);\n");
+        out->Print("return Calls.AsyncUnaryCall(call, request);\n");
         break;
       case METHODTYPE_CLIENT_STREAMING:
-        out->Print("return Calls.AsyncClientStreamingCall(call, cancellationToken);\n");
+        out->Print("return Calls.AsyncClientStreamingCall(call);\n");
         break;
       case METHODTYPE_SERVER_STREAMING:
         out->Print(
-            "return Calls.AsyncServerStreamingCall(call, request, cancellationToken);\n");
+            "return Calls.AsyncServerStreamingCall(call, request);\n");
         break;
       case METHODTYPE_BIDI_STREAMING:
-        out->Print("return Calls.AsyncDuplexStreamingCall(call, cancellationToken);\n");
+        out->Print("return Calls.AsyncDuplexStreamingCall(call);\n");
         break;
       default:
         GOOGLE_LOG(FATAL)<< "Can't get here.";
-      }
+    }
+    out->Outdent();
+    out->Print("}\n");
+
+    // overload taking CallOptions as a param
+    out->Print(
+        "public $returntype$ $methodname$($request_maybe$CallOptions options)\n",
+        "methodname", method_name, "request_maybe",
+        GetMethodRequestParamMaybe(method), "returntype",
+        GetMethodReturnTypeClient(method));
+    out->Print("{\n");
+    out->Indent();
+    out->Print("var call = CreateCall($methodfield$, options);\n",
+               "methodfield", GetMethodFieldName(method));
+    switch (GetMethodType(method)) {
+      case METHODTYPE_NO_STREAMING:
+        out->Print("return Calls.AsyncUnaryCall(call, request);\n");
+        break;
+      case METHODTYPE_CLIENT_STREAMING:
+        out->Print("return Calls.AsyncClientStreamingCall(call);\n");
+        break;
+      case METHODTYPE_SERVER_STREAMING:
+        out->Print(
+            "return Calls.AsyncServerStreamingCall(call, request);\n");
+        break;
+      case METHODTYPE_BIDI_STREAMING:
+        out->Print("return Calls.AsyncDuplexStreamingCall(call);\n");
+        break;
+      default:
+        GOOGLE_LOG(FATAL)<< "Can't get here.";
+    }
     out->Outdent();
     out->Print("}\n");
   }
diff --git a/src/core/channel/client_channel.c b/src/core/channel/client_channel.c
index 2cfca399b6d666947af6adef5a73303a3c6a9853..a293c93ec64b6fe361c811c8605b2176440b6ab1 100644
--- a/src/core/channel/client_channel.c
+++ b/src/core/channel/client_channel.c
@@ -56,6 +56,8 @@ typedef struct {
   grpc_mdctx *mdctx;
   /** resolver for this channel */
   grpc_resolver *resolver;
+  /** have we started resolving this channel */
+  int started_resolving;
   /** master channel - the grpc_channel instance that ultimately owns
       this channel_data via its channel stack.
       We occasionally use this to bump the refcount on the master channel
@@ -398,6 +400,13 @@ static void perform_transport_stream_op(grpc_call_element *elem,
           } else if (chand->resolver != NULL) {
             calld->state = CALL_WAITING_FOR_CONFIG;
             add_to_lb_policy_wait_queue_locked_state_config(elem);
+            if (!chand->started_resolving && chand->resolver != NULL) {
+              GRPC_CHANNEL_INTERNAL_REF(chand->master, "resolver");
+              chand->started_resolving = 1;
+              grpc_resolver_next(chand->resolver,
+                                 &chand->incoming_configuration,
+                                 &chand->on_config_changed);
+            }
             gpr_mu_unlock(&chand->mu_config);
             gpr_mu_unlock(&calld->mu_state);
           } else {
@@ -690,12 +699,18 @@ void grpc_client_channel_set_resolver(grpc_channel_stack *channel_stack,
   /* post construction initialization: set the transport setup pointer */
   grpc_channel_element *elem = grpc_channel_stack_last_element(channel_stack);
   channel_data *chand = elem->channel_data;
+  gpr_mu_lock(&chand->mu_config);
   GPR_ASSERT(!chand->resolver);
   chand->resolver = resolver;
-  GRPC_CHANNEL_INTERNAL_REF(chand->master, "resolver");
   GRPC_RESOLVER_REF(resolver, "channel");
-  grpc_resolver_next(resolver, &chand->incoming_configuration,
-                     &chand->on_config_changed);
+  if (chand->waiting_for_config_closures != NULL ||
+      chand->exit_idle_when_lb_policy_arrives) {
+    chand->started_resolving = 1;
+    GRPC_CHANNEL_INTERNAL_REF(chand->master, "resolver");
+    grpc_resolver_next(resolver, &chand->incoming_configuration,
+                       &chand->on_config_changed);
+  }
+  gpr_mu_unlock(&chand->mu_config);
 }
 
 grpc_connectivity_state grpc_client_channel_check_connectivity_state(
@@ -709,6 +724,12 @@ grpc_connectivity_state grpc_client_channel_check_connectivity_state(
       grpc_lb_policy_exit_idle(chand->lb_policy);
     } else {
       chand->exit_idle_when_lb_policy_arrives = 1;
+      if (!chand->started_resolving && chand->resolver != NULL) {
+        GRPC_CHANNEL_INTERNAL_REF(chand->master, "resolver");
+        chand->started_resolving = 1;
+        grpc_resolver_next(chand->resolver, &chand->incoming_configuration,
+                           &chand->on_config_changed);
+      }
     }
   }
   gpr_mu_unlock(&chand->mu_config);
diff --git a/src/core/surface/call.c b/src/core/surface/call.c
index 327a096ffbcdb32514af909f9689bfbf6080df13..d3e66e9c4cc657aadb5265317e61f4022395c0d3 100644
--- a/src/core/surface/call.c
+++ b/src/core/surface/call.c
@@ -143,6 +143,8 @@ typedef enum {
 struct grpc_call {
   grpc_completion_queue *cq;
   grpc_channel *channel;
+  grpc_call *parent;
+  grpc_call *first_child;
   grpc_mdctx *metadata_context;
   /* TODO(ctiller): share with cq if possible? */
   gpr_mu mu;
@@ -176,6 +178,8 @@ struct grpc_call {
   gpr_uint8 cancel_alarm;
   /** bitmask of allocated completion events in completions */
   gpr_uint8 allocated_completions;
+  /** flag indicating that cancellation is inherited */
+  gpr_uint8 cancellation_is_inherited;
 
   /* flags with bits corresponding to write states allowing us to determine
      what was sent */
@@ -267,6 +271,11 @@ struct grpc_call {
 
   /** completion events - for completion queue use */
   grpc_cq_completion completions[MAX_CONCURRENT_COMPLETIONS];
+
+  /** siblings: children of the same parent form a list, and this list is protected under
+      parent->mu */
+  grpc_call *sibling_next;
+  grpc_call *sibling_prev;
 };
 
 #define CALL_STACK_FROM_CALL(call) ((grpc_call_stack *)((call) + 1))
@@ -290,7 +299,9 @@ static void finished_loose_op(void *call, int success);
 static void lock(grpc_call *call);
 static void unlock(grpc_call *call);
 
-grpc_call *grpc_call_create(grpc_channel *channel, grpc_completion_queue *cq,
+grpc_call *grpc_call_create(grpc_channel *channel, grpc_call *parent_call,
+                            gpr_uint32 propagation_mask,
+                            grpc_completion_queue *cq,
                             const void *server_transport_data,
                             grpc_mdelem **add_initial_metadata,
                             size_t add_initial_metadata_count,
@@ -306,9 +317,10 @@ grpc_call *grpc_call_create(grpc_channel *channel, grpc_completion_queue *cq,
   gpr_mu_init(&call->completion_mu);
   call->channel = channel;
   call->cq = cq;
-  if (cq) {
+  if (cq != NULL) {
     GRPC_CQ_INTERNAL_REF(cq, "bind");
   }
+  call->parent = parent_call;
   call->is_client = server_transport_data == NULL;
   for (i = 0; i < GRPC_IOREQ_OP_COUNT; i++) {
     call->request_set[i] = REQSET_EMPTY;
@@ -347,6 +359,46 @@ grpc_call *grpc_call_create(grpc_channel *channel, grpc_completion_queue *cq,
   }
   grpc_call_stack_init(channel_stack, server_transport_data, initial_op_ptr,
                        CALL_STACK_FROM_CALL(call));
+  if (parent_call != NULL) {
+    GRPC_CALL_INTERNAL_REF(parent_call, "child");
+    GPR_ASSERT(call->is_client);
+    GPR_ASSERT(!parent_call->is_client);
+
+    gpr_mu_lock(&parent_call->mu);
+
+    if (propagation_mask & GRPC_PROPAGATE_DEADLINE) {
+      send_deadline = gpr_time_min(
+          gpr_convert_clock_type(send_deadline,
+                                 parent_call->send_deadline.clock_type),
+          parent_call->send_deadline);
+    }
+    /* for now GRPC_PROPAGATE_TRACING_CONTEXT *MUST* be passed with
+     * GRPC_PROPAGATE_STATS_CONTEXT */
+    /* TODO(ctiller): This should change to use the appropriate census start_op
+     * call. */
+    if (propagation_mask & GRPC_PROPAGATE_CENSUS_TRACING_CONTEXT) {
+      GPR_ASSERT(propagation_mask & GRPC_PROPAGATE_CENSUS_STATS_CONTEXT);
+      grpc_call_context_set(call, GRPC_CONTEXT_TRACING,
+                            parent_call->context[GRPC_CONTEXT_TRACING].value,
+                            NULL);
+    } else {
+      GPR_ASSERT(propagation_mask & GRPC_PROPAGATE_CENSUS_STATS_CONTEXT);
+    }
+    if (propagation_mask & GRPC_PROPAGATE_CANCELLATION) {
+      call->cancellation_is_inherited = 1;
+    }
+
+    if (parent_call->first_child == NULL) {
+      parent_call->first_child = call;
+      call->sibling_next = call->sibling_prev = call;
+    } else {
+      call->sibling_next = parent_call->first_child;
+      call->sibling_prev = parent_call->first_child->sibling_prev;
+      call->sibling_next->sibling_prev = call->sibling_prev->sibling_next = call;
+    }
+
+    gpr_mu_unlock(&parent_call->mu);
+  }
   if (gpr_time_cmp(send_deadline, gpr_inf_future(send_deadline.clock_type)) !=
       0) {
     set_deadline_alarm(call, send_deadline);
@@ -404,6 +456,20 @@ void grpc_call_internal_ref(grpc_call *c) {
 static void destroy_call(void *call, int ignored_success) {
   size_t i;
   grpc_call *c = call;
+  grpc_call *parent = c->parent;
+  if (parent) {
+    gpr_mu_lock(&parent->mu);
+    if (call == parent->first_child) {
+      parent->first_child = c->sibling_next;
+      if (c == parent->first_child) {
+        parent->first_child = NULL;
+      }
+      c->sibling_prev->sibling_next = c->sibling_next;
+      c->sibling_next->sibling_prev = c->sibling_prev;
+    }
+    gpr_mu_unlock(&parent->mu);
+    GRPC_CALL_INTERNAL_UNREF(parent, "child", 1);
+  }
   grpc_call_stack_destroy(CALL_STACK_FROM_CALL(c));
   GRPC_CHANNEL_INTERNAL_UNREF(c->channel, "call");
   gpr_mu_destroy(&c->mu);
@@ -870,6 +936,8 @@ static int add_slice_to_message(grpc_call *call, gpr_slice slice) {
 
 static void call_on_done_recv(void *pc, int success) {
   grpc_call *call = pc;
+  grpc_call *child_call;
+  grpc_call *next_child_call;
   size_t i;
   GRPC_TIMER_BEGIN(GRPC_PTAG_CALL_ON_DONE_RECV, 0);
   lock(call);
@@ -903,6 +971,19 @@ static void call_on_done_recv(void *pc, int success) {
       GPR_ASSERT(call->read_state <= READ_STATE_STREAM_CLOSED);
       call->read_state = READ_STATE_STREAM_CLOSED;
       call->cancel_alarm |= call->have_alarm;
+      /* propagate cancellation to any interested children */
+      child_call = call->first_child;
+      if (child_call != NULL) {
+        do {
+          next_child_call = child_call->sibling_next;
+          if (child_call->cancellation_is_inherited) {
+            GRPC_CALL_INTERNAL_REF(child_call, "propagate_cancel");
+            grpc_call_cancel(child_call);
+            GRPC_CALL_INTERNAL_UNREF(child_call, "propagate_cancel", 0);
+          }
+          child_call = next_child_call;
+        } while (child_call != call->first_child);
+      }
       GRPC_CALL_INTERNAL_UNREF(call, "closed", 0);
     }
     finish_read_ops(call);
@@ -1283,9 +1364,9 @@ static void set_deadline_alarm(grpc_call *call, gpr_timespec deadline) {
   }
   GRPC_CALL_INTERNAL_REF(call, "alarm");
   call->have_alarm = 1;
-  grpc_alarm_init(&call->alarm,
-                  gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC),
-                  call_alarm, call, gpr_now(GPR_CLOCK_MONOTONIC));
+  call->send_deadline = gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC);
+  grpc_alarm_init(&call->alarm, call->send_deadline, call_alarm, call,
+                  gpr_now(GPR_CLOCK_MONOTONIC));
 }
 
 /* we offset status by a small amount when storing it into transport metadata
@@ -1377,7 +1458,8 @@ static void recv_metadata(grpc_call *call, grpc_metadata_batch *md) {
     }
   }
   if (gpr_time_cmp(md->deadline, gpr_inf_future(md->deadline.clock_type)) !=
-      0) {
+          0 &&
+      !call->is_client) {
     set_deadline_alarm(call, md->deadline);
   }
   if (!is_trailing) {
@@ -1465,6 +1547,9 @@ grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops,
         if (!are_write_flags_valid(op->flags)) {
           return GRPC_CALL_ERROR_INVALID_FLAGS;
         }
+        if (op->data.send_message == NULL) {
+          return GRPC_CALL_ERROR_INVALID_MESSAGE;
+        }
         req = &reqs[out++];
         req->op = GRPC_IOREQ_SEND_MESSAGE;
         req->data.send_message = op->data.send_message;
@@ -1514,6 +1599,7 @@ grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops,
         req = &reqs[out++];
         req->op = GRPC_IOREQ_RECV_INITIAL_METADATA;
         req->data.recv_metadata = op->data.recv_initial_metadata;
+        req->data.recv_metadata->count = 0;
         req->flags = op->flags;
         break;
       case GRPC_OP_RECV_MESSAGE:
@@ -1545,6 +1631,7 @@ grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops,
         req->op = GRPC_IOREQ_RECV_TRAILING_METADATA;
         req->data.recv_metadata =
             op->data.recv_status_on_client.trailing_metadata;
+        req->data.recv_metadata->count = 0;
         req = &reqs[out++];
         req->op = GRPC_IOREQ_RECV_CLOSE;
         finish_func = finish_batch_with_close;
diff --git a/src/core/surface/call.h b/src/core/surface/call.h
index 265638d5196476abd0a65a57189d4df5b1193f0e..75bdbce980f914ee63de8198eb6137fdbc8ba9ef 100644
--- a/src/core/surface/call.h
+++ b/src/core/surface/call.h
@@ -85,7 +85,9 @@ typedef struct {
 typedef void (*grpc_ioreq_completion_func)(grpc_call *call, int success,
                                            void *user_data);
 
-grpc_call *grpc_call_create(grpc_channel *channel, grpc_completion_queue *cq,
+grpc_call *grpc_call_create(grpc_channel *channel, grpc_call *parent_call,
+                            gpr_uint32 propagation_mask,
+                            grpc_completion_queue *cq,
                             const void *server_transport_data,
                             grpc_mdelem **add_initial_metadata,
                             size_t add_initial_metadata_count,
diff --git a/src/core/surface/channel.c b/src/core/surface/channel.c
index 688a586e1899d738634f0967eb0551bc6f265e2c..8692aa3903032290ad820571ab1fcb2603d84487 100644
--- a/src/core/surface/channel.c
+++ b/src/core/surface/channel.c
@@ -146,7 +146,8 @@ char *grpc_channel_get_target(grpc_channel *channel) {
 }
 
 static grpc_call *grpc_channel_create_call_internal(
-    grpc_channel *channel, grpc_completion_queue *cq, grpc_mdelem *path_mdelem,
+    grpc_channel *channel, grpc_call *parent_call, gpr_uint32 propagation_mask,
+    grpc_completion_queue *cq, grpc_mdelem *path_mdelem,
     grpc_mdelem *authority_mdelem, gpr_timespec deadline) {
   grpc_mdelem *send_metadata[2];
   int num_metadata = 0;
@@ -158,16 +159,18 @@ static grpc_call *grpc_channel_create_call_internal(
     send_metadata[num_metadata++] = authority_mdelem;
   }
 
-  return grpc_call_create(channel, cq, NULL, send_metadata,
-                          num_metadata, deadline);
+  return grpc_call_create(channel, parent_call, propagation_mask, cq, NULL, 
+                          send_metadata, num_metadata, deadline);
 }
 
 grpc_call *grpc_channel_create_call(grpc_channel *channel,
+                                    grpc_call *parent_call,
+                                    gpr_uint32 propagation_mask,
                                     grpc_completion_queue *cq,
                                     const char *method, const char *host,
                                     gpr_timespec deadline) {
   return grpc_channel_create_call_internal(
-      channel, cq,
+      channel, parent_call, propagation_mask, cq,
       grpc_mdelem_from_metadata_strings(
           channel->metadata_context, GRPC_MDSTR_REF(channel->path_string),
           grpc_mdstr_from_string(channel->metadata_context, method, 0)),
@@ -195,11 +198,13 @@ void *grpc_channel_register_call(grpc_channel *channel, const char *method,
 }
 
 grpc_call *grpc_channel_create_registered_call(
-    grpc_channel *channel, grpc_completion_queue *completion_queue,
-    void *registered_call_handle, gpr_timespec deadline) {
+    grpc_channel *channel, grpc_call *parent_call, gpr_uint32 propagation_mask,
+    grpc_completion_queue *completion_queue, void *registered_call_handle,
+    gpr_timespec deadline) {
   registered_call *rc = registered_call_handle;
   return grpc_channel_create_call_internal(
-      channel, completion_queue, GRPC_MDELEM_REF(rc->path),
+      channel, parent_call, propagation_mask, completion_queue, 
+      GRPC_MDELEM_REF(rc->path), 
       rc->authority ? GRPC_MDELEM_REF(rc->authority) : NULL, deadline);
 }
 
diff --git a/src/core/surface/completion_queue.c b/src/core/surface/completion_queue.c
index 00429fac19f41f996b4db1febbde914e2ad0a073..36d69cfe5fee0f009f678d071bf262ce7d706569 100644
--- a/src/core/surface/completion_queue.c
+++ b/src/core/surface/completion_queue.c
@@ -114,6 +114,11 @@ void grpc_cq_internal_unref(grpc_completion_queue *cc) {
 }
 
 void grpc_cq_begin_op(grpc_completion_queue *cc) {
+#ifndef NDEBUG
+  gpr_mu_lock(GRPC_POLLSET_MU(&cc->pollset));
+  GPR_ASSERT(!cc->shutdown_called);
+  gpr_mu_unlock(GRPC_POLLSET_MU(&cc->pollset));
+#endif
   gpr_ref(&cc->pending_events);
 }
 
diff --git a/src/core/surface/server.c b/src/core/surface/server.c
index 29d893db710a1982b2c7e3aefd485c3039a87d76..cd1dc589e11722472efc7ca2185b3acfba6074ab 100644
--- a/src/core/surface/server.c
+++ b/src/core/surface/server.c
@@ -644,8 +644,8 @@ static void accept_stream(void *cd, grpc_transport *transport,
                           const void *transport_server_data) {
   channel_data *chand = cd;
   /* create a call */
-  grpc_call_create(chand->channel, NULL, transport_server_data, NULL, 0,
-                   gpr_inf_future(GPR_CLOCK_REALTIME));
+  grpc_call_create(chand->channel, NULL, 0, NULL, transport_server_data, NULL,
+                   0, gpr_inf_future(GPR_CLOCK_MONOTONIC));
 }
 
 static void channel_connectivity_changed(void *cd, int iomgr_status_ignored) {
diff --git a/src/cpp/client/channel.cc b/src/cpp/client/channel.cc
index 8bda1f473f3562d127cf1ccc40d4c30234084261..af7366eb01cab2ec974a92a1c2a8c3d94e4cf30b 100644
--- a/src/cpp/client/channel.cc
+++ b/src/cpp/client/channel.cc
@@ -62,16 +62,18 @@ Channel::~Channel() { grpc_channel_destroy(c_channel_); }
 Call Channel::CreateCall(const RpcMethod& method, ClientContext* context,
                          CompletionQueue* cq) {
   const char* host_str = host_.empty() ? NULL : host_.c_str();
-  auto c_call =
-      method.channel_tag() && context->authority().empty()
-          ? grpc_channel_create_registered_call(c_channel_, cq->cq(),
-                                                method.channel_tag(),
-                                                context->raw_deadline())
-          : grpc_channel_create_call(c_channel_, cq->cq(), method.name(),
-                                     context->authority().empty()
-                                         ? host_str
-                                         : context->authority().c_str(),
-                                     context->raw_deadline());
+  auto c_call = method.channel_tag() && context->authority().empty()
+                    ? grpc_channel_create_registered_call(
+                          c_channel_, context->propagate_from_call_,
+                          context->propagation_options_.c_bitmask(), cq->cq(),
+                          method.channel_tag(), context->raw_deadline())
+                    : grpc_channel_create_call(
+                          c_channel_, context->propagate_from_call_,
+                          context->propagation_options_.c_bitmask(), cq->cq(),
+                          method.name(), context->authority().empty()
+                                             ? host_str
+                                             : context->authority().c_str(),
+                          context->raw_deadline());
   grpc_census_call_set_context(c_call, context->census_context());
   GRPC_TIMER_MARK(GRPC_PTAG_CPP_CALL_CREATED, c_call);
   context->set_call(c_call, shared_from_this());
diff --git a/src/cpp/client/client_context.cc b/src/cpp/client/client_context.cc
index c38d0c1df694849663e0c0a5b933d6bf4e7f36ec..1ed2d389616e2a68ffa5b6a6eb09b0352f788e1b 100644
--- a/src/cpp/client/client_context.cc
+++ b/src/cpp/client/client_context.cc
@@ -37,6 +37,7 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/string_util.h>
 #include <grpc++/credentials.h>
+#include <grpc++/server_context.h>
 #include <grpc++/time.h>
 
 #include "src/core/channel/compress_filter.h"
@@ -48,7 +49,8 @@ ClientContext::ClientContext()
     : initial_metadata_received_(false),
       call_(nullptr),
       cq_(nullptr),
-      deadline_(gpr_inf_future(GPR_CLOCK_REALTIME)) {}
+      deadline_(gpr_inf_future(GPR_CLOCK_REALTIME)),
+      propagate_from_call_(nullptr) {}
 
 ClientContext::~ClientContext() {
   if (call_) {
@@ -64,6 +66,14 @@ ClientContext::~ClientContext() {
   }
 }
 
+std::unique_ptr<ClientContext> ClientContext::FromServerContext(
+    const ServerContext& context, PropagationOptions options) {
+  std::unique_ptr<ClientContext> ctx(new ClientContext);
+  ctx->propagate_from_call_ = context.call_;
+  ctx->propagation_options_ = options;
+  return ctx;
+}
+
 void ClientContext::AddMetadata(const grpc::string& meta_key,
                                 const grpc::string& meta_value) {
   send_initial_metadata_.insert(std::make_pair(meta_key, meta_value));
diff --git a/src/csharp/Grpc.Core.Tests/ClientServerTest.cs b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs
index bf7cc3fbf31c86c32466112fe2f7d9a88d07f821..64ea21800fd55fd3ceebea7a570838aac2e130b4 100644
--- a/src/csharp/Grpc.Core.Tests/ClientServerTest.cs
+++ b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs
@@ -46,23 +46,26 @@ namespace Grpc.Core.Tests
     public class ClientServerTest
     {
         const string Host = "127.0.0.1";
-        const string ServiceName = "/tests.Test";
+        const string ServiceName = "tests.Test";
 
         static readonly Method<string, string> EchoMethod = new Method<string, string>(
             MethodType.Unary,
-            "/tests.Test/Echo",
+            ServiceName,
+            "Echo",
             Marshallers.StringMarshaller,
             Marshallers.StringMarshaller);
 
         static readonly Method<string, string> ConcatAndEchoMethod = new Method<string, string>(
             MethodType.ClientStreaming,
-            "/tests.Test/ConcatAndEcho",
+            ServiceName,
+            "ConcatAndEcho",
             Marshallers.StringMarshaller,
             Marshallers.StringMarshaller);
 
         static readonly Method<string, string> NonexistentMethod = new Method<string, string>(
             MethodType.Unary,
-            "/tests.Test/NonexistentMethod",
+            ServiceName,
+            "NonexistentMethod",
             Marshallers.StringMarshaller,
             Marshallers.StringMarshaller);
 
@@ -102,17 +105,17 @@ namespace Grpc.Core.Tests
         [Test]
         public void UnaryCall()
         {
-            var internalCall = new Call<string, string>(ServiceName, EchoMethod, channel, Metadata.Empty);
-            Assert.AreEqual("ABC", Calls.BlockingUnaryCall(internalCall, "ABC", CancellationToken.None));
+            var callDetails = new CallInvocationDetails<string, string>(channel, EchoMethod, new CallOptions());
+            Assert.AreEqual("ABC", Calls.BlockingUnaryCall(callDetails, "ABC"));
         }
 
         [Test]
         public void UnaryCall_ServerHandlerThrows()
         {
-            var internalCall = new Call<string, string>(ServiceName, EchoMethod, channel, Metadata.Empty);
+            var callDetails = new CallInvocationDetails<string, string>(channel, EchoMethod, new CallOptions());
             try
             {
-                Calls.BlockingUnaryCall(internalCall, "THROW", CancellationToken.None);
+                Calls.BlockingUnaryCall(callDetails, "THROW");
                 Assert.Fail();
             }
             catch (RpcException e)
@@ -124,10 +127,10 @@ namespace Grpc.Core.Tests
         [Test]
         public void UnaryCall_ServerHandlerThrowsRpcException()
         {
-            var internalCall = new Call<string, string>(ServiceName, EchoMethod, channel, Metadata.Empty);
+            var callDetails = new CallInvocationDetails<string, string>(channel, EchoMethod, new CallOptions());
             try
             {
-                Calls.BlockingUnaryCall(internalCall, "THROW_UNAUTHENTICATED", CancellationToken.None);
+                Calls.BlockingUnaryCall(callDetails, "THROW_UNAUTHENTICATED");
                 Assert.Fail();
             }
             catch (RpcException e)
@@ -139,10 +142,10 @@ namespace Grpc.Core.Tests
         [Test]
         public void UnaryCall_ServerHandlerSetsStatus()
         {
-            var internalCall = new Call<string, string>(ServiceName, EchoMethod, channel, Metadata.Empty);
+            var callDetails = new CallInvocationDetails<string, string>(channel, EchoMethod, new CallOptions());
             try
             {
-                Calls.BlockingUnaryCall(internalCall, "SET_UNAUTHENTICATED", CancellationToken.None);
+                Calls.BlockingUnaryCall(callDetails, "SET_UNAUTHENTICATED");
                 Assert.Fail();
             }
             catch (RpcException e)
@@ -152,20 +155,20 @@ namespace Grpc.Core.Tests
         }
 
         [Test]
-        public void AsyncUnaryCall()
+        public async Task AsyncUnaryCall()
         {
-            var internalCall = new Call<string, string>(ServiceName, EchoMethod, channel, Metadata.Empty);
-            var result = Calls.AsyncUnaryCall(internalCall, "ABC", CancellationToken.None).ResponseAsync.Result;
+            var callDetails = new CallInvocationDetails<string, string>(channel, EchoMethod, new CallOptions());
+            var result = await Calls.AsyncUnaryCall(callDetails, "ABC");
             Assert.AreEqual("ABC", result);
         }
 
         [Test]
         public async Task AsyncUnaryCall_ServerHandlerThrows()
         {
-            var internalCall = new Call<string, string>(ServiceName, EchoMethod, channel, Metadata.Empty);
+            var callDetails = new CallInvocationDetails<string, string>(channel, EchoMethod, new CallOptions());
             try
             {
-                await Calls.AsyncUnaryCall(internalCall, "THROW", CancellationToken.None);
+                await Calls.AsyncUnaryCall(callDetails, "THROW");
                 Assert.Fail();
             }
             catch (RpcException e)
@@ -177,8 +180,8 @@ namespace Grpc.Core.Tests
         [Test]
         public async Task ClientStreamingCall()
         {
-            var internalCall = new Call<string, string>(ServiceName, ConcatAndEchoMethod, channel, Metadata.Empty);
-            var call = Calls.AsyncClientStreamingCall(internalCall, CancellationToken.None);
+            var callDetails = new CallInvocationDetails<string, string>(channel, ConcatAndEchoMethod, new CallOptions());
+            var call = Calls.AsyncClientStreamingCall(callDetails);
 
             await call.RequestStream.WriteAll(new string[] { "A", "B", "C" });
             Assert.AreEqual("ABC", await call.ResponseAsync);
@@ -187,10 +190,9 @@ namespace Grpc.Core.Tests
         [Test]
         public async Task ClientStreamingCall_CancelAfterBegin()
         {
-            var internalCall = new Call<string, string>(ServiceName, ConcatAndEchoMethod, channel, Metadata.Empty);
-
             var cts = new CancellationTokenSource();
-            var call = Calls.AsyncClientStreamingCall(internalCall, cts.Token);
+            var callDetails = new CallInvocationDetails<string, string>(channel, ConcatAndEchoMethod, new CallOptions(cancellationToken: cts.Token));
+            var call = Calls.AsyncClientStreamingCall(callDetails);
 
             // TODO(jtattermusch): we need this to ensure call has been initiated once we cancel it.
             await Task.Delay(1000);
@@ -214,8 +216,8 @@ namespace Grpc.Core.Tests
                 new Metadata.Entry("ascii-header", "abcdefg"),
                 new Metadata.Entry("binary-header-bin", new byte[] { 1, 2, 3, 0, 0xff }),
             };
-            var internalCall = new Call<string, string>(ServiceName, EchoMethod, channel, headers);
-            var call = Calls.AsyncUnaryCall(internalCall, "ABC", CancellationToken.None);
+            var callDetails = new CallInvocationDetails<string, string>(channel, EchoMethod, new CallOptions(headers: headers));
+            var call = Calls.AsyncUnaryCall(callDetails, "ABC");
 
             Assert.AreEqual("ABC", call.ResponseAsync.Result);
 
@@ -235,25 +237,25 @@ namespace Grpc.Core.Tests
         {
             channel.Dispose();
 
-            var internalCall = new Call<string, string>(ServiceName, EchoMethod, channel, Metadata.Empty);
-            Assert.Throws(typeof(ObjectDisposedException), () => Calls.BlockingUnaryCall(internalCall, "ABC", CancellationToken.None));
+            var callDetails = new CallInvocationDetails<string, string>(channel, EchoMethod, new CallOptions());
+            Assert.Throws(typeof(ObjectDisposedException), () => Calls.BlockingUnaryCall(callDetails, "ABC"));
         }
 
         [Test]
         public void UnaryCallPerformance()
         {
-            var internalCall = new Call<string, string>(ServiceName, EchoMethod, channel, Metadata.Empty);
+            var callDetails = new CallInvocationDetails<string, string>(channel, EchoMethod, new CallOptions());
             BenchmarkUtil.RunBenchmark(100, 100,
-                                       () => { Calls.BlockingUnaryCall(internalCall, "ABC", default(CancellationToken)); });
+                                       () => { Calls.BlockingUnaryCall(callDetails, "ABC"); });
         }
             
         [Test]
         public void UnknownMethodHandler()
         {
-            var internalCall = new Call<string, string>(ServiceName, NonexistentMethod, channel, Metadata.Empty);
+            var callDetails = new CallInvocationDetails<string, string>(channel, NonexistentMethod, new CallOptions());
             try
             {
-                Calls.BlockingUnaryCall(internalCall, "ABC", default(CancellationToken));
+                Calls.BlockingUnaryCall(callDetails, "ABC");
                 Assert.Fail();
             }
             catch (RpcException e)
@@ -265,16 +267,16 @@ namespace Grpc.Core.Tests
         [Test]
         public void UserAgentStringPresent()
         {
-            var internalCall = new Call<string, string>(ServiceName, EchoMethod, channel, Metadata.Empty);
-            string userAgent = Calls.BlockingUnaryCall(internalCall, "RETURN-USER-AGENT", CancellationToken.None);
+            var callDetails = new CallInvocationDetails<string, string>(channel, EchoMethod, new CallOptions());
+            string userAgent = Calls.BlockingUnaryCall(callDetails, "RETURN-USER-AGENT");
             Assert.IsTrue(userAgent.StartsWith("grpc-csharp/"));
         }
 
         [Test]
         public void PeerInfoPresent()
         {
-            var internalCall = new Call<string, string>(ServiceName, EchoMethod, channel, Metadata.Empty);
-            string peer = Calls.BlockingUnaryCall(internalCall, "RETURN-PEER", CancellationToken.None);
+            var callDetails = new CallInvocationDetails<string, string>(channel, EchoMethod, new CallOptions());
+            string peer = Calls.BlockingUnaryCall(callDetails, "RETURN-PEER");
             Assert.IsTrue(peer.Contains(Host));
         }
 
@@ -286,8 +288,8 @@ namespace Grpc.Core.Tests
 
             var stateChangedTask = channel.WaitForStateChangedAsync(channel.State);
 
-            var internalCall = new Call<string, string>(ServiceName, EchoMethod, channel, Metadata.Empty);
-            await Calls.AsyncUnaryCall(internalCall, "abc", CancellationToken.None);
+            var callDetails = new CallInvocationDetails<string, string>(channel, EchoMethod, new CallOptions());
+            await Calls.AsyncUnaryCall(callDetails, "abc");
 
             await stateChangedTask;
             Assert.AreEqual(ChannelState.Ready, channel.State);
diff --git a/src/csharp/Grpc.Core.Tests/TimeoutsTest.cs b/src/csharp/Grpc.Core.Tests/TimeoutsTest.cs
index d84801fbacea93fdeaacd9d1c1e37b6e110e962e..fc395b0acdab7b6451ce3518e4205a63a0ac3d44 100644
--- a/src/csharp/Grpc.Core.Tests/TimeoutsTest.cs
+++ b/src/csharp/Grpc.Core.Tests/TimeoutsTest.cs
@@ -49,11 +49,12 @@ namespace Grpc.Core.Tests
     public class TimeoutsTest
     {
         const string Host = "localhost";
-        const string ServiceName = "/tests.Test";
+        const string ServiceName = "tests.Test";
 
         static readonly Method<string, string> TestMethod = new Method<string, string>(
             MethodType.Unary,
-            "/tests.Test/Test",
+            ServiceName,
+            "Test",
             Marshallers.StringMarshaller,
             Marshallers.StringMarshaller);
 
@@ -98,12 +99,12 @@ namespace Grpc.Core.Tests
         public void InfiniteDeadline()
         {
             // no deadline specified, check server sees infinite deadline
-            var internalCall = new Call<string, string>(ServiceName, TestMethod, channel, Metadata.Empty);
-            Assert.AreEqual("DATETIME_MAXVALUE", Calls.BlockingUnaryCall(internalCall, "RETURN_DEADLINE", CancellationToken.None));
+            var callDetails = new CallInvocationDetails<string, string>(channel, TestMethod, new CallOptions());
+            Assert.AreEqual("DATETIME_MAXVALUE", Calls.BlockingUnaryCall(callDetails, "RETURN_DEADLINE"));
 
             // DateTime.MaxValue deadline specified, check server sees infinite deadline
-            var internalCall2 = new Call<string, string>(ServiceName, TestMethod, channel, Metadata.Empty, DateTime.MaxValue);
-            Assert.AreEqual("DATETIME_MAXVALUE", Calls.BlockingUnaryCall(internalCall2, "RETURN_DEADLINE", CancellationToken.None));
+            var callDetails2 = new CallInvocationDetails<string, string>(channel, TestMethod, new CallOptions());
+            Assert.AreEqual("DATETIME_MAXVALUE", Calls.BlockingUnaryCall(callDetails2, "RETURN_DEADLINE"));
         }
 
         [Test]
@@ -112,9 +113,9 @@ namespace Grpc.Core.Tests
             var remainingTimeClient = TimeSpan.FromDays(7);
             var deadline = DateTime.UtcNow + remainingTimeClient;
             Thread.Sleep(1000);
-            var internalCall = new Call<string, string>(ServiceName, TestMethod, channel, Metadata.Empty, deadline);
+            var callDetails = new CallInvocationDetails<string, string>(channel, TestMethod, new CallOptions(deadline: deadline));
 
-            var serverDeadlineTicksString = Calls.BlockingUnaryCall(internalCall, "RETURN_DEADLINE", CancellationToken.None);
+            var serverDeadlineTicksString = Calls.BlockingUnaryCall(callDetails, "RETURN_DEADLINE");
             var serverDeadline = new DateTime(long.Parse(serverDeadlineTicksString), DateTimeKind.Utc);
 
             // A fairly relaxed check that the deadline set by client and deadline seen by server
@@ -126,12 +127,11 @@ namespace Grpc.Core.Tests
         [Test]
         public void DeadlineInThePast()
         {
-            var deadline = DateTime.MinValue;
-            var internalCall = new Call<string, string>(ServiceName, TestMethod, channel, Metadata.Empty, deadline);
+            var callDetails = new CallInvocationDetails<string, string>(channel, TestMethod, new CallOptions(deadline: DateTime.MinValue));
 
             try
             {
-                Calls.BlockingUnaryCall(internalCall, "TIMEOUT", CancellationToken.None);
+                Calls.BlockingUnaryCall(callDetails, "TIMEOUT");
                 Assert.Fail();
             }
             catch (RpcException e)
@@ -145,11 +145,11 @@ namespace Grpc.Core.Tests
         public void DeadlineExceededStatusOnTimeout()
         {
             var deadline = DateTime.UtcNow.Add(TimeSpan.FromSeconds(5));
-            var internalCall = new Call<string, string>(ServiceName, TestMethod, channel, Metadata.Empty, deadline);
+            var callDetails = new CallInvocationDetails<string, string>(channel, TestMethod, new CallOptions(deadline: deadline));
 
             try
             {
-                Calls.BlockingUnaryCall(internalCall, "TIMEOUT", CancellationToken.None);
+                Calls.BlockingUnaryCall(callDetails, "TIMEOUT");
                 Assert.Fail();
             }
             catch (RpcException e)
@@ -163,11 +163,11 @@ namespace Grpc.Core.Tests
         public void ServerReceivesCancellationOnTimeout()
         {
             var deadline = DateTime.UtcNow.Add(TimeSpan.FromSeconds(5));
-            var internalCall = new Call<string, string>(ServiceName, TestMethod, channel, Metadata.Empty, deadline);
+            var callDetails = new CallInvocationDetails<string, string>(channel, TestMethod, new CallOptions(deadline: deadline));
 
             try
             {
-                Calls.BlockingUnaryCall(internalCall, "CHECK_CANCELLATION_RECEIVED", CancellationToken.None);
+                Calls.BlockingUnaryCall(callDetails, "CHECK_CANCELLATION_RECEIVED");
                 Assert.Fail();
             }
             catch (RpcException e)
diff --git a/src/csharp/Grpc.Core/Call.cs b/src/csharp/Grpc.Core/CallInvocationDetails.cs
similarity index 66%
rename from src/csharp/Grpc.Core/Call.cs
rename to src/csharp/Grpc.Core/CallInvocationDetails.cs
index 94c5e26082264f720a367d1263ad715416bae536..eb23a3a209ba2ce9e74514fc6f54eed809520042 100644
--- a/src/csharp/Grpc.Core/Call.cs
+++ b/src/csharp/Grpc.Core/CallInvocationDetails.cs
@@ -38,30 +38,30 @@ using Grpc.Core.Utils;
 namespace Grpc.Core
 {
     /// <summary>
-    /// Abstraction of a call to be invoked on a client.
+    /// Details about a client-side call to be invoked.
     /// </summary>
-    public class Call<TRequest, TResponse>
+    public class CallInvocationDetails<TRequest, TResponse>
     {
-        readonly string name;
+        readonly Channel channel;
+        readonly string method;
+        readonly string host;
         readonly Marshaller<TRequest> requestMarshaller;
         readonly Marshaller<TResponse> responseMarshaller;
-        readonly Channel channel;
-        readonly Metadata headers;
-        readonly DateTime deadline;
+        readonly CallOptions options;
 
-        public Call(string serviceName, Method<TRequest, TResponse> method, Channel channel, Metadata headers)
-            : this(serviceName, method, channel, headers, DateTime.MaxValue)
+        public CallInvocationDetails(Channel channel, Method<TRequest, TResponse> method, CallOptions options) :
+            this(channel, method.FullName, null, method.RequestMarshaller, method.ResponseMarshaller, options)
         {
         }
 
-        public Call(string serviceName, Method<TRequest, TResponse> method, Channel channel, Metadata headers, DateTime deadline)
+        public CallInvocationDetails(Channel channel, string method, string host, Marshaller<TRequest> requestMarshaller, Marshaller<TResponse> responseMarshaller, CallOptions options)
         {
-            this.name = method.GetFullName(serviceName);
-            this.requestMarshaller = method.RequestMarshaller;
-            this.responseMarshaller = method.ResponseMarshaller;
             this.channel = Preconditions.CheckNotNull(channel);
-            this.headers = Preconditions.CheckNotNull(headers);
-            this.deadline = deadline;
+            this.method = Preconditions.CheckNotNull(method);
+            this.host = host;
+            this.requestMarshaller = Preconditions.CheckNotNull(requestMarshaller);
+            this.responseMarshaller = Preconditions.CheckNotNull(responseMarshaller);
+            this.options = Preconditions.CheckNotNull(options);
         }
 
         public Channel Channel
@@ -72,49 +72,43 @@ namespace Grpc.Core
             }
         }
 
-        /// <summary>
-        /// Full methods name including the service name.
-        /// </summary>
-        public string Name
+        public string Method
         {
             get
             {
-                return name;
+                return this.method;
             }
         }
 
-        /// <summary>
-        /// Headers to send at the beginning of the call.
-        /// </summary>
-        public Metadata Headers
+        public string Host
         {
             get
             {
-                return headers;
+                return this.host;
             }
         }
 
-        public DateTime Deadline
+        public Marshaller<TRequest> RequestMarshaller
         {
             get
             {
-                return this.deadline;
+                return this.requestMarshaller;
             }
         }
 
-        public Marshaller<TRequest> RequestMarshaller
+        public Marshaller<TResponse> ResponseMarshaller
         {
             get
             {
-                return requestMarshaller;
+                return this.responseMarshaller;
             }
         }
-
-        public Marshaller<TResponse> ResponseMarshaller
+            
+        public CallOptions Options
         {
             get
             {
-                return responseMarshaller;
+                return options;
             }
         }
     }
diff --git a/src/csharp/Grpc.Core/CallOptions.cs b/src/csharp/Grpc.Core/CallOptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8e9739335f0200b74e76b15baf8ce40c0694a0c1
--- /dev/null
+++ b/src/csharp/Grpc.Core/CallOptions.cs
@@ -0,0 +1,89 @@
+#region Copyright notice and license
+
+// 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.
+
+#endregion
+
+using System;
+using System.Threading;
+
+using Grpc.Core.Internal;
+using Grpc.Core.Utils;
+
+namespace Grpc.Core
+{
+    /// <summary>
+    /// Options for calls made by client.
+    /// </summary>
+    public class CallOptions
+    {
+        readonly Metadata headers;
+        readonly DateTime deadline;
+        readonly CancellationToken cancellationToken;
+
+        /// <summary>
+        /// Creates a new instance of <c>CallOptions</c>.
+        /// </summary>
+        /// <param name="headers">Headers to be sent with the call.</param>
+        /// <param name="deadline">Deadline for the call to finish. null means no deadline.</param>
+        /// <param name="cancellationToken">Can be used to request cancellation of the call.</param>
+        public CallOptions(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
+        {
+            // TODO(jtattermusch): consider only creating metadata object once it's really needed.
+            this.headers = headers != null ? headers : new Metadata();
+            this.deadline = deadline.HasValue ? deadline.Value : DateTime.MaxValue;
+            this.cancellationToken = cancellationToken;
+        }
+
+        /// <summary>
+        /// Headers to send at the beginning of the call.
+        /// </summary>
+        public Metadata Headers
+        {
+            get { return headers; }
+        }
+
+        /// <summary>
+        /// Call deadline.
+        /// </summary>
+        public DateTime Deadline
+        {
+            get { return deadline; }
+        }
+
+        /// <summary>
+        /// Token that can be used for cancelling the call.
+        /// </summary>
+        public CancellationToken CancellationToken
+        {
+            get { return cancellationToken; }
+        }
+    }
+}
diff --git a/src/csharp/Grpc.Core/Calls.cs b/src/csharp/Grpc.Core/Calls.cs
index 054fc2749170516f4c4ead69ea0439a4e18815c0..00a8cabf82a364958d125f0d697b97333f934ecd 100644
--- a/src/csharp/Grpc.Core/Calls.cs
+++ b/src/csharp/Grpc.Core/Calls.cs
@@ -43,70 +43,52 @@ namespace Grpc.Core
     /// </summary>
     public static class Calls
     {
-        public static TResponse BlockingUnaryCall<TRequest, TResponse>(Call<TRequest, TResponse> call, TRequest req, CancellationToken token)
+        public static TResponse BlockingUnaryCall<TRequest, TResponse>(CallInvocationDetails<TRequest, TResponse> call, TRequest req)
             where TRequest : class
             where TResponse : class
         {
-            var asyncCall = new AsyncCall<TRequest, TResponse>(call.RequestMarshaller.Serializer, call.ResponseMarshaller.Deserializer);
-            // TODO(jtattermusch): this gives a race that cancellation can be requested before the call even starts.
-            RegisterCancellationCallback(asyncCall, token);
-            return asyncCall.UnaryCall(call.Channel, call.Name, req, call.Headers, call.Deadline);
+            var asyncCall = new AsyncCall<TRequest, TResponse>(call);
+            return asyncCall.UnaryCall(req);
         }
 
-        public static AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Call<TRequest, TResponse> call, TRequest req, CancellationToken token)
+        public static AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(CallInvocationDetails<TRequest, TResponse> call, TRequest req)
             where TRequest : class
             where TResponse : class
         {
-            var asyncCall = new AsyncCall<TRequest, TResponse>(call.RequestMarshaller.Serializer, call.ResponseMarshaller.Deserializer);
-            asyncCall.Initialize(call.Channel, call.Channel.CompletionQueue, call.Name, Timespec.FromDateTime(call.Deadline));
-            var asyncResult = asyncCall.UnaryCallAsync(req, call.Headers, call.Deadline);
-            RegisterCancellationCallback(asyncCall, token);
+            var asyncCall = new AsyncCall<TRequest, TResponse>(call);
+            var asyncResult = asyncCall.UnaryCallAsync(req);
             return new AsyncUnaryCall<TResponse>(asyncResult, asyncCall.GetStatus, asyncCall.GetTrailers, asyncCall.Cancel);
         }
 
-        public static AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(Call<TRequest, TResponse> call, TRequest req, CancellationToken token)
+        public static AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(CallInvocationDetails<TRequest, TResponse> call, TRequest req)
             where TRequest : class
             where TResponse : class
         {
-            var asyncCall = new AsyncCall<TRequest, TResponse>(call.RequestMarshaller.Serializer, call.ResponseMarshaller.Deserializer);
-            asyncCall.Initialize(call.Channel, call.Channel.CompletionQueue, call.Name, Timespec.FromDateTime(call.Deadline));
-            asyncCall.StartServerStreamingCall(req, call.Headers, call.Deadline);
-            RegisterCancellationCallback(asyncCall, token);
+            var asyncCall = new AsyncCall<TRequest, TResponse>(call);
+            asyncCall.StartServerStreamingCall(req);
             var responseStream = new ClientResponseStream<TRequest, TResponse>(asyncCall);
             return new AsyncServerStreamingCall<TResponse>(responseStream, asyncCall.GetStatus, asyncCall.GetTrailers, asyncCall.Cancel);
         }
 
-        public static AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(Call<TRequest, TResponse> call, CancellationToken token)
+        public static AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(CallInvocationDetails<TRequest, TResponse> call)
             where TRequest : class
             where TResponse : class
         {
-            var asyncCall = new AsyncCall<TRequest, TResponse>(call.RequestMarshaller.Serializer, call.ResponseMarshaller.Deserializer);
-            asyncCall.Initialize(call.Channel, call.Channel.CompletionQueue, call.Name, Timespec.FromDateTime(call.Deadline));
-            var resultTask = asyncCall.ClientStreamingCallAsync(call.Headers, call.Deadline);
-            RegisterCancellationCallback(asyncCall, token);
+            var asyncCall = new AsyncCall<TRequest, TResponse>(call);
+            var resultTask = asyncCall.ClientStreamingCallAsync();
             var requestStream = new ClientRequestStream<TRequest, TResponse>(asyncCall);
             return new AsyncClientStreamingCall<TRequest, TResponse>(requestStream, resultTask, asyncCall.GetStatus, asyncCall.GetTrailers, asyncCall.Cancel);
         }
 
-        public static AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Call<TRequest, TResponse> call, CancellationToken token)
+        public static AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(CallInvocationDetails<TRequest, TResponse> call)
             where TRequest : class
             where TResponse : class
         {
-            var asyncCall = new AsyncCall<TRequest, TResponse>(call.RequestMarshaller.Serializer, call.ResponseMarshaller.Deserializer);
-            asyncCall.Initialize(call.Channel, call.Channel.CompletionQueue, call.Name, Timespec.FromDateTime(call.Deadline));
-            asyncCall.StartDuplexStreamingCall(call.Headers, call.Deadline);
-            RegisterCancellationCallback(asyncCall, token);
+            var asyncCall = new AsyncCall<TRequest, TResponse>(call);
+            asyncCall.StartDuplexStreamingCall();
             var requestStream = new ClientRequestStream<TRequest, TResponse>(asyncCall);
             var responseStream = new ClientResponseStream<TRequest, TResponse>(asyncCall);
             return new AsyncDuplexStreamingCall<TRequest, TResponse>(requestStream, responseStream, asyncCall.GetStatus, asyncCall.GetTrailers, asyncCall.Cancel);
         }
-
-        private static void RegisterCancellationCallback<TRequest, TResponse>(AsyncCall<TRequest, TResponse> asyncCall, CancellationToken token)
-        {
-            if (token.CanBeCanceled)
-            {
-                token.Register(() => asyncCall.Cancel());
-            }
-        }
     }
 }
diff --git a/src/csharp/Grpc.Core/Channel.cs b/src/csharp/Grpc.Core/Channel.cs
index 0b696104438978eff78e35f3f9d98414355b573b..9273ea4582c2853c738b8c62798ac42ce46f56a3 100644
--- a/src/csharp/Grpc.Core/Channel.cs
+++ b/src/csharp/Grpc.Core/Channel.cs
@@ -178,22 +178,6 @@ namespace Grpc.Core
             }
         }
 
-        internal CompletionQueueSafeHandle CompletionQueue
-        {
-            get
-            {
-                return this.environment.CompletionQueue;
-            }
-        }
-
-        internal CompletionRegistry CompletionRegistry
-        {
-            get
-            {
-                return this.environment.CompletionRegistry;
-            }
-        }
-
         internal GrpcEnvironment Environment
         {
             get
diff --git a/src/csharp/Grpc.Core/ClientBase.cs b/src/csharp/Grpc.Core/ClientBase.cs
index fd3473128a975faebfc99fc59cdd75f5cb3a4dd6..88494bb4ac8041b2f6ad94d57e94d60a1066d075 100644
--- a/src/csharp/Grpc.Core/ClientBase.cs
+++ b/src/csharp/Grpc.Core/ClientBase.cs
@@ -76,19 +76,17 @@ namespace Grpc.Core
         /// <summary>
         /// Creates a new call to given method.
         /// </summary>
-        protected Call<TRequest, TResponse> CreateCall<TRequest, TResponse>(string serviceName, Method<TRequest, TResponse> method, Metadata metadata, DateTime? deadline)
+        protected CallInvocationDetails<TRequest, TResponse> CreateCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options)
             where TRequest : class
             where TResponse : class
         {
             var interceptor = HeaderInterceptor;
             if (interceptor != null)
             {
-                metadata = metadata ?? new Metadata();
-                interceptor(metadata);
-                metadata.Freeze();
+                interceptor(options.Headers);
+                options.Headers.Freeze();
             }
-            return new Call<TRequest, TResponse>(serviceName, method, channel,
-                    metadata ?? Metadata.Empty, deadline ?? DateTime.MaxValue);
+            return new CallInvocationDetails<TRequest, TResponse>(channel, method, options);
         }
     }
 }
diff --git a/src/csharp/Grpc.Core/Grpc.Core.csproj b/src/csharp/Grpc.Core/Grpc.Core.csproj
index 17add7716498d7a19bb7e5006a40bc20f20b7a04..52defd1965c247ed4110564f7e562f7ec47581ad 100644
--- a/src/csharp/Grpc.Core/Grpc.Core.csproj
+++ b/src/csharp/Grpc.Core/Grpc.Core.csproj
@@ -57,7 +57,6 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="RpcException.cs" />
     <Compile Include="Calls.cs" />
-    <Compile Include="Call.cs" />
     <Compile Include="AsyncClientStreamingCall.cs" />
     <Compile Include="GrpcEnvironment.cs" />
     <Compile Include="Status.cs" />
@@ -114,6 +113,8 @@
     <Compile Include="Logging\ConsoleLogger.cs" />
     <Compile Include="Internal\NativeLogRedirector.cs" />
     <Compile Include="ChannelState.cs" />
+    <Compile Include="CallInvocationDetails.cs" />
+    <Compile Include="CallOptions.cs" />
   </ItemGroup>
   <ItemGroup>
     <None Include="Grpc.Core.nuspec" />
diff --git a/src/csharp/Grpc.Core/Internal/AsyncCall.cs b/src/csharp/Grpc.Core/Internal/AsyncCall.cs
index 48f466460f5a22cce6061443fd51b44b5e5329f7..414b5c428202f61720106d05e30c88204f101635 100644
--- a/src/csharp/Grpc.Core/Internal/AsyncCall.cs
+++ b/src/csharp/Grpc.Core/Internal/AsyncCall.cs
@@ -50,7 +50,7 @@ namespace Grpc.Core.Internal
     {
         static readonly ILogger Logger = GrpcEnvironment.Logger.ForType<AsyncCall<TRequest, TResponse>>();
 
-        Channel channel;
+        readonly CallInvocationDetails<TRequest, TResponse> callDetails;
 
         // Completion of a pending unary response if not null.
         TaskCompletionSource<TResponse> unaryResponseTcs;
@@ -60,26 +60,18 @@ namespace Grpc.Core.Internal
 
         bool readObserverCompleted;  // True if readObserver has already been completed.
 
-        public AsyncCall(Func<TRequest, byte[]> serializer, Func<byte[], TResponse> deserializer) : base(serializer, deserializer)
+        public AsyncCall(CallInvocationDetails<TRequest, TResponse> callDetails)
+            : base(callDetails.RequestMarshaller.Serializer, callDetails.ResponseMarshaller.Deserializer)
         {
-        }
-
-        public void Initialize(Channel channel, CompletionQueueSafeHandle cq, string methodName, Timespec deadline)
-        {
-            this.channel = channel;
-            var call = channel.Handle.CreateCall(channel.CompletionRegistry, cq, methodName, null, deadline);
-            channel.Environment.DebugStats.ActiveClientCalls.Increment();
-            InitializeInternal(call);
+            this.callDetails = callDetails;
         }
 
         // TODO: this method is not Async, so it shouldn't be in AsyncCall class, but 
         // it is reusing fair amount of code in this class, so we are leaving it here.
-        // TODO: for other calls, you need to call Initialize, this methods calls initialize 
-        // on its own, so there's a usage inconsistency.
         /// <summary>
         /// Blocking unary request - unary response call.
         /// </summary>
-        public TResponse UnaryCall(Channel channel, string methodName, TRequest msg, Metadata headers, DateTime deadline)
+        public TResponse UnaryCall(TRequest msg)
         {
             using (CompletionQueueSafeHandle cq = CompletionQueueSafeHandle.Create())
             {
@@ -89,13 +81,15 @@ namespace Grpc.Core.Internal
 
                 lock (myLock)
                 {
-                    Initialize(channel, cq, methodName, Timespec.FromDateTime(deadline));
+                    Preconditions.CheckState(!started);
                     started = true;
+                    Initialize(cq);
+
                     halfcloseRequested = true;
                     readingDone = true;
                 }
 
-                using (var metadataArray = MetadataArraySafeHandle.Create(headers))
+                using (var metadataArray = MetadataArraySafeHandle.Create(callDetails.Options.Headers))
                 {
                     using (var ctx = BatchContextSafeHandle.Create())
                     {
@@ -129,20 +123,22 @@ namespace Grpc.Core.Internal
         /// <summary>
         /// Starts a unary request - unary response call.
         /// </summary>
-        public Task<TResponse> UnaryCallAsync(TRequest msg, Metadata headers, DateTime deadline)
+        public Task<TResponse> UnaryCallAsync(TRequest msg)
         {
             lock (myLock)
             {
-                Preconditions.CheckNotNull(call);
-
+                Preconditions.CheckState(!started);
                 started = true;
+
+                Initialize(callDetails.Channel.Environment.CompletionQueue);
+
                 halfcloseRequested = true;
                 readingDone = true;
 
                 byte[] payload = UnsafeSerialize(msg);
 
                 unaryResponseTcs = new TaskCompletionSource<TResponse>();
-                using (var metadataArray = MetadataArraySafeHandle.Create(headers))
+                using (var metadataArray = MetadataArraySafeHandle.Create(callDetails.Options.Headers))
                 {
                     call.StartUnary(payload, HandleUnaryResponse, metadataArray);
                 }
@@ -154,17 +150,19 @@ namespace Grpc.Core.Internal
         /// Starts a streamed request - unary response call.
         /// Use StartSendMessage and StartSendCloseFromClient to stream requests.
         /// </summary>
-        public Task<TResponse> ClientStreamingCallAsync(Metadata headers, DateTime deadline)
+        public Task<TResponse> ClientStreamingCallAsync()
         {
             lock (myLock)
             {
-                Preconditions.CheckNotNull(call);
-
+                Preconditions.CheckState(!started);
                 started = true;
+
+                Initialize(callDetails.Channel.Environment.CompletionQueue);
+
                 readingDone = true;
 
                 unaryResponseTcs = new TaskCompletionSource<TResponse>();
-                using (var metadataArray = MetadataArraySafeHandle.Create(headers))
+                using (var metadataArray = MetadataArraySafeHandle.Create(callDetails.Options.Headers))
                 {
                     call.StartClientStreaming(HandleUnaryResponse, metadataArray);
                 }
@@ -176,19 +174,21 @@ namespace Grpc.Core.Internal
         /// <summary>
         /// Starts a unary request - streamed response call.
         /// </summary>
-        public void StartServerStreamingCall(TRequest msg, Metadata headers, DateTime deadline)
+        public void StartServerStreamingCall(TRequest msg)
         {
             lock (myLock)
             {
-                Preconditions.CheckNotNull(call);
-
+                Preconditions.CheckState(!started);
                 started = true;
+
+                Initialize(callDetails.Channel.Environment.CompletionQueue);
+
                 halfcloseRequested = true;
                 halfclosed = true;  // halfclose not confirmed yet, but it will be once finishedHandler is called.
 
                 byte[] payload = UnsafeSerialize(msg);
 
-                using (var metadataArray = MetadataArraySafeHandle.Create(headers))
+                using (var metadataArray = MetadataArraySafeHandle.Create(callDetails.Options.Headers))
                 {
                     call.StartServerStreaming(payload, HandleFinished, metadataArray);
                 }
@@ -199,15 +199,16 @@ namespace Grpc.Core.Internal
         /// Starts a streaming request - streaming response call.
         /// Use StartSendMessage and StartSendCloseFromClient to stream requests.
         /// </summary>
-        public void StartDuplexStreamingCall(Metadata headers, DateTime deadline)
+        public void StartDuplexStreamingCall()
         {
             lock (myLock)
             {
-                Preconditions.CheckNotNull(call);
-
+                Preconditions.CheckState(!started);
                 started = true;
 
-                using (var metadataArray = MetadataArraySafeHandle.Create(headers))
+                Initialize(callDetails.Channel.Environment.CompletionQueue);
+
+                using (var metadataArray = MetadataArraySafeHandle.Create(callDetails.Options.Headers))
                 {
                     call.StartDuplexStreaming(HandleFinished, metadataArray);
                 }
@@ -309,7 +310,26 @@ namespace Grpc.Core.Internal
 
         protected override void OnReleaseResources()
         {
-            channel.Environment.DebugStats.ActiveClientCalls.Decrement();
+            callDetails.Channel.Environment.DebugStats.ActiveClientCalls.Decrement();
+        }
+
+        private void Initialize(CompletionQueueSafeHandle cq)
+        {
+            var call = callDetails.Channel.Handle.CreateCall(callDetails.Channel.Environment.CompletionRegistry, cq,
+                callDetails.Method, callDetails.Host, Timespec.FromDateTime(callDetails.Options.Deadline));
+            callDetails.Channel.Environment.DebugStats.ActiveClientCalls.Increment();
+            InitializeInternal(call);
+            RegisterCancellationCallback();
+        }
+
+        // Make sure that once cancellationToken for this call is cancelled, Cancel() will be called.
+        private void RegisterCancellationCallback()
+        {
+            var token = callDetails.Options.CancellationToken;
+            if (token.CanBeCanceled)
+            {
+                token.Register(() => this.Cancel());
+            }
         }
 
         /// <summary>
diff --git a/src/csharp/Grpc.Core/Method.cs b/src/csharp/Grpc.Core/Method.cs
index 77d36191c3ee5e169ecf098a843ef0ee57ccd887..cc047ac9f8fb86e6676e7dca0b442344a4cf98d4 100644
--- a/src/csharp/Grpc.Core/Method.cs
+++ b/src/csharp/Grpc.Core/Method.cs
@@ -53,16 +53,20 @@ namespace Grpc.Core
     public class Method<TRequest, TResponse>
     {
         readonly MethodType type;
+        readonly string serviceName;
         readonly string name;
         readonly Marshaller<TRequest> requestMarshaller;
         readonly Marshaller<TResponse> responseMarshaller;
+        readonly string fullName;
 
-        public Method(MethodType type, string name, Marshaller<TRequest> requestMarshaller, Marshaller<TResponse> responseMarshaller)
+        public Method(MethodType type, string serviceName, string name, Marshaller<TRequest> requestMarshaller, Marshaller<TResponse> responseMarshaller)
         {
             this.type = type;
-            this.name = name;
-            this.requestMarshaller = requestMarshaller;
-            this.responseMarshaller = responseMarshaller;
+            this.serviceName = Preconditions.CheckNotNull(serviceName);
+            this.name = Preconditions.CheckNotNull(name);
+            this.requestMarshaller = Preconditions.CheckNotNull(requestMarshaller);
+            this.responseMarshaller = Preconditions.CheckNotNull(responseMarshaller);
+            this.fullName = GetFullName(serviceName);
         }
 
         public MethodType Type
@@ -72,6 +76,14 @@ namespace Grpc.Core
                 return this.type;
             }
         }
+            
+        public string ServiceName
+        {
+            get
+            {
+                return this.serviceName;
+            }
+        }
 
         public string Name
         {
@@ -97,6 +109,14 @@ namespace Grpc.Core
             }
         }
 
+        public string FullName
+        {
+            get
+            {
+                return this.fullName;
+            }
+        }
+
         /// <summary>
         /// Gets full name of the method including the service name.
         /// </summary>
diff --git a/src/csharp/Grpc.Core/ServerCallContext.cs b/src/csharp/Grpc.Core/ServerCallContext.cs
index 0c48adaea52b1a569a4a31de068a8ee06c82de47..032b1390db349318075646bdc5d245b4162df853 100644
--- a/src/csharp/Grpc.Core/ServerCallContext.cs
+++ b/src/csharp/Grpc.Core/ServerCallContext.cs
@@ -65,7 +65,7 @@ namespace Grpc.Core
             this.cancellationToken = cancellationToken;
         }
             
-        /// <summary> Name of method called in this RPC. </summary>
+        /// <summary>Name of method called in this RPC.</summary>
         public string Method
         {
             get
@@ -74,7 +74,7 @@ namespace Grpc.Core
             }
         }
 
-        /// <summary> Name of host called in this RPC. </summary>
+        /// <summary>Name of host called in this RPC.</summary>
         public string Host
         {
             get
@@ -83,7 +83,7 @@ namespace Grpc.Core
             }
         }
 
-        /// <summary> Address of the remote endpoint in URI format. </summary>
+        /// <summary>Address of the remote endpoint in URI format.</summary>
         public string Peer
         {
             get
@@ -92,7 +92,7 @@ namespace Grpc.Core
             }
         }
 
-        /// <summary> Deadline for this RPC. </summary>
+        /// <summary>Deadline for this RPC.</summary>
         public DateTime Deadline
         {
             get
@@ -101,7 +101,7 @@ namespace Grpc.Core
             }
         }
 
-        /// <summary> Initial metadata sent by client. </summary>
+        /// <summary>Initial metadata sent by client.</summary>
         public Metadata RequestHeaders
         {
             get
@@ -110,8 +110,7 @@ namespace Grpc.Core
             }
         }
 
-        // TODO(jtattermusch): support signalling cancellation.
-        /// <summary> Cancellation token signals when call is cancelled. </summary>
+        ///<summary>Cancellation token signals when call is cancelled.</summary>
         public CancellationToken CancellationToken
         {
             get
@@ -120,7 +119,7 @@ namespace Grpc.Core
             }
         }
 
-        /// <summary> Trailers to send back to client after RPC finishes.</summary>
+        /// <summary>Trailers to send back to client after RPC finishes.</summary>
         public Metadata ResponseTrailers
         {
             get
diff --git a/src/csharp/Grpc.Examples/MathGrpc.cs b/src/csharp/Grpc.Examples/MathGrpc.cs
index 67827e7b4f6408b8c00c1898913d6c32af09c914..4941ff35f7269bbfd883cc97896a1b4c5abb0470 100644
--- a/src/csharp/Grpc.Examples/MathGrpc.cs
+++ b/src/csharp/Grpc.Examples/MathGrpc.cs
@@ -19,24 +19,28 @@ namespace math {
 
     static readonly Method<global::math.DivArgs, global::math.DivReply> __Method_Div = new Method<global::math.DivArgs, global::math.DivReply>(
         MethodType.Unary,
+        __ServiceName,
         "Div",
         __Marshaller_DivArgs,
         __Marshaller_DivReply);
 
     static readonly Method<global::math.DivArgs, global::math.DivReply> __Method_DivMany = new Method<global::math.DivArgs, global::math.DivReply>(
         MethodType.DuplexStreaming,
+        __ServiceName,
         "DivMany",
         __Marshaller_DivArgs,
         __Marshaller_DivReply);
 
     static readonly Method<global::math.FibArgs, global::math.Num> __Method_Fib = new Method<global::math.FibArgs, global::math.Num>(
         MethodType.ServerStreaming,
+        __ServiceName,
         "Fib",
         __Marshaller_FibArgs,
         __Marshaller_Num);
 
     static readonly Method<global::math.Num, global::math.Num> __Method_Sum = new Method<global::math.Num, global::math.Num>(
         MethodType.ClientStreaming,
+        __ServiceName,
         "Sum",
         __Marshaller_Num,
         __Marshaller_Num);
@@ -45,10 +49,15 @@ namespace math {
     public interface IMathClient
     {
       global::math.DivReply Div(global::math.DivArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      global::math.DivReply Div(global::math.DivArgs request, CallOptions options);
       AsyncUnaryCall<global::math.DivReply> DivAsync(global::math.DivArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      AsyncUnaryCall<global::math.DivReply> DivAsync(global::math.DivArgs request, CallOptions options);
       AsyncDuplexStreamingCall<global::math.DivArgs, global::math.DivReply> DivMany(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      AsyncDuplexStreamingCall<global::math.DivArgs, global::math.DivReply> DivMany(CallOptions options);
       AsyncServerStreamingCall<global::math.Num> Fib(global::math.FibArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      AsyncServerStreamingCall<global::math.Num> Fib(global::math.FibArgs request, CallOptions options);
       AsyncClientStreamingCall<global::math.Num, global::math.Num> Sum(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      AsyncClientStreamingCall<global::math.Num, global::math.Num> Sum(CallOptions options);
     }
 
     // server-side interface
@@ -68,28 +77,53 @@ namespace math {
       }
       public global::math.DivReply Div(global::math.DivArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_Div, headers, deadline);
-        return Calls.BlockingUnaryCall(call, request, cancellationToken);
+        var call = CreateCall(__Method_Div, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.BlockingUnaryCall(call, request);
+      }
+      public global::math.DivReply Div(global::math.DivArgs request, CallOptions options)
+      {
+        var call = CreateCall(__Method_Div, options);
+        return Calls.BlockingUnaryCall(call, request);
       }
       public AsyncUnaryCall<global::math.DivReply> DivAsync(global::math.DivArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_Div, headers, deadline);
-        return Calls.AsyncUnaryCall(call, request, cancellationToken);
+        var call = CreateCall(__Method_Div, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.AsyncUnaryCall(call, request);
+      }
+      public AsyncUnaryCall<global::math.DivReply> DivAsync(global::math.DivArgs request, CallOptions options)
+      {
+        var call = CreateCall(__Method_Div, options);
+        return Calls.AsyncUnaryCall(call, request);
       }
       public AsyncDuplexStreamingCall<global::math.DivArgs, global::math.DivReply> DivMany(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_DivMany, headers, deadline);
-        return Calls.AsyncDuplexStreamingCall(call, cancellationToken);
+        var call = CreateCall(__Method_DivMany, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.AsyncDuplexStreamingCall(call);
+      }
+      public AsyncDuplexStreamingCall<global::math.DivArgs, global::math.DivReply> DivMany(CallOptions options)
+      {
+        var call = CreateCall(__Method_DivMany, options);
+        return Calls.AsyncDuplexStreamingCall(call);
       }
       public AsyncServerStreamingCall<global::math.Num> Fib(global::math.FibArgs request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_Fib, headers, deadline);
-        return Calls.AsyncServerStreamingCall(call, request, cancellationToken);
+        var call = CreateCall(__Method_Fib, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.AsyncServerStreamingCall(call, request);
+      }
+      public AsyncServerStreamingCall<global::math.Num> Fib(global::math.FibArgs request, CallOptions options)
+      {
+        var call = CreateCall(__Method_Fib, options);
+        return Calls.AsyncServerStreamingCall(call, request);
       }
       public AsyncClientStreamingCall<global::math.Num, global::math.Num> Sum(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_Sum, headers, deadline);
-        return Calls.AsyncClientStreamingCall(call, cancellationToken);
+        var call = CreateCall(__Method_Sum, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.AsyncClientStreamingCall(call);
+      }
+      public AsyncClientStreamingCall<global::math.Num, global::math.Num> Sum(CallOptions options)
+      {
+        var call = CreateCall(__Method_Sum, options);
+        return Calls.AsyncClientStreamingCall(call);
       }
     }
 
diff --git a/src/csharp/Grpc.HealthCheck/HealthGrpc.cs b/src/csharp/Grpc.HealthCheck/HealthGrpc.cs
index 892cdb3f04218b0627e06a2f91b2320854978fb0..0dabc91f7c2c3af83fa73e980e4f8c7ecff09ea3 100644
--- a/src/csharp/Grpc.HealthCheck/HealthGrpc.cs
+++ b/src/csharp/Grpc.HealthCheck/HealthGrpc.cs
@@ -17,6 +17,7 @@ namespace Grpc.Health.V1Alpha {
 
     static readonly Method<global::Grpc.Health.V1Alpha.HealthCheckRequest, global::Grpc.Health.V1Alpha.HealthCheckResponse> __Method_Check = new Method<global::Grpc.Health.V1Alpha.HealthCheckRequest, global::Grpc.Health.V1Alpha.HealthCheckResponse>(
         MethodType.Unary,
+        __ServiceName,
         "Check",
         __Marshaller_HealthCheckRequest,
         __Marshaller_HealthCheckResponse);
@@ -25,7 +26,9 @@ namespace Grpc.Health.V1Alpha {
     public interface IHealthClient
     {
       global::Grpc.Health.V1Alpha.HealthCheckResponse Check(global::Grpc.Health.V1Alpha.HealthCheckRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      global::Grpc.Health.V1Alpha.HealthCheckResponse Check(global::Grpc.Health.V1Alpha.HealthCheckRequest request, CallOptions options);
       AsyncUnaryCall<global::Grpc.Health.V1Alpha.HealthCheckResponse> CheckAsync(global::Grpc.Health.V1Alpha.HealthCheckRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      AsyncUnaryCall<global::Grpc.Health.V1Alpha.HealthCheckResponse> CheckAsync(global::Grpc.Health.V1Alpha.HealthCheckRequest request, CallOptions options);
     }
 
     // server-side interface
@@ -42,13 +45,23 @@ namespace Grpc.Health.V1Alpha {
       }
       public global::Grpc.Health.V1Alpha.HealthCheckResponse Check(global::Grpc.Health.V1Alpha.HealthCheckRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_Check, headers, deadline);
-        return Calls.BlockingUnaryCall(call, request, cancellationToken);
+        var call = CreateCall(__Method_Check, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.BlockingUnaryCall(call, request);
+      }
+      public global::Grpc.Health.V1Alpha.HealthCheckResponse Check(global::Grpc.Health.V1Alpha.HealthCheckRequest request, CallOptions options)
+      {
+        var call = CreateCall(__Method_Check, options);
+        return Calls.BlockingUnaryCall(call, request);
       }
       public AsyncUnaryCall<global::Grpc.Health.V1Alpha.HealthCheckResponse> CheckAsync(global::Grpc.Health.V1Alpha.HealthCheckRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_Check, headers, deadline);
-        return Calls.AsyncUnaryCall(call, request, cancellationToken);
+        var call = CreateCall(__Method_Check, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.AsyncUnaryCall(call, request);
+      }
+      public AsyncUnaryCall<global::Grpc.Health.V1Alpha.HealthCheckResponse> CheckAsync(global::Grpc.Health.V1Alpha.HealthCheckRequest request, CallOptions options)
+      {
+        var call = CreateCall(__Method_Check, options);
+        return Calls.AsyncUnaryCall(call, request);
       }
     }
 
diff --git a/src/csharp/Grpc.IntegrationTesting/TestGrpc.cs b/src/csharp/Grpc.IntegrationTesting/TestGrpc.cs
index ddcd0c29585bc1d0d1bf01e91bd29df56fd70396..697acb53d8d381ca6ca8510bdc859c862bf7b911 100644
--- a/src/csharp/Grpc.IntegrationTesting/TestGrpc.cs
+++ b/src/csharp/Grpc.IntegrationTesting/TestGrpc.cs
@@ -22,36 +22,42 @@ namespace grpc.testing {
 
     static readonly Method<global::grpc.testing.Empty, global::grpc.testing.Empty> __Method_EmptyCall = new Method<global::grpc.testing.Empty, global::grpc.testing.Empty>(
         MethodType.Unary,
+        __ServiceName,
         "EmptyCall",
         __Marshaller_Empty,
         __Marshaller_Empty);
 
     static readonly Method<global::grpc.testing.SimpleRequest, global::grpc.testing.SimpleResponse> __Method_UnaryCall = new Method<global::grpc.testing.SimpleRequest, global::grpc.testing.SimpleResponse>(
         MethodType.Unary,
+        __ServiceName,
         "UnaryCall",
         __Marshaller_SimpleRequest,
         __Marshaller_SimpleResponse);
 
     static readonly Method<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> __Method_StreamingOutputCall = new Method<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse>(
         MethodType.ServerStreaming,
+        __ServiceName,
         "StreamingOutputCall",
         __Marshaller_StreamingOutputCallRequest,
         __Marshaller_StreamingOutputCallResponse);
 
     static readonly Method<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallResponse> __Method_StreamingInputCall = new Method<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallResponse>(
         MethodType.ClientStreaming,
+        __ServiceName,
         "StreamingInputCall",
         __Marshaller_StreamingInputCallRequest,
         __Marshaller_StreamingInputCallResponse);
 
     static readonly Method<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> __Method_FullDuplexCall = new Method<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse>(
         MethodType.DuplexStreaming,
+        __ServiceName,
         "FullDuplexCall",
         __Marshaller_StreamingOutputCallRequest,
         __Marshaller_StreamingOutputCallResponse);
 
     static readonly Method<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> __Method_HalfDuplexCall = new Method<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse>(
         MethodType.DuplexStreaming,
+        __ServiceName,
         "HalfDuplexCall",
         __Marshaller_StreamingOutputCallRequest,
         __Marshaller_StreamingOutputCallResponse);
@@ -60,13 +66,21 @@ namespace grpc.testing {
     public interface ITestServiceClient
     {
       global::grpc.testing.Empty EmptyCall(global::grpc.testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      global::grpc.testing.Empty EmptyCall(global::grpc.testing.Empty request, CallOptions options);
       AsyncUnaryCall<global::grpc.testing.Empty> EmptyCallAsync(global::grpc.testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      AsyncUnaryCall<global::grpc.testing.Empty> EmptyCallAsync(global::grpc.testing.Empty request, CallOptions options);
       global::grpc.testing.SimpleResponse UnaryCall(global::grpc.testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      global::grpc.testing.SimpleResponse UnaryCall(global::grpc.testing.SimpleRequest request, CallOptions options);
       AsyncUnaryCall<global::grpc.testing.SimpleResponse> UnaryCallAsync(global::grpc.testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      AsyncUnaryCall<global::grpc.testing.SimpleResponse> UnaryCallAsync(global::grpc.testing.SimpleRequest request, CallOptions options);
       AsyncServerStreamingCall<global::grpc.testing.StreamingOutputCallResponse> StreamingOutputCall(global::grpc.testing.StreamingOutputCallRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      AsyncServerStreamingCall<global::grpc.testing.StreamingOutputCallResponse> StreamingOutputCall(global::grpc.testing.StreamingOutputCallRequest request, CallOptions options);
       AsyncClientStreamingCall<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallResponse> StreamingInputCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      AsyncClientStreamingCall<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallResponse> StreamingInputCall(CallOptions options);
       AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> FullDuplexCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> FullDuplexCall(CallOptions options);
       AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> HalfDuplexCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken));
+      AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> HalfDuplexCall(CallOptions options);
     }
 
     // server-side interface
@@ -88,43 +102,83 @@ namespace grpc.testing {
       }
       public global::grpc.testing.Empty EmptyCall(global::grpc.testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_EmptyCall, headers, deadline);
-        return Calls.BlockingUnaryCall(call, request, cancellationToken);
+        var call = CreateCall(__Method_EmptyCall, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.BlockingUnaryCall(call, request);
+      }
+      public global::grpc.testing.Empty EmptyCall(global::grpc.testing.Empty request, CallOptions options)
+      {
+        var call = CreateCall(__Method_EmptyCall, options);
+        return Calls.BlockingUnaryCall(call, request);
       }
       public AsyncUnaryCall<global::grpc.testing.Empty> EmptyCallAsync(global::grpc.testing.Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_EmptyCall, headers, deadline);
-        return Calls.AsyncUnaryCall(call, request, cancellationToken);
+        var call = CreateCall(__Method_EmptyCall, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.AsyncUnaryCall(call, request);
+      }
+      public AsyncUnaryCall<global::grpc.testing.Empty> EmptyCallAsync(global::grpc.testing.Empty request, CallOptions options)
+      {
+        var call = CreateCall(__Method_EmptyCall, options);
+        return Calls.AsyncUnaryCall(call, request);
       }
       public global::grpc.testing.SimpleResponse UnaryCall(global::grpc.testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_UnaryCall, headers, deadline);
-        return Calls.BlockingUnaryCall(call, request, cancellationToken);
+        var call = CreateCall(__Method_UnaryCall, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.BlockingUnaryCall(call, request);
+      }
+      public global::grpc.testing.SimpleResponse UnaryCall(global::grpc.testing.SimpleRequest request, CallOptions options)
+      {
+        var call = CreateCall(__Method_UnaryCall, options);
+        return Calls.BlockingUnaryCall(call, request);
       }
       public AsyncUnaryCall<global::grpc.testing.SimpleResponse> UnaryCallAsync(global::grpc.testing.SimpleRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_UnaryCall, headers, deadline);
-        return Calls.AsyncUnaryCall(call, request, cancellationToken);
+        var call = CreateCall(__Method_UnaryCall, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.AsyncUnaryCall(call, request);
+      }
+      public AsyncUnaryCall<global::grpc.testing.SimpleResponse> UnaryCallAsync(global::grpc.testing.SimpleRequest request, CallOptions options)
+      {
+        var call = CreateCall(__Method_UnaryCall, options);
+        return Calls.AsyncUnaryCall(call, request);
       }
       public AsyncServerStreamingCall<global::grpc.testing.StreamingOutputCallResponse> StreamingOutputCall(global::grpc.testing.StreamingOutputCallRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_StreamingOutputCall, headers, deadline);
-        return Calls.AsyncServerStreamingCall(call, request, cancellationToken);
+        var call = CreateCall(__Method_StreamingOutputCall, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.AsyncServerStreamingCall(call, request);
+      }
+      public AsyncServerStreamingCall<global::grpc.testing.StreamingOutputCallResponse> StreamingOutputCall(global::grpc.testing.StreamingOutputCallRequest request, CallOptions options)
+      {
+        var call = CreateCall(__Method_StreamingOutputCall, options);
+        return Calls.AsyncServerStreamingCall(call, request);
       }
       public AsyncClientStreamingCall<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallResponse> StreamingInputCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_StreamingInputCall, headers, deadline);
-        return Calls.AsyncClientStreamingCall(call, cancellationToken);
+        var call = CreateCall(__Method_StreamingInputCall, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.AsyncClientStreamingCall(call);
+      }
+      public AsyncClientStreamingCall<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallResponse> StreamingInputCall(CallOptions options)
+      {
+        var call = CreateCall(__Method_StreamingInputCall, options);
+        return Calls.AsyncClientStreamingCall(call);
       }
       public AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> FullDuplexCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_FullDuplexCall, headers, deadline);
-        return Calls.AsyncDuplexStreamingCall(call, cancellationToken);
+        var call = CreateCall(__Method_FullDuplexCall, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.AsyncDuplexStreamingCall(call);
+      }
+      public AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> FullDuplexCall(CallOptions options)
+      {
+        var call = CreateCall(__Method_FullDuplexCall, options);
+        return Calls.AsyncDuplexStreamingCall(call);
       }
       public AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> HalfDuplexCall(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
       {
-        var call = CreateCall(__ServiceName, __Method_HalfDuplexCall, headers, deadline);
-        return Calls.AsyncDuplexStreamingCall(call, cancellationToken);
+        var call = CreateCall(__Method_HalfDuplexCall, new CallOptions(headers, deadline, cancellationToken));
+        return Calls.AsyncDuplexStreamingCall(call);
+      }
+      public AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> HalfDuplexCall(CallOptions options)
+      {
+        var call = CreateCall(__Method_HalfDuplexCall, options);
+        return Calls.AsyncDuplexStreamingCall(call);
       }
     }
 
diff --git a/src/csharp/ext/grpc_csharp_ext.c b/src/csharp/ext/grpc_csharp_ext.c
index 37864a62a5ed309dc6258bd12c4e99c344474834..048887bc12aee450ab6df4b12ea2eaea7f239bdc 100644
--- a/src/csharp/ext/grpc_csharp_ext.c
+++ b/src/csharp/ext/grpc_csharp_ext.c
@@ -379,7 +379,8 @@ GPR_EXPORT grpc_call *GPR_CALLTYPE
 grpcsharp_channel_create_call(grpc_channel *channel, grpc_completion_queue *cq,
                               const char *method, const char *host,
                               gpr_timespec deadline) {
-  return grpc_channel_create_call(channel, cq, method, host, deadline);
+  return grpc_channel_create_call(channel, NULL, GRPC_PROPAGATE_DEFAULTS, cq,
+                                  method, host, deadline);
 }
 
 GPR_EXPORT grpc_connectivity_state GPR_CALLTYPE
diff --git a/src/node/ext/call.cc b/src/node/ext/call.cc
index dc45c8d8aece4d46da3ffb141f508d525bb372b2..fe585a0d4ff86b330bc216fe863341540de4510b 100644
--- a/src/node/ext/call.cc
+++ b/src/node/ext/call.cc
@@ -511,8 +511,9 @@ NAN_METHOD(Call::New) {
       double deadline = args[2]->NumberValue();
       grpc_channel *wrapped_channel = channel->GetWrappedChannel();
       grpc_call *wrapped_call = grpc_channel_create_call(
-          wrapped_channel, CompletionQueueAsyncWorker::GetQueue(), *method,
-          channel->GetHost(), MillisecondsToTimespec(deadline));
+          wrapped_channel, NULL, GRPC_PROPAGATE_DEFAULTS,
+          CompletionQueueAsyncWorker::GetQueue(), *method, channel->GetHost(),
+          MillisecondsToTimespec(deadline));
       call = new Call(wrapped_call);
       args.This()->SetHiddenValue(NanNew("channel_"), channel_object);
     }
diff --git a/src/objective-c/GRPCClient/GRPCCall+Tests.h b/src/objective-c/GRPCClient/GRPCCall+Tests.h
new file mode 100644
index 0000000000000000000000000000000000000000..cca161460632cd694b55851a2c96c8a0a0815bbb
--- /dev/null
+++ b/src/objective-c/GRPCClient/GRPCCall+Tests.h
@@ -0,0 +1,54 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#import "GRPCCall.h"
+
+// Methods to let tune down the security of gRPC connections for specific hosts. These shouldn't be
+// used in releases, but are sometimes needed for testing.
+@interface GRPCCall (Tests)
+
+// Establish all SSL connections to the provided host using the passed SSL target name and the root
+// certificates found in the file at |certsPath|.
+//
+// Must be called before any gRPC call to that host is made. It's illegal to pass the same host to
+// more than one invocation of the methods of this category.
++ (void)useTestCertsPath:(NSString *)certsPath
+                testName:(NSString *)testName
+                 forHost:(NSString *)host;
+
+// Establish all connections to the provided host using cleartext instead of SSL.
+//
+// Must be called before any gRPC call to that host is made. It's illegal to pass the same host to
+// more than one invocation of the methods of this category.
++ (void)useInsecureConnectionsForHost:(NSString *)host;
+@end
diff --git a/src/objective-c/GRPCClient/GRPCCall+Tests.m b/src/objective-c/GRPCClient/GRPCCall+Tests.m
new file mode 100644
index 0000000000000000000000000000000000000000..bade0b29208249f043cd58448a94203581f9aac8
--- /dev/null
+++ b/src/objective-c/GRPCClient/GRPCCall+Tests.m
@@ -0,0 +1,53 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#import "GRPCCall+Tests.h"
+
+#import "private/GRPCHost.h"
+
+@implementation GRPCCall (Tests)
+
++ (void)useTestCertsPath:(NSString *)certsPath
+                testName:(NSString *)testName
+                 forHost:(NSString *)host {
+  GRPCHost *hostConfig = [GRPCHost hostWithAddress:host];
+  hostConfig.pathToCertificates = certsPath;
+  hostConfig.hostNameOverride = testName;
+}
+
++ (void)useInsecureConnectionsForHost:(NSString *)host {
+  GRPCHost *hostConfig = [GRPCHost hostWithAddress:host];
+  hostConfig.secure = NO;
+}
+
+@end
diff --git a/src/objective-c/GRPCClient/GRPCCall.m b/src/objective-c/GRPCClient/GRPCCall.m
index 9d9648ae28a871e48af4a57593639cc673ecf62c..5f7d74bca81ce5e7b2f507b5c96af4d998ea3118 100644
--- a/src/objective-c/GRPCClient/GRPCCall.m
+++ b/src/objective-c/GRPCClient/GRPCCall.m
@@ -37,7 +37,6 @@
 #include <grpc/support/time.h>
 #import <RxLibrary/GRXConcurrentWriteable.h>
 
-#import "private/GRPCChannel.h"
 #import "private/GRPCWrappedCall.h"
 #import "private/NSData+GRPC.h"
 #import "private/NSDictionary+GRPC.h"
@@ -70,8 +69,6 @@ NSString * const kGRPCStatusMetadataKey = @"io.grpc.StatusMetadataKey";
   GRPCWrappedCall *_wrappedCall;
   dispatch_once_t _callAlreadyInvoked;
 
-  GRPCChannel *_channel;
-
   // The C gRPC library has less guarantees on the ordering of events than we
   // do. Particularly, in the face of errors, there's no ordering guarantee at
   // all. This wrapper over our actual writeable ensures thread-safety and
@@ -105,11 +102,10 @@ NSString * const kGRPCStatusMetadataKey = @"io.grpc.StatusMetadataKey";
                 format:@"The requests writer can't be already started."];
   }
   if ((self = [super init])) {
-    _channel = [GRPCChannel channelToHost:host];
-
-    _wrappedCall = [[GRPCWrappedCall alloc] initWithChannel:_channel
-                                                       path:path
-                                                       host:host];
+    _wrappedCall = [[GRPCWrappedCall alloc] initWithHost:host path:path];
+    if (!_wrappedCall) {
+      return nil;
+    }
 
     // Serial queue to invoke the non-reentrant methods of the grpc_call object.
     _callQueue = dispatch_queue_create("org.grpc.call", NULL);
diff --git a/src/objective-c/GRPCClient/private/GRPCChannel.h b/src/objective-c/GRPCClient/private/GRPCChannel.h
index bc6a47d469c213deed06232dc2bb4ebc862e6db9..2a7b701576a8c60a0c41b8a296ef2af15301cf07 100644
--- a/src/objective-c/GRPCClient/private/GRPCChannel.h
+++ b/src/objective-c/GRPCClient/private/GRPCChannel.h
@@ -35,17 +35,12 @@
 
 struct grpc_channel;
 
-// Each separate instance of this class represents at least one TCP
-// connection to the provided host. To create a grpc_call, pass the
-// value of the unmanagedChannel property to grpc_channel_create_call.
-// Release this object when the call is finished.
+// Each separate instance of this class represents at least one TCP connection to the provided host.
+// Create them using one of the subclasses |GRPCSecureChannel| and |GRPCUnsecuredChannel|.
 @interface GRPCChannel : NSObject
 @property(nonatomic, readonly) struct grpc_channel *unmanagedChannel;
 
-// Convenience constructor to allow for reuse of connections.
-+ (instancetype)channelToHost:(NSString *)host;
-
-- (instancetype)initWithHost:(NSString *)host NS_DESIGNATED_INITIALIZER;
-
+// This initializer takes ownership of the passed channel, and will destroy it when this object is
+// deallocated. It's illegal to pass the same grpc_channel to two different GRPCChannel objects.
 - (instancetype)initWithChannel:(struct grpc_channel *)unmanagedChannel NS_DESIGNATED_INITIALIZER;
 @end
diff --git a/src/objective-c/GRPCClient/private/GRPCChannel.m b/src/objective-c/GRPCClient/private/GRPCChannel.m
index af4326332f3f7a341b669c02474dae699434980a..4366e6332089cf076f5bbb0a389bb0ed8d0cd5a4 100644
--- a/src/objective-c/GRPCClient/private/GRPCChannel.m
+++ b/src/objective-c/GRPCClient/private/GRPCChannel.m
@@ -35,53 +35,17 @@
 
 #include <grpc/grpc.h>
 
-#import "GRPCSecureChannel.h"
-#import "GRPCUnsecuredChannel.h"
-
 @implementation GRPCChannel
 
-+ (instancetype)channelToHost:(NSString *)host {
-  // TODO(mlumish): Investigate whether a cache with strong links is a good idea
-  static NSMutableDictionary *channelCache;
-  static dispatch_once_t cacheInitialization;
-  dispatch_once(&cacheInitialization, ^{
-    channelCache = [NSMutableDictionary dictionary];
-  });
-  GRPCChannel *channel = channelCache[host];
-  if (!channel) {
-    channel = [[self alloc] initWithHost:host];
-    channelCache[host] = channel;
-  }
-  return channel;
-}
-
 - (instancetype)init {
-  return [self initWithHost:nil];
+  return [self initWithChannel:NULL];
 }
 
-- (instancetype)initWithHost:(NSString *)host {
-  if (![host rangeOfString:@"://"].length) {
-    // No scheme provided; assume https.
-    host = [@"https://" stringByAppendingString:host];
-  }
-  NSURL *hostURL = [NSURL URLWithString:host];
-  if (!hostURL) {
-    [NSException raise:NSInvalidArgumentException format:@"Invalid URL: %@", host];
+// Designated initializer
+- (instancetype)initWithChannel:(grpc_channel *)unmanagedChannel {
+  if (!unmanagedChannel) {
+    return nil;
   }
-  if ([hostURL.scheme isEqualToString:@"https"]) {
-    host = [@[hostURL.host, hostURL.port ?: @443] componentsJoinedByString:@":"];
-    return [[GRPCSecureChannel alloc] initWithHost:host];
-  }
-  if ([hostURL.scheme isEqualToString:@"http"]) {
-    host = [@[hostURL.host, hostURL.port ?: @80] componentsJoinedByString:@":"];
-    return [[GRPCUnsecuredChannel alloc] initWithHost:host];
-  }
-  [NSException raise:NSInvalidArgumentException
-              format:@"URL scheme %@ isn't supported.", hostURL.scheme];
-  return nil; // silence warning.
-}
-
-- (instancetype)initWithChannel:(struct grpc_channel *)unmanagedChannel {
   if ((self = [super init])) {
     _unmanagedChannel = unmanagedChannel;
   }
@@ -89,12 +53,8 @@
 }
 
 - (void)dealloc {
-  // _unmanagedChannel is NULL when deallocating an object of the base class (because the
-  // initializer returns a different object).
-  if (_unmanagedChannel) {
-    // TODO(jcanizales): Be sure to add a test with a server that closes the connection prematurely,
-    // as in the past that made this call to crash.
-    grpc_channel_destroy(_unmanagedChannel);
-  }
+  // TODO(jcanizales): Be sure to add a test with a server that closes the connection prematurely,
+  // as in the past that made this call to crash.
+  grpc_channel_destroy(_unmanagedChannel);
 }
 @end
diff --git a/src/objective-c/GRPCClient/private/GRPCCompletionQueue.m b/src/objective-c/GRPCClient/private/GRPCCompletionQueue.m
index 12535c961653cc85e34440ebf3d7fb71469fde5f..696069c200f503c8be40b49e193d488b5c56fec6 100644
--- a/src/objective-c/GRPCClient/private/GRPCCompletionQueue.m
+++ b/src/objective-c/GRPCClient/private/GRPCCompletionQueue.m
@@ -38,8 +38,6 @@
 @implementation GRPCCompletionQueue
 
 + (instancetype)completionQueue {
-  // TODO(jcanizales): Reuse completion queues to consume only one thread,
-  // instead of one per call.
   return [[self alloc] init];
 }
 
diff --git a/src/objective-c/GRPCClient/private/GRPCHost.h b/src/objective-c/GRPCClient/private/GRPCHost.h
new file mode 100644
index 0000000000000000000000000000000000000000..f0bbd5302342eda6fe4a22ff33582dde533cc938
--- /dev/null
+++ b/src/objective-c/GRPCClient/private/GRPCHost.h
@@ -0,0 +1,58 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#import <Foundation/Foundation.h>
+
+@class GRPCCompletionQueue;
+struct grpc_call;
+
+@interface GRPCHost : NSObject
+
+@property(nonatomic, readonly) NSString *address;
+
+// The following properties should only be modified for testing:
+
+@property(nonatomic, getter=isSecure) BOOL secure;
+
+@property(nonatomic, copy) NSString *pathToCertificates;
+@property(nonatomic, copy) NSString *hostNameOverride;
+
+// Host objects initialized with the same address are the same.
++ (instancetype)hostWithAddress:(NSString *)address;
+- (instancetype)initWithAddress:(NSString *)address NS_DESIGNATED_INITIALIZER;
+
+// Create a grpc_call object to the provided path on this host.
+- (struct grpc_call *)unmanagedCallWithPath:(NSString *)path
+                            completionQueue:(GRPCCompletionQueue *)queue;
+
+@end
diff --git a/src/objective-c/GRPCClient/private/GRPCHost.m b/src/objective-c/GRPCClient/private/GRPCHost.m
new file mode 100644
index 0000000000000000000000000000000000000000..6636c48620230bccb8bedca5855c0fe318eef129
--- /dev/null
+++ b/src/objective-c/GRPCClient/private/GRPCHost.m
@@ -0,0 +1,125 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#import "GRPCHost.h"
+
+#include <grpc/grpc.h>
+
+#import "GRPCChannel.h"
+#import "GRPCCompletionQueue.h"
+#import "GRPCSecureChannel.h"
+#import "GRPCUnsecuredChannel.h"
+
+@interface GRPCHost ()
+// TODO(mlumish): Investigate whether caching channels with strong links is a good idea.
+@property(nonatomic, strong) GRPCChannel *channel;
+@end
+
+@implementation GRPCHost
+
++ (instancetype)hostWithAddress:(NSString *)address {
+  return [[self alloc] initWithAddress:address];
+}
+
+- (instancetype)init {
+  return [self initWithAddress:nil];
+}
+
+// Default initializer.
+- (instancetype)initWithAddress:(NSString *)address {
+
+  // To provide a default port, we try to interpret the address. If it's just a host name without
+  // scheme and without port, we'll use port 443. If it has a scheme, we pass it untouched to the C
+  // gRPC library.
+  // TODO(jcanizales): Add unit tests for the types of addresses we want to let pass untouched.
+  NSURL *hostURL = [NSURL URLWithString:[@"https://" stringByAppendingString:address]];
+  if (hostURL && !hostURL.port) {
+    address = [hostURL.host stringByAppendingString:@":443"];
+  }
+
+  // Look up the GRPCHost in the cache.
+  static NSMutableDictionary *hostCache;
+  static dispatch_once_t cacheInitialization;
+  dispatch_once(&cacheInitialization, ^{
+    hostCache = [NSMutableDictionary dictionary];
+  });
+  @synchronized(hostCache) {
+    GRPCHost *cachedHost = hostCache[address];
+    if (cachedHost) {
+      return cachedHost;
+    }
+
+  if ((self = [super init])) {
+    _address = address;
+    _secure = YES;
+    hostCache[address] = self;
+  }
+  return self;
+}
+
+- (grpc_call *)unmanagedCallWithPath:(NSString *)path completionQueue:(GRPCCompletionQueue *)queue {
+  if (!queue || !path || !self.channel) {
+    return NULL;
+  }
+  return grpc_channel_create_call(self.channel.unmanagedChannel,
+                                  NULL, GRPC_PROPAGATE_DEFAULTS,
+                                  queue.unmanagedQueue,
+                                  path.UTF8String,
+                                  self.hostName.UTF8String,
+                                  gpr_inf_future(GPR_CLOCK_REALTIME));
+}
+
+- (GRPCChannel *)channel {
+  // Create it lazily, because we don't want to open a connection just because someone is
+  // configuring a host.
+  if (!_channel) {
+    if (_secure) {
+      _channel = [[GRPCSecureChannel alloc] initWithHost:_address
+                                      pathToCertificates:_pathToCertificates
+                                        hostNameOverride:_hostNameOverride];
+    } else {
+      _channel = [[GRPCUnsecuredChannel alloc] initWithHost:_address];
+    }
+  }
+  return _channel;
+}
+
+- (NSString *)hostName {
+  // TODO(jcanizales): Default to nil instead of _address when Issue #2635 is clarified.
+  return _hostNameOverride ?: _address;
+}
+
+// TODO(jcanizales): Don't let set |secure| to |NO| if |pathToCertificates| or |hostNameOverride|
+// have been set. Don't let set either of the latter if |secure| has been set to |NO|.
+
+@end
diff --git a/src/objective-c/GRPCClient/private/GRPCSecureChannel.h b/src/objective-c/GRPCClient/private/GRPCSecureChannel.h
index d34ceaea0c1162431c7dae912bf862b852c781ef..74257eb0584d30361348addeae352bea09d7379b 100644
--- a/src/objective-c/GRPCClient/private/GRPCSecureChannel.h
+++ b/src/objective-c/GRPCClient/private/GRPCSecureChannel.h
@@ -31,8 +31,23 @@
  *
  */
 
+#include <grpc/grpc.h>
+
 #import "GRPCChannel.h"
 
+struct grpc_credentials;
+
 @interface GRPCSecureChannel : GRPCChannel
+- (instancetype)initWithHost:(NSString *)host;
+
+// Only in tests shouldn't pathToCertificates or hostNameOverride be nil. Passing nil for
+// pathToCertificates results in using the default root certificates distributed with the library.
+- (instancetype)initWithHost:(NSString *)host
+          pathToCertificates:(NSString *)path
+            hostNameOverride:(NSString *)hostNameOverride;
 
+// The passed arguments aren't required to be valid beyond the invocation of this initializer.
+- (instancetype)initWithHost:(NSString *)host
+                 credentials:(struct grpc_credentials *)credentials
+                        args:(grpc_channel_args *)args NS_DESIGNATED_INITIALIZER;
 @end
diff --git a/src/objective-c/GRPCClient/private/GRPCSecureChannel.m b/src/objective-c/GRPCClient/private/GRPCSecureChannel.m
index 43a8bd539edf6d9d23759310d20d8470643ad664..9b4b6768f84428131d4039b4642ac71676320741 100644
--- a/src/objective-c/GRPCClient/private/GRPCSecureChannel.m
+++ b/src/objective-c/GRPCClient/private/GRPCSecureChannel.m
@@ -33,28 +33,80 @@
 
 #import "GRPCSecureChannel.h"
 
-#import <grpc/grpc_security.h>
+#include <grpc/grpc_security.h>
+
+// Returns NULL if the file at path couldn't be read. In that case, if errorPtr isn't NULL,
+// *errorPtr will be an object describing what went wrong.
+static grpc_credentials *CertificatesAtPath(NSString *path, NSError **errorPtr) {
+  NSString *certsContent = [NSString stringWithContentsOfFile:path
+                                                     encoding:NSASCIIStringEncoding
+                                                        error:errorPtr];
+  if (!certsContent) {
+    // Passing NULL to grpc_ssl_credentials_create produces behavior we don't want, so return.
+    return NULL;
+  }
+  const char * asCString = [certsContent cStringUsingEncoding:NSASCIIStringEncoding];
+  return grpc_ssl_credentials_create(asCString, NULL);
+}
 
 @implementation GRPCSecureChannel
 
 - (instancetype)initWithHost:(NSString *)host {
-  static grpc_credentials *kCredentials;
+  return [self initWithHost:host pathToCertificates:nil hostNameOverride:nil];
+}
+
+- (instancetype)initWithHost:(NSString *)host
+          pathToCertificates:(NSString *)path
+            hostNameOverride:(NSString *)hostNameOverride {
+  // Load default SSL certificates once.
+  static grpc_credentials *kDefaultCertificates;
   static dispatch_once_t loading;
   dispatch_once(&loading, ^{
+    NSString *defaultPath = @"gRPCCertificates.bundle/roots"; // .pem
     // Do not use NSBundle.mainBundle, as it's nil for tests of library projects.
     NSBundle *bundle = [NSBundle bundleForClass:self.class];
-    NSString *certsPath = [bundle pathForResource:@"gRPCCertificates.bundle/roots" ofType:@"pem"];
-    NSAssert(certsPath.length,
-             @"gRPCCertificates.bundle/roots.pem not found under %@. This file, with the root "
-             "certificates, is needed to establish TLS (HTTPS) connections.", bundle.bundlePath);
-    NSData *certsData = [NSData dataWithContentsOfFile:certsPath];
-    NSAssert(certsData.length, @"No data read from %@", certsPath);
-    NSString *certsString = [[NSString alloc] initWithData:certsData encoding:NSUTF8StringEncoding];
-    kCredentials = grpc_ssl_credentials_create(certsString.UTF8String, NULL);
+    NSString *path = [bundle pathForResource:defaultPath ofType:@"pem"];
+    NSError *error;
+    kDefaultCertificates = CertificatesAtPath(path, &error);
+    NSAssert(kDefaultCertificates, @"Could not read %@/%@.pem. This file, with the root "
+             "certificates, is needed to establish secure (TLS) connections. Because the file is "
+             "distributed with the gRPC library, this error is usually a sign that the library "
+             "wasn't configured correctly for your project. Error: %@",
+             bundle.bundlePath, defaultPath, error);
   });
-  return (self = [super initWithChannel:grpc_secure_channel_create(kCredentials,
-                                                                   host.UTF8String,
-                                                                   NULL)]);
+
+  //TODO(jcanizales): Add NSError** parameter to the initializer.
+  grpc_credentials *certificates = path ? CertificatesAtPath(path, NULL) : kDefaultCertificates;
+  if (!certificates) {
+    return nil;
+  }
+
+  // Ritual to pass the SSL host name override to the C library.
+  grpc_channel_args channelArgs;
+  grpc_arg nameOverrideArg;
+  channelArgs.num_args = 1;
+  channelArgs.args = &nameOverrideArg;
+  nameOverrideArg.type = GRPC_ARG_STRING;
+  nameOverrideArg.key = GRPC_SSL_TARGET_NAME_OVERRIDE_ARG;
+  // Cast const away. Hope C gRPC doesn't modify it!
+  nameOverrideArg.value.string = (char *) hostNameOverride.UTF8String;
+  grpc_channel_args *args = hostNameOverride ? &channelArgs : NULL;
+
+  return [self initWithHost:host credentials:certificates args:args];
+}
+
+- (instancetype)initWithHost:(NSString *)host
+                 credentials:(grpc_credentials *)credentials
+                        args:(grpc_channel_args *)args {
+  return (self =
+          [super initWithChannel:grpc_secure_channel_create(credentials, host.UTF8String, args)]);
+}
+
+// TODO(jcanizales): GRPCSecureChannel and GRPCUnsecuredChannel are just convenience initializers
+// for GRPCChannel. Move them into GRPCChannel, which will make the following unnecessary.
+- (instancetype)initWithChannel:(grpc_channel *)unmanagedChannel {
+  [NSException raise:NSInternalInconsistencyException format:@"use another initializer"];
+  return [self initWithHost:nil]; // silence warnings
 }
 
 @end
diff --git a/src/objective-c/GRPCClient/private/GRPCUnsecuredChannel.h b/src/objective-c/GRPCClient/private/GRPCUnsecuredChannel.h
index 9d89cfb5419b7661a5816fbae34237df64776304..8528be44c0057f079eefb5153c3f0b4d9047ac8e 100644
--- a/src/objective-c/GRPCClient/private/GRPCUnsecuredChannel.h
+++ b/src/objective-c/GRPCClient/private/GRPCUnsecuredChannel.h
@@ -34,5 +34,5 @@
 #import "GRPCChannel.h"
 
 @interface GRPCUnsecuredChannel : GRPCChannel
-
+- (instancetype)initWithHost:(NSString *)host NS_DESIGNATED_INITIALIZER;
 @end
diff --git a/src/objective-c/GRPCClient/private/GRPCUnsecuredChannel.m b/src/objective-c/GRPCClient/private/GRPCUnsecuredChannel.m
index 8518f78c5b23dd1496723632bef890a782456735..070a529629a6ef6e5d3e3f0685f6b94288798e46 100644
--- a/src/objective-c/GRPCClient/private/GRPCUnsecuredChannel.m
+++ b/src/objective-c/GRPCClient/private/GRPCUnsecuredChannel.m
@@ -41,4 +41,10 @@
   return (self = [super initWithChannel:grpc_insecure_channel_create(host.UTF8String, NULL)]);
 }
 
+// TODO(jcanizales): GRPCSecureChannel and GRPCUnsecuredChannel are just convenience initializers
+// for GRPCChannel. Move them into GRPCChannel, which will make the following unnecessary.
+- (instancetype)initWithChannel:(grpc_channel *)unmanagedChannel {
+  [NSException raise:NSInternalInconsistencyException format:@"use the other initializer"];
+  return [self initWithHost:nil]; // silence warnings
+}
 @end
diff --git a/src/objective-c/GRPCClient/private/GRPCWrappedCall.h b/src/objective-c/GRPCClient/private/GRPCWrappedCall.h
index 18f8bb553101f329811374b08c58a9e513d7a923..da11cbb761b60bd2316dcccbc666ba6d5943741c 100644
--- a/src/objective-c/GRPCClient/private/GRPCWrappedCall.h
+++ b/src/objective-c/GRPCClient/private/GRPCWrappedCall.h
@@ -81,11 +81,12 @@
 
 @end
 
+#pragma mark GRPCWrappedCall
+
 @interface GRPCWrappedCall : NSObject
 
-- (instancetype)initWithChannel:(GRPCChannel *)channel
-                           path:(NSString *)path
-                           host:(NSString *)host NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithHost:(NSString *)host
+                        path:(NSString *)path NS_DESIGNATED_INITIALIZER;
 
 - (void)startBatchWithOperations:(NSArray *)ops errorHandler:(void(^)())errorHandler;
 
diff --git a/src/objective-c/GRPCClient/private/GRPCWrappedCall.m b/src/objective-c/GRPCClient/private/GRPCWrappedCall.m
index 1db63df77fa5d02314cdd17e277e00cb099d5bf0..951c0510369fda65442fa12b39fabb783178eb52 100644
--- a/src/objective-c/GRPCClient/private/GRPCWrappedCall.m
+++ b/src/objective-c/GRPCClient/private/GRPCWrappedCall.m
@@ -32,11 +32,14 @@
  */
 
 #import "GRPCWrappedCall.h"
+
 #import <Foundation/Foundation.h>
 #include <grpc/grpc.h>
 #include <grpc/byte_buffer.h>
 #include <grpc/support/alloc.h>
+
 #import "GRPCCompletionQueue.h"
+#import "GRPCHost.h"
 #import "NSDictionary+GRPC.h"
 #import "NSData+GRPC.h"
 #import "NSError+GRPC.h"
@@ -219,38 +222,36 @@
 
 @end
 
-@implementation GRPCWrappedCall{
-  grpc_call *_call;
+#pragma mark GRPCWrappedCall
+
+@implementation GRPCWrappedCall {
   GRPCCompletionQueue *_queue;
+  grpc_call *_call;
 }
 
 - (instancetype)init {
-  return [self initWithChannel:nil path:nil host:nil];
+  return [self initWithHost:nil path:nil];
 }
 
-- (instancetype)initWithChannel:(GRPCChannel *)channel
-                           path:(NSString *)path
-                           host:(NSString *)host {
-  if (!channel || !path || !host) {
+- (instancetype)initWithHost:(NSString *)host
+                        path:(NSString *)path {
+  if (!path || !host) {
     [NSException raise:NSInvalidArgumentException
-                format:@"channel, method, and host cannot be nil."];
+                format:@"path and host cannot be nil."];
   }
-  
+
   if (self = [super init]) {
     static dispatch_once_t initialization;
     dispatch_once(&initialization, ^{
       grpc_init();
     });
-    
+
+    // Each completion queue consumes one thread. There's a trade to be made between creating and
+    // consuming too many threads and having contention of multiple calls in a single completion
+    // queue. Currently we favor latency and use one per call.
     _queue = [GRPCCompletionQueue completionQueue];
-    if (!_queue) {
-      return nil;
-    }
-    _call = grpc_channel_create_call(channel.unmanagedChannel,
-                                     _queue.unmanagedQueue,
-                                     path.UTF8String,
-                                     host.UTF8String,
-                                     gpr_inf_future(GPR_CLOCK_REALTIME));
+
+    _call = [[GRPCHost hostWithAddress:host] unmanagedCallWithPath:path completionQueue:_queue];
     if (_call == NULL) {
       return nil;
     }
@@ -299,4 +300,4 @@
   grpc_call_destroy(_call);
 }
 
-@end
\ No newline at end of file
+@end
diff --git a/src/objective-c/tests/GRPCClientTests.m b/src/objective-c/tests/GRPCClientTests.m
index 103e5ca3d496b3ce7729fa679524def0ed990ce8..e5d7e43ed92e61f9b19ac59b4b10d257b3dcf7d9 100644
--- a/src/objective-c/tests/GRPCClientTests.m
+++ b/src/objective-c/tests/GRPCClientTests.m
@@ -35,6 +35,7 @@
 #import <XCTest/XCTest.h>
 
 #import <GRPCClient/GRPCCall.h>
+#import <GRPCClient/GRPCCall+Tests.h>
 #import <ProtoRPC/ProtoMethod.h>
 #import <RemoteTest/Messages.pbobjc.h>
 #import <RxLibrary/GRXWriteable.h>
@@ -43,8 +44,7 @@
 // These are a few tests similar to InteropTests, but which use the generic gRPC client (GRPCCall)
 // rather than a generated proto library on top of it.
 
-// grpc-test.sandbox.google.com
-static NSString * const kHostAddress = @"http://localhost:5050";
+static NSString * const kHostAddress = @"localhost:5050";
 static NSString * const kPackage = @"grpc.testing";
 static NSString * const kService = @"TestService";
 
@@ -58,6 +58,9 @@ static ProtoMethod *kUnaryCallMethod;
 @implementation GRPCClientTests
 
 - (void)setUp {
+  // Register test server as non-SSL.
+  [GRPCCall useInsecureConnectionsForHost:kHostAddress];
+
   // This method isn't implemented by the remote server.
   kInexistentMethod = [[ProtoMethod alloc] initWithPackage:kPackage
                                                    service:kService
diff --git a/src/objective-c/tests/InteropTests.h b/src/objective-c/tests/InteropTests.h
new file mode 100644
index 0000000000000000000000000000000000000000..4eb97e9e06ee5f3633395f5d17df327d5d8c67b2
--- /dev/null
+++ b/src/objective-c/tests/InteropTests.h
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#import <XCTest/XCTest.h>
+
+// Implements tests as described here:
+// https://github.com/grpc/grpc/blob/master/doc/interop-test-descriptions.md
+
+@interface InteropTests : XCTestCase
+// Returns @"localhost:5050".
+// Override in a subclass to perform the same tests against a different address.
+// For interop tests, use @"grpc-test.sandbox.google.com".
++ (NSString *)host;
+@end
diff --git a/src/objective-c/tests/InteropTests.m b/src/objective-c/tests/InteropTests.m
index b473d73422fc30076eb6686bbf662ccb1519776c..b61d5674649af6997fd25d8e39d098fcf1a10c3c 100644
--- a/src/objective-c/tests/InteropTests.m
+++ b/src/objective-c/tests/InteropTests.m
@@ -31,11 +31,11 @@
  *
  */
 
-#include <grpc/status.h>
+#import "InteropTests.h"
 
-#import <UIKit/UIKit.h>
-#import <XCTest/XCTest.h>
+#include <grpc/status.h>
 
+#import <GRPCClient/GRPCCall+Tests.h>
 #import <ProtoRPC/ProtoRPC.h>
 #import <RemoteTest/Empty.pbobjc.h>
 #import <RemoteTest/Messages.pbobjc.h>
@@ -76,20 +76,24 @@
 }
 @end
 
-@interface InteropTests : XCTestCase
-@end
+#pragma mark Tests
+
+static NSString * const kLocalCleartextHost = @"localhost:5050";
 
 @implementation InteropTests {
   RMTTestService *_service;
 }
 
-// grpc-test.sandbox.google.com
++ (NSString *)host {
+  return kLocalCleartextHost;
+}
 
 - (void)setUp {
-  _service = [[RMTTestService alloc] initWithHost:@"http://localhost:5050"];
-}
+  // Register test server as non-SSL.
+  [GRPCCall useInsecureConnectionsForHost:kLocalCleartextHost];
 
-// Tests as described here: https://github.com/grpc/grpc/blob/master/doc/interop-test-descriptions.md
+  _service = [[RMTTestService alloc] initWithHost:self.class.host];
+}
 
 - (void)testEmptyUnaryRPC {
   __weak XCTestExpectation *expectation = [self expectationWithDescription:@"EmptyUnary"];
diff --git a/src/objective-c/tests/InteropTestsLocalSSL.m b/src/objective-c/tests/InteropTestsLocalSSL.m
new file mode 100644
index 0000000000000000000000000000000000000000..227ca79659ec40301ed0edf6a6a7cf28fc01140a
--- /dev/null
+++ b/src/objective-c/tests/InteropTestsLocalSSL.m
@@ -0,0 +1,62 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+// Repeat of the tests in InteropTests.m, but using SSL to communicate with the local server instead
+// of cleartext.
+
+#import <GRPCClient/GRPCCall+Tests.h>
+
+#import "InteropTests.h"
+
+static NSString * const kLocalSSLHost = @"localhost:5051";
+
+@interface InteropTestsLocalSSL : InteropTests
+@end
+
+@implementation InteropTestsLocalSSL
+
++ (NSString *)host {
+  return kLocalSSLHost;
+}
+
+- (void)setUp {
+  // Register test server certificates and name.
+  NSBundle *bundle = [NSBundle bundleForClass:self.class];
+  NSString *certsPath = [bundle pathForResource:@"TestCertificates.bundle/test-certificates"
+                                         ofType:@"pem"];
+  [GRPCCall useTestCertsPath:certsPath testName:@"foo.test.google.fr" forHost:kLocalSSLHost];
+
+  [super setUp];
+}
+
+@end
diff --git a/src/objective-c/tests/TestCertificates.bundle/test-certificates.pem b/src/objective-c/tests/TestCertificates.bundle/test-certificates.pem
new file mode 100644
index 0000000000000000000000000000000000000000..6c8511a73c68ac6afa6f0cb0b25c05ca8318e2a8
--- /dev/null
+++ b/src/objective-c/tests/TestCertificates.bundle/test-certificates.pem
@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE-----
+MIICSjCCAbOgAwIBAgIJAJHGGR4dGioHMA0GCSqGSIb3DQEBCwUAMFYxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQxDzANBgNVBAMTBnRlc3RjYTAeFw0xNDExMTEyMjMxMjla
+Fw0yNDExMDgyMjMxMjlaMFYxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0
+YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDzANBgNVBAMT
+BnRlc3RjYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwEDfBV5MYdlHVHJ7
++L4nxrZy7mBfAVXpOc5vMYztssUI7mL2/iYujiIXM+weZYNTEpLdjyJdu7R5gGUu
+g1jSVK/EPHfc74O7AyZU34PNIP4Sh33N+/A5YexrNgJlPY+E3GdVYi4ldWJjgkAd
+Qah2PH5ACLrIIC6tRka9hcaBlIECAwEAAaMgMB4wDAYDVR0TBAUwAwEB/zAOBgNV
+HQ8BAf8EBAMCAgQwDQYJKoZIhvcNAQELBQADgYEAHzC7jdYlzAVmddi/gdAeKPau
+sPBG/C2HCWqHzpCUHcKuvMzDVkY/MP2o6JIW2DBbY64bO/FceExhjcykgaYtCH/m
+oIU63+CFOTtR7otyQAWHqXa7q4SbCDlG7DyRFxqG0txPtGvy12lgldA2+RgcigQG
+Dfcog5wrJytaQ6UA0wE=
+-----END CERTIFICATE-----
diff --git a/src/objective-c/tests/Tests.xcodeproj/project.pbxproj b/src/objective-c/tests/Tests.xcodeproj/project.pbxproj
index f13fb8288b5a15b1fc841b96ffde74d92b24f2d3..af98aba9c088aeca999f8a334b80d06ffc6ec6d0 100644
--- a/src/objective-c/tests/Tests.xcodeproj/project.pbxproj
+++ b/src/objective-c/tests/Tests.xcodeproj/project.pbxproj
@@ -13,6 +13,8 @@
 		63423F511B151B77006CF63C /* RxLibraryUnitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 63423F501B151B77006CF63C /* RxLibraryUnitTests.m */; };
 		635697CD1B14FC11007A7283 /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 635697CC1B14FC11007A7283 /* Tests.m */; };
 		635ED2EC1B1A3BC400FDE5C3 /* InteropTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 635ED2EB1B1A3BC400FDE5C3 /* InteropTests.m */; };
+		63E240CE1B6C4E2B005F3B0E /* InteropTestsLocalSSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 63E240CD1B6C4E2B005F3B0E /* InteropTestsLocalSSL.m */; };
+		63E240D01B6C63DC005F3B0E /* TestCertificates.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 63E240CF1B6C63DC005F3B0E /* TestCertificates.bundle */; };
 		7D8A186224D39101F90230F6 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 35F2B6BF3BAE8F0DC4AFD76E /* libPods.a */; };
 /* End PBXBuildFile section */
 
@@ -49,6 +51,9 @@
 		635697CC1B14FC11007A7283 /* Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tests.m; sourceTree = "<group>"; };
 		635697D81B14FC11007A7283 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		635ED2EB1B1A3BC400FDE5C3 /* InteropTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InteropTests.m; sourceTree = "<group>"; };
+		63E240CC1B6C4D3A005F3B0E /* InteropTests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InteropTests.h; sourceTree = "<group>"; };
+		63E240CD1B6C4E2B005F3B0E /* InteropTestsLocalSSL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InteropTestsLocalSSL.m; sourceTree = "<group>"; };
+		63E240CF1B6C63DC005F3B0E /* TestCertificates.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = TestCertificates.bundle; sourceTree = "<group>"; };
 		FF7B5489BCFE40111D768DD0 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
@@ -93,6 +98,7 @@
 			isa = PBXGroup;
 			children = (
 				635697C91B14FC11007A7283 /* Tests */,
+				63E240CF1B6C63DC005F3B0E /* TestCertificates.bundle */,
 				635697C81B14FC11007A7283 /* Products */,
 				51E4650F34F854F41FF053B3 /* Pods */,
 				136D535E19727099B941D7B1 /* Frameworks */,
@@ -111,12 +117,14 @@
 		635697C91B14FC11007A7283 /* Tests */ = {
 			isa = PBXGroup;
 			children = (
+				63E240CD1B6C4E2B005F3B0E /* InteropTestsLocalSSL.m */,
 				6312AE4D1B1BF49B00341DEE /* GRPCClientTests.m */,
 				63175DFE1B1B9FAF00027841 /* LocalClearTextTests.m */,
 				635ED2EB1B1A3BC400FDE5C3 /* InteropTests.m */,
 				63423F501B151B77006CF63C /* RxLibraryUnitTests.m */,
 				635697CC1B14FC11007A7283 /* Tests.m */,
 				635697D71B14FC11007A7283 /* Supporting Files */,
+				63E240CC1B6C4D3A005F3B0E /* InteropTests.h */,
 			);
 			name = Tests;
 			sourceTree = SOURCE_ROOT;
@@ -209,6 +217,7 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				63E240D01B6C63DC005F3B0E /* TestCertificates.bundle in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -254,6 +263,7 @@
 			files = (
 				63175DFF1B1B9FAF00027841 /* LocalClearTextTests.m in Sources */,
 				63423F511B151B77006CF63C /* RxLibraryUnitTests.m in Sources */,
+				63E240CE1B6C4E2B005F3B0E /* InteropTestsLocalSSL.m in Sources */,
 				6312AE4E1B1BF49B00341DEE /* GRPCClientTests.m in Sources */,
 				635ED2EC1B1A3BC400FDE5C3 /* InteropTests.m in Sources */,
 			);
diff --git a/src/objective-c/tests/run_tests.sh b/src/objective-c/tests/run_tests.sh
index b13c0f0633486b360c1f7182c11aec99fd5a90a3..7b133c1782b305bea43042e0181e6c698e384adb 100755
--- a/src/objective-c/tests/run_tests.sh
+++ b/src/objective-c/tests/run_tests.sh
@@ -37,7 +37,8 @@ cd $(dirname $0)
 
 # Run the tests server.
 ../../../bins/$CONFIG/interop_server --port=5050 &
-# Kill it when this script exits.
+../../../bins/$CONFIG/interop_server --port=5051 --enable_ssl &
+# Kill them when this script exits.
 trap 'kill -9 `jobs -p`' EXIT
 
 # xcodebuild is very verbose. We filter its output and tell Bash to fail if any
diff --git a/src/php/ext/grpc/call.c b/src/php/ext/grpc/call.c
index 1f76c7359d45bf371c415ceb4ccbdfab295431e3..01ec909b792782fa089227340884f9354131bef5 100644
--- a/src/php/ext/grpc/call.c
+++ b/src/php/ext/grpc/call.c
@@ -240,8 +240,8 @@ PHP_METHOD(Call, __construct) {
       (wrapped_grpc_timeval *)zend_object_store_get_object(
           deadline_obj TSRMLS_CC);
   call->wrapped = grpc_channel_create_call(
-      channel->wrapped, completion_queue, method, channel->target,
-      deadline->wrapped);
+      channel->wrapped, NULL, GRPC_PROPAGATE_DEFAULTS, completion_queue, method,
+      channel->target, deadline->wrapped);
 }
 
 /**
diff --git a/src/python/grpcio/.gitignore b/src/python/grpcio/.gitignore
index efbe1737bad51717489ea7b280dd255eb9518682..4c02b8d14dcbbeb3e029f98633aed9de5bb1dcc8 100644
--- a/src/python/grpcio/.gitignore
+++ b/src/python/grpcio/.gitignore
@@ -6,3 +6,4 @@ dist/
 *.egg/
 *.eggs/
 doc/
+_grpcio_metadata.py
diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py
index 605d9d5612007550a9f4f920d5ff14e1a7f7b691..89c0fbf0f3f1abb0facb26d7eadf6bada3909d40 100644
--- a/src/python/grpcio/commands.py
+++ b/src/python/grpcio/commands.py
@@ -34,6 +34,7 @@ import os.path
 import sys
 
 import setuptools
+from setuptools.command import build_py
 
 _CONF_PY_ADDENDUM = """
 extensions.append('sphinx.ext.napoleon')
@@ -74,3 +75,28 @@ class SphinxDocumentation(setuptools.Command):
       conf_file.write(_CONF_PY_ADDENDUM)
     sphinx.main(['', os.path.join('doc', 'src'), os.path.join('doc', 'build')])
 
+
+class BuildProjectMetadata(setuptools.Command):
+  """Command to generate project metadata in a module."""
+
+  description = ''
+  user_options = []
+
+  def initialize_options(self):
+    pass
+
+  def finalize_options(self):
+    pass
+
+  def run(self):
+    with open('grpc/_grpcio_metadata.py', 'w') as module_file:
+      module_file.write('__version__ = """{}"""'.format(
+          self.distribution.get_version()))
+
+
+class BuildPy(build_py.build_py):
+  """Custom project build command."""
+
+  def run(self):
+    self.run_command('build_project_metadata')
+    build_py.build_py.run(self)
diff --git a/src/python/grpcio/grpc/_adapter/_c/types/channel.c b/src/python/grpcio/grpc/_adapter/_c/types/channel.c
index feb256cf00095e147f5a529de87008f64d2d9604..963104742f66572e4594d1cf5d6f7541d3778a26 100644
--- a/src/python/grpcio/grpc/_adapter/_c/types/channel.c
+++ b/src/python/grpcio/grpc/_adapter/_c/types/channel.c
@@ -128,7 +128,7 @@ Call *pygrpc_Channel_create_call(
   }
   call = pygrpc_Call_new_empty(cq);
   call->c_call = grpc_channel_create_call(
-      self->c_chan, cq->c_cq, method, host,
+      self->c_chan, NULL, GRPC_PROPAGATE_DEFAULTS, cq->c_cq, method, host,
       pygrpc_cast_double_to_gpr_timespec(deadline));
   return call;
 }
diff --git a/src/python/grpcio/setup.py b/src/python/grpcio/setup.py
index e408f2ace9d4fde87f2cabfb1758cdb349354802..caa71a4f7c81b5c778abf2235b7e955d802575e2 100644
--- a/src/python/grpcio/setup.py
+++ b/src/python/grpcio/setup.py
@@ -98,6 +98,8 @@ _SETUP_REQUIRES = (
 
 _COMMAND_CLASS = {
     'doc': commands.SphinxDocumentation,
+    'build_project_metadata': commands.BuildProjectMetadata,
+    'build_py': commands.BuildPy,
 }
 
 setuptools.setup(
diff --git a/src/ruby/ext/grpc/rb_channel.c b/src/ruby/ext/grpc/rb_channel.c
index 0cb6fa2f800b741e5302c5cbffaea68e4d94c024..a0663607c2445e7cd81acff40a112cf8d6e74048 100644
--- a/src/ruby/ext/grpc/rb_channel.c
+++ b/src/ruby/ext/grpc/rb_channel.c
@@ -212,10 +212,10 @@ static VALUE grpc_rb_channel_create_call(VALUE self, VALUE cqueue, VALUE method,
     return Qnil;
   }
 
-  call =
-      grpc_channel_create_call(ch, cq, method_chars, host_chars,
-                               grpc_rb_time_timeval(deadline,
-                                                    /* absolute time */ 0));
+  call = grpc_channel_create_call(ch, NULL, GRPC_PROPAGATE_DEFAULTS, cq,
+                                  method_chars, host_chars,
+                                  grpc_rb_time_timeval(deadline,
+                                                       /* absolute time */ 0));
   if (call == NULL) {
     rb_raise(rb_eRuntimeError, "cannot create call with method %s",
              method_chars);
diff --git a/templates/tools/run_tests/tests.json.template b/templates/tools/run_tests/tests.json.template
index 337858d9f1f3e1672e1c7c42a6440a7096df0f6a..d1ba5ed43ca328d35fc039eab81a6fcb831eaf1a 100644
--- a/templates/tools/run_tests/tests.json.template
+++ b/templates/tools/run_tests/tests.json.template
@@ -4,7 +4,7 @@ import json
 
 ${json.dumps([{"name": tgt.name,
                "language": tgt.language,
-	       "platforms": tgt.platforms,
+               "platforms": tgt.platforms,
                "flaky": tgt.flaky}
               for tgt in targets
               if tgt.get('run', True) and tgt.build == 'test'],
diff --git a/test/core/end2end/dualstack_socket_test.c b/test/core/end2end/dualstack_socket_test.c
index c98baeffdab82ef17cf11fed96b891073d5f16e2..48a88be52550d7dc186bbc8dd08ceb058f844315 100644
--- a/test/core/end2end/dualstack_socket_test.c
+++ b/test/core/end2end/dualstack_socket_test.c
@@ -131,8 +131,8 @@ void test_connect(const char *server_host, const char *client_host, int port,
   }
 
   /* Send a trivial request. */
-  c = grpc_channel_create_call(client, cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(client, NULL, GRPC_PROPAGATE_DEFAULTS, cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   op = ops;
diff --git a/test/core/end2end/fixtures/chttp2_fullstack_compression.c b/test/core/end2end/fixtures/chttp2_fullstack_compression.c
index 0ee24c01b5334e8248549d9122109050174f33cb..a75075d1d4f8cdb814e600159754abeb71805b05 100644
--- a/test/core/end2end/fixtures/chttp2_fullstack_compression.c
+++ b/test/core/end2end/fixtures/chttp2_fullstack_compression.c
@@ -53,8 +53,8 @@
 
 typedef struct fullstack_compression_fixture_data {
   char *localaddr;
-  grpc_channel_args* client_args_compression;
-  grpc_channel_args* server_args_compression;
+  grpc_channel_args *client_args_compression;
+  grpc_channel_args *server_args_compression;
 } fullstack_compression_fixture_data;
 
 static grpc_end2end_test_fixture chttp2_create_fixture_fullstack_compression(
@@ -75,7 +75,7 @@ static grpc_end2end_test_fixture chttp2_create_fixture_fullstack_compression(
 }
 
 void chttp2_init_client_fullstack_compression(grpc_end2end_test_fixture *f,
-                                  grpc_channel_args *client_args) {
+                                              grpc_channel_args *client_args) {
   fullstack_compression_fixture_data *ffd = f->fixture_data;
   if (ffd->client_args_compression != NULL) {
     grpc_channel_args_destroy(ffd->client_args_compression);
@@ -87,7 +87,7 @@ void chttp2_init_client_fullstack_compression(grpc_end2end_test_fixture *f,
 }
 
 void chttp2_init_server_fullstack_compression(grpc_end2end_test_fixture *f,
-                                  grpc_channel_args *server_args) {
+                                              grpc_channel_args *server_args) {
   fullstack_compression_fixture_data *ffd = f->fixture_data;
   if (ffd->server_args_compression != NULL) {
     grpc_channel_args_destroy(ffd->server_args_compression);
diff --git a/test/core/end2end/fixtures/chttp2_fullstack_with_proxy.c b/test/core/end2end/fixtures/chttp2_fullstack_with_proxy.c
new file mode 100644
index 0000000000000000000000000000000000000000..248cc7d6e7f967928cf8df8e87806f593d7a85fb
--- /dev/null
+++ b/test/core/end2end/fixtures/chttp2_fullstack_with_proxy.c
@@ -0,0 +1,132 @@
+/*
+ *
+ * Copyright 2015, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include "test/core/end2end/end2end_tests.h"
+
+#include <string.h>
+
+#include "src/core/channel/client_channel.h"
+#include "src/core/channel/connected_channel.h"
+#include "src/core/channel/http_server_filter.h"
+#include "src/core/surface/channel.h"
+#include "src/core/surface/server.h"
+#include "src/core/transport/chttp2_transport.h"
+#include <grpc/support/alloc.h>
+#include <grpc/support/host_port.h>
+#include <grpc/support/log.h>
+#include <grpc/support/sync.h>
+#include <grpc/support/thd.h>
+#include <grpc/support/useful.h>
+#include "test/core/end2end/fixtures/proxy.h"
+#include "test/core/util/port.h"
+#include "test/core/util/test_config.h"
+
+typedef struct fullstack_fixture_data {
+  grpc_end2end_proxy *proxy;
+} fullstack_fixture_data;
+
+static grpc_server *create_proxy_server(const char *port) {
+  grpc_server *s = grpc_server_create(NULL);
+  GPR_ASSERT(grpc_server_add_insecure_http2_port(s, port));
+  return s;
+}
+
+static grpc_channel *create_proxy_client(const char *target) {
+  return grpc_insecure_channel_create(target, NULL);
+}
+
+static const grpc_end2end_proxy_def proxy_def = {create_proxy_server,
+                                                 create_proxy_client};
+
+static grpc_end2end_test_fixture chttp2_create_fixture_fullstack(
+    grpc_channel_args *client_args, grpc_channel_args *server_args) {
+  grpc_end2end_test_fixture f;
+  fullstack_fixture_data *ffd = gpr_malloc(sizeof(fullstack_fixture_data));
+  memset(&f, 0, sizeof(f));
+
+  ffd->proxy = grpc_end2end_proxy_create(&proxy_def);
+
+  f.fixture_data = ffd;
+  f.cq = grpc_completion_queue_create();
+
+  return f;
+}
+
+void chttp2_init_client_fullstack(grpc_end2end_test_fixture *f,
+                                  grpc_channel_args *client_args) {
+  fullstack_fixture_data *ffd = f->fixture_data;
+  f->client = grpc_insecure_channel_create(
+      grpc_end2end_proxy_get_client_target(ffd->proxy), client_args);
+  GPR_ASSERT(f->client);
+}
+
+void chttp2_init_server_fullstack(grpc_end2end_test_fixture *f,
+                                  grpc_channel_args *server_args) {
+  fullstack_fixture_data *ffd = f->fixture_data;
+  if (f->server) {
+    grpc_server_destroy(f->server);
+  }
+  f->server = grpc_server_create(server_args);
+  grpc_server_register_completion_queue(f->server, f->cq);
+  GPR_ASSERT(grpc_server_add_insecure_http2_port(
+      f->server, grpc_end2end_proxy_get_server_port(ffd->proxy)));
+  grpc_server_start(f->server);
+}
+
+void chttp2_tear_down_fullstack(grpc_end2end_test_fixture *f) {
+  fullstack_fixture_data *ffd = f->fixture_data;
+  grpc_end2end_proxy_destroy(ffd->proxy);
+  gpr_free(ffd);
+}
+
+/* All test configurations */
+static grpc_end2end_test_config configs[] = {
+    {"chttp2/fullstack+proxy", FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION,
+     chttp2_create_fixture_fullstack, chttp2_init_client_fullstack,
+     chttp2_init_server_fullstack, chttp2_tear_down_fullstack},
+};
+
+int main(int argc, char **argv) {
+  size_t i;
+
+  grpc_test_init(argc, argv);
+  grpc_init();
+
+  for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
+    grpc_end2end_tests(configs[i]);
+  }
+
+  grpc_shutdown();
+
+  return 0;
+}
diff --git a/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_proxy.c b/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_proxy.c
new file mode 100644
index 0000000000000000000000000000000000000000..46a64de6c506722fcaf347e80c3e3f3b7eaedc49
--- /dev/null
+++ b/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_proxy.c
@@ -0,0 +1,193 @@
+/*
+ *
+ * Copyright 2015, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include "test/core/end2end/end2end_tests.h"
+
+#include <stdio.h>
+#include <string.h>
+
+#include "src/core/channel/channel_args.h"
+#include "src/core/security/credentials.h"
+#include "src/core/support/env.h"
+#include "src/core/support/file.h"
+#include "src/core/support/string.h"
+#include <grpc/support/alloc.h>
+#include <grpc/support/host_port.h>
+#include <grpc/support/log.h>
+#include "test/core/end2end/data/ssl_test_data.h"
+#include "test/core/end2end/fixtures/proxy.h"
+#include "test/core/util/test_config.h"
+#include "test/core/util/port.h"
+
+typedef struct fullstack_secure_fixture_data {
+  grpc_end2end_proxy *proxy;
+} fullstack_secure_fixture_data;
+
+static grpc_server *create_proxy_server(const char *port) {
+  grpc_server *s = grpc_server_create(NULL);
+  grpc_ssl_pem_key_cert_pair pem_cert_key_pair = {test_server1_key,
+                                                  test_server1_cert};
+  grpc_server_credentials *ssl_creds =
+      grpc_ssl_server_credentials_create(NULL, &pem_cert_key_pair, 1, 0);
+  GPR_ASSERT(grpc_server_add_secure_http2_port(s, port, ssl_creds));
+  grpc_server_credentials_release(ssl_creds);
+  return s;
+}
+
+static grpc_channel *create_proxy_client(const char *target) {
+  grpc_channel *channel;
+  grpc_credentials *ssl_creds = grpc_ssl_credentials_create(NULL, NULL);
+  grpc_arg ssl_name_override = {GRPC_ARG_STRING,
+                                GRPC_SSL_TARGET_NAME_OVERRIDE_ARG,
+                                {"foo.test.google.fr"}};
+  grpc_channel_args client_args;
+  client_args.num_args = 1;
+  client_args.args = &ssl_name_override;
+  channel = grpc_secure_channel_create(ssl_creds, target, &client_args);
+  grpc_credentials_release(ssl_creds);
+  return channel;
+}
+
+static const grpc_end2end_proxy_def proxy_def = {create_proxy_server,
+                                                 create_proxy_client};
+
+static grpc_end2end_test_fixture chttp2_create_fixture_secure_fullstack(
+    grpc_channel_args *client_args, grpc_channel_args *server_args) {
+  grpc_end2end_test_fixture f;
+  fullstack_secure_fixture_data *ffd =
+      gpr_malloc(sizeof(fullstack_secure_fixture_data));
+  memset(&f, 0, sizeof(f));
+
+  ffd->proxy = grpc_end2end_proxy_create(&proxy_def);
+
+  f.fixture_data = ffd;
+  f.cq = grpc_completion_queue_create();
+
+  return f;
+}
+
+static void chttp2_init_client_secure_fullstack(grpc_end2end_test_fixture *f,
+                                                grpc_channel_args *client_args,
+                                                grpc_credentials *creds) {
+  fullstack_secure_fixture_data *ffd = f->fixture_data;
+  f->client = grpc_secure_channel_create(
+      creds, grpc_end2end_proxy_get_client_target(ffd->proxy), client_args);
+  GPR_ASSERT(f->client != NULL);
+  grpc_credentials_release(creds);
+}
+
+static void chttp2_init_server_secure_fullstack(
+    grpc_end2end_test_fixture *f, grpc_channel_args *server_args,
+    grpc_server_credentials *server_creds) {
+  fullstack_secure_fixture_data *ffd = f->fixture_data;
+  if (f->server) {
+    grpc_server_destroy(f->server);
+  }
+  f->server = grpc_server_create(server_args);
+  grpc_server_register_completion_queue(f->server, f->cq);
+  GPR_ASSERT(grpc_server_add_secure_http2_port(
+      f->server, grpc_end2end_proxy_get_server_port(ffd->proxy), server_creds));
+  grpc_server_credentials_release(server_creds);
+  grpc_server_start(f->server);
+}
+
+void chttp2_tear_down_secure_fullstack(grpc_end2end_test_fixture *f) {
+  fullstack_secure_fixture_data *ffd = f->fixture_data;
+  grpc_end2end_proxy_destroy(ffd->proxy);
+  gpr_free(ffd);
+}
+
+static void chttp2_init_client_simple_ssl_secure_fullstack(
+    grpc_end2end_test_fixture *f, grpc_channel_args *client_args) {
+  grpc_credentials *ssl_creds = grpc_ssl_credentials_create(NULL, NULL);
+  grpc_arg ssl_name_override = {GRPC_ARG_STRING,
+                                GRPC_SSL_TARGET_NAME_OVERRIDE_ARG,
+                                {"foo.test.google.fr"}};
+  grpc_channel_args *new_client_args =
+      grpc_channel_args_copy_and_add(client_args, &ssl_name_override, 1);
+  chttp2_init_client_secure_fullstack(f, new_client_args, ssl_creds);
+  grpc_channel_args_destroy(new_client_args);
+}
+
+static void chttp2_init_server_simple_ssl_secure_fullstack(
+    grpc_end2end_test_fixture *f, grpc_channel_args *server_args) {
+  grpc_ssl_pem_key_cert_pair pem_cert_key_pair = {test_server1_key,
+                                                  test_server1_cert};
+  grpc_server_credentials *ssl_creds =
+      grpc_ssl_server_credentials_create(NULL, &pem_cert_key_pair, 1, 0);
+  chttp2_init_server_secure_fullstack(f, server_args, ssl_creds);
+}
+
+/* All test configurations */
+
+static grpc_end2end_test_config configs[] = {
+    {"chttp2/simple_ssl_fullstack",
+     FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION |
+         FEATURE_MASK_SUPPORTS_HOSTNAME_VERIFICATION |
+         FEATURE_MASK_SUPPORTS_PER_CALL_CREDENTIALS,
+     chttp2_create_fixture_secure_fullstack,
+     chttp2_init_client_simple_ssl_secure_fullstack,
+     chttp2_init_server_simple_ssl_secure_fullstack,
+     chttp2_tear_down_secure_fullstack},
+};
+
+int main(int argc, char **argv) {
+  size_t i;
+  FILE *roots_file;
+  size_t roots_size = strlen(test_root_cert);
+  char *roots_filename;
+
+  grpc_test_init(argc, argv);
+
+  /* Set the SSL roots env var. */
+  roots_file = gpr_tmpfile("chttp2_simple_ssl_fullstack_test", &roots_filename);
+  GPR_ASSERT(roots_filename != NULL);
+  GPR_ASSERT(roots_file != NULL);
+  GPR_ASSERT(fwrite(test_root_cert, 1, roots_size, roots_file) == roots_size);
+  fclose(roots_file);
+  gpr_setenv(GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR, roots_filename);
+
+  grpc_init();
+
+  for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
+    grpc_end2end_tests(configs[i]);
+  }
+
+  grpc_shutdown();
+
+  /* Cleanup. */
+  remove(roots_filename);
+  gpr_free(roots_filename);
+
+  return 0;
+}
diff --git a/test/core/end2end/fixtures/chttp2_socket_pair_with_grpc_trace.c b/test/core/end2end/fixtures/chttp2_socket_pair_with_grpc_trace.c
index c59628b9594cac351547d2c3c35046ceac55f5c3..6d2361b783a1a23463919e1e949141fd8392d8e2 100644
--- a/test/core/end2end/fixtures/chttp2_socket_pair_with_grpc_trace.c
+++ b/test/core/end2end/fixtures/chttp2_socket_pair_with_grpc_trace.c
@@ -148,6 +148,7 @@ int main(int argc, char **argv) {
   /* force tracing on, with a value to force many
      code paths in trace.c to be taken */
   gpr_setenv("GRPC_TRACE", "doesnt-exist,http,all");
+  g_fixture_slowdown_factor = 10.0;
 
   grpc_test_init(argc, argv);
   grpc_init();
diff --git a/test/core/end2end/fixtures/proxy.c b/test/core/end2end/fixtures/proxy.c
new file mode 100644
index 0000000000000000000000000000000000000000..e4f6263334ca84323b1f3840fbbb50a9640ac120
--- /dev/null
+++ b/test/core/end2end/fixtures/proxy.c
@@ -0,0 +1,430 @@
+/*
+ *
+ * Copyright 2015, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include "test/core/end2end/fixtures/proxy.h"
+
+#include <string.h>
+
+#include <grpc/support/alloc.h>
+#include <grpc/support/host_port.h>
+#include <grpc/support/log.h>
+#include <grpc/support/sync.h>
+#include <grpc/support/thd.h>
+#include <grpc/support/useful.h>
+
+#include "test/core/util/port.h"
+
+struct grpc_end2end_proxy {
+  gpr_thd_id thd;
+  char *proxy_port;
+  char *server_port;
+  grpc_completion_queue *cq;
+  grpc_server *server;
+  grpc_channel *client;
+
+  int shutdown;
+
+  /* requested call */
+  grpc_call *new_call;
+  grpc_call_details new_call_details;
+  grpc_metadata_array new_call_metadata;
+};
+
+typedef struct {
+  void (*func)(void *arg, int success);
+  void *arg;
+} closure;
+
+typedef struct {
+  gpr_refcount refs;
+  grpc_end2end_proxy *proxy;
+
+  grpc_call *c2p;
+  grpc_call *p2s;
+
+  grpc_metadata_array c2p_initial_metadata;
+  grpc_metadata_array p2s_initial_metadata;
+
+  grpc_byte_buffer *c2p_msg;
+  grpc_byte_buffer *p2s_msg;
+
+  grpc_metadata_array p2s_trailing_metadata;
+  grpc_status_code p2s_status;
+  char *p2s_status_details;
+  size_t p2s_status_details_capacity;
+
+  int c2p_server_cancelled;
+} proxy_call;
+
+static void thread_main(void *arg);
+static void request_call(grpc_end2end_proxy *proxy);
+
+grpc_end2end_proxy *grpc_end2end_proxy_create(
+    const grpc_end2end_proxy_def *def) {
+  gpr_thd_options opt = gpr_thd_options_default();
+  int proxy_port = grpc_pick_unused_port_or_die();
+  int server_port = grpc_pick_unused_port_or_die();
+
+  grpc_end2end_proxy *proxy = gpr_malloc(sizeof(*proxy));
+  memset(proxy, 0, sizeof(*proxy));
+
+  gpr_join_host_port(&proxy->proxy_port, "localhost", proxy_port);
+  gpr_join_host_port(&proxy->server_port, "localhost", server_port);
+  proxy->cq = grpc_completion_queue_create();
+  proxy->server = def->create_server(proxy->proxy_port);
+  proxy->client = def->create_client(proxy->server_port);
+
+  grpc_server_register_completion_queue(proxy->server, proxy->cq);
+  grpc_server_start(proxy->server);
+
+  gpr_thd_options_set_joinable(&opt);
+  GPR_ASSERT(gpr_thd_new(&proxy->thd, thread_main, proxy, &opt));
+
+  request_call(proxy);
+
+  return proxy;
+}
+
+static closure *new_closure(void (*func)(void *arg, int success), void *arg) {
+  closure *cl = gpr_malloc(sizeof(*cl));
+  cl->func = func;
+  cl->arg = arg;
+  return cl;
+}
+
+static void shutdown_complete(void *arg, int success) {
+  grpc_end2end_proxy *proxy = arg;
+  proxy->shutdown = 1;
+  grpc_completion_queue_shutdown(proxy->cq);
+}
+
+void grpc_end2end_proxy_destroy(grpc_end2end_proxy *proxy) {
+  grpc_server_shutdown_and_notify(proxy->server, proxy->cq,
+                                  new_closure(shutdown_complete, proxy));
+  gpr_thd_join(proxy->thd);
+  gpr_free(proxy->proxy_port);
+  gpr_free(proxy->server_port);
+  grpc_server_destroy(proxy->server);
+  grpc_channel_destroy(proxy->client);
+  grpc_completion_queue_destroy(proxy->cq);
+  grpc_call_details_destroy(&proxy->new_call_details);
+  gpr_free(proxy);
+}
+
+static void unrefpc(proxy_call *pc, const char *reason) {
+  gpr_log(GPR_DEBUG, "unref %p: %s %d -> %d", pc, reason, pc->refs.count,
+          pc->refs.count - 1);
+  if (gpr_unref(&pc->refs)) {
+    grpc_call_destroy(pc->c2p);
+    grpc_call_destroy(pc->p2s);
+    grpc_metadata_array_destroy(&pc->c2p_initial_metadata);
+    grpc_metadata_array_destroy(&pc->p2s_initial_metadata);
+    grpc_metadata_array_destroy(&pc->p2s_trailing_metadata);
+    gpr_free(pc->p2s_status_details);
+    gpr_free(pc);
+  }
+}
+
+static void refpc(proxy_call *pc, const char *reason) {
+  gpr_log(GPR_DEBUG, "ref %p: %s %d -> %d", pc, reason, pc->refs.count,
+          pc->refs.count + 1);
+  gpr_ref(&pc->refs);
+}
+
+static void on_c2p_sent_initial_metadata(void *arg, int success) {
+  proxy_call *pc = arg;
+  unrefpc(pc, "on_c2p_sent_initial_metadata");
+}
+
+static void on_p2s_recv_initial_metadata(void *arg, int success) {
+  proxy_call *pc = arg;
+  grpc_op op;
+  grpc_call_error err;
+
+  if (!pc->proxy->shutdown) {
+    op.op = GRPC_OP_SEND_INITIAL_METADATA;
+    op.flags = 0;
+    op.data.send_initial_metadata.count = pc->p2s_initial_metadata.count;
+    op.data.send_initial_metadata.metadata = pc->p2s_initial_metadata.metadata;
+    refpc(pc, "on_c2p_sent_initial_metadata");
+    err = grpc_call_start_batch(pc->c2p, &op, 1,
+                                new_closure(on_c2p_sent_initial_metadata, pc));
+    GPR_ASSERT(err == GRPC_CALL_OK);
+  }
+
+  unrefpc(pc, "on_p2s_recv_initial_metadata");
+}
+
+static void on_p2s_sent_initial_metadata(void *arg, int success) {
+  proxy_call *pc = arg;
+  unrefpc(pc, "on_p2s_sent_initial_metadata");
+}
+
+static void on_c2p_recv_msg(void *arg, int success);
+
+static void on_p2s_sent_message(void *arg, int success) {
+  proxy_call *pc = arg;
+  grpc_op op;
+  grpc_call_error err;
+
+  grpc_byte_buffer_destroy(pc->c2p_msg);
+  if (!pc->proxy->shutdown && success) {
+    op.op = GRPC_OP_RECV_MESSAGE;
+    op.flags = 0;
+    op.data.recv_message = &pc->c2p_msg;
+    refpc(pc, "on_c2p_recv_msg");
+    err = grpc_call_start_batch(pc->c2p, &op, 1,
+                                new_closure(on_c2p_recv_msg, pc));
+    GPR_ASSERT(err == GRPC_CALL_OK);
+  }
+
+  unrefpc(pc, "on_p2s_sent_message");
+}
+
+static void on_p2s_sent_close(void *arg, int success) {
+  proxy_call *pc = arg;
+  unrefpc(pc, "on_p2s_sent_close");
+}
+
+static void on_c2p_recv_msg(void *arg, int success) {
+  proxy_call *pc = arg;
+  grpc_op op;
+  grpc_call_error err;
+
+  if (!pc->proxy->shutdown && success) {
+    if (pc->c2p_msg != NULL) {
+      op.op = GRPC_OP_SEND_MESSAGE;
+      op.flags = 0;
+      op.data.send_message = pc->c2p_msg;
+      refpc(pc, "on_p2s_sent_message");
+      err = grpc_call_start_batch(pc->p2s, &op, 1,
+                                  new_closure(on_p2s_sent_message, pc));
+      GPR_ASSERT(err == GRPC_CALL_OK);
+    } else {
+      op.op = GRPC_OP_SEND_CLOSE_FROM_CLIENT;
+      op.flags = 0;
+      refpc(pc, "on_p2s_sent_close");
+      err = grpc_call_start_batch(pc->p2s, &op, 1,
+                                  new_closure(on_p2s_sent_close, pc));
+      GPR_ASSERT(err == GRPC_CALL_OK);
+    }
+  }
+
+  unrefpc(pc, "on_c2p_recv_msg");
+}
+
+static void on_p2s_recv_msg(void *arg, int success);
+
+static void on_c2p_sent_message(void *arg, int success) {
+  proxy_call *pc = arg;
+  grpc_op op;
+  grpc_call_error err;
+
+  grpc_byte_buffer_destroy(pc->p2s_msg);
+  if (!pc->proxy->shutdown && success) {
+    op.op = GRPC_OP_RECV_MESSAGE;
+    op.flags = 0;
+    op.data.recv_message = &pc->p2s_msg;
+    refpc(pc, "on_p2s_recv_msg");
+    err = grpc_call_start_batch(pc->p2s, &op, 1,
+                                new_closure(on_p2s_recv_msg, pc));
+    GPR_ASSERT(err == GRPC_CALL_OK);
+  }
+
+  unrefpc(pc, "on_c2p_sent_message");
+}
+
+static void on_p2s_recv_msg(void *arg, int success) {
+  proxy_call *pc = arg;
+  grpc_op op;
+  grpc_call_error err;
+
+  if (!pc->proxy->shutdown && success && pc->p2s_msg) {
+    op.op = GRPC_OP_SEND_MESSAGE;
+    op.flags = 0;
+    op.data.send_message = pc->p2s_msg;
+    refpc(pc, "on_c2p_sent_message");
+    err = grpc_call_start_batch(pc->c2p, &op, 1,
+                                new_closure(on_c2p_sent_message, pc));
+    GPR_ASSERT(err == GRPC_CALL_OK);
+  }
+  unrefpc(pc, "on_p2s_recv_msg");
+}
+
+static void on_c2p_sent_status(void *arg, int success) {
+  proxy_call *pc = arg;
+  unrefpc(pc, "on_c2p_sent_status");
+}
+
+static void on_p2s_status(void *arg, int success) {
+  proxy_call *pc = arg;
+  grpc_op op;
+  grpc_call_error err;
+
+  if (!pc->proxy->shutdown) {
+    GPR_ASSERT(success);
+    op.op = GRPC_OP_SEND_STATUS_FROM_SERVER;
+    op.flags = 0;
+    op.data.send_status_from_server.trailing_metadata_count =
+        pc->p2s_trailing_metadata.count;
+    op.data.send_status_from_server.trailing_metadata =
+        pc->p2s_trailing_metadata.metadata;
+    op.data.send_status_from_server.status = pc->p2s_status;
+    op.data.send_status_from_server.status_details = pc->p2s_status_details;
+    refpc(pc, "on_c2p_sent_status");
+    err = grpc_call_start_batch(pc->c2p, &op, 1,
+                                new_closure(on_c2p_sent_status, pc));
+    GPR_ASSERT(err == GRPC_CALL_OK);
+  }
+
+  unrefpc(pc, "on_p2s_status");
+}
+
+static void on_c2p_closed(void *arg, int success) {
+  proxy_call *pc = arg;
+  unrefpc(pc, "on_c2p_closed");
+}
+
+static void on_new_call(void *arg, int success) {
+  grpc_end2end_proxy *proxy = arg;
+  grpc_call_error err;
+
+  if (success) {
+    grpc_op op;
+    proxy_call *pc = gpr_malloc(sizeof(*pc));
+    memset(pc, 0, sizeof(*pc));
+    pc->proxy = proxy;
+    GPR_SWAP(grpc_metadata_array, pc->c2p_initial_metadata,
+             proxy->new_call_metadata);
+    pc->c2p = proxy->new_call;
+    pc->p2s = grpc_channel_create_call(
+        proxy->client, pc->c2p, GRPC_PROPAGATE_DEFAULTS, proxy->cq,
+        proxy->new_call_details.method, proxy->new_call_details.host,
+        proxy->new_call_details.deadline);
+    gpr_ref_init(&pc->refs, 1);
+
+    op.flags = 0;
+
+    op.op = GRPC_OP_RECV_INITIAL_METADATA;
+    op.data.recv_initial_metadata = &pc->p2s_initial_metadata;
+    refpc(pc, "on_p2s_recv_initial_metadata");
+    err = grpc_call_start_batch(pc->p2s, &op, 1,
+                                new_closure(on_p2s_recv_initial_metadata, pc));
+    GPR_ASSERT(err == GRPC_CALL_OK);
+
+    op.op = GRPC_OP_SEND_INITIAL_METADATA;
+    op.data.send_initial_metadata.count = pc->c2p_initial_metadata.count;
+    op.data.send_initial_metadata.metadata = pc->c2p_initial_metadata.metadata;
+    refpc(pc, "on_p2s_sent_initial_metadata");
+    err = grpc_call_start_batch(pc->p2s, &op, 1,
+                                new_closure(on_p2s_sent_initial_metadata, pc));
+    GPR_ASSERT(err == GRPC_CALL_OK);
+
+    op.op = GRPC_OP_RECV_MESSAGE;
+    op.data.recv_message = &pc->c2p_msg;
+    refpc(pc, "on_c2p_recv_msg");
+    err = grpc_call_start_batch(pc->c2p, &op, 1,
+                                new_closure(on_c2p_recv_msg, pc));
+    GPR_ASSERT(err == GRPC_CALL_OK);
+
+    op.op = GRPC_OP_RECV_MESSAGE;
+    op.data.recv_message = &pc->p2s_msg;
+    refpc(pc, "on_p2s_recv_msg");
+    err = grpc_call_start_batch(pc->p2s, &op, 1,
+                                new_closure(on_p2s_recv_msg, pc));
+    GPR_ASSERT(err == GRPC_CALL_OK);
+
+    op.op = GRPC_OP_RECV_STATUS_ON_CLIENT;
+    op.data.recv_status_on_client.trailing_metadata =
+        &pc->p2s_trailing_metadata;
+    op.data.recv_status_on_client.status = &pc->p2s_status;
+    op.data.recv_status_on_client.status_details = &pc->p2s_status_details;
+    op.data.recv_status_on_client.status_details_capacity =
+        &pc->p2s_status_details_capacity;
+    refpc(pc, "on_p2s_status");
+    err =
+        grpc_call_start_batch(pc->p2s, &op, 1, new_closure(on_p2s_status, pc));
+    GPR_ASSERT(err == GRPC_CALL_OK);
+
+    op.op = GRPC_OP_RECV_CLOSE_ON_SERVER;
+    op.data.recv_close_on_server.cancelled = &pc->c2p_server_cancelled;
+    refpc(pc, "on_c2p_closed");
+    err =
+        grpc_call_start_batch(pc->c2p, &op, 1, new_closure(on_c2p_closed, pc));
+    GPR_ASSERT(err == GRPC_CALL_OK);
+
+    request_call(proxy);
+
+    unrefpc(pc, "init");
+  } else {
+    GPR_ASSERT(proxy->new_call == NULL);
+  }
+}
+
+static void request_call(grpc_end2end_proxy *proxy) {
+  proxy->new_call = NULL;
+  GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call(
+                                 proxy->server, &proxy->new_call,
+                                 &proxy->new_call_details,
+                                 &proxy->new_call_metadata, proxy->cq,
+                                 proxy->cq, new_closure(on_new_call, proxy)));
+}
+
+static void thread_main(void *arg) {
+  grpc_end2end_proxy *proxy = arg;
+  closure *cl;
+  for (;;) {
+    grpc_event ev = grpc_completion_queue_next(
+        proxy->cq, gpr_inf_future(GPR_CLOCK_MONOTONIC));
+    switch (ev.type) {
+      case GRPC_QUEUE_TIMEOUT:
+        gpr_log(GPR_ERROR, "Should never reach here");
+        abort();
+      case GRPC_QUEUE_SHUTDOWN:
+        return;
+      case GRPC_OP_COMPLETE:
+        cl = ev.tag;
+        cl->func(cl->arg, ev.success);
+        gpr_free(cl);
+        break;
+    }
+  }
+}
+
+const char *grpc_end2end_proxy_get_client_target(grpc_end2end_proxy *proxy) {
+  return proxy->proxy_port;
+}
+
+const char *grpc_end2end_proxy_get_server_port(grpc_end2end_proxy *proxy) {
+  return proxy->server_port;
+}
diff --git a/test/core/end2end/fixtures/proxy.h b/test/core/end2end/fixtures/proxy.h
new file mode 100644
index 0000000000000000000000000000000000000000..c1cf01d39a47710ead334197a05ec3944cd7e67d
--- /dev/null
+++ b/test/core/end2end/fixtures/proxy.h
@@ -0,0 +1,55 @@
+/*
+ *
+ * Copyright 2015, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#ifndef GRPC_TEST_CORE_END2END_FIXTURES_PROXY_H
+#define GRPC_TEST_CORE_END2END_FIXTURES_PROXY_H
+
+#include <grpc/grpc.h>
+
+/* proxy service for _with_proxy fixtures */
+
+typedef struct grpc_end2end_proxy grpc_end2end_proxy;
+
+typedef struct grpc_end2end_proxy_def {
+  grpc_server *(*create_server)(const char *port);
+  grpc_channel *(*create_client)(const char *target);
+} grpc_end2end_proxy_def;
+
+grpc_end2end_proxy *grpc_end2end_proxy_create(
+    const grpc_end2end_proxy_def *def);
+void grpc_end2end_proxy_destroy(grpc_end2end_proxy *proxy);
+
+const char *grpc_end2end_proxy_get_client_target(grpc_end2end_proxy *proxy);
+const char *grpc_end2end_proxy_get_server_port(grpc_end2end_proxy *proxy);
+
+#endif /* GRPC_TEST_CORE_END2END_FIXTURES_PROXY_H */
diff --git a/test/core/end2end/gen_build_json.py b/test/core/end2end/gen_build_json.py
index 43ab09f57d81aff0902e88db925580c9c64a4468..d1138abd78437ca0fbf04de826aedc1a82bc65b4 100755
--- a/test/core/end2end/gen_build_json.py
+++ b/test/core/end2end/gen_build_json.py
@@ -36,30 +36,33 @@ import simplejson
 import collections
 
 
-FixtureOptions = collections.namedtuple('FixtureOptions', 'fullstack dns_resolver secure platforms')
-default_unsecure_fixture_options = FixtureOptions(True, True, False, ['windows', 'posix'])
-socketpair_unsecure_fixture_options = FixtureOptions(False, False, False, ['windows', 'posix'])
-default_secure_fixture_options = FixtureOptions(True, True, True, ['windows', 'posix'])
+FixtureOptions = collections.namedtuple('FixtureOptions', 'fullstack includes_proxy dns_resolver secure platforms')
+default_unsecure_fixture_options = FixtureOptions(True, False, True, False, ['windows', 'linux', 'mac', 'posix'])
+socketpair_unsecure_fixture_options = default_unsecure_fixture_options._replace(fullstack=False, dns_resolver=False)
+default_secure_fixture_options = default_unsecure_fixture_options._replace(secure=True)
+uds_fixture_options = default_unsecure_fixture_options._replace(dns_resolver=False, platforms=['linux', 'mac', 'posix'])
 
 # maps fixture name to whether it requires the security library
 END2END_FIXTURES = {
     'chttp2_fake_security': default_secure_fixture_options,
-    'chttp2_fullstack_compression': default_unsecure_fixture_options,
     'chttp2_fullstack': default_unsecure_fixture_options,
-    'chttp2_fullstack_uds_posix': FixtureOptions(True, False, False, ['posix']),
-    'chttp2_fullstack_uds_posix_with_poll': FixtureOptions(True, False, False, ['posix']),
-    'chttp2_fullstack_with_poll': FixtureOptions(True, True, False, ['posix']),
+    'chttp2_fullstack_compression': default_unsecure_fixture_options,
+    'chttp2_fullstack_uds_posix': uds_fixture_options,
+    'chttp2_fullstack_uds_posix_with_poll': uds_fixture_options._replace(platforms=['linux']),
+    'chttp2_fullstack_with_poll': default_unsecure_fixture_options._replace(platforms=['linux']),
+    'chttp2_fullstack_with_proxy': default_unsecure_fixture_options._replace(includes_proxy=True),
     'chttp2_simple_ssl_fullstack': default_secure_fixture_options,
-    'chttp2_simple_ssl_fullstack_with_poll': FixtureOptions(True, True, True, ['posix']),
+    'chttp2_simple_ssl_fullstack_with_poll': default_secure_fixture_options._replace(platforms=['linux']),
+    'chttp2_simple_ssl_fullstack_with_proxy': default_secure_fixture_options._replace(includes_proxy=True),
     'chttp2_simple_ssl_with_oauth2_fullstack': default_secure_fixture_options,
-    'chttp2_socket_pair_one_byte_at_a_time': socketpair_unsecure_fixture_options,
     'chttp2_socket_pair': socketpair_unsecure_fixture_options,
+    'chttp2_socket_pair_one_byte_at_a_time': socketpair_unsecure_fixture_options,
     'chttp2_socket_pair_with_grpc_trace': socketpair_unsecure_fixture_options,
 }
 
-TestOptions = collections.namedtuple('TestOptions', 'needs_fullstack needs_dns flaky secure')
-default_test_options = TestOptions(False, False, False, False)
-connectivity_test_options = TestOptions(True, False, False, False)
+TestOptions = collections.namedtuple('TestOptions', 'needs_fullstack needs_dns proxyable flaky secure')
+default_test_options = TestOptions(False, False, True, False, False)
+connectivity_test_options = default_test_options._replace(needs_fullstack=True)
 
 # maps test names to options
 END2END_TESTS = {
@@ -70,26 +73,26 @@ END2END_TESTS = {
     'cancel_before_invoke': default_test_options,
     'cancel_in_a_vacuum': default_test_options,
     'census_simple_request': default_test_options,
-    'channel_connectivity': connectivity_test_options,
-    'default_host': TestOptions(True, True, False, False),
+    'channel_connectivity': connectivity_test_options._replace(proxyable=False),
+    'default_host': default_test_options._replace(needs_fullstack=True, needs_dns=True),
     'disappearing_server': connectivity_test_options,
     'early_server_shutdown_finishes_inflight_calls': default_test_options,
     'early_server_shutdown_finishes_tags': default_test_options,
     'empty_batch': default_test_options,
     'graceful_server_shutdown': default_test_options,
     'invoke_large_request': default_test_options,
-    'max_concurrent_streams': default_test_options,
+    'max_concurrent_streams': default_test_options._replace(proxyable=False),
     'max_message_length': default_test_options,
     'no_op': default_test_options,
     'ping_pong_streaming': default_test_options,
     'registered_call': default_test_options,
     'request_response_with_binary_metadata_and_payload': default_test_options,
     'request_response_with_metadata_and_payload': default_test_options,
-    'request_response_with_payload_and_call_creds': TestOptions(needs_fullstack=False, needs_dns=False, flaky=False, secure=True),
+    'request_response_with_payload_and_call_creds': default_test_options._replace(secure=True),
     'request_response_with_payload': default_test_options,
     'request_response_with_trailing_metadata_and_payload': default_test_options,
-    'request_with_compressed_payload': default_test_options,
-    'request_with_flags': default_test_options,
+    'request_with_compressed_payload': default_test_options._replace(proxyable=False),
+    'request_with_flags': default_test_options._replace(proxyable=False),
     'request_with_large_metadata': default_test_options,
     'request_with_payload': default_test_options,
     'server_finishes_request': default_test_options,
@@ -106,6 +109,9 @@ def compatible(f, t):
   if END2END_TESTS[t].needs_dns:
     if not END2END_FIXTURES[f].dns_resolver:
       return False
+  if not END2END_TESTS[t].proxyable:
+    if END2END_FIXTURES[f].includes_proxy:
+      return False
   return True
 
 
@@ -132,7 +138,7 @@ def main():
               'language': 'c',
               'secure': 'check' if END2END_FIXTURES[f].secure else 'no',
               'src': ['test/core/end2end/fixtures/%s.c' % f],
-              'platforms': [ 'posix' ] if f.endswith('_posix') else END2END_FIXTURES[f].platforms,
+              'platforms': [ 'linux', 'mac', 'posix' ] if f.endswith('_posix') else END2END_FIXTURES[f].platforms,
               'deps': sec_deps if END2END_FIXTURES[f].secure else unsec_deps,
               'headers': ['test/core/end2end/end2end_tests.h'],
           }
diff --git a/test/core/end2end/no_server_test.c b/test/core/end2end/no_server_test.c
index 6f1133c009a0aae2e986c07d16de6e552367f56c..6a5e12325dda95bf1f157a33945b37570bdf1bf1 100644
--- a/test/core/end2end/no_server_test.c
+++ b/test/core/end2end/no_server_test.c
@@ -62,7 +62,8 @@ int main(int argc, char **argv) {
 
   /* create a call, channel to a non existant server */
   chan = grpc_insecure_channel_create("nonexistant:54321", NULL);
-  call = grpc_channel_create_call(chan, cq, "/Foo", "nonexistant", deadline);
+  call = grpc_channel_create_call(chan, NULL, GRPC_PROPAGATE_DEFAULTS, cq,
+                                  "/Foo", "nonexistant", deadline);
 
   op = ops;
   op->op = GRPC_OP_SEND_INITIAL_METADATA;
diff --git a/test/core/end2end/tests/bad_hostname.c b/test/core/end2end/tests/bad_hostname.c
index 2509ea06a014373f5b0bd2f40498e3fe8a216da5..198ba46cd2bf0683c760b37a5f7909f82692ee57 100644
--- a/test/core/end2end/tests/bad_hostname.c
+++ b/test/core/end2end/tests/bad_hostname.c
@@ -113,8 +113,8 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
   char *details = NULL;
   size_t details_capacity = 0;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "slartibartfast.local",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "slartibartfast.local", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/cancel_after_accept.c b/test/core/end2end/tests/cancel_after_accept.c
index 1cc6b2d147b15863d12656d7d244a25e15a4da12..2e166b84120cd2b2443c3ca99fd76a78c2e88f73 100644
--- a/test/core/end2end/tests/cancel_after_accept.c
+++ b/test/core/end2end/tests/cancel_after_accept.c
@@ -126,8 +126,8 @@ static void test_cancel_after_accept(grpc_end2end_test_config config,
       grpc_raw_byte_buffer_create(&response_payload_slice, 1);
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
@@ -192,8 +192,7 @@ static void test_cancel_after_accept(grpc_end2end_test_config config,
   cq_expect_completion(cqv, tag(1), 1);
   cq_verify(cqv);
 
-  GPR_ASSERT(status == mode.expect_status);
-  GPR_ASSERT(0 == strcmp(details, mode.expect_details));
+  GPR_ASSERT(status == mode.expect_status || status == GRPC_STATUS_INTERNAL);
   GPR_ASSERT(was_cancelled == 1);
 
   grpc_metadata_array_destroy(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c b/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c
index 015d437543ebc19904b0cbde504da31e5dc76de7..171c1874cc3c459bdd61b77c0c117f81781f3624 100644
--- a/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c
+++ b/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c
@@ -126,8 +126,8 @@ static void test_cancel_after_accept_and_writes_closed(
       grpc_raw_byte_buffer_create(&response_payload_slice, 1);
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
@@ -195,8 +195,7 @@ static void test_cancel_after_accept_and_writes_closed(
   cq_expect_completion(cqv, tag(1), 1);
   cq_verify(cqv);
 
-  GPR_ASSERT(status == mode.expect_status);
-  GPR_ASSERT(0 == strcmp(details, mode.expect_details));
+  GPR_ASSERT(status == mode.expect_status || status == GRPC_STATUS_INTERNAL);
   GPR_ASSERT(was_cancelled == 1);
 
   grpc_metadata_array_destroy(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/cancel_after_invoke.c b/test/core/end2end/tests/cancel_after_invoke.c
index 414ec706ce027d7e002f7b97a363ca4aa453248b..186cd44a43a89654a3edd7ea9aaceab00f352287 100644
--- a/test/core/end2end/tests/cancel_after_invoke.c
+++ b/test/core/end2end/tests/cancel_after_invoke.c
@@ -121,8 +121,8 @@ static void test_cancel_after_invoke(grpc_end2end_test_config config,
   grpc_byte_buffer *request_payload =
       grpc_raw_byte_buffer_create(&request_payload_slice, 1);
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
@@ -164,8 +164,7 @@ static void test_cancel_after_invoke(grpc_end2end_test_config config,
   cq_expect_completion(cqv, tag(1), 1);
   cq_verify(cqv);
 
-  GPR_ASSERT(status == mode.expect_status);
-  GPR_ASSERT(0 == strcmp(details, mode.expect_details));
+  GPR_ASSERT(status == mode.expect_status || status == GRPC_STATUS_INTERNAL);
 
   grpc_metadata_array_destroy(&initial_metadata_recv);
   grpc_metadata_array_destroy(&trailing_metadata_recv);
diff --git a/test/core/end2end/tests/cancel_before_invoke.c b/test/core/end2end/tests/cancel_before_invoke.c
index 3cfe56eca28789e86a2bbafd3848a21ab135c6a3..b511908b4f9d58e43026135e7e72ef991a7f660f 100644
--- a/test/core/end2end/tests/cancel_before_invoke.c
+++ b/test/core/end2end/tests/cancel_before_invoke.c
@@ -119,8 +119,8 @@ static void test_cancel_before_invoke(grpc_end2end_test_config config,
   grpc_byte_buffer *request_payload =
       grpc_raw_byte_buffer_create(&request_payload_slice, 1);
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   GPR_ASSERT(GRPC_CALL_OK == grpc_call_cancel(c));
diff --git a/test/core/end2end/tests/cancel_in_a_vacuum.c b/test/core/end2end/tests/cancel_in_a_vacuum.c
index 8bffc3f4d3c3705b7399d8ea796ddea8afdda814..7645410184f86aaa93e7d18d1e08da7719f01cce 100644
--- a/test/core/end2end/tests/cancel_in_a_vacuum.c
+++ b/test/core/end2end/tests/cancel_in_a_vacuum.c
@@ -107,8 +107,8 @@ static void test_cancel_in_a_vacuum(grpc_end2end_test_config config,
   gpr_timespec deadline = five_seconds_time();
   cq_verifier *v_client = cq_verifier_create(f.cq);
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c));
diff --git a/test/core/end2end/tests/census_simple_request.c b/test/core/end2end/tests/census_simple_request.c
index b414755cd12af69cc1b30c83a36557a53e2da38c..2142dde921680981e056b1eb2a1e2afea5d0e638 100644
--- a/test/core/end2end/tests/census_simple_request.c
+++ b/test/core/end2end/tests/census_simple_request.c
@@ -111,8 +111,8 @@ static void test_body(grpc_end2end_test_fixture f) {
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo",
-                               "foo.test.google.fr:1234", deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr:1234", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/default_host.c b/test/core/end2end/tests/default_host.c
index 63ef4bcd35bfaa832389079f4184249f3bc19a09..920449f4fa35175856c126f20040af2f2ab25d12 100644
--- a/test/core/end2end/tests/default_host.c
+++ b/test/core/end2end/tests/default_host.c
@@ -116,7 +116,8 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
   int was_cancelled = 2;
   char *peer;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", NULL, deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", NULL, deadline);
   GPR_ASSERT(c);
 
   peer = grpc_call_get_peer(c);
diff --git a/test/core/end2end/tests/disappearing_server.c b/test/core/end2end/tests/disappearing_server.c
index a5fd74ee9a46b53a7cfa207b404e854d42353857..94bed336e817052cfdd28531e4bc778c38acaf4c 100644
--- a/test/core/end2end/tests/disappearing_server.c
+++ b/test/core/end2end/tests/disappearing_server.c
@@ -97,8 +97,8 @@ static void do_request_and_shutdown_server(grpc_end2end_test_fixture *f,
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f->client, f->cq, "/foo",
-                               "foo.test.google.fr:1234", deadline);
+  c = grpc_channel_create_call(f->client, NULL, GRPC_PROPAGATE_DEFAULTS, f->cq,
+                               "/foo", "foo.test.google.fr:1234", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c b/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c
index adc59b4e9426785d417a29a9562c3bf3d1471263..36cbe8067bb3be73439ba203b507fdbf78168708 100644
--- a/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c
+++ b/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c
@@ -105,8 +105,8 @@ static void test_early_server_shutdown_finishes_inflight_calls(
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/empty_batch.c b/test/core/end2end/tests/empty_batch.c
index db8458d3d91f074dc26b9e771962e2a9a3b97967..138c6b07c583816c853cc2518e407f59a0feb860 100644
--- a/test/core/end2end/tests/empty_batch.c
+++ b/test/core/end2end/tests/empty_batch.c
@@ -105,8 +105,8 @@ static void empty_batch_body(grpc_end2end_test_fixture f) {
   cq_verifier *cqv = cq_verifier_create(f.cq);
   grpc_op *op = NULL;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(c, op, 0, tag(1)));
diff --git a/test/core/end2end/tests/graceful_server_shutdown.c b/test/core/end2end/tests/graceful_server_shutdown.c
index 8c1889add9f8e7051e36ce3d1edb3420be25d04a..23efa0304ff6aadb798256fc0837af5b70f652d7 100644
--- a/test/core/end2end/tests/graceful_server_shutdown.c
+++ b/test/core/end2end/tests/graceful_server_shutdown.c
@@ -112,8 +112,8 @@ static void test_early_server_shutdown_finishes_inflight_calls(
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/invoke_large_request.c b/test/core/end2end/tests/invoke_large_request.c
index 744a9ada57d1c38e2a255d1f2edcf6d2a90ecd02..e32645e2babf3c9cd23f3e94603c66ad6e9906f3 100644
--- a/test/core/end2end/tests/invoke_large_request.c
+++ b/test/core/end2end/tests/invoke_large_request.c
@@ -128,8 +128,8 @@ static void test_invoke_large_request(grpc_end2end_test_config config) {
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/max_concurrent_streams.c b/test/core/end2end/tests/max_concurrent_streams.c
index 1204c070af45d4981d165ccf8328769c826b526a..049c028835987a304a62d3d2684938f3066dd82c 100644
--- a/test/core/end2end/tests/max_concurrent_streams.c
+++ b/test/core/end2end/tests/max_concurrent_streams.c
@@ -113,8 +113,8 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo",
-                               "foo.test.google.fr:1234", deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr:1234", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
@@ -244,11 +244,11 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
   /* start two requests - ensuring that the second is not accepted until
      the first completes */
   deadline = n_seconds_time(1000);
-  c1 = grpc_channel_create_call(f.client, f.cq, "/alpha",
-                                "foo.test.google.fr:1234", deadline);
+  c1 = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                                "/alpha", "foo.test.google.fr:1234", deadline);
   GPR_ASSERT(c1);
-  c2 = grpc_channel_create_call(f.client, f.cq, "/beta",
-                                "foo.test.google.fr:1234", deadline);
+  c2 = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                                "/beta", "foo.test.google.fr:1234", deadline);
   GPR_ASSERT(c2);
 
   GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call(
diff --git a/test/core/end2end/tests/max_message_length.c b/test/core/end2end/tests/max_message_length.c
index ea59a9385fe7db9d1de5f5dd5e40500738027932..feea49c68f1ca2b3b457367628600a7b5fdd6ae0 100644
--- a/test/core/end2end/tests/max_message_length.c
+++ b/test/core/end2end/tests/max_message_length.c
@@ -128,8 +128,8 @@ static void test_max_message_length(grpc_end2end_test_config config) {
   f = begin_test(config, "test_max_message_length", NULL, &server_args);
   cqv = cq_verifier_create(f.cq);
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo",
-                               "foo.test.google.fr:1234",
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr:1234",
                                gpr_inf_future(GPR_CLOCK_REALTIME));
   GPR_ASSERT(c);
 
diff --git a/test/core/end2end/tests/ping_pong_streaming.c b/test/core/end2end/tests/ping_pong_streaming.c
index 8a3ec96212ff4bf519994754146f37025dc396eb..0ae611b518488f06a8f8f28f1b06fbc7a2f3bb4d 100644
--- a/test/core/end2end/tests/ping_pong_streaming.c
+++ b/test/core/end2end/tests/ping_pong_streaming.c
@@ -124,8 +124,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
   gpr_slice request_payload_slice = gpr_slice_from_copied_string("hello world");
   gpr_slice response_payload_slice = gpr_slice_from_copied_string("hello you");
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo",
-                               "foo.test.google.fr:1234", deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr:1234", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/registered_call.c b/test/core/end2end/tests/registered_call.c
index f44fd3a224d9f2a353ac06755a1dcae5dd619ace..ffc4cd40a01f81078c9231aeedce660f42dcd3a1 100644
--- a/test/core/end2end/tests/registered_call.c
+++ b/test/core/end2end/tests/registered_call.c
@@ -115,7 +115,8 @@ static void simple_request_body(grpc_end2end_test_fixture f, void *rc) {
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_registered_call(f.client, f.cq, rc, deadline);
+  c = grpc_channel_create_registered_call(
+      f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq, rc, deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c b/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c
index 8b8a11babe100f45fbc4d956f8778409acee9b12..600642e6a7eea906b4cc2a06151df5ca77dd44ce 100644
--- a/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c
+++ b/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c
@@ -143,8 +143,8 @@ static void test_request_response_with_metadata_and_payload(
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/request_response_with_metadata_and_payload.c b/test/core/end2end/tests/request_response_with_metadata_and_payload.c
index 9821d7852f3834c987d80a077c237e02b90dae28..7e8cce10f401a3fd76293051d28069afa98294b3 100644
--- a/test/core/end2end/tests/request_response_with_metadata_and_payload.c
+++ b/test/core/end2end/tests/request_response_with_metadata_and_payload.c
@@ -129,8 +129,8 @@ static void test_request_response_with_metadata_and_payload(
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/request_response_with_payload.c b/test/core/end2end/tests/request_response_with_payload.c
index 38d3432f94eabdbe6b1063829ffb21e3bdd03ea5..55323895fb71b505e9bcbf8626ab65f645be484c 100644
--- a/test/core/end2end/tests/request_response_with_payload.c
+++ b/test/core/end2end/tests/request_response_with_payload.c
@@ -121,8 +121,8 @@ static void request_response_with_payload(grpc_end2end_test_fixture f) {
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c
index b5c743b40565171d2d8a3a456059abddfe7a082d..ba312d0d5c57236103d62186a9fddb8b8d053762 100644
--- a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c
+++ b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c
@@ -130,8 +130,8 @@ static void test_call_creds_failure(grpc_end2end_test_config config) {
   grpc_end2end_test_fixture f =
       begin_test(config, "test_call_creds_failure", NULL, NULL);
   gpr_timespec deadline = five_seconds_time();
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   /* Try with credentials unfit to be set on a call (channel creds). */
@@ -175,8 +175,8 @@ static void request_response_with_payload_and_call_creds(
   grpc_credentials *creds = NULL;
   grpc_auth_context *s_auth_context = NULL;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
   creds = grpc_iam_credentials_create(iam_token, iam_selector);
   GPR_ASSERT(creds != NULL);
diff --git a/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c b/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c
index a5c0851d056b475368481a0e0185c2e1b4988f2a..26be4ef643cde6d13e055a98b848c0d52fe1b7dd 100644
--- a/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c
+++ b/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c
@@ -131,8 +131,8 @@ static void test_request_response_with_metadata_and_payload(
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/request_with_compressed_payload.c b/test/core/end2end/tests/request_with_compressed_payload.c
index 2599f796d22cd8bee509955a0b573eda53e431bc..5f7d83cb0684d2c1455d6726cf8bbe9c4d3d4513 100644
--- a/test/core/end2end/tests/request_with_compressed_payload.c
+++ b/test/core/end2end/tests/request_with_compressed_payload.c
@@ -141,8 +141,8 @@ static void request_with_payload_template(
   f = begin_test(config, test_name, client_args, server_args);
   cqv = cq_verifier_create(f.cq);
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo",
-                               "foo.test.google.fr", deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/request_with_flags.c b/test/core/end2end/tests/request_with_flags.c
index 0bfedca0abf100ac6d62547bea02ad2f289c0931..37c4825c8b2689eab01ace90037e60e8587c6237 100644
--- a/test/core/end2end/tests/request_with_flags.c
+++ b/test/core/end2end/tests/request_with_flags.c
@@ -121,8 +121,8 @@ static void test_invoke_request_with_flags(
   size_t details_capacity = 0;
   grpc_call_error expectation;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/request_with_large_metadata.c b/test/core/end2end/tests/request_with_large_metadata.c
index ad34c6977447d2010bcbdaf1104a7511f5461a95..9ea8273ab0e55d2a6a789dadc2535230a7c10937 100644
--- a/test/core/end2end/tests/request_with_large_metadata.c
+++ b/test/core/end2end/tests/request_with_large_metadata.c
@@ -122,8 +122,8 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
   int was_cancelled = 2;
   const int large_size = 64 * 1024;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   meta.key = "key";
diff --git a/test/core/end2end/tests/request_with_payload.c b/test/core/end2end/tests/request_with_payload.c
index 8db6457830c7c729a3883f5483f66a1a5628d49d..6b5f173f01145b448b08f0a08a1dd16920db79da 100644
--- a/test/core/end2end/tests/request_with_payload.c
+++ b/test/core/end2end/tests/request_with_payload.c
@@ -120,8 +120,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/server_finishes_request.c b/test/core/end2end/tests/server_finishes_request.c
index 062a59aca29a530cc00157e268eb5c20e7010701..661c099d93788fe3062584f7eb05a1d2bbab1819 100644
--- a/test/core/end2end/tests/server_finishes_request.c
+++ b/test/core/end2end/tests/server_finishes_request.c
@@ -115,8 +115,8 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo",
-                               "foo.test.google.fr:1234", deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr:1234", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/simple_delayed_request.c b/test/core/end2end/tests/simple_delayed_request.c
index 034e974256a617b8f4d21fbaab374ad1eec95d71..82d2bf965702e60b0b33ed7fc01a162199457cff 100644
--- a/test/core/end2end/tests/simple_delayed_request.c
+++ b/test/core/end2end/tests/simple_delayed_request.c
@@ -107,8 +107,8 @@ static void simple_delayed_request_body(grpc_end2end_test_config config,
 
   config.init_client(f, client_args);
 
-  c = grpc_channel_create_call(f->client, f->cq, "/foo", "foo.test.google.fr",
-                               deadline);
+  c = grpc_channel_create_call(f->client, NULL, GRPC_PROPAGATE_DEFAULTS, f->cq,
+                               "/foo", "foo.test.google.fr", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/simple_request.c b/test/core/end2end/tests/simple_request.c
index ca783afccdaac020cadb6b66a8da3288a1858684..d60a63e682a884b32b9ec2d154ce17e15041724b 100644
--- a/test/core/end2end/tests/simple_request.c
+++ b/test/core/end2end/tests/simple_request.c
@@ -116,8 +116,8 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
   int was_cancelled = 2;
   char *peer;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo",
-                               "foo.test.google.fr:1234", deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr:1234", deadline);
   GPR_ASSERT(c);
 
   peer = grpc_call_get_peer(c);
diff --git a/test/core/end2end/tests/simple_request_with_high_initial_sequence_number.c b/test/core/end2end/tests/simple_request_with_high_initial_sequence_number.c
index 2cd638cbb9593835e2239f89fc647907d6725032..2244e22416cc08e383e83d6cc438947c8f37c2a3 100644
--- a/test/core/end2end/tests/simple_request_with_high_initial_sequence_number.c
+++ b/test/core/end2end/tests/simple_request_with_high_initial_sequence_number.c
@@ -115,8 +115,8 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
   size_t details_capacity = 0;
   int was_cancelled = 2;
 
-  c = grpc_channel_create_call(f.client, f.cq, "/foo",
-                               "foo.test.google.fr:1234", deadline);
+  c = grpc_channel_create_call(f.client, NULL, GRPC_PROPAGATE_DEFAULTS, f.cq,
+                               "/foo", "foo.test.google.fr:1234", deadline);
   GPR_ASSERT(c);
 
   grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/fling/client.c b/test/core/fling/client.c
index 5647a16101e3f3725d9ac4d7603eaac8ac1f4990..17b737c9dd4533db12db7a5869d5cc251d977802 100644
--- a/test/core/fling/client.c
+++ b/test/core/fling/client.c
@@ -89,9 +89,9 @@ static void init_ping_pong_request(void) {
 }
 
 static void step_ping_pong_request(void) {
-  call =
-      grpc_channel_create_call(channel, cq, "/Reflector/reflectUnary",
-                               "localhost", gpr_inf_future(GPR_CLOCK_REALTIME));
+  call = grpc_channel_create_call(channel, NULL, GRPC_PROPAGATE_DEFAULTS, cq,
+                                  "/Reflector/reflectUnary", "localhost",
+                                  gpr_inf_future(GPR_CLOCK_REALTIME));
   GPR_ASSERT(GRPC_CALL_OK ==
              grpc_call_start_batch(call, ops, op - ops, (void *)1));
   grpc_completion_queue_next(cq, gpr_inf_future(GPR_CLOCK_REALTIME));
@@ -101,9 +101,9 @@ static void step_ping_pong_request(void) {
 }
 
 static void init_ping_pong_stream(void) {
-  call =
-      grpc_channel_create_call(channel, cq, "/Reflector/reflectStream",
-                               "localhost", gpr_inf_future(GPR_CLOCK_REALTIME));
+  call = grpc_channel_create_call(channel, NULL, GRPC_PROPAGATE_DEFAULTS, cq,
+                                  "/Reflector/reflectStream", "localhost",
+                                  gpr_inf_future(GPR_CLOCK_REALTIME));
   stream_init_op.op = GRPC_OP_SEND_INITIAL_METADATA;
   stream_init_op.data.send_initial_metadata.count = 0;
   GPR_ASSERT(GRPC_CALL_OK ==
diff --git a/test/core/surface/lame_client_test.c b/test/core/surface/lame_client_test.c
index 3a7a3a36ee1cd81a56cb2d76cba90142f64acee6..5e6c9ae15c6fc07b3376af0b6d67ec19d7d77f60 100644
--- a/test/core/surface/lame_client_test.c
+++ b/test/core/surface/lame_client_test.c
@@ -60,7 +60,8 @@ int main(int argc, char **argv) {
   chan = grpc_lame_client_channel_create("lampoon:national");
   GPR_ASSERT(chan);
   cq = grpc_completion_queue_create();
-  call = grpc_channel_create_call(chan, cq, "/Foo", "anywhere",
+  call = grpc_channel_create_call(chan, NULL, GRPC_PROPAGATE_DEFAULTS, cq,
+                                  "/Foo", "anywhere",
                                   GRPC_TIMEOUT_SECONDS_TO_DEADLINE(100));
   GPR_ASSERT(call);
   cqv = cq_verifier_create(cq);
diff --git a/test/core/util/test_config.c b/test/core/util/test_config.c
index 225658f5e2afaf79c698e6576a02d73a94c20e5f..cadf88a7c62dbc7e8fa0017a1626858ccad31cf3 100644
--- a/test/core/util/test_config.c
+++ b/test/core/util/test_config.c
@@ -38,6 +38,8 @@
 #include <stdlib.h>
 #include <signal.h>
 
+double g_fixture_slowdown_factor = 1.0;
+
 #if GPR_GETPID_IN_UNISTD_H
 #include <unistd.h>
 static int seed(void) { return getpid(); }
diff --git a/test/core/util/test_config.h b/test/core/util/test_config.h
index 7028ade7b2158cecf8cfea9d37b0c27b945caa6b..b2cc40bb47bfbd040f90f69f26eb249694eb29b8 100644
--- a/test/core/util/test_config.h
+++ b/test/core/util/test_config.h
@@ -48,8 +48,11 @@ extern "C" {
 #define GRPC_TEST_SLOWDOWN_MACHINE_FACTOR 1.0
 #endif
 
-#define GRPC_TEST_SLOWDOWN_FACTOR \
-  (GRPC_TEST_SLOWDOWN_BUILD_FACTOR * GRPC_TEST_SLOWDOWN_MACHINE_FACTOR)
+extern double g_fixture_slowdown_factor;
+
+#define GRPC_TEST_SLOWDOWN_FACTOR                                        \
+  (GRPC_TEST_SLOWDOWN_BUILD_FACTOR * GRPC_TEST_SLOWDOWN_MACHINE_FACTOR * \
+   g_fixture_slowdown_factor)
 
 #define GRPC_TIMEOUT_SECONDS_TO_DEADLINE(x)                                \
   gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC),                               \
diff --git a/test/cpp/end2end/end2end_test.cc b/test/cpp/end2end/end2end_test.cc
index 9c39554104f4b8948f3fe6071267ee8c0970a4e9..87bb5b6362ef1a69aa3c0cee4d528b6cb1e366fe 100644
--- a/test/cpp/end2end/end2end_test.cc
+++ b/test/cpp/end2end/end2end_test.cc
@@ -104,6 +104,22 @@ bool CheckIsLocalhost(const grpc::string& addr) {
 
 }  // namespace
 
+class Proxy : public ::grpc::cpp::test::util::TestService::Service {
+ public:
+  Proxy(std::shared_ptr<ChannelInterface> channel)
+      : stub_(grpc::cpp::test::util::TestService::NewStub(channel)) {}
+
+  Status Echo(ServerContext* server_context, const EchoRequest* request,
+              EchoResponse* response) GRPC_OVERRIDE {
+    std::unique_ptr<ClientContext> client_context =
+        ClientContext::FromServerContext(*server_context);
+    return stub_->Echo(client_context.get(), *request, response);
+  }
+
+ private:
+  std::unique_ptr<::grpc::cpp::test::util::TestService::Stub> stub_;
+};
+
 class TestServiceImpl : public ::grpc::cpp::test::util::TestService::Service {
  public:
   TestServiceImpl() : signal_client_(false), host_() {}
@@ -241,7 +257,9 @@ class TestServiceImplDupPkg
   }
 };
 
-class End2endTest : public ::testing::Test {
+/* Param is whether or not to use a proxy -- some tests use TEST_F as they don't
+   need this functionality */
+class End2endTest : public ::testing::TestWithParam<bool> {
  protected:
   End2endTest()
       : kMaxMessageSize_(8192), special_service_("special"), thread_pool_(2) {}
@@ -267,21 +285,41 @@ class End2endTest : public ::testing::Test {
     server_ = builder.BuildAndStart();
   }
 
-  void TearDown() GRPC_OVERRIDE { server_->Shutdown(); }
+  void TearDown() GRPC_OVERRIDE {
+    server_->Shutdown();
+    if (proxy_server_) proxy_server_->Shutdown();
+  }
 
-  void ResetStub() {
+  void ResetStub(bool use_proxy) {
     SslCredentialsOptions ssl_opts = {test_root_cert, "", ""};
     ChannelArguments args;
     args.SetSslTargetNameOverride("foo.test.google.fr");
     args.SetString(GRPC_ARG_SECONDARY_USER_AGENT_STRING, "end2end_test");
     channel_ = CreateChannel(server_address_.str(), SslCredentials(ssl_opts),
                              args);
+    if (use_proxy) {
+      proxy_service_.reset(new Proxy(channel_));
+      int port = grpc_pick_unused_port_or_die();
+      std::ostringstream proxyaddr;
+      proxyaddr << "localhost:" << port;
+      ServerBuilder builder;
+      builder.AddListeningPort(proxyaddr.str(), InsecureServerCredentials());
+      builder.RegisterService(proxy_service_.get());
+      builder.SetThreadPool(&thread_pool_);
+      proxy_server_ = builder.BuildAndStart();
+
+      channel_ = CreateChannel(proxyaddr.str(), InsecureCredentials(),
+                               ChannelArguments());
+    }
+
     stub_ = std::move(grpc::cpp::test::util::TestService::NewStub(channel_));
   }
 
   std::shared_ptr<ChannelInterface> channel_;
   std::unique_ptr<grpc::cpp::test::util::TestService::Stub> stub_;
   std::unique_ptr<Server> server_;
+  std::unique_ptr<Server> proxy_server_;
+  std::unique_ptr<Proxy> proxy_service_;
   std::ostringstream server_address_;
   const int kMaxMessageSize_;
   TestServiceImpl service_;
@@ -306,7 +344,7 @@ static void SendRpc(grpc::cpp::test::util::TestService::Stub* stub,
 }
 
 TEST_F(End2endTest, SimpleRpcWithHost) {
-  ResetStub();
+  ResetStub(false);
 
   EchoRequest request;
   EchoResponse response;
@@ -321,13 +359,13 @@ TEST_F(End2endTest, SimpleRpcWithHost) {
   EXPECT_TRUE(s.ok());
 }
 
-TEST_F(End2endTest, SimpleRpc) {
-  ResetStub();
+TEST_P(End2endTest, SimpleRpc) {
+  ResetStub(GetParam());
   SendRpc(stub_.get(), 1);
 }
 
-TEST_F(End2endTest, MultipleRpcs) {
-  ResetStub();
+TEST_P(End2endTest, MultipleRpcs) {
+  ResetStub(GetParam());
   std::vector<std::thread*> threads;
   for (int i = 0; i < 10; ++i) {
     threads.push_back(new std::thread(SendRpc, stub_.get(), 10));
@@ -339,8 +377,8 @@ TEST_F(End2endTest, MultipleRpcs) {
 }
 
 // Set a 10us deadline and make sure proper error is returned.
-TEST_F(End2endTest, RpcDeadlineExpires) {
-  ResetStub();
+TEST_P(End2endTest, RpcDeadlineExpires) {
+  ResetStub(GetParam());
   EchoRequest request;
   EchoResponse response;
   request.set_message("Hello");
@@ -354,8 +392,8 @@ TEST_F(End2endTest, RpcDeadlineExpires) {
 }
 
 // Set a long but finite deadline.
-TEST_F(End2endTest, RpcLongDeadline) {
-  ResetStub();
+TEST_P(End2endTest, RpcLongDeadline) {
+  ResetStub(GetParam());
   EchoRequest request;
   EchoResponse response;
   request.set_message("Hello");
@@ -370,8 +408,8 @@ TEST_F(End2endTest, RpcLongDeadline) {
 }
 
 // Ask server to echo back the deadline it sees.
-TEST_F(End2endTest, EchoDeadline) {
-  ResetStub();
+TEST_P(End2endTest, EchoDeadline) {
+  ResetStub(GetParam());
   EchoRequest request;
   EchoResponse response;
   request.set_message("Hello");
@@ -392,8 +430,8 @@ TEST_F(End2endTest, EchoDeadline) {
 }
 
 // Ask server to echo back the deadline it sees. The rpc has no deadline.
-TEST_F(End2endTest, EchoDeadlineForNoDeadlineRpc) {
-  ResetStub();
+TEST_P(End2endTest, EchoDeadlineForNoDeadlineRpc) {
+  ResetStub(GetParam());
   EchoRequest request;
   EchoResponse response;
   request.set_message("Hello");
@@ -407,8 +445,8 @@ TEST_F(End2endTest, EchoDeadlineForNoDeadlineRpc) {
             gpr_inf_future(GPR_CLOCK_REALTIME).tv_sec);
 }
 
-TEST_F(End2endTest, UnimplementedRpc) {
-  ResetStub();
+TEST_P(End2endTest, UnimplementedRpc) {
+  ResetStub(GetParam());
   EchoRequest request;
   EchoResponse response;
   request.set_message("Hello");
@@ -422,7 +460,7 @@ TEST_F(End2endTest, UnimplementedRpc) {
 }
 
 TEST_F(End2endTest, RequestStreamOneRequest) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   ClientContext context;
@@ -437,7 +475,7 @@ TEST_F(End2endTest, RequestStreamOneRequest) {
 }
 
 TEST_F(End2endTest, RequestStreamTwoRequests) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   ClientContext context;
@@ -453,7 +491,7 @@ TEST_F(End2endTest, RequestStreamTwoRequests) {
 }
 
 TEST_F(End2endTest, ResponseStream) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   ClientContext context;
@@ -473,7 +511,7 @@ TEST_F(End2endTest, ResponseStream) {
 }
 
 TEST_F(End2endTest, BidiStream) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   ClientContext context;
@@ -506,7 +544,7 @@ TEST_F(End2endTest, BidiStream) {
 // Talk to the two services with the same name but different package names.
 // The two stubs are created on the same channel.
 TEST_F(End2endTest, DiffPackageServices) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   request.set_message("Hello");
@@ -561,8 +599,8 @@ void CancelRpc(ClientContext* context, int delay_us, TestServiceImpl* service) {
 }
 
 // Client cancels rpc after 10ms
-TEST_F(End2endTest, ClientCancelsRpc) {
-  ResetStub();
+TEST_P(End2endTest, ClientCancelsRpc) {
+  ResetStub(GetParam());
   EchoRequest request;
   EchoResponse response;
   request.set_message("Hello");
@@ -578,8 +616,8 @@ TEST_F(End2endTest, ClientCancelsRpc) {
 }
 
 // Server cancels rpc after 1ms
-TEST_F(End2endTest, ServerCancelsRpc) {
-  ResetStub();
+TEST_P(End2endTest, ServerCancelsRpc) {
+  ResetStub(GetParam());
   EchoRequest request;
   EchoResponse response;
   request.set_message("Hello");
@@ -593,7 +631,7 @@ TEST_F(End2endTest, ServerCancelsRpc) {
 
 // Client cancels request stream after sending two messages
 TEST_F(End2endTest, ClientCancelsRequestStream) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   ClientContext context;
@@ -613,7 +651,7 @@ TEST_F(End2endTest, ClientCancelsRequestStream) {
 
 // Client cancels server stream after sending some messages
 TEST_F(End2endTest, ClientCancelsResponseStream) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   ClientContext context;
@@ -645,7 +683,7 @@ TEST_F(End2endTest, ClientCancelsResponseStream) {
 
 // Client cancels bidi stream after sending some messages
 TEST_F(End2endTest, ClientCancelsBidi) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   ClientContext context;
@@ -677,7 +715,7 @@ TEST_F(End2endTest, ClientCancelsBidi) {
 }
 
 TEST_F(End2endTest, RpcMaxMessageSize) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   request.set_message(string(kMaxMessageSize_ * 2, 'a'));
@@ -702,7 +740,7 @@ bool MetadataContains(const std::multimap<grpc::string, grpc::string>& metadata,
 }
 
 TEST_F(End2endTest, SetPerCallCredentials) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   ClientContext context;
@@ -724,7 +762,7 @@ TEST_F(End2endTest, SetPerCallCredentials) {
 }
 
 TEST_F(End2endTest, InsecurePerCallCredentials) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   ClientContext context;
@@ -739,7 +777,7 @@ TEST_F(End2endTest, InsecurePerCallCredentials) {
 }
 
 TEST_F(End2endTest, OverridePerCallCredentials) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   ClientContext context;
@@ -772,7 +810,7 @@ TEST_F(End2endTest, OverridePerCallCredentials) {
 // Client sends 20 requests and the server returns CANCELLED status after
 // reading 10 requests.
 TEST_F(End2endTest, RequestStreamServerEarlyCancelTest) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   ClientContext context;
@@ -791,7 +829,7 @@ TEST_F(End2endTest, RequestStreamServerEarlyCancelTest) {
 }
 
 TEST_F(End2endTest, ClientAuthContext) {
-  ResetStub();
+  ResetStub(false);
   EchoRequest request;
   EchoResponse response;
   request.set_message("Hello");
@@ -816,8 +854,8 @@ TEST_F(End2endTest, ClientAuthContext) {
 }
 
 // Make the response larger than the flow control window.
-TEST_F(End2endTest, HugeResponse) {
-  ResetStub();
+TEST_P(End2endTest, HugeResponse) {
+  ResetStub(GetParam());
   EchoRequest request;
   EchoResponse response;
   request.set_message("huge response");
@@ -843,7 +881,7 @@ void ReaderThreadFunc(ClientReaderWriter<EchoRequest, EchoResponse>* stream,
 
 // Run a Read and a WritesDone simultaneously.
 TEST_F(End2endTest, SimultaneousReadWritesDone) {
-  ResetStub();
+  ResetStub(false);
   ClientContext context;
   gpr_event ev;
   gpr_event_init(&ev);
@@ -856,8 +894,8 @@ TEST_F(End2endTest, SimultaneousReadWritesDone) {
   reader_thread.join();
 }
 
-TEST_F(End2endTest, Peer) {
-  ResetStub();
+TEST_P(End2endTest, Peer) {
+  ResetStub(GetParam());
   EchoRequest request;
   EchoResponse response;
   request.set_message("hello");
@@ -892,6 +930,8 @@ TEST_F(End2endTest, ChannelState) {
   EXPECT_EQ(GRPC_CHANNEL_CONNECTING, channel_->GetState(false));
 }
 
+INSTANTIATE_TEST_CASE_P(End2end, End2endTest, ::testing::Values(false, true));
+
 }  // namespace testing
 }  // namespace grpc
 
diff --git a/tools/buildgen/generate_projects.py b/tools/buildgen/generate_projects.py
index 5de06354d1f5746d1e8427c869784891938abc95..db6b5050da61832db2a77518bc1d04a20727c41a 100755
--- a/tools/buildgen/generate_projects.py
+++ b/tools/buildgen/generate_projects.py
@@ -54,7 +54,7 @@ for root, dirs, files in os.walk('templates'):
       out = out_dir + '/' + os.path.splitext(f)[0]
       if not os.path.exists(out_dir):
         os.makedirs(out_dir)
-      cmd = ['tools/buildgen/mako_renderer.py']
+      cmd = ['python', 'tools/buildgen/mako_renderer.py']
       for plugin in plugins:
         cmd.append('-p')
         cmd.append(plugin)
diff --git a/tools/buildgen/plugins/expand_bin_attrs.py b/tools/buildgen/plugins/expand_bin_attrs.py
index 0896a5a1652b6f2c4cde4ed460f87e343b9a3723..e35b9fe740a935c0780fef23756c915e87a15fce 100755
--- a/tools/buildgen/plugins/expand_bin_attrs.py
+++ b/tools/buildgen/plugins/expand_bin_attrs.py
@@ -44,8 +44,9 @@ def mako_plugin(dictionary):
   """
 
   targets = dictionary.get('targets')
+  default_platforms = ['windows', 'posix', 'linux', 'mac']
 
   for tgt in targets:
     tgt['flaky'] = tgt.get('flaky', False)
-    tgt['platforms'] = tgt.get('platforms', ['windows', 'posix'])
+    tgt['platforms'] = sorted(tgt.get('platforms', default_platforms))
 
diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++
index 6b1302d4bd3342ddef581384517677aa9f921421..eb14925fff29e730871602bd908dc9fa5257d283 100644
--- a/tools/doxygen/Doxyfile.c++
+++ b/tools/doxygen/Doxyfile.c++
@@ -799,6 +799,7 @@ include/grpc++/slice.h \
 include/grpc++/status.h \
 include/grpc++/status_code_enum.h \
 include/grpc++/stream.h \
+include/grpc++/stub_options.h \
 include/grpc++/thread_pool_interface.h \
 include/grpc++/time.h
 
diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal
index 9cbf23e1a79371ce4059ec4ce31262071f2ff4a5..3d6649bef6d2ef00017990854d4c9a6baa0500dd 100644
--- a/tools/doxygen/Doxyfile.c++.internal
+++ b/tools/doxygen/Doxyfile.c++.internal
@@ -799,6 +799,7 @@ include/grpc++/slice.h \
 include/grpc++/status.h \
 include/grpc++/status_code_enum.h \
 include/grpc++/stream.h \
+include/grpc++/stub_options.h \
 include/grpc++/thread_pool_interface.h \
 include/grpc++/time.h \
 src/cpp/client/secure_credentials.h \
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index b93f584095349e6d13a7a58d111f07943a8f7db6..482ffcc435df5c9a940d7a10d2a5f2af896dceb1 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -54,6 +54,17 @@ os.chdir(ROOT)
 _FORCE_ENVIRON_FOR_WRAPPERS = {}
 
 
+def platform_string():
+  if platform.system() == 'Windows':
+    return 'windows'
+  elif platform.system() == 'Darwin':
+    return 'mac'
+  elif platform.system() == 'Linux':
+    return 'linux'
+  else:
+    return 'posix'
+
+
 # SimpleConfig: just compile with CONFIG=config, and run the binary to test
 class SimpleConfig(object):
 
@@ -109,17 +120,13 @@ class CLanguage(object):
 
   def __init__(self, make_target, test_lang):
     self.make_target = make_target
-    if platform.system() == 'Windows':
-      plat = 'windows'
-    else:
-      plat = 'posix'
-    self.platform = plat
+    self.platform = platform_string()
     with open('tools/run_tests/tests.json') as f:
       js = json.load(f)
       self.binaries = [tgt
                        for tgt in js
                        if tgt['language'] == test_lang and
-                          plat in tgt['platforms']]
+                          platform_string() in tgt['platforms']]
 
   def test_specs(self, config, travis):
     out = []
@@ -245,11 +252,7 @@ class RubyLanguage(object):
 
 class CSharpLanguage(object):
   def __init__(self):
-    if platform.system() == 'Windows':
-      plat = 'windows'
-    else:
-      plat = 'posix'
-    self.platform = plat
+    self.platform = platform_string()
 
   def test_specs(self, config, travis):
     assemblies = ['Grpc.Core.Tests',
@@ -263,7 +266,7 @@ class CSharpLanguage(object):
     return [config.job_spec([cmd, assembly],
             None, shortname=assembly,
             environ=_FORCE_ENVIRON_FOR_WRAPPERS)
-            for assembly in assemblies ]
+            for assembly in assemblies]
 
   def make_targets(self):
     # For Windows, this target doesn't really build anything,
diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json
index f43306dcfca70b1688f893105066f8e5fe8dd416..e3490c93af6b12aac4f785330fbf70aa798ab13c 100644
--- a/tools/run_tests/sources_and_headers.json
+++ b/tools/run_tests/sources_and_headers.json
@@ -4612,7 +4612,7 @@
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_bad_hostname", 
       "gpr", 
       "gpr_test_util", 
@@ -4621,13 +4621,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_bad_hostname_test", 
+    "name": "chttp2_fullstack_with_proxy_bad_hostname_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_cancel_after_accept", 
       "gpr", 
       "gpr_test_util", 
@@ -4636,13 +4636,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_after_accept_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_cancel_after_accept_and_writes_closed", 
       "gpr", 
       "gpr_test_util", 
@@ -4651,13 +4651,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_cancel_after_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -4666,13 +4666,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_cancel_after_invoke_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_after_invoke_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_cancel_before_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -4681,13 +4681,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_cancel_before_invoke_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_before_invoke_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_cancel_in_a_vacuum", 
       "gpr", 
       "gpr_test_util", 
@@ -4696,13 +4696,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_census_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -4711,28 +4711,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_census_simple_request_test", 
-    "src": []
-  }, 
-  {
-    "deps": [
-      "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
-      "end2end_test_channel_connectivity", 
-      "gpr", 
-      "gpr_test_util", 
-      "grpc", 
-      "grpc_test_util"
-    ], 
-    "headers": [], 
-    "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_channel_connectivity_test", 
+    "name": "chttp2_fullstack_with_proxy_census_simple_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_default_host", 
       "gpr", 
       "gpr_test_util", 
@@ -4741,13 +4726,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_default_host_test", 
+    "name": "chttp2_fullstack_with_proxy_default_host_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_disappearing_server", 
       "gpr", 
       "gpr_test_util", 
@@ -4756,13 +4741,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_disappearing_server_test", 
+    "name": "chttp2_fullstack_with_proxy_disappearing_server_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_early_server_shutdown_finishes_inflight_calls", 
       "gpr", 
       "gpr_test_util", 
@@ -4771,13 +4756,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test", 
+    "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_early_server_shutdown_finishes_tags", 
       "gpr", 
       "gpr_test_util", 
@@ -4786,13 +4771,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test", 
+    "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_empty_batch", 
       "gpr", 
       "gpr_test_util", 
@@ -4801,13 +4786,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_empty_batch_test", 
+    "name": "chttp2_fullstack_with_proxy_empty_batch_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_graceful_server_shutdown", 
       "gpr", 
       "gpr_test_util", 
@@ -4816,13 +4801,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_graceful_server_shutdown_test", 
+    "name": "chttp2_fullstack_with_proxy_graceful_server_shutdown_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_invoke_large_request", 
       "gpr", 
       "gpr_test_util", 
@@ -4831,28 +4816,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_invoke_large_request_test", 
-    "src": []
-  }, 
-  {
-    "deps": [
-      "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
-      "end2end_test_max_concurrent_streams", 
-      "gpr", 
-      "gpr_test_util", 
-      "grpc", 
-      "grpc_test_util"
-    ], 
-    "headers": [], 
-    "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_max_concurrent_streams_test", 
+    "name": "chttp2_fullstack_with_proxy_invoke_large_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_max_message_length", 
       "gpr", 
       "gpr_test_util", 
@@ -4861,13 +4831,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_max_message_length_test", 
+    "name": "chttp2_fullstack_with_proxy_max_message_length_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_no_op", 
       "gpr", 
       "gpr_test_util", 
@@ -4876,13 +4846,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_no_op_test", 
+    "name": "chttp2_fullstack_with_proxy_no_op_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_ping_pong_streaming", 
       "gpr", 
       "gpr_test_util", 
@@ -4891,13 +4861,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_ping_pong_streaming_test", 
+    "name": "chttp2_fullstack_with_proxy_ping_pong_streaming_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_registered_call", 
       "gpr", 
       "gpr_test_util", 
@@ -4906,13 +4876,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_registered_call_test", 
+    "name": "chttp2_fullstack_with_proxy_registered_call_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_response_with_binary_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -4921,13 +4891,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_response_with_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -4936,13 +4906,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_response_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -4951,13 +4921,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_response_with_payload_and_call_creds", 
       "gpr", 
       "gpr_test_util", 
@@ -4966,13 +4936,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_response_with_trailing_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -4981,43 +4951,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test", 
-    "src": []
-  }, 
-  {
-    "deps": [
-      "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
-      "end2end_test_request_with_compressed_payload", 
-      "gpr", 
-      "gpr_test_util", 
-      "grpc", 
-      "grpc_test_util"
-    ], 
-    "headers": [], 
-    "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_with_compressed_payload_test", 
-    "src": []
-  }, 
-  {
-    "deps": [
-      "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
-      "end2end_test_request_with_flags", 
-      "gpr", 
-      "gpr_test_util", 
-      "grpc", 
-      "grpc_test_util"
-    ], 
-    "headers": [], 
-    "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_with_flags_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_with_large_metadata", 
       "gpr", 
       "gpr_test_util", 
@@ -5026,13 +4966,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_with_large_metadata_test", 
+    "name": "chttp2_fullstack_with_proxy_request_with_large_metadata_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -5041,13 +4981,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_with_payload_test", 
+    "name": "chttp2_fullstack_with_proxy_request_with_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_server_finishes_request", 
       "gpr", 
       "gpr_test_util", 
@@ -5056,13 +4996,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_server_finishes_request_test", 
+    "name": "chttp2_fullstack_with_proxy_server_finishes_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_simple_delayed_request", 
       "gpr", 
       "gpr_test_util", 
@@ -5071,13 +5011,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_simple_delayed_request_test", 
+    "name": "chttp2_fullstack_with_proxy_simple_delayed_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -5086,13 +5026,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_simple_request_test", 
+    "name": "chttp2_fullstack_with_proxy_simple_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_simple_request_with_high_initial_sequence_number", 
       "gpr", 
       "gpr_test_util", 
@@ -5101,13 +5041,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test", 
+    "name": "chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_bad_hostname", 
       "gpr", 
       "gpr_test_util", 
@@ -5116,13 +5056,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test", 
+    "name": "chttp2_simple_ssl_fullstack_bad_hostname_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_cancel_after_accept", 
       "gpr", 
       "gpr_test_util", 
@@ -5131,13 +5071,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test", 
+    "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_cancel_after_accept_and_writes_closed", 
       "gpr", 
       "gpr_test_util", 
@@ -5146,13 +5086,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test", 
+    "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_cancel_after_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -5161,13 +5101,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test", 
+    "name": "chttp2_simple_ssl_fullstack_cancel_after_invoke_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_cancel_before_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -5176,13 +5116,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test", 
+    "name": "chttp2_simple_ssl_fullstack_cancel_before_invoke_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_cancel_in_a_vacuum", 
       "gpr", 
       "gpr_test_util", 
@@ -5191,13 +5131,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test", 
+    "name": "chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_census_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -5206,13 +5146,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_census_simple_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_channel_connectivity", 
       "gpr", 
       "gpr_test_util", 
@@ -5221,13 +5161,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test", 
+    "name": "chttp2_simple_ssl_fullstack_channel_connectivity_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_default_host", 
       "gpr", 
       "gpr_test_util", 
@@ -5236,13 +5176,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_default_host_test", 
+    "name": "chttp2_simple_ssl_fullstack_default_host_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_disappearing_server", 
       "gpr", 
       "gpr_test_util", 
@@ -5251,13 +5191,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test", 
+    "name": "chttp2_simple_ssl_fullstack_disappearing_server_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_early_server_shutdown_finishes_inflight_calls", 
       "gpr", 
       "gpr_test_util", 
@@ -5266,13 +5206,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test", 
+    "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_early_server_shutdown_finishes_tags", 
       "gpr", 
       "gpr_test_util", 
@@ -5281,13 +5221,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test", 
+    "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_empty_batch", 
       "gpr", 
       "gpr_test_util", 
@@ -5296,13 +5236,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_empty_batch_test", 
+    "name": "chttp2_simple_ssl_fullstack_empty_batch_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_graceful_server_shutdown", 
       "gpr", 
       "gpr_test_util", 
@@ -5311,13 +5251,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test", 
+    "name": "chttp2_simple_ssl_fullstack_graceful_server_shutdown_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_invoke_large_request", 
       "gpr", 
       "gpr_test_util", 
@@ -5326,13 +5266,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_invoke_large_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_max_concurrent_streams", 
       "gpr", 
       "gpr_test_util", 
@@ -5341,13 +5281,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test", 
+    "name": "chttp2_simple_ssl_fullstack_max_concurrent_streams_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_max_message_length", 
       "gpr", 
       "gpr_test_util", 
@@ -5356,13 +5296,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_max_message_length_test", 
+    "name": "chttp2_simple_ssl_fullstack_max_message_length_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_no_op", 
       "gpr", 
       "gpr_test_util", 
@@ -5371,13 +5311,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_no_op_test", 
+    "name": "chttp2_simple_ssl_fullstack_no_op_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_ping_pong_streaming", 
       "gpr", 
       "gpr_test_util", 
@@ -5386,13 +5326,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test", 
+    "name": "chttp2_simple_ssl_fullstack_ping_pong_streaming_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_registered_call", 
       "gpr", 
       "gpr_test_util", 
@@ -5401,13 +5341,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_registered_call_test", 
+    "name": "chttp2_simple_ssl_fullstack_registered_call_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_request_response_with_binary_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -5416,13 +5356,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_request_response_with_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -5431,13 +5371,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_request_response_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -5446,13 +5386,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_request_response_with_payload_and_call_creds", 
       "gpr", 
       "gpr_test_util", 
@@ -5461,13 +5401,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test", 
+    "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_request_response_with_trailing_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -5476,13 +5416,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_request_with_compressed_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -5491,13 +5431,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_request_with_compressed_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_request_with_flags", 
       "gpr", 
       "gpr_test_util", 
@@ -5506,13 +5446,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test", 
+    "name": "chttp2_simple_ssl_fullstack_request_with_flags_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_request_with_large_metadata", 
       "gpr", 
       "gpr_test_util", 
@@ -5521,13 +5461,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test", 
+    "name": "chttp2_simple_ssl_fullstack_request_with_large_metadata_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_request_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -5536,13 +5476,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_request_with_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_server_finishes_request", 
       "gpr", 
       "gpr_test_util", 
@@ -5551,13 +5491,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_server_finishes_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_simple_delayed_request", 
       "gpr", 
       "gpr_test_util", 
@@ -5566,13 +5506,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_simple_delayed_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -5581,13 +5521,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_simple_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_simple_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack", 
       "end2end_test_simple_request_with_high_initial_sequence_number", 
       "gpr", 
       "gpr_test_util", 
@@ -5596,13 +5536,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test", 
+    "name": "chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_bad_hostname", 
       "gpr", 
       "gpr_test_util", 
@@ -5611,13 +5551,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_cancel_after_accept", 
       "gpr", 
       "gpr_test_util", 
@@ -5626,13 +5566,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_cancel_after_accept_and_writes_closed", 
       "gpr", 
       "gpr_test_util", 
@@ -5641,13 +5581,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_cancel_after_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -5656,13 +5596,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_cancel_before_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -5671,13 +5611,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_cancel_in_a_vacuum", 
       "gpr", 
       "gpr_test_util", 
@@ -5686,13 +5626,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_census_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -5701,13 +5641,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_channel_connectivity", 
       "gpr", 
       "gpr_test_util", 
@@ -5716,13 +5656,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_default_host", 
       "gpr", 
       "gpr_test_util", 
@@ -5731,13 +5671,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_default_host_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_default_host_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_disappearing_server", 
       "gpr", 
       "gpr_test_util", 
@@ -5746,13 +5686,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_early_server_shutdown_finishes_inflight_calls", 
       "gpr", 
       "gpr_test_util", 
@@ -5761,13 +5701,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_early_server_shutdown_finishes_tags", 
       "gpr", 
       "gpr_test_util", 
@@ -5776,13 +5716,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_empty_batch", 
       "gpr", 
       "gpr_test_util", 
@@ -5791,13 +5731,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_empty_batch_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_graceful_server_shutdown", 
       "gpr", 
       "gpr_test_util", 
@@ -5806,13 +5746,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_invoke_large_request", 
       "gpr", 
       "gpr_test_util", 
@@ -5821,13 +5761,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_max_concurrent_streams", 
       "gpr", 
       "gpr_test_util", 
@@ -5836,13 +5776,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_max_message_length", 
       "gpr", 
       "gpr_test_util", 
@@ -5851,13 +5791,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_max_message_length_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_no_op", 
       "gpr", 
       "gpr_test_util", 
@@ -5866,13 +5806,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_no_op_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_no_op_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_ping_pong_streaming", 
       "gpr", 
       "gpr_test_util", 
@@ -5881,13 +5821,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_registered_call", 
       "gpr", 
       "gpr_test_util", 
@@ -5896,13 +5836,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_registered_call_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_request_response_with_binary_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -5911,13 +5851,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_request_response_with_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -5926,13 +5866,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_request_response_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -5941,13 +5881,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_request_response_with_payload_and_call_creds", 
       "gpr", 
       "gpr_test_util", 
@@ -5956,13 +5896,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_request_response_with_trailing_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -5971,13 +5911,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_request_with_compressed_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -5986,13 +5926,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_request_with_flags", 
       "gpr", 
       "gpr_test_util", 
@@ -6001,13 +5941,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_request_with_large_metadata", 
       "gpr", 
       "gpr_test_util", 
@@ -6016,13 +5956,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_request_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -6031,13 +5971,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_server_finishes_request", 
       "gpr", 
       "gpr_test_util", 
@@ -6046,13 +5986,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_simple_delayed_request", 
       "gpr", 
       "gpr_test_util", 
@@ -6061,13 +6001,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -6076,13 +6016,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_simple_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_poll", 
       "end2end_test_simple_request_with_high_initial_sequence_number", 
       "gpr", 
       "gpr_test_util", 
@@ -6091,13 +6031,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
       "end2end_test_bad_hostname", 
       "gpr", 
       "gpr_test_util", 
@@ -6106,13 +6046,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_bad_hostname_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
       "end2end_test_cancel_after_accept", 
       "gpr", 
       "gpr_test_util", 
@@ -6121,13 +6061,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_cancel_after_accept_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
       "end2end_test_cancel_after_accept_and_writes_closed", 
       "gpr", 
       "gpr_test_util", 
@@ -6136,13 +6076,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
       "end2end_test_cancel_after_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -6151,13 +6091,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_cancel_after_invoke_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
       "end2end_test_cancel_before_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -6166,13 +6106,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_cancel_before_invoke_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
       "end2end_test_cancel_in_a_vacuum", 
       "gpr", 
       "gpr_test_util", 
@@ -6181,13 +6121,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_cancel_in_a_vacuum_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
       "end2end_test_census_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -6196,14 +6136,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_census_simple_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_early_server_shutdown_finishes_inflight_calls", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_default_host", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6211,14 +6151,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_default_host_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_early_server_shutdown_finishes_tags", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_disappearing_server", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6226,14 +6166,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_empty_batch", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_early_server_shutdown_finishes_inflight_calls", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6241,14 +6181,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_empty_batch_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_graceful_server_shutdown", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_early_server_shutdown_finishes_tags", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6256,14 +6196,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_graceful_server_shutdown_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_invoke_large_request", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_empty_batch", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6271,14 +6211,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_invoke_large_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_max_concurrent_streams", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_graceful_server_shutdown", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6286,14 +6226,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_max_concurrent_streams_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_max_message_length", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_invoke_large_request", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6301,14 +6241,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_max_message_length_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_no_op", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_max_message_length", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6316,14 +6256,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_no_op_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_ping_pong_streaming", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_no_op", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6331,14 +6271,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_ping_pong_streaming_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_no_op_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_registered_call", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_ping_pong_streaming", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6346,14 +6286,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_registered_call_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_request_response_with_binary_metadata_and_payload", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_registered_call", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6361,14 +6301,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_registered_call_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_request_response_with_metadata_and_payload", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_request_response_with_binary_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6376,14 +6316,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_request_response_with_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_request_response_with_payload", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_request_response_with_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6391,14 +6331,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_request_response_with_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_request_response_with_payload_and_call_creds", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_request_response_with_payload", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6406,14 +6346,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_request_response_with_payload_and_call_creds_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_request_response_with_trailing_metadata_and_payload", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_request_response_with_payload_and_call_creds", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6421,14 +6361,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_request_with_compressed_payload", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_request_response_with_trailing_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6436,14 +6376,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_request_with_compressed_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_request_with_flags", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_request_with_large_metadata", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6451,14 +6391,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_request_with_flags_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_request_with_large_metadata", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_request_with_payload", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6466,14 +6406,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_request_with_large_metadata_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_request_with_payload", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_server_finishes_request", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6481,14 +6421,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_request_with_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
-      "end2end_test_server_finishes_request", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+      "end2end_test_simple_delayed_request", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6496,13 +6436,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_server_finishes_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
       "end2end_test_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -6511,13 +6451,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_simple_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_simple_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair", 
+      "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
       "end2end_test_simple_request_with_high_initial_sequence_number", 
       "gpr", 
       "gpr_test_util", 
@@ -6526,13 +6466,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_bad_hostname", 
       "gpr", 
       "gpr_test_util", 
@@ -6541,13 +6481,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_cancel_after_accept", 
       "gpr", 
       "gpr_test_util", 
@@ -6556,13 +6496,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_cancel_after_accept_and_writes_closed", 
       "gpr", 
       "gpr_test_util", 
@@ -6571,13 +6511,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_cancel_after_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -6586,13 +6526,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_cancel_before_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -6601,13 +6541,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_cancel_in_a_vacuum", 
       "gpr", 
       "gpr_test_util", 
@@ -6616,13 +6556,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_census_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -6631,14 +6571,14 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
-      "end2end_test_early_server_shutdown_finishes_inflight_calls", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_test_channel_connectivity", 
       "gpr", 
       "gpr_test_util", 
       "grpc", 
@@ -6646,13 +6586,58 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_test_default_host", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_default_host_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_test_disappearing_server", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_test_early_server_shutdown_finishes_inflight_calls", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_early_server_shutdown_finishes_tags", 
       "gpr", 
       "gpr_test_util", 
@@ -6661,13 +6646,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_empty_batch", 
       "gpr", 
       "gpr_test_util", 
@@ -6676,13 +6661,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_empty_batch_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_graceful_server_shutdown", 
       "gpr", 
       "gpr_test_util", 
@@ -6691,13 +6676,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_invoke_large_request", 
       "gpr", 
       "gpr_test_util", 
@@ -6706,13 +6691,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_max_concurrent_streams", 
       "gpr", 
       "gpr_test_util", 
@@ -6721,13 +6706,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_max_message_length", 
       "gpr", 
       "gpr_test_util", 
@@ -6736,13 +6721,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_max_message_length_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_no_op", 
       "gpr", 
       "gpr_test_util", 
@@ -6751,13 +6736,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_no_op_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_no_op_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_ping_pong_streaming", 
       "gpr", 
       "gpr_test_util", 
@@ -6766,13 +6751,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_registered_call", 
       "gpr", 
       "gpr_test_util", 
@@ -6781,13 +6766,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_registered_call_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_request_response_with_binary_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -6796,13 +6781,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_request_response_with_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -6811,13 +6796,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_request_response_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -6826,13 +6811,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_request_response_with_payload_and_call_creds", 
       "gpr", 
       "gpr_test_util", 
@@ -6841,13 +6826,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_request_response_with_trailing_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -6856,13 +6841,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_request_with_compressed_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -6871,13 +6856,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_request_with_flags", 
       "gpr", 
       "gpr_test_util", 
@@ -6886,13 +6871,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_request_with_large_metadata", 
       "gpr", 
       "gpr_test_util", 
@@ -6901,13 +6886,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_request_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -6916,13 +6901,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_server_finishes_request", 
       "gpr", 
       "gpr_test_util", 
@@ -6931,13 +6916,28 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
+      "end2end_test_simple_delayed_request", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -6946,13 +6946,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack", 
       "end2end_test_simple_request_with_high_initial_sequence_number", 
       "gpr", 
       "gpr_test_util", 
@@ -6961,13 +6961,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test", 
+    "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_bad_hostname", 
       "gpr", 
       "gpr_test_util", 
@@ -6976,13 +6976,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_bad_hostname_test", 
+    "name": "chttp2_socket_pair_bad_hostname_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_cancel_after_accept", 
       "gpr", 
       "gpr_test_util", 
@@ -6991,13 +6991,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test", 
+    "name": "chttp2_socket_pair_cancel_after_accept_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_cancel_after_accept_and_writes_closed", 
       "gpr", 
       "gpr_test_util", 
@@ -7006,13 +7006,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test", 
+    "name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_cancel_after_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -7021,13 +7021,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test", 
+    "name": "chttp2_socket_pair_cancel_after_invoke_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_cancel_before_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -7036,13 +7036,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test", 
+    "name": "chttp2_socket_pair_cancel_before_invoke_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_cancel_in_a_vacuum", 
       "gpr", 
       "gpr_test_util", 
@@ -7051,13 +7051,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test", 
+    "name": "chttp2_socket_pair_cancel_in_a_vacuum_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_census_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -7066,13 +7066,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_census_simple_request_test", 
+    "name": "chttp2_socket_pair_census_simple_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_early_server_shutdown_finishes_inflight_calls", 
       "gpr", 
       "gpr_test_util", 
@@ -7081,13 +7081,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test", 
+    "name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_early_server_shutdown_finishes_tags", 
       "gpr", 
       "gpr_test_util", 
@@ -7096,13 +7096,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test", 
+    "name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_empty_batch", 
       "gpr", 
       "gpr_test_util", 
@@ -7111,13 +7111,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_empty_batch_test", 
+    "name": "chttp2_socket_pair_empty_batch_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_graceful_server_shutdown", 
       "gpr", 
       "gpr_test_util", 
@@ -7126,13 +7126,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test", 
+    "name": "chttp2_socket_pair_graceful_server_shutdown_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_invoke_large_request", 
       "gpr", 
       "gpr_test_util", 
@@ -7141,13 +7141,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_invoke_large_request_test", 
+    "name": "chttp2_socket_pair_invoke_large_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_max_concurrent_streams", 
       "gpr", 
       "gpr_test_util", 
@@ -7156,13 +7156,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test", 
+    "name": "chttp2_socket_pair_max_concurrent_streams_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_max_message_length", 
       "gpr", 
       "gpr_test_util", 
@@ -7171,13 +7171,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_max_message_length_test", 
+    "name": "chttp2_socket_pair_max_message_length_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_no_op", 
       "gpr", 
       "gpr_test_util", 
@@ -7186,13 +7186,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_no_op_test", 
+    "name": "chttp2_socket_pair_no_op_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_ping_pong_streaming", 
       "gpr", 
       "gpr_test_util", 
@@ -7201,13 +7201,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test", 
+    "name": "chttp2_socket_pair_ping_pong_streaming_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_registered_call", 
       "gpr", 
       "gpr_test_util", 
@@ -7216,13 +7216,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_registered_call_test", 
+    "name": "chttp2_socket_pair_registered_call_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_request_response_with_binary_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -7231,13 +7231,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test", 
+    "name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_request_response_with_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -7246,13 +7246,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test", 
+    "name": "chttp2_socket_pair_request_response_with_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_request_response_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -7261,13 +7261,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test", 
+    "name": "chttp2_socket_pair_request_response_with_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_request_response_with_payload_and_call_creds", 
       "gpr", 
       "gpr_test_util", 
@@ -7276,13 +7276,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test", 
+    "name": "chttp2_socket_pair_request_response_with_payload_and_call_creds_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_request_response_with_trailing_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -7291,13 +7291,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test", 
+    "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_request_with_compressed_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -7306,13 +7306,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test", 
+    "name": "chttp2_socket_pair_request_with_compressed_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_request_with_flags", 
       "gpr", 
       "gpr_test_util", 
@@ -7321,13 +7321,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_request_with_flags_test", 
+    "name": "chttp2_socket_pair_request_with_flags_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_request_with_large_metadata", 
       "gpr", 
       "gpr_test_util", 
@@ -7336,13 +7336,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test", 
+    "name": "chttp2_socket_pair_request_with_large_metadata_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_request_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -7351,13 +7351,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_request_with_payload_test", 
+    "name": "chttp2_socket_pair_request_with_payload_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
       "end2end_test_server_finishes_request", 
       "gpr", 
       "gpr_test_util", 
@@ -7366,13 +7366,883 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_server_finishes_request_test", 
+    "name": "chttp2_socket_pair_server_finishes_request_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_fixture_chttp2_socket_pair", 
+      "end2end_test_simple_request", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_simple_request_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair", 
+      "end2end_test_simple_request_with_high_initial_sequence_number", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_bad_hostname", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_cancel_after_accept", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_cancel_after_accept_and_writes_closed", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_cancel_after_invoke", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_cancel_before_invoke", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_cancel_in_a_vacuum", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_census_simple_request", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_early_server_shutdown_finishes_inflight_calls", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_early_server_shutdown_finishes_tags", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_empty_batch", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_empty_batch_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_graceful_server_shutdown", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_invoke_large_request", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_max_concurrent_streams", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_max_message_length", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_max_message_length_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_no_op", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_no_op_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_ping_pong_streaming", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_registered_call", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_registered_call_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_request_response_with_binary_metadata_and_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_request_response_with_metadata_and_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_request_response_with_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_request_response_with_payload_and_call_creds", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_request_response_with_trailing_metadata_and_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_request_with_compressed_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_request_with_flags", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_request_with_large_metadata", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_request_with_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_server_finishes_request", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_simple_request", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_one_byte_at_a_time", 
+      "end2end_test_simple_request_with_high_initial_sequence_number", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_bad_hostname", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_bad_hostname_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_cancel_after_accept", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_cancel_after_accept_and_writes_closed", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_cancel_after_invoke", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_cancel_before_invoke", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_cancel_in_a_vacuum", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_census_simple_request", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_census_simple_request_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_early_server_shutdown_finishes_inflight_calls", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_early_server_shutdown_finishes_tags", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_empty_batch", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_empty_batch_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_graceful_server_shutdown", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_invoke_large_request", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_invoke_large_request_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_max_concurrent_streams", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_max_message_length", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_max_message_length_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_no_op", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_no_op_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_ping_pong_streaming", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_registered_call", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_registered_call_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_request_response_with_binary_metadata_and_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_request_response_with_metadata_and_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_request_response_with_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_request_response_with_payload_and_call_creds", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_request_response_with_trailing_metadata_and_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_request_with_compressed_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_request_with_flags", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_request_with_flags_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_request_with_large_metadata", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_request_with_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_request_with_payload_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_server_finishes_request", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_server_finishes_request_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
       "end2end_test_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -7386,23 +8256,401 @@
   }, 
   {
     "deps": [
-      "end2end_certs", 
-      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
-      "end2end_test_simple_request_with_high_initial_sequence_number", 
+      "end2end_certs", 
+      "end2end_fixture_chttp2_socket_pair_with_grpc_trace", 
+      "end2end_test_simple_request_with_high_initial_sequence_number", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_bad_hostname", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_bad_hostname_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_cancel_after_accept", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_cancel_after_accept_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_cancel_after_accept_and_writes_closed", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_cancel_after_invoke", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_cancel_after_invoke_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_cancel_before_invoke", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_cancel_before_invoke_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_cancel_in_a_vacuum", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_cancel_in_a_vacuum_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_census_simple_request", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_census_simple_request_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_channel_connectivity", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_channel_connectivity_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_default_host", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_default_host_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_disappearing_server", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_disappearing_server_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_early_server_shutdown_finishes_inflight_calls", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_early_server_shutdown_finishes_tags", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_empty_batch", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_empty_batch_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_graceful_server_shutdown", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_graceful_server_shutdown_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_invoke_large_request", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_invoke_large_request_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_max_concurrent_streams", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_max_concurrent_streams_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_max_message_length", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_max_message_length_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_no_op", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_no_op_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_ping_pong_streaming", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_ping_pong_streaming_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_registered_call", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_registered_call_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_request_response_with_binary_metadata_and_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_request_response_with_metadata_and_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_request_response_with_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_request_response_with_payload_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_request_response_with_trailing_metadata_and_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_request_with_compressed_payload", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_request_with_compressed_payload_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_request_with_flags", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_request_with_flags_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_request_with_large_metadata", 
       "gpr", 
       "gpr_test_util", 
-      "grpc", 
-      "grpc_test_util"
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test", 
+    "name": "chttp2_fullstack_request_with_large_metadata_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_fixture_chttp2_fullstack", 
-      "end2end_test_bad_hostname", 
+      "end2end_test_request_with_payload", 
       "gpr", 
       "gpr_test_util", 
       "grpc_test_util_unsecure", 
@@ -7410,13 +8658,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_bad_hostname_unsecure_test", 
+    "name": "chttp2_fullstack_request_with_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_fixture_chttp2_fullstack", 
-      "end2end_test_cancel_after_accept", 
+      "end2end_test_server_finishes_request", 
       "gpr", 
       "gpr_test_util", 
       "grpc_test_util_unsecure", 
@@ -7424,13 +8672,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_cancel_after_accept_unsecure_test", 
+    "name": "chttp2_fullstack_server_finishes_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_fixture_chttp2_fullstack", 
-      "end2end_test_cancel_after_accept_and_writes_closed", 
+      "end2end_test_simple_delayed_request", 
       "gpr", 
       "gpr_test_util", 
       "grpc_test_util_unsecure", 
@@ -7438,13 +8686,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test", 
+    "name": "chttp2_fullstack_simple_delayed_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_fixture_chttp2_fullstack", 
-      "end2end_test_cancel_after_invoke", 
+      "end2end_test_simple_request", 
       "gpr", 
       "gpr_test_util", 
       "grpc_test_util_unsecure", 
@@ -7452,12 +8700,82 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_cancel_after_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_simple_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
       "end2end_fixture_chttp2_fullstack", 
+      "end2end_test_simple_request_with_high_initial_sequence_number", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_test_bad_hostname", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_compression_bad_hostname_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_test_cancel_after_accept", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_compression_cancel_after_accept_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_test_cancel_after_accept_and_writes_closed", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_test_cancel_after_invoke", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_compression_cancel_after_invoke_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_cancel_before_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -7466,12 +8784,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_cancel_before_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_compression_cancel_before_invoke_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_cancel_in_a_vacuum", 
       "gpr", 
       "gpr_test_util", 
@@ -7480,12 +8798,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_cancel_in_a_vacuum_unsecure_test", 
+    "name": "chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_census_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -7494,12 +8812,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_census_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_compression_census_simple_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_channel_connectivity", 
       "gpr", 
       "gpr_test_util", 
@@ -7508,12 +8826,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_channel_connectivity_unsecure_test", 
+    "name": "chttp2_fullstack_compression_channel_connectivity_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_default_host", 
       "gpr", 
       "gpr_test_util", 
@@ -7522,12 +8840,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_default_host_unsecure_test", 
+    "name": "chttp2_fullstack_compression_default_host_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_disappearing_server", 
       "gpr", 
       "gpr_test_util", 
@@ -7536,12 +8854,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_disappearing_server_unsecure_test", 
+    "name": "chttp2_fullstack_compression_disappearing_server_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_early_server_shutdown_finishes_inflight_calls", 
       "gpr", 
       "gpr_test_util", 
@@ -7550,12 +8868,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
+    "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_early_server_shutdown_finishes_tags", 
       "gpr", 
       "gpr_test_util", 
@@ -7564,12 +8882,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test", 
+    "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_empty_batch", 
       "gpr", 
       "gpr_test_util", 
@@ -7578,12 +8896,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_empty_batch_unsecure_test", 
+    "name": "chttp2_fullstack_compression_empty_batch_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_graceful_server_shutdown", 
       "gpr", 
       "gpr_test_util", 
@@ -7592,12 +8910,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_graceful_server_shutdown_unsecure_test", 
+    "name": "chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_invoke_large_request", 
       "gpr", 
       "gpr_test_util", 
@@ -7606,12 +8924,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_invoke_large_request_unsecure_test", 
+    "name": "chttp2_fullstack_compression_invoke_large_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_max_concurrent_streams", 
       "gpr", 
       "gpr_test_util", 
@@ -7620,12 +8938,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_max_concurrent_streams_unsecure_test", 
+    "name": "chttp2_fullstack_compression_max_concurrent_streams_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_max_message_length", 
       "gpr", 
       "gpr_test_util", 
@@ -7634,12 +8952,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_max_message_length_unsecure_test", 
+    "name": "chttp2_fullstack_compression_max_message_length_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_no_op", 
       "gpr", 
       "gpr_test_util", 
@@ -7648,12 +8966,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_no_op_unsecure_test", 
+    "name": "chttp2_fullstack_compression_no_op_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_ping_pong_streaming", 
       "gpr", 
       "gpr_test_util", 
@@ -7662,12 +8980,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_ping_pong_streaming_unsecure_test", 
+    "name": "chttp2_fullstack_compression_ping_pong_streaming_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_registered_call", 
       "gpr", 
       "gpr_test_util", 
@@ -7676,12 +8994,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_registered_call_unsecure_test", 
+    "name": "chttp2_fullstack_compression_registered_call_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_request_response_with_binary_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -7690,12 +9008,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_request_response_with_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -7704,12 +9022,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_request_response_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -7718,12 +9036,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_request_response_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_compression_request_response_with_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_request_response_with_trailing_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -7732,12 +9050,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_request_with_compressed_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -7746,12 +9064,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_request_with_compressed_payload_unsecure_test", 
+    "name": "chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_request_with_flags", 
       "gpr", 
       "gpr_test_util", 
@@ -7760,12 +9078,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_request_with_flags_unsecure_test", 
+    "name": "chttp2_fullstack_compression_request_with_flags_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_request_with_large_metadata", 
       "gpr", 
       "gpr_test_util", 
@@ -7774,12 +9092,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_request_with_large_metadata_unsecure_test", 
+    "name": "chttp2_fullstack_compression_request_with_large_metadata_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_request_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -7788,12 +9106,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_request_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_compression_request_with_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_server_finishes_request", 
       "gpr", 
       "gpr_test_util", 
@@ -7802,12 +9120,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_server_finishes_request_unsecure_test", 
+    "name": "chttp2_fullstack_compression_server_finishes_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_simple_delayed_request", 
       "gpr", 
       "gpr_test_util", 
@@ -7816,12 +9134,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_simple_delayed_request_unsecure_test", 
+    "name": "chttp2_fullstack_compression_simple_delayed_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -7830,12 +9148,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_compression_simple_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack", 
+      "end2end_fixture_chttp2_fullstack_compression", 
       "end2end_test_simple_request_with_high_initial_sequence_number", 
       "gpr", 
       "gpr_test_util", 
@@ -7844,12 +9162,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test", 
+    "name": "chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_bad_hostname", 
       "gpr", 
       "gpr_test_util", 
@@ -7858,12 +9176,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_bad_hostname_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_bad_hostname_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_cancel_after_accept", 
       "gpr", 
       "gpr_test_util", 
@@ -7872,12 +9190,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_cancel_after_accept_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_cancel_after_accept_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_cancel_after_accept_and_writes_closed", 
       "gpr", 
       "gpr_test_util", 
@@ -7886,12 +9204,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_cancel_after_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -7900,12 +9218,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_cancel_after_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_cancel_after_invoke_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_cancel_before_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -7914,12 +9232,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_cancel_before_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_cancel_before_invoke_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_cancel_in_a_vacuum", 
       "gpr", 
       "gpr_test_util", 
@@ -7928,27 +9246,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test", 
-    "src": []
-  }, 
-  {
-    "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
-      "end2end_test_census_simple_request", 
-      "gpr", 
-      "gpr_test_util", 
-      "grpc_test_util_unsecure", 
-      "grpc_unsecure"
-    ], 
-    "headers": [], 
-    "language": "c", 
-    "name": "chttp2_fullstack_compression_census_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_cancel_in_a_vacuum_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
-      "end2end_test_channel_connectivity", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_test_census_simple_request", 
       "gpr", 
       "gpr_test_util", 
       "grpc_test_util_unsecure", 
@@ -7956,13 +9260,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_channel_connectivity_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_census_simple_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
-      "end2end_test_default_host", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_test_channel_connectivity", 
       "gpr", 
       "gpr_test_util", 
       "grpc_test_util_unsecure", 
@@ -7970,12 +9274,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_default_host_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_channel_connectivity_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_disappearing_server", 
       "gpr", 
       "gpr_test_util", 
@@ -7984,12 +9288,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_disappearing_server_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_disappearing_server_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_early_server_shutdown_finishes_inflight_calls", 
       "gpr", 
       "gpr_test_util", 
@@ -7998,12 +9302,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_early_server_shutdown_finishes_tags", 
       "gpr", 
       "gpr_test_util", 
@@ -8012,12 +9316,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_empty_batch", 
       "gpr", 
       "gpr_test_util", 
@@ -8026,12 +9330,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_empty_batch_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_empty_batch_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_graceful_server_shutdown", 
       "gpr", 
       "gpr_test_util", 
@@ -8040,12 +9344,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_graceful_server_shutdown_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_invoke_large_request", 
       "gpr", 
       "gpr_test_util", 
@@ -8054,12 +9358,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_invoke_large_request_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_invoke_large_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_max_concurrent_streams", 
       "gpr", 
       "gpr_test_util", 
@@ -8068,12 +9372,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_max_concurrent_streams_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_max_concurrent_streams_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_max_message_length", 
       "gpr", 
       "gpr_test_util", 
@@ -8082,12 +9386,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_max_message_length_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_max_message_length_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_no_op", 
       "gpr", 
       "gpr_test_util", 
@@ -8096,12 +9400,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_no_op_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_no_op_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_ping_pong_streaming", 
       "gpr", 
       "gpr_test_util", 
@@ -8110,12 +9414,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_ping_pong_streaming_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_ping_pong_streaming_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_registered_call", 
       "gpr", 
       "gpr_test_util", 
@@ -8124,12 +9428,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_registered_call_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_registered_call_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_request_response_with_binary_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -8138,12 +9442,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_request_response_with_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -8152,12 +9456,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_request_response_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -8166,12 +9470,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_request_response_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_request_response_with_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_request_response_with_trailing_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -8180,12 +9484,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_request_with_compressed_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -8194,12 +9498,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_request_with_compressed_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_request_with_flags", 
       "gpr", 
       "gpr_test_util", 
@@ -8208,12 +9512,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_request_with_flags_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_request_with_flags_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_request_with_large_metadata", 
       "gpr", 
       "gpr_test_util", 
@@ -8222,12 +9526,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_request_with_large_metadata_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_request_with_large_metadata_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_request_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -8236,12 +9540,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_request_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_request_with_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_server_finishes_request", 
       "gpr", 
       "gpr_test_util", 
@@ -8250,12 +9554,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_server_finishes_request_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_server_finishes_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_simple_delayed_request", 
       "gpr", 
       "gpr_test_util", 
@@ -8264,12 +9568,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_simple_delayed_request_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_simple_delayed_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -8278,12 +9582,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_simple_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_compression", 
+      "end2end_fixture_chttp2_fullstack_uds_posix", 
       "end2end_test_simple_request_with_high_initial_sequence_number", 
       "gpr", 
       "gpr_test_util", 
@@ -8292,12 +9596,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_bad_hostname", 
       "gpr", 
       "gpr_test_util", 
@@ -8306,12 +9610,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_bad_hostname_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_bad_hostname_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_cancel_after_accept", 
       "gpr", 
       "gpr_test_util", 
@@ -8320,12 +9624,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_cancel_after_accept_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_cancel_after_accept_and_writes_closed", 
       "gpr", 
       "gpr_test_util", 
@@ -8334,12 +9638,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_cancel_after_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -8348,12 +9652,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_cancel_after_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_cancel_before_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -8362,12 +9666,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_cancel_before_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_cancel_in_a_vacuum", 
       "gpr", 
       "gpr_test_util", 
@@ -8376,12 +9680,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_cancel_in_a_vacuum_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_census_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -8390,12 +9694,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_census_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_census_simple_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_channel_connectivity", 
       "gpr", 
       "gpr_test_util", 
@@ -8404,12 +9708,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_channel_connectivity_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_channel_connectivity_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_disappearing_server", 
       "gpr", 
       "gpr_test_util", 
@@ -8418,12 +9722,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_disappearing_server_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_disappearing_server_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_early_server_shutdown_finishes_inflight_calls", 
       "gpr", 
       "gpr_test_util", 
@@ -8432,12 +9736,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_early_server_shutdown_finishes_tags", 
       "gpr", 
       "gpr_test_util", 
@@ -8446,12 +9750,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_empty_batch", 
       "gpr", 
       "gpr_test_util", 
@@ -8460,12 +9764,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_empty_batch_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_empty_batch_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_graceful_server_shutdown", 
       "gpr", 
       "gpr_test_util", 
@@ -8474,12 +9778,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_graceful_server_shutdown_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_invoke_large_request", 
       "gpr", 
       "gpr_test_util", 
@@ -8488,12 +9792,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_invoke_large_request_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_invoke_large_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_max_concurrent_streams", 
       "gpr", 
       "gpr_test_util", 
@@ -8502,12 +9806,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_max_concurrent_streams_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_max_message_length", 
       "gpr", 
       "gpr_test_util", 
@@ -8516,12 +9820,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_max_message_length_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_max_message_length_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_no_op", 
       "gpr", 
       "gpr_test_util", 
@@ -8530,12 +9834,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_no_op_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_no_op_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_ping_pong_streaming", 
       "gpr", 
       "gpr_test_util", 
@@ -8544,12 +9848,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_ping_pong_streaming_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_registered_call", 
       "gpr", 
       "gpr_test_util", 
@@ -8558,12 +9862,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_registered_call_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_registered_call_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_request_response_with_binary_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -8572,12 +9876,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_request_response_with_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -8586,12 +9890,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_request_response_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -8600,12 +9904,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_request_response_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_request_response_with_trailing_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -8614,12 +9918,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_request_with_compressed_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -8628,12 +9932,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_request_with_compressed_payload_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_request_with_flags", 
       "gpr", 
       "gpr_test_util", 
@@ -8642,12 +9946,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_request_with_flags_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_flags_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_request_with_large_metadata", 
       "gpr", 
       "gpr_test_util", 
@@ -8656,12 +9960,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_request_with_large_metadata_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_request_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -8670,12 +9974,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_request_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_server_finishes_request", 
       "gpr", 
       "gpr_test_util", 
@@ -8684,12 +9988,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_server_finishes_request_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_server_finishes_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_simple_delayed_request", 
       "gpr", 
       "gpr_test_util", 
@@ -8698,12 +10002,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_simple_delayed_request_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -8712,12 +10016,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix", 
+      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
       "end2end_test_simple_request_with_high_initial_sequence_number", 
       "gpr", 
       "gpr_test_util", 
@@ -8726,12 +10030,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_bad_hostname", 
       "gpr", 
       "gpr_test_util", 
@@ -8740,12 +10044,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_bad_hostname_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_bad_hostname_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_cancel_after_accept", 
       "gpr", 
       "gpr_test_util", 
@@ -8754,12 +10058,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_cancel_after_accept_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_cancel_after_accept_and_writes_closed", 
       "gpr", 
       "gpr_test_util", 
@@ -8768,12 +10072,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_cancel_after_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -8782,12 +10086,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_cancel_after_invoke_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_cancel_before_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -8796,13 +10100,27 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_cancel_before_invoke_unsecure_test", 
+    "src": []
+  }, 
+  {
+    "deps": [
+      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_test_cancel_in_a_vacuum", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [], 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_poll_cancel_in_a_vacuum_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
-      "end2end_test_cancel_in_a_vacuum", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_test_census_simple_request", 
       "gpr", 
       "gpr_test_util", 
       "grpc_test_util_unsecure", 
@@ -8810,13 +10128,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_census_simple_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
-      "end2end_test_census_simple_request", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_test_channel_connectivity", 
       "gpr", 
       "gpr_test_util", 
       "grpc_test_util_unsecure", 
@@ -8824,13 +10142,13 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_census_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_channel_connectivity_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
-      "end2end_test_channel_connectivity", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_test_default_host", 
       "gpr", 
       "gpr_test_util", 
       "grpc_test_util_unsecure", 
@@ -8838,12 +10156,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_channel_connectivity_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_default_host_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_disappearing_server", 
       "gpr", 
       "gpr_test_util", 
@@ -8852,12 +10170,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_disappearing_server_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_disappearing_server_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_early_server_shutdown_finishes_inflight_calls", 
       "gpr", 
       "gpr_test_util", 
@@ -8866,12 +10184,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_early_server_shutdown_finishes_tags", 
       "gpr", 
       "gpr_test_util", 
@@ -8880,12 +10198,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_empty_batch", 
       "gpr", 
       "gpr_test_util", 
@@ -8894,12 +10212,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_empty_batch_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_empty_batch_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_graceful_server_shutdown", 
       "gpr", 
       "gpr_test_util", 
@@ -8908,12 +10226,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_graceful_server_shutdown_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_invoke_large_request", 
       "gpr", 
       "gpr_test_util", 
@@ -8922,12 +10240,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_invoke_large_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_invoke_large_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_max_concurrent_streams", 
       "gpr", 
       "gpr_test_util", 
@@ -8936,12 +10254,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_max_concurrent_streams_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_max_message_length", 
       "gpr", 
       "gpr_test_util", 
@@ -8950,12 +10268,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_max_message_length_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_max_message_length_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_no_op", 
       "gpr", 
       "gpr_test_util", 
@@ -8964,12 +10282,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_no_op_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_no_op_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_ping_pong_streaming", 
       "gpr", 
       "gpr_test_util", 
@@ -8978,12 +10296,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_ping_pong_streaming_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_registered_call", 
       "gpr", 
       "gpr_test_util", 
@@ -8992,12 +10310,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_registered_call_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_registered_call_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_request_response_with_binary_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -9006,12 +10324,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_request_response_with_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -9020,12 +10338,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_request_response_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -9034,12 +10352,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_response_with_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_request_response_with_trailing_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -9048,12 +10366,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_request_with_compressed_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -9062,12 +10380,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_with_compressed_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_request_with_flags", 
       "gpr", 
       "gpr_test_util", 
@@ -9076,12 +10394,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_flags_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_with_flags_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_request_with_large_metadata", 
       "gpr", 
       "gpr_test_util", 
@@ -9090,12 +10408,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_with_large_metadata_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_request_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -9104,12 +10422,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_with_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_server_finishes_request", 
       "gpr", 
       "gpr_test_util", 
@@ -9118,12 +10436,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_server_finishes_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_server_finishes_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_simple_delayed_request", 
       "gpr", 
       "gpr_test_util", 
@@ -9132,12 +10450,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -9146,12 +10464,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_simple_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_uds_posix_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_poll", 
       "end2end_test_simple_request_with_high_initial_sequence_number", 
       "gpr", 
       "gpr_test_util", 
@@ -9160,12 +10478,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_bad_hostname", 
       "gpr", 
       "gpr_test_util", 
@@ -9174,12 +10492,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_bad_hostname_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_bad_hostname_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_cancel_after_accept", 
       "gpr", 
       "gpr_test_util", 
@@ -9188,12 +10506,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_cancel_after_accept_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_cancel_after_accept_and_writes_closed", 
       "gpr", 
       "gpr_test_util", 
@@ -9202,12 +10520,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_cancel_after_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -9216,12 +10534,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_cancel_after_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_cancel_before_invoke", 
       "gpr", 
       "gpr_test_util", 
@@ -9230,12 +10548,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_cancel_before_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_cancel_in_a_vacuum", 
       "gpr", 
       "gpr_test_util", 
@@ -9244,12 +10562,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_cancel_in_a_vacuum_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_census_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -9258,26 +10576,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_census_simple_request_unsecure_test", 
-    "src": []
-  }, 
-  {
-    "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
-      "end2end_test_channel_connectivity", 
-      "gpr", 
-      "gpr_test_util", 
-      "grpc_test_util_unsecure", 
-      "grpc_unsecure"
-    ], 
-    "headers": [], 
-    "language": "c", 
-    "name": "chttp2_fullstack_with_poll_channel_connectivity_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_census_simple_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_default_host", 
       "gpr", 
       "gpr_test_util", 
@@ -9286,12 +10590,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_default_host_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_default_host_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_disappearing_server", 
       "gpr", 
       "gpr_test_util", 
@@ -9300,12 +10604,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_disappearing_server_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_disappearing_server_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_early_server_shutdown_finishes_inflight_calls", 
       "gpr", 
       "gpr_test_util", 
@@ -9314,12 +10618,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_early_server_shutdown_finishes_tags", 
       "gpr", 
       "gpr_test_util", 
@@ -9328,12 +10632,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_empty_batch", 
       "gpr", 
       "gpr_test_util", 
@@ -9342,12 +10646,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_empty_batch_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_empty_batch_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_graceful_server_shutdown", 
       "gpr", 
       "gpr_test_util", 
@@ -9356,12 +10660,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_graceful_server_shutdown_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_invoke_large_request", 
       "gpr", 
       "gpr_test_util", 
@@ -9370,26 +10674,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_invoke_large_request_unsecure_test", 
-    "src": []
-  }, 
-  {
-    "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
-      "end2end_test_max_concurrent_streams", 
-      "gpr", 
-      "gpr_test_util", 
-      "grpc_test_util_unsecure", 
-      "grpc_unsecure"
-    ], 
-    "headers": [], 
-    "language": "c", 
-    "name": "chttp2_fullstack_with_poll_max_concurrent_streams_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_max_message_length", 
       "gpr", 
       "gpr_test_util", 
@@ -9398,12 +10688,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_max_message_length_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_max_message_length_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_no_op", 
       "gpr", 
       "gpr_test_util", 
@@ -9412,12 +10702,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_no_op_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_no_op_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_ping_pong_streaming", 
       "gpr", 
       "gpr_test_util", 
@@ -9426,12 +10716,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_ping_pong_streaming_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_registered_call", 
       "gpr", 
       "gpr_test_util", 
@@ -9440,12 +10730,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_registered_call_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_registered_call_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_response_with_binary_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -9454,12 +10744,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_response_with_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -9468,12 +10758,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_response_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -9482,12 +10772,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_response_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_response_with_trailing_metadata_and_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -9496,40 +10786,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test", 
-    "src": []
-  }, 
-  {
-    "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
-      "end2end_test_request_with_compressed_payload", 
-      "gpr", 
-      "gpr_test_util", 
-      "grpc_test_util_unsecure", 
-      "grpc_unsecure"
-    ], 
-    "headers": [], 
-    "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_with_compressed_payload_unsecure_test", 
-    "src": []
-  }, 
-  {
-    "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
-      "end2end_test_request_with_flags", 
-      "gpr", 
-      "gpr_test_util", 
-      "grpc_test_util_unsecure", 
-      "grpc_unsecure"
-    ], 
-    "headers": [], 
-    "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_with_flags_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_with_large_metadata", 
       "gpr", 
       "gpr_test_util", 
@@ -9538,12 +10800,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_with_large_metadata_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_request_with_payload", 
       "gpr", 
       "gpr_test_util", 
@@ -9552,12 +10814,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_request_with_payload_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_server_finishes_request", 
       "gpr", 
       "gpr_test_util", 
@@ -9566,12 +10828,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_server_finishes_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_simple_delayed_request", 
       "gpr", 
       "gpr_test_util", 
@@ -9580,12 +10842,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_simple_request", 
       "gpr", 
       "gpr_test_util", 
@@ -9594,12 +10856,12 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_simple_request_unsecure_test", 
     "src": []
   }, 
   {
     "deps": [
-      "end2end_fixture_chttp2_fullstack_with_poll", 
+      "end2end_fixture_chttp2_fullstack_with_proxy", 
       "end2end_test_simple_request_with_high_initial_sequence_number", 
       "gpr", 
       "gpr_test_util", 
@@ -9608,7 +10870,7 @@
     ], 
     "headers": [], 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "src": []
   }, 
   {
@@ -11350,6 +12612,7 @@
     "headers": [
       "test/core/end2end/cq_verifier.h", 
       "test/core/end2end/data/ssl_test_data.h", 
+      "test/core/end2end/fixtures/proxy.h", 
       "test/core/iomgr/endpoint_tests.h", 
       "test/core/security/oauth2_utils.h", 
       "test/core/util/grpc_profiler.h", 
@@ -11366,6 +12629,8 @@
       "test/core/end2end/data/server1_key.c", 
       "test/core/end2end/data/ssl_test_data.h", 
       "test/core/end2end/data/test_root_cert.c", 
+      "test/core/end2end/fixtures/proxy.c", 
+      "test/core/end2end/fixtures/proxy.h", 
       "test/core/iomgr/endpoint_tests.c", 
       "test/core/iomgr/endpoint_tests.h", 
       "test/core/security/oauth2_utils.c", 
@@ -11389,6 +12654,7 @@
     ], 
     "headers": [
       "test/core/end2end/cq_verifier.h", 
+      "test/core/end2end/fixtures/proxy.h", 
       "test/core/iomgr/endpoint_tests.h", 
       "test/core/security/oauth2_utils.h", 
       "test/core/util/grpc_profiler.h", 
@@ -11401,6 +12667,8 @@
     "src": [
       "test/core/end2end/cq_verifier.c", 
       "test/core/end2end/cq_verifier.h", 
+      "test/core/end2end/fixtures/proxy.c", 
+      "test/core/end2end/fixtures/proxy.h", 
       "test/core/iomgr/endpoint_tests.c", 
       "test/core/iomgr/endpoint_tests.h", 
       "test/core/security/oauth2_utils.c", 
@@ -11812,6 +13080,7 @@
       "include/grpc++/status.h", 
       "include/grpc++/status_code_enum.h", 
       "include/grpc++/stream.h", 
+      "include/grpc++/stub_options.h", 
       "include/grpc++/thread_pool_interface.h", 
       "include/grpc++/time.h", 
       "src/cpp/client/channel.h", 
@@ -11862,6 +13131,7 @@
       "include/grpc++/status.h", 
       "include/grpc++/status_code_enum.h", 
       "include/grpc++/stream.h", 
+      "include/grpc++/stub_options.h", 
       "include/grpc++/thread_pool_interface.h", 
       "include/grpc++/time.h", 
       "src/cpp/client/channel.cc", 
@@ -11986,6 +13256,7 @@
       "include/grpc++/status.h", 
       "include/grpc++/status_code_enum.h", 
       "include/grpc++/stream.h", 
+      "include/grpc++/stub_options.h", 
       "include/grpc++/thread_pool_interface.h", 
       "include/grpc++/time.h", 
       "src/cpp/client/channel.h", 
@@ -12033,6 +13304,7 @@
       "include/grpc++/status.h", 
       "include/grpc++/status_code_enum.h", 
       "include/grpc++/stream.h", 
+      "include/grpc++/stub_options.h", 
       "include/grpc++/thread_pool_interface.h", 
       "include/grpc++/time.h", 
       "src/cpp/client/channel.cc", 
@@ -12386,6 +13658,23 @@
       "test/core/end2end/fixtures/chttp2_fullstack_with_poll.c"
     ]
   }, 
+  {
+    "deps": [
+      "gpr", 
+      "gpr_test_util", 
+      "grpc_test_util_unsecure", 
+      "grpc_unsecure"
+    ], 
+    "headers": [
+      "test/core/end2end/end2end_tests.h"
+    ], 
+    "language": "c", 
+    "name": "end2end_fixture_chttp2_fullstack_with_proxy", 
+    "src": [
+      "test/core/end2end/end2end_tests.h", 
+      "test/core/end2end/fixtures/chttp2_fullstack_with_proxy.c"
+    ]
+  }, 
   {
     "deps": [
       "end2end_certs", 
@@ -12422,6 +13711,24 @@
       "test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_poll.c"
     ]
   }, 
+  {
+    "deps": [
+      "end2end_certs", 
+      "gpr", 
+      "gpr_test_util", 
+      "grpc", 
+      "grpc_test_util"
+    ], 
+    "headers": [
+      "test/core/end2end/end2end_tests.h"
+    ], 
+    "language": "c", 
+    "name": "end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy", 
+    "src": [
+      "test/core/end2end/end2end_tests.h", 
+      "test/core/end2end/fixtures/chttp2_simple_ssl_fullstack_with_proxy.c"
+    ]
+  }, 
   {
     "deps": [
       "end2end_certs", 
diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json
index 3332360e3de46434bc14e793191cd8b440c96b4a..f2fbc92e934f893f9c7b093dcad6883b9d7b32f0 100644
--- a/tools/run_tests/tests.json
+++ b/tools/run_tests/tests.json
@@ -6,8 +6,10 @@
     "language": "c", 
     "name": "alarm_heap_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -15,8 +17,10 @@
     "language": "c", 
     "name": "alarm_list_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -24,8 +28,10 @@
     "language": "c", 
     "name": "alarm_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -33,8 +39,10 @@
     "language": "c", 
     "name": "alpn_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -42,8 +50,10 @@
     "language": "c", 
     "name": "bin_encoder_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -51,8 +61,10 @@
     "language": "c", 
     "name": "chttp2_status_conversion_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -60,8 +72,10 @@
     "language": "c", 
     "name": "chttp2_stream_encoder_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -69,8 +83,10 @@
     "language": "c", 
     "name": "chttp2_stream_map_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -78,6 +94,8 @@
     "language": "c", 
     "name": "dualstack_socket_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -86,6 +104,8 @@
     "language": "c", 
     "name": "fd_conservation_posix_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -94,6 +114,8 @@
     "language": "c", 
     "name": "fd_posix_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -102,6 +124,8 @@
     "language": "c", 
     "name": "fling_stream_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -110,6 +134,8 @@
     "language": "c", 
     "name": "fling_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -118,8 +144,10 @@
     "language": "c", 
     "name": "gpr_cancellable_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -127,8 +155,10 @@
     "language": "c", 
     "name": "gpr_cmdline_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -136,8 +166,10 @@
     "language": "c", 
     "name": "gpr_env_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -145,8 +177,10 @@
     "language": "c", 
     "name": "gpr_file_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -154,8 +188,10 @@
     "language": "c", 
     "name": "gpr_histogram_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -163,8 +199,10 @@
     "language": "c", 
     "name": "gpr_host_port_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -172,8 +210,10 @@
     "language": "c", 
     "name": "gpr_log_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -181,8 +221,10 @@
     "language": "c", 
     "name": "gpr_slice_buffer_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -190,8 +232,10 @@
     "language": "c", 
     "name": "gpr_slice_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -199,8 +243,10 @@
     "language": "c", 
     "name": "gpr_stack_lockfree_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -208,8 +254,10 @@
     "language": "c", 
     "name": "gpr_string_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -217,8 +265,10 @@
     "language": "c", 
     "name": "gpr_sync_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -226,8 +276,10 @@
     "language": "c", 
     "name": "gpr_thd_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -235,8 +287,10 @@
     "language": "c", 
     "name": "gpr_time_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -244,8 +298,10 @@
     "language": "c", 
     "name": "gpr_tls_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -253,8 +309,10 @@
     "language": "c", 
     "name": "gpr_useful_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -262,8 +320,10 @@
     "language": "c", 
     "name": "grpc_auth_context_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -271,8 +331,10 @@
     "language": "c", 
     "name": "grpc_base64_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -280,8 +342,10 @@
     "language": "c", 
     "name": "grpc_byte_buffer_reader_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -289,8 +353,10 @@
     "language": "c", 
     "name": "grpc_channel_stack_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -298,8 +364,10 @@
     "language": "c", 
     "name": "grpc_completion_queue_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -307,8 +375,10 @@
     "language": "c", 
     "name": "grpc_credentials_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -316,8 +386,10 @@
     "language": "c", 
     "name": "grpc_json_token_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -325,8 +397,10 @@
     "language": "c", 
     "name": "grpc_jwt_verifier_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -334,8 +408,10 @@
     "language": "c", 
     "name": "grpc_security_connector_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -343,8 +419,10 @@
     "language": "c", 
     "name": "grpc_stream_op_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -352,8 +430,10 @@
     "language": "c", 
     "name": "hpack_parser_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -361,8 +441,10 @@
     "language": "c", 
     "name": "hpack_table_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -370,8 +452,10 @@
     "language": "c", 
     "name": "httpcli_format_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -379,8 +463,10 @@
     "language": "c", 
     "name": "httpcli_parser_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -388,6 +474,8 @@
     "language": "c", 
     "name": "httpcli_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -396,8 +484,10 @@
     "language": "c", 
     "name": "json_rewrite_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -405,8 +495,10 @@
     "language": "c", 
     "name": "json_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -414,8 +506,10 @@
     "language": "c", 
     "name": "lame_client_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -423,8 +517,10 @@
     "language": "c", 
     "name": "message_compress_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -432,8 +528,10 @@
     "language": "c", 
     "name": "multi_init_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -441,8 +539,10 @@
     "language": "c", 
     "name": "multiple_server_queues_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -450,8 +550,10 @@
     "language": "c", 
     "name": "murmur_hash_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -459,8 +561,10 @@
     "language": "c", 
     "name": "no_server_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -468,8 +572,10 @@
     "language": "c", 
     "name": "resolve_address_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -477,8 +583,10 @@
     "language": "c", 
     "name": "secure_endpoint_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -486,8 +594,10 @@
     "language": "c", 
     "name": "sockaddr_utils_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -495,6 +605,8 @@
     "language": "c", 
     "name": "tcp_client_posix_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -503,6 +615,8 @@
     "language": "c", 
     "name": "tcp_posix_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -511,6 +625,8 @@
     "language": "c", 
     "name": "tcp_server_posix_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -519,8 +635,10 @@
     "language": "c", 
     "name": "time_averaged_stats_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -528,8 +646,10 @@
     "language": "c", 
     "name": "timeout_encoding_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -537,8 +657,10 @@
     "language": "c", 
     "name": "timers_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -546,8 +668,10 @@
     "language": "c", 
     "name": "transport_metadata_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -555,8 +679,10 @@
     "language": "c", 
     "name": "transport_security_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -564,8 +690,10 @@
     "language": "c", 
     "name": "uri_parser_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -573,8 +701,10 @@
     "language": "c++", 
     "name": "async_end2end_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -582,6 +712,8 @@
     "language": "c++", 
     "name": "async_streaming_ping_pong_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -590,6 +722,8 @@
     "language": "c++", 
     "name": "async_unary_ping_pong_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -598,8 +732,10 @@
     "language": "c++", 
     "name": "auth_property_iterator_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -607,8 +743,10 @@
     "language": "c++", 
     "name": "channel_arguments_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -616,8 +754,10 @@
     "language": "c++", 
     "name": "cli_call_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -625,6 +765,8 @@
     "language": "c++", 
     "name": "client_crash_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -633,8 +775,10 @@
     "language": "c++", 
     "name": "credentials_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -642,8 +786,10 @@
     "language": "c++", 
     "name": "cxx_byte_buffer_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -651,8 +797,10 @@
     "language": "c++", 
     "name": "cxx_slice_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -660,8 +808,10 @@
     "language": "c++", 
     "name": "cxx_time_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -669,8 +819,10 @@
     "language": "c++", 
     "name": "dynamic_thread_pool_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -678,8 +830,10 @@
     "language": "c++", 
     "name": "end2end_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -687,8 +841,10 @@
     "language": "c++", 
     "name": "fixed_size_thread_pool_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -696,8 +852,10 @@
     "language": "c++", 
     "name": "generic_end2end_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -705,6 +863,8 @@
     "language": "c++", 
     "name": "interop_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -713,8 +873,10 @@
     "language": "c++", 
     "name": "mock_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -722,6 +884,8 @@
     "language": "c++", 
     "name": "qps_openloop_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -730,6 +894,8 @@
     "language": "c++", 
     "name": "qps_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -738,8 +904,10 @@
     "language": "c++", 
     "name": "secure_auth_context_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -747,6 +915,8 @@
     "language": "c++", 
     "name": "server_crash_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -755,8 +925,10 @@
     "language": "c++", 
     "name": "status_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -764,6 +936,8 @@
     "language": "c++", 
     "name": "sync_streaming_ping_pong_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -772,6 +946,8 @@
     "language": "c++", 
     "name": "sync_unary_ping_pong_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -780,8 +956,10 @@
     "language": "c++", 
     "name": "thread_stress_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -789,8 +967,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_bad_hostname_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -798,8 +978,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_cancel_after_accept_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -807,8 +989,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_cancel_after_accept_and_writes_closed_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -816,8 +1000,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_cancel_after_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -825,8 +1011,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_cancel_before_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -834,8 +1022,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_cancel_in_a_vacuum_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -843,8 +1033,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_census_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -852,8 +1044,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_channel_connectivity_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -861,8 +1055,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_default_host_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -870,8 +1066,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_disappearing_server_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -879,8 +1077,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -888,8 +1088,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -897,8 +1099,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_empty_batch_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -906,8 +1110,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_graceful_server_shutdown_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -915,8 +1121,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_invoke_large_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -924,8 +1132,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_max_concurrent_streams_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -933,8 +1143,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_max_message_length_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -942,8 +1154,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_no_op_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -951,8 +1165,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_ping_pong_streaming_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -960,8 +1176,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_registered_call_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -969,8 +1187,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_request_response_with_binary_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -978,8 +1198,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_request_response_with_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -987,8 +1209,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_request_response_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -996,8 +1220,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_request_response_with_payload_and_call_creds_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1005,8 +1231,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1014,8 +1242,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_request_with_compressed_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1023,8 +1253,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_request_with_flags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1032,8 +1264,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_request_with_large_metadata_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1041,8 +1275,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_request_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1050,8 +1286,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_server_finishes_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1059,8 +1297,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_simple_delayed_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1068,8 +1308,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1077,8 +1319,10 @@
     "language": "c", 
     "name": "chttp2_fake_security_simple_request_with_high_initial_sequence_number_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1086,8 +1330,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_bad_hostname_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1095,8 +1341,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_cancel_after_accept_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1104,8 +1352,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1113,8 +1363,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_cancel_after_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1122,8 +1374,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_cancel_before_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1131,8 +1385,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_cancel_in_a_vacuum_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1140,8 +1396,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_census_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1149,8 +1407,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_channel_connectivity_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1158,8 +1418,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_default_host_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1167,8 +1429,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_disappearing_server_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1176,8 +1440,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1185,8 +1451,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1194,8 +1462,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_empty_batch_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1203,8 +1473,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_graceful_server_shutdown_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1212,8 +1484,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_invoke_large_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1221,8 +1495,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_max_concurrent_streams_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1230,8 +1506,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_max_message_length_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1239,8 +1517,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_no_op_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1248,8 +1528,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_ping_pong_streaming_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1257,8 +1539,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_registered_call_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1266,8 +1550,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1275,8 +1561,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_response_with_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1284,8 +1572,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_response_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1293,8 +1583,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_response_with_payload_and_call_creds_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1302,8 +1594,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1311,8 +1605,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_with_compressed_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1320,8 +1616,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_with_flags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1329,8 +1627,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_with_large_metadata_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1338,8 +1638,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1347,8 +1649,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_server_finishes_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1356,8 +1660,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_simple_delayed_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1365,8 +1671,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1374,8 +1682,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_simple_request_with_high_initial_sequence_number_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1383,8 +1693,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_bad_hostname_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1392,8 +1704,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_cancel_after_accept_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1401,8 +1715,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1410,8 +1726,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_cancel_after_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1419,8 +1737,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_cancel_before_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1428,8 +1748,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_cancel_in_a_vacuum_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1437,8 +1759,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_census_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1446,8 +1770,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_channel_connectivity_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1455,8 +1781,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_default_host_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1464,8 +1792,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_disappearing_server_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1473,8 +1803,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1482,8 +1814,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1491,8 +1825,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_empty_batch_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1500,8 +1836,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_graceful_server_shutdown_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1509,8 +1847,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_invoke_large_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1518,8 +1858,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_max_concurrent_streams_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1527,8 +1869,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_max_message_length_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1536,8 +1880,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_no_op_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1545,8 +1891,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_ping_pong_streaming_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1554,8 +1902,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_registered_call_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1563,8 +1913,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1572,8 +1924,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_response_with_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1581,8 +1935,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_response_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1590,8 +1946,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1599,8 +1957,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1608,8 +1968,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_with_compressed_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1617,8 +1979,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_with_flags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1626,8 +1990,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_with_large_metadata_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1635,8 +2001,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1644,8 +2012,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_server_finishes_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1653,8 +2023,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_simple_delayed_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1662,8 +2034,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1671,8 +2045,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -1680,6 +2056,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_bad_hostname_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1688,6 +2066,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_cancel_after_accept_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1696,6 +2076,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1704,6 +2086,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_cancel_after_invoke_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1712,6 +2096,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_cancel_before_invoke_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1720,6 +2106,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_cancel_in_a_vacuum_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1728,6 +2116,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_census_simple_request_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1736,6 +2126,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_channel_connectivity_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1744,6 +2136,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_disappearing_server_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1752,6 +2146,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1760,6 +2156,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1768,6 +2166,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_empty_batch_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1776,6 +2176,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_graceful_server_shutdown_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1784,6 +2186,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_invoke_large_request_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1792,6 +2196,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_max_concurrent_streams_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1800,6 +2206,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_max_message_length_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1808,6 +2216,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_no_op_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1816,6 +2226,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_ping_pong_streaming_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1824,6 +2236,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_registered_call_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1832,6 +2246,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1840,6 +2256,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1848,6 +2266,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_response_with_payload_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1856,6 +2276,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_response_with_payload_and_call_creds_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1864,6 +2286,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1872,6 +2296,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_with_compressed_payload_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1880,6 +2306,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_with_flags_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1888,6 +2316,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_with_large_metadata_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1896,6 +2326,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_with_payload_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1904,6 +2336,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_server_finishes_request_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1912,6 +2346,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_simple_delayed_request_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1920,6 +2356,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_simple_request_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1928,6 +2366,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -1936,7 +2376,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_bad_hostname_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -1944,7 +2384,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -1952,7 +2392,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -1960,7 +2400,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -1968,7 +2408,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -1976,7 +2416,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -1984,7 +2424,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_census_simple_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -1992,7 +2432,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_channel_connectivity_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2000,7 +2440,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_disappearing_server_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2008,7 +2448,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2016,7 +2456,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2024,7 +2464,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_empty_batch_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2032,7 +2472,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2040,7 +2480,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_invoke_large_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2048,7 +2488,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2056,7 +2496,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_max_message_length_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2064,7 +2504,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_no_op_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2072,7 +2512,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2080,7 +2520,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_registered_call_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2088,7 +2528,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2096,7 +2536,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2104,7 +2544,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2112,7 +2552,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_and_call_creds_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2120,7 +2560,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2128,7 +2568,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2136,7 +2576,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_request_with_flags_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2144,7 +2584,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2152,7 +2592,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_request_with_payload_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2160,7 +2600,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_server_finishes_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2168,7 +2608,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2176,7 +2616,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2184,7 +2624,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2192,7 +2632,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_bad_hostname_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2200,7 +2640,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_cancel_after_accept_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2208,7 +2648,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2216,7 +2656,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_cancel_after_invoke_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2224,7 +2664,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_cancel_before_invoke_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2232,7 +2672,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_cancel_in_a_vacuum_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2240,7 +2680,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_census_simple_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2248,7 +2688,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_channel_connectivity_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2256,7 +2696,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_default_host_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2264,7 +2704,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_disappearing_server_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2272,7 +2712,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2280,7 +2720,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2288,7 +2728,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_empty_batch_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2296,7 +2736,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_graceful_server_shutdown_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2304,7 +2744,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_invoke_large_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2312,7 +2752,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_max_concurrent_streams_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2320,7 +2760,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_max_message_length_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2328,7 +2768,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_no_op_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2336,7 +2776,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_ping_pong_streaming_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2344,7 +2784,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_registered_call_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2352,7 +2792,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2360,7 +2800,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2368,7 +2808,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_request_response_with_payload_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2376,7 +2816,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_request_response_with_payload_and_call_creds_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2384,7 +2824,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2392,7 +2832,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_request_with_compressed_payload_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2400,7 +2840,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_request_with_flags_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2408,7 +2848,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_request_with_large_metadata_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2416,7 +2856,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_request_with_payload_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2424,7 +2864,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_server_finishes_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2432,7 +2872,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_simple_delayed_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2440,7 +2880,7 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_simple_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
@@ -2448,106 +2888,447 @@
     "language": "c", 
     "name": "chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_bad_hostname_test", 
+    "name": "chttp2_fullstack_with_proxy_bad_hostname_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_after_accept_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_cancel_after_invoke_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_after_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_cancel_before_invoke_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_before_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_census_simple_request_test", 
+    "name": "chttp2_fullstack_with_proxy_census_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_channel_connectivity_test", 
+    "name": "chttp2_fullstack_with_proxy_default_host_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_default_host_test", 
+    "name": "chttp2_fullstack_with_proxy_disappearing_server_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_disappearing_server_test", 
+    "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test", 
+    "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_empty_batch_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_graceful_server_shutdown_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_invoke_large_request_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_max_message_length_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_no_op_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_ping_pong_streaming_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_registered_call_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_payload_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_request_with_large_metadata_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_request_with_payload_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_server_finishes_request_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_simple_delayed_request_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_simple_request_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_bad_hostname_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_cancel_after_invoke_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_cancel_before_invoke_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_census_simple_request_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_channel_connectivity_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_default_host_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_disappearing_server_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -2555,8 +3336,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -2564,8 +3347,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_fullstack_empty_batch_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -2573,443 +3358,802 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_fullstack_graceful_server_shutdown_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_invoke_large_request_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_max_concurrent_streams_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_max_message_length_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_no_op_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_ping_pong_streaming_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_registered_call_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_request_with_compressed_payload_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_request_with_flags_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_request_with_large_metadata_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_request_with_payload_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_server_finishes_request_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_simple_delayed_request_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_simple_request_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_default_host_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test", 
+    "platforms": [
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_invoke_large_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_max_concurrent_streams_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_max_message_length_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_empty_batch_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_no_op_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_ping_pong_streaming_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_registered_call_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_max_message_length_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_no_op_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_registered_call_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_with_compressed_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_with_flags_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_with_large_metadata_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_request_with_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_server_finishes_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_simple_delayed_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_simple_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_simple_request_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_default_host_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_default_host_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_empty_batch_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_max_message_length_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_no_op_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_registered_call_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_no_op_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_registered_call_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_simple_request_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_simple_request_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test", 
+    "name": "chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3017,8 +4161,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3026,8 +4172,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3035,8 +4183,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3044,8 +4194,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3053,8 +4205,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3062,8 +4216,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3071,8 +4227,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3080,8 +4238,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3089,8 +4249,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_default_host_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3098,8 +4260,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3107,8 +4271,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3116,8 +4282,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3125,8 +4293,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3134,8 +4304,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3143,8 +4315,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3152,8 +4326,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3161,8 +4337,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3170,8 +4348,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_no_op_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3179,8 +4359,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3188,8 +4370,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3197,8 +4381,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3206,8 +4392,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3215,8 +4403,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3224,8 +4414,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3233,8 +4425,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3242,8 +4436,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3251,8 +4447,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3260,8 +4458,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3269,8 +4469,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3278,8 +4480,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3287,8 +4491,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3296,8 +4502,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3305,8 +4513,10 @@
     "language": "c", 
     "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3314,8 +4524,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_bad_hostname_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3323,8 +4535,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_cancel_after_accept_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3332,8 +4546,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3341,8 +4557,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_cancel_after_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3350,8 +4568,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_cancel_before_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3359,8 +4579,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_cancel_in_a_vacuum_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3368,8 +4590,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_census_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3377,8 +4601,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3386,8 +4612,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3395,8 +4623,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_empty_batch_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3404,8 +4634,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_graceful_server_shutdown_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3413,8 +4645,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_invoke_large_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3422,8 +4656,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_max_concurrent_streams_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3431,8 +4667,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_max_message_length_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3440,8 +4678,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_no_op_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3449,8 +4689,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_ping_pong_streaming_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3458,8 +4700,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_registered_call_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3467,8 +4711,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3476,8 +4722,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_response_with_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3485,8 +4733,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_response_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3494,8 +4744,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_response_with_payload_and_call_creds_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3503,8 +4755,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3512,8 +4766,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_with_compressed_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3521,8 +4777,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_with_flags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3530,8 +4788,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_with_large_metadata_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3539,8 +4799,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3548,8 +4810,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_server_finishes_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3557,8 +4821,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3566,8 +4832,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3575,8 +4843,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3584,8 +4854,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3593,8 +4865,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3602,8 +4876,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3611,8 +4887,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3620,8 +4898,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3629,8 +4909,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3638,8 +4920,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3647,8 +4931,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3656,8 +4942,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_empty_batch_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3665,8 +4953,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3674,8 +4964,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3683,8 +4975,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3692,8 +4986,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_max_message_length_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3701,8 +4997,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_no_op_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3710,8 +5008,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3719,8 +5019,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_registered_call_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3728,8 +5030,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3737,8 +5041,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3746,8 +5052,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3755,8 +5063,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3764,8 +5074,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3773,8 +5085,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3782,8 +5096,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3791,8 +5107,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3800,8 +5118,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3809,8 +5129,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3818,8 +5140,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3827,8 +5151,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3836,8 +5162,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_bad_hostname_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3845,8 +5173,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3854,8 +5184,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3863,8 +5195,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3872,8 +5206,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3881,8 +5217,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3890,8 +5228,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_census_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3899,8 +5239,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3908,8 +5250,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3917,8 +5261,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_empty_batch_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3926,8 +5272,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3935,8 +5283,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_invoke_large_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3944,8 +5294,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3953,8 +5305,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_max_message_length_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3962,8 +5316,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_no_op_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3971,8 +5327,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3980,8 +5338,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_registered_call_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3989,8 +5349,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -3998,8 +5360,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4007,8 +5371,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4016,8 +5382,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4025,8 +5393,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4034,8 +5404,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4043,8 +5415,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_with_flags_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4052,8 +5426,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4061,8 +5437,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_with_payload_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4070,8 +5448,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_server_finishes_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4079,8 +5459,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_simple_request_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4088,8 +5470,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4097,8 +5481,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_bad_hostname_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4106,8 +5492,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_cancel_after_accept_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4115,8 +5503,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4124,8 +5514,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_cancel_after_invoke_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4133,8 +5525,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_cancel_before_invoke_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4142,8 +5536,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_cancel_in_a_vacuum_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4151,8 +5547,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_census_simple_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4160,8 +5558,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_channel_connectivity_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4169,8 +5569,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_default_host_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4178,8 +5580,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_disappearing_server_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4187,8 +5591,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4196,8 +5602,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4205,8 +5613,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_empty_batch_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4214,8 +5624,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_graceful_server_shutdown_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4223,8 +5635,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_invoke_large_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4232,8 +5646,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_max_concurrent_streams_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4241,8 +5657,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_max_message_length_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4250,8 +5668,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_no_op_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4259,8 +5679,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_ping_pong_streaming_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4268,8 +5690,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_registered_call_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4277,8 +5701,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4286,8 +5712,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4295,8 +5723,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_response_with_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4304,8 +5734,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4313,8 +5745,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_with_compressed_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4322,8 +5756,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_with_flags_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4331,8 +5767,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_with_large_metadata_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4340,8 +5778,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_request_with_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4349,8 +5789,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_server_finishes_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4358,8 +5800,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_simple_delayed_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4367,8 +5811,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_simple_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4376,8 +5822,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4385,8 +5833,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_bad_hostname_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4394,8 +5844,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_cancel_after_accept_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4403,8 +5855,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4412,8 +5866,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_cancel_after_invoke_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4421,8 +5877,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_cancel_before_invoke_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4430,8 +5888,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4439,8 +5899,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_census_simple_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4448,8 +5910,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_channel_connectivity_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4457,8 +5921,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_default_host_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4466,8 +5932,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_disappearing_server_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4475,8 +5943,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4484,8 +5954,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4493,8 +5965,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_empty_batch_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4502,8 +5976,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4511,8 +5987,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_invoke_large_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4520,8 +5998,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_max_concurrent_streams_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4529,8 +6009,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_max_message_length_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4538,8 +6020,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_no_op_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4547,8 +6031,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_ping_pong_streaming_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4556,8 +6042,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_registered_call_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4565,8 +6053,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4574,8 +6064,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4583,8 +6075,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_response_with_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4592,8 +6086,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4601,8 +6097,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4610,8 +6108,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_with_flags_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4619,8 +6119,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_with_large_metadata_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4628,8 +6130,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_request_with_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4637,8 +6141,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_server_finishes_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4646,8 +6152,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_simple_delayed_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4655,8 +6163,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_simple_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4664,8 +6174,10 @@
     "language": "c", 
     "name": "chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -4673,6 +6185,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_bad_hostname_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4681,6 +6195,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_cancel_after_accept_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4689,6 +6205,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4697,6 +6215,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_cancel_after_invoke_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4705,6 +6225,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_cancel_before_invoke_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4713,6 +6235,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_cancel_in_a_vacuum_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4721,6 +6245,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_census_simple_request_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4729,6 +6255,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_channel_connectivity_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4737,6 +6265,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_disappearing_server_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4745,6 +6275,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4753,6 +6285,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4761,6 +6295,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_empty_batch_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4769,6 +6305,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_graceful_server_shutdown_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4777,6 +6315,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_invoke_large_request_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4785,6 +6325,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_max_concurrent_streams_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4793,6 +6335,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_max_message_length_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4801,6 +6345,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_no_op_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4809,6 +6355,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_ping_pong_streaming_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4817,6 +6365,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_registered_call_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4825,6 +6375,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4833,6 +6385,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4841,6 +6395,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_response_with_payload_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4849,6 +6405,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4857,6 +6415,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_with_compressed_payload_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4865,6 +6425,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_with_flags_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4873,6 +6435,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_with_large_metadata_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4881,6 +6445,8 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_request_with_payload_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
@@ -4889,535 +6455,851 @@
     "language": "c", 
     "name": "chttp2_fullstack_uds_posix_server_finishes_request_unsecure_test", 
     "platforms": [
+      "linux", 
+      "mac", 
+      "posix"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_simple_delayed_request_unsecure_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_simple_request_unsecure_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "posix"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_unsecure_test", 
+    "platforms": [
+      "linux", 
+      "mac", 
       "posix"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_simple_delayed_request_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_bad_hostname_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_census_simple_request_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_channel_connectivity_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_disappearing_server_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_empty_batch_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_invoke_large_request_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_max_message_length_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_no_op_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_registered_call_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_flags_unsecure_test", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
+  {
+    "flaky": false, 
+    "language": "c", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_payload_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_server_finishes_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_bad_hostname_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_unsecure_test", 
+    "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_bad_hostname_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_cancel_after_accept_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_census_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_cancel_after_invoke_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_channel_connectivity_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_cancel_before_invoke_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_disappearing_server_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_cancel_in_a_vacuum_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_census_simple_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_channel_connectivity_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_empty_batch_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_default_host_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_disappearing_server_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_invoke_large_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_max_message_length_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_empty_batch_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_no_op_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_graceful_server_shutdown_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_invoke_large_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_registered_call_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_max_concurrent_streams_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_max_message_length_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_no_op_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_ping_pong_streaming_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_registered_call_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_flags_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_response_with_payload_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_request_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_server_finishes_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_with_compressed_payload_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_with_flags_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_with_large_metadata_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_request_with_payload_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_bad_hostname_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_server_finishes_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_cancel_after_accept_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_simple_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_cancel_after_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_cancel_before_invoke_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_bad_hostname_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_cancel_in_a_vacuum_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_census_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_channel_connectivity_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_default_host_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_disappearing_server_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_census_simple_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_default_host_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_empty_batch_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_disappearing_server_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_graceful_server_shutdown_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_invoke_large_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_max_concurrent_streams_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_empty_batch_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_max_message_length_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_no_op_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_ping_pong_streaming_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_max_message_length_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_registered_call_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_no_op_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_registered_call_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_response_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_with_compressed_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_with_flags_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_with_large_metadata_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_request_with_payload_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_request_with_payload_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_server_finishes_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_simple_request_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_simple_request_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
     "flaky": false, 
     "language": "c", 
-    "name": "chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test", 
+    "name": "chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "platforms": [
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5425,8 +7307,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_bad_hostname_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5434,8 +7318,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_cancel_after_accept_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5443,8 +7329,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5452,8 +7340,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_cancel_after_invoke_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5461,8 +7351,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_cancel_before_invoke_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5470,8 +7362,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5479,8 +7373,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_census_simple_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5488,8 +7384,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5497,8 +7395,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5506,8 +7406,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_empty_batch_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5515,8 +7417,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_graceful_server_shutdown_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5524,8 +7428,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_invoke_large_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5533,8 +7439,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_max_concurrent_streams_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5542,8 +7450,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_max_message_length_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5551,8 +7461,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_no_op_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5560,8 +7472,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_ping_pong_streaming_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5569,8 +7483,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_registered_call_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5578,8 +7494,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5587,8 +7505,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5596,8 +7516,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_response_with_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5605,8 +7527,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5614,8 +7538,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_with_compressed_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5623,8 +7549,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_with_flags_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5632,8 +7560,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_with_large_metadata_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5641,8 +7571,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_request_with_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5650,8 +7582,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_server_finishes_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5659,8 +7593,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_simple_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5668,8 +7604,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5677,8 +7615,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5686,8 +7626,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5695,8 +7637,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5704,8 +7648,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5713,8 +7659,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5722,8 +7670,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5731,8 +7681,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5740,8 +7692,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5749,8 +7703,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5758,8 +7714,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5767,8 +7725,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5776,8 +7736,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5785,8 +7747,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5794,8 +7758,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5803,8 +7769,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5812,8 +7780,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5821,8 +7791,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5830,8 +7802,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5839,8 +7813,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5848,8 +7824,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5857,8 +7835,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5866,8 +7846,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5875,8 +7857,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5884,8 +7868,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5893,8 +7879,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5902,8 +7890,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5911,8 +7901,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5920,8 +7912,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5929,8 +7923,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5938,8 +7934,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5947,8 +7945,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5956,8 +7956,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5965,8 +7967,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5974,8 +7978,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5983,8 +7989,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -5992,8 +8000,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6001,8 +8011,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6010,8 +8022,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6019,8 +8033,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6028,8 +8044,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6037,8 +8055,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6046,8 +8066,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6055,8 +8077,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6064,8 +8088,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6073,8 +8099,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6082,8 +8110,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6091,8 +8121,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6100,8 +8132,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6109,8 +8143,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6118,8 +8154,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6127,8 +8165,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6136,8 +8176,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6145,8 +8187,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6154,8 +8198,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6163,8 +8209,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6172,8 +8220,10 @@
     "language": "c", 
     "name": "chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6181,8 +8231,10 @@
     "language": "c", 
     "name": "connection_prefix_bad_client_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }, 
   {
@@ -6190,8 +8242,10 @@
     "language": "c", 
     "name": "initial_settings_frame_bad_client_test", 
     "platforms": [
-      "windows", 
-      "posix"
+      "linux", 
+      "mac", 
+      "posix", 
+      "windows"
     ]
   }
 ]
diff --git a/vsprojects/Grpc.mak b/vsprojects/Grpc.mak
index bc180ae35f4fe57e91aef2e47396e7e830abc012..15f45a5372e8b625620ba61f67498287df5cdefa 100644
--- a/vsprojects/Grpc.mak
+++ b/vsprojects/Grpc.mak
@@ -77,10 +77,10 @@ tools_cxx:
 $(OUT_DIR):
 	mkdir $(OUT_DIR)
 
-build_libs: build_gpr build_gpr_test_util build_grpc build_grpc_test_util build_grpc_test_util_unsecure build_grpc_unsecure Debug\reconnect_server.lib build_grpc++ Debug\grpc++_test_config.lib Debug\grpc++_test_util.lib build_grpc++_unsecure Debug\interop_client_helper.lib Debug\interop_client_main.lib Debug\interop_server_helper.lib Debug\interop_server_main.lib Debug\qps.lib Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_test_default_host.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_test_empty_batch.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_test_max_message_length.lib Debug\end2end_test_no_op.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_test_registered_call.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_test_simple_request.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\bad_client_test.lib 
+build_libs: build_gpr build_gpr_test_util build_grpc build_grpc_test_util build_grpc_test_util_unsecure build_grpc_unsecure Debug\reconnect_server.lib build_grpc++ Debug\grpc++_test_config.lib Debug\grpc++_test_util.lib build_grpc++_unsecure Debug\interop_client_helper.lib Debug\interop_client_main.lib Debug\interop_server_helper.lib Debug\interop_server_main.lib Debug\qps.lib Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_test_default_host.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_test_empty_batch.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_test_max_message_length.lib Debug\end2end_test_no_op.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_test_registered_call.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_test_simple_request.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\bad_client_test.lib 
 buildtests: buildtests_c buildtests_cxx
 
-buildtests_c: alarm_heap_test.exe alarm_list_test.exe alarm_test.exe alpn_test.exe bin_encoder_test.exe chttp2_status_conversion_test.exe chttp2_stream_encoder_test.exe chttp2_stream_map_test.exe fling_client.exe fling_server.exe gpr_cancellable_test.exe gpr_cmdline_test.exe gpr_env_test.exe gpr_file_test.exe gpr_histogram_test.exe gpr_host_port_test.exe gpr_log_test.exe gpr_slice_buffer_test.exe gpr_slice_test.exe gpr_stack_lockfree_test.exe gpr_string_test.exe gpr_sync_test.exe gpr_thd_test.exe gpr_time_test.exe gpr_tls_test.exe gpr_useful_test.exe grpc_auth_context_test.exe grpc_base64_test.exe grpc_byte_buffer_reader_test.exe grpc_channel_stack_test.exe grpc_completion_queue_test.exe grpc_credentials_test.exe grpc_json_token_test.exe grpc_jwt_verifier_test.exe grpc_security_connector_test.exe grpc_stream_op_test.exe hpack_parser_test.exe hpack_table_test.exe httpcli_format_request_test.exe httpcli_parser_test.exe json_rewrite.exe json_rewrite_test.exe json_test.exe lame_client_test.exe message_compress_test.exe multi_init_test.exe multiple_server_queues_test.exe murmur_hash_test.exe no_server_test.exe resolve_address_test.exe secure_endpoint_test.exe sockaddr_utils_test.exe time_averaged_stats_test.exe timeout_encoding_test.exe timers_test.exe transport_metadata_test.exe transport_security_test.exe uri_parser_test.exe chttp2_fake_security_bad_hostname_test.exe chttp2_fake_security_cancel_after_accept_test.exe chttp2_fake_security_cancel_after_accept_and_writes_closed_test.exe chttp2_fake_security_cancel_after_invoke_test.exe chttp2_fake_security_cancel_before_invoke_test.exe chttp2_fake_security_cancel_in_a_vacuum_test.exe chttp2_fake_security_census_simple_request_test.exe chttp2_fake_security_channel_connectivity_test.exe chttp2_fake_security_default_host_test.exe chttp2_fake_security_disappearing_server_test.exe chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_fake_security_early_server_shutdown_finishes_tags_test.exe chttp2_fake_security_empty_batch_test.exe chttp2_fake_security_graceful_server_shutdown_test.exe chttp2_fake_security_invoke_large_request_test.exe chttp2_fake_security_max_concurrent_streams_test.exe chttp2_fake_security_max_message_length_test.exe chttp2_fake_security_no_op_test.exe chttp2_fake_security_ping_pong_streaming_test.exe chttp2_fake_security_registered_call_test.exe chttp2_fake_security_request_response_with_binary_metadata_and_payload_test.exe chttp2_fake_security_request_response_with_metadata_and_payload_test.exe chttp2_fake_security_request_response_with_payload_test.exe chttp2_fake_security_request_response_with_payload_and_call_creds_test.exe chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test.exe chttp2_fake_security_request_with_compressed_payload_test.exe chttp2_fake_security_request_with_flags_test.exe chttp2_fake_security_request_with_large_metadata_test.exe chttp2_fake_security_request_with_payload_test.exe chttp2_fake_security_server_finishes_request_test.exe chttp2_fake_security_simple_delayed_request_test.exe chttp2_fake_security_simple_request_test.exe chttp2_fake_security_simple_request_with_high_initial_sequence_number_test.exe chttp2_fullstack_bad_hostname_test.exe chttp2_fullstack_cancel_after_accept_test.exe chttp2_fullstack_cancel_after_accept_and_writes_closed_test.exe chttp2_fullstack_cancel_after_invoke_test.exe chttp2_fullstack_cancel_before_invoke_test.exe chttp2_fullstack_cancel_in_a_vacuum_test.exe chttp2_fullstack_census_simple_request_test.exe chttp2_fullstack_channel_connectivity_test.exe chttp2_fullstack_default_host_test.exe chttp2_fullstack_disappearing_server_test.exe chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_fullstack_early_server_shutdown_finishes_tags_test.exe chttp2_fullstack_empty_batch_test.exe chttp2_fullstack_graceful_server_shutdown_test.exe chttp2_fullstack_invoke_large_request_test.exe chttp2_fullstack_max_concurrent_streams_test.exe chttp2_fullstack_max_message_length_test.exe chttp2_fullstack_no_op_test.exe chttp2_fullstack_ping_pong_streaming_test.exe chttp2_fullstack_registered_call_test.exe chttp2_fullstack_request_response_with_binary_metadata_and_payload_test.exe chttp2_fullstack_request_response_with_metadata_and_payload_test.exe chttp2_fullstack_request_response_with_payload_test.exe chttp2_fullstack_request_response_with_payload_and_call_creds_test.exe chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe chttp2_fullstack_request_with_compressed_payload_test.exe chttp2_fullstack_request_with_flags_test.exe chttp2_fullstack_request_with_large_metadata_test.exe chttp2_fullstack_request_with_payload_test.exe chttp2_fullstack_server_finishes_request_test.exe chttp2_fullstack_simple_delayed_request_test.exe chttp2_fullstack_simple_request_test.exe chttp2_fullstack_simple_request_with_high_initial_sequence_number_test.exe chttp2_fullstack_compression_bad_hostname_test.exe chttp2_fullstack_compression_cancel_after_accept_test.exe chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test.exe chttp2_fullstack_compression_cancel_after_invoke_test.exe chttp2_fullstack_compression_cancel_before_invoke_test.exe chttp2_fullstack_compression_cancel_in_a_vacuum_test.exe chttp2_fullstack_compression_census_simple_request_test.exe chttp2_fullstack_compression_channel_connectivity_test.exe chttp2_fullstack_compression_default_host_test.exe chttp2_fullstack_compression_disappearing_server_test.exe chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test.exe chttp2_fullstack_compression_empty_batch_test.exe chttp2_fullstack_compression_graceful_server_shutdown_test.exe chttp2_fullstack_compression_invoke_large_request_test.exe chttp2_fullstack_compression_max_concurrent_streams_test.exe chttp2_fullstack_compression_max_message_length_test.exe chttp2_fullstack_compression_no_op_test.exe chttp2_fullstack_compression_ping_pong_streaming_test.exe chttp2_fullstack_compression_registered_call_test.exe chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test.exe chttp2_fullstack_compression_request_response_with_metadata_and_payload_test.exe chttp2_fullstack_compression_request_response_with_payload_test.exe chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test.exe chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test.exe chttp2_fullstack_compression_request_with_compressed_payload_test.exe chttp2_fullstack_compression_request_with_flags_test.exe chttp2_fullstack_compression_request_with_large_metadata_test.exe chttp2_fullstack_compression_request_with_payload_test.exe chttp2_fullstack_compression_server_finishes_request_test.exe chttp2_fullstack_compression_simple_delayed_request_test.exe chttp2_fullstack_compression_simple_request_test.exe chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test.exe chttp2_simple_ssl_fullstack_bad_hostname_test.exe chttp2_simple_ssl_fullstack_cancel_after_accept_test.exe chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test.exe chttp2_simple_ssl_fullstack_cancel_after_invoke_test.exe chttp2_simple_ssl_fullstack_cancel_before_invoke_test.exe chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test.exe chttp2_simple_ssl_fullstack_census_simple_request_test.exe chttp2_simple_ssl_fullstack_channel_connectivity_test.exe chttp2_simple_ssl_fullstack_default_host_test.exe chttp2_simple_ssl_fullstack_disappearing_server_test.exe chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test.exe chttp2_simple_ssl_fullstack_empty_batch_test.exe chttp2_simple_ssl_fullstack_graceful_server_shutdown_test.exe chttp2_simple_ssl_fullstack_invoke_large_request_test.exe chttp2_simple_ssl_fullstack_max_concurrent_streams_test.exe chttp2_simple_ssl_fullstack_max_message_length_test.exe chttp2_simple_ssl_fullstack_no_op_test.exe chttp2_simple_ssl_fullstack_ping_pong_streaming_test.exe chttp2_simple_ssl_fullstack_registered_call_test.exe chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test.exe chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test.exe chttp2_simple_ssl_fullstack_request_response_with_payload_test.exe chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test.exe chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test.exe chttp2_simple_ssl_fullstack_request_with_compressed_payload_test.exe chttp2_simple_ssl_fullstack_request_with_flags_test.exe chttp2_simple_ssl_fullstack_request_with_large_metadata_test.exe chttp2_simple_ssl_fullstack_request_with_payload_test.exe chttp2_simple_ssl_fullstack_server_finishes_request_test.exe chttp2_simple_ssl_fullstack_simple_delayed_request_test.exe chttp2_simple_ssl_fullstack_simple_request_test.exe chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test.exe chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test.exe chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test.exe chttp2_simple_ssl_with_oauth2_fullstack_default_host_test.exe chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test.exe chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test.exe chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test.exe chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test.exe chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test.exe chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test.exe chttp2_simple_ssl_with_oauth2_fullstack_no_op_test.exe chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test.exe chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test.exe chttp2_socket_pair_bad_hostname_test.exe chttp2_socket_pair_cancel_after_accept_test.exe chttp2_socket_pair_cancel_after_accept_and_writes_closed_test.exe chttp2_socket_pair_cancel_after_invoke_test.exe chttp2_socket_pair_cancel_before_invoke_test.exe chttp2_socket_pair_cancel_in_a_vacuum_test.exe chttp2_socket_pair_census_simple_request_test.exe chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_socket_pair_early_server_shutdown_finishes_tags_test.exe chttp2_socket_pair_empty_batch_test.exe chttp2_socket_pair_graceful_server_shutdown_test.exe chttp2_socket_pair_invoke_large_request_test.exe chttp2_socket_pair_max_concurrent_streams_test.exe chttp2_socket_pair_max_message_length_test.exe chttp2_socket_pair_no_op_test.exe chttp2_socket_pair_ping_pong_streaming_test.exe chttp2_socket_pair_registered_call_test.exe chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test.exe chttp2_socket_pair_request_response_with_metadata_and_payload_test.exe chttp2_socket_pair_request_response_with_payload_test.exe chttp2_socket_pair_request_response_with_payload_and_call_creds_test.exe chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test.exe chttp2_socket_pair_request_with_compressed_payload_test.exe chttp2_socket_pair_request_with_flags_test.exe chttp2_socket_pair_request_with_large_metadata_test.exe chttp2_socket_pair_request_with_payload_test.exe chttp2_socket_pair_server_finishes_request_test.exe chttp2_socket_pair_simple_request_test.exe chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test.exe chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test.exe chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test.exe chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test.exe chttp2_socket_pair_one_byte_at_a_time_empty_batch_test.exe chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test.exe chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test.exe chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test.exe chttp2_socket_pair_one_byte_at_a_time_max_message_length_test.exe chttp2_socket_pair_one_byte_at_a_time_no_op_test.exe chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test.exe chttp2_socket_pair_one_byte_at_a_time_registered_call_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test.exe chttp2_socket_pair_one_byte_at_a_time_simple_request_test.exe chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test.exe chttp2_socket_pair_with_grpc_trace_bad_hostname_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test.exe chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test.exe chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test.exe chttp2_socket_pair_with_grpc_trace_census_simple_request_test.exe chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test.exe chttp2_socket_pair_with_grpc_trace_empty_batch_test.exe chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test.exe chttp2_socket_pair_with_grpc_trace_invoke_large_request_test.exe chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test.exe chttp2_socket_pair_with_grpc_trace_max_message_length_test.exe chttp2_socket_pair_with_grpc_trace_no_op_test.exe chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test.exe chttp2_socket_pair_with_grpc_trace_registered_call_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_with_flags_test.exe chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test.exe chttp2_socket_pair_with_grpc_trace_request_with_payload_test.exe chttp2_socket_pair_with_grpc_trace_server_finishes_request_test.exe chttp2_socket_pair_with_grpc_trace_simple_request_test.exe chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test.exe chttp2_fullstack_bad_hostname_unsecure_test.exe chttp2_fullstack_cancel_after_accept_unsecure_test.exe chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_fullstack_cancel_after_invoke_unsecure_test.exe chttp2_fullstack_cancel_before_invoke_unsecure_test.exe chttp2_fullstack_cancel_in_a_vacuum_unsecure_test.exe chttp2_fullstack_census_simple_request_unsecure_test.exe chttp2_fullstack_channel_connectivity_unsecure_test.exe chttp2_fullstack_default_host_unsecure_test.exe chttp2_fullstack_disappearing_server_unsecure_test.exe chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_fullstack_empty_batch_unsecure_test.exe chttp2_fullstack_graceful_server_shutdown_unsecure_test.exe chttp2_fullstack_invoke_large_request_unsecure_test.exe chttp2_fullstack_max_concurrent_streams_unsecure_test.exe chttp2_fullstack_max_message_length_unsecure_test.exe chttp2_fullstack_no_op_unsecure_test.exe chttp2_fullstack_ping_pong_streaming_unsecure_test.exe chttp2_fullstack_registered_call_unsecure_test.exe chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_fullstack_request_response_with_payload_unsecure_test.exe chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_fullstack_request_with_compressed_payload_unsecure_test.exe chttp2_fullstack_request_with_flags_unsecure_test.exe chttp2_fullstack_request_with_large_metadata_unsecure_test.exe chttp2_fullstack_request_with_payload_unsecure_test.exe chttp2_fullstack_server_finishes_request_unsecure_test.exe chttp2_fullstack_simple_delayed_request_unsecure_test.exe chttp2_fullstack_simple_request_unsecure_test.exe chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_fullstack_compression_bad_hostname_unsecure_test.exe chttp2_fullstack_compression_cancel_after_accept_unsecure_test.exe chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_fullstack_compression_cancel_after_invoke_unsecure_test.exe chttp2_fullstack_compression_cancel_before_invoke_unsecure_test.exe chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test.exe chttp2_fullstack_compression_census_simple_request_unsecure_test.exe chttp2_fullstack_compression_channel_connectivity_unsecure_test.exe chttp2_fullstack_compression_default_host_unsecure_test.exe chttp2_fullstack_compression_disappearing_server_unsecure_test.exe chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_fullstack_compression_empty_batch_unsecure_test.exe chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test.exe chttp2_fullstack_compression_invoke_large_request_unsecure_test.exe chttp2_fullstack_compression_max_concurrent_streams_unsecure_test.exe chttp2_fullstack_compression_max_message_length_unsecure_test.exe chttp2_fullstack_compression_no_op_unsecure_test.exe chttp2_fullstack_compression_ping_pong_streaming_unsecure_test.exe chttp2_fullstack_compression_registered_call_unsecure_test.exe chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_fullstack_compression_request_response_with_payload_unsecure_test.exe chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test.exe chttp2_fullstack_compression_request_with_flags_unsecure_test.exe chttp2_fullstack_compression_request_with_large_metadata_unsecure_test.exe chttp2_fullstack_compression_request_with_payload_unsecure_test.exe chttp2_fullstack_compression_server_finishes_request_unsecure_test.exe chttp2_fullstack_compression_simple_delayed_request_unsecure_test.exe chttp2_fullstack_compression_simple_request_unsecure_test.exe chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_socket_pair_bad_hostname_unsecure_test.exe chttp2_socket_pair_cancel_after_accept_unsecure_test.exe chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_socket_pair_cancel_after_invoke_unsecure_test.exe chttp2_socket_pair_cancel_before_invoke_unsecure_test.exe chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test.exe chttp2_socket_pair_census_simple_request_unsecure_test.exe chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_socket_pair_empty_batch_unsecure_test.exe chttp2_socket_pair_graceful_server_shutdown_unsecure_test.exe chttp2_socket_pair_invoke_large_request_unsecure_test.exe chttp2_socket_pair_max_concurrent_streams_unsecure_test.exe chttp2_socket_pair_max_message_length_unsecure_test.exe chttp2_socket_pair_no_op_unsecure_test.exe chttp2_socket_pair_ping_pong_streaming_unsecure_test.exe chttp2_socket_pair_registered_call_unsecure_test.exe chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_request_response_with_payload_unsecure_test.exe chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_request_with_compressed_payload_unsecure_test.exe chttp2_socket_pair_request_with_flags_unsecure_test.exe chttp2_socket_pair_request_with_large_metadata_unsecure_test.exe chttp2_socket_pair_request_with_payload_unsecure_test.exe chttp2_socket_pair_server_finishes_request_unsecure_test.exe chttp2_socket_pair_simple_request_unsecure_test.exe chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test.exe connection_prefix_bad_client_test.exe initial_settings_frame_bad_client_test.exe 
+buildtests_c: alarm_heap_test.exe alarm_list_test.exe alarm_test.exe alpn_test.exe bin_encoder_test.exe chttp2_status_conversion_test.exe chttp2_stream_encoder_test.exe chttp2_stream_map_test.exe fling_client.exe fling_server.exe gpr_cancellable_test.exe gpr_cmdline_test.exe gpr_env_test.exe gpr_file_test.exe gpr_histogram_test.exe gpr_host_port_test.exe gpr_log_test.exe gpr_slice_buffer_test.exe gpr_slice_test.exe gpr_stack_lockfree_test.exe gpr_string_test.exe gpr_sync_test.exe gpr_thd_test.exe gpr_time_test.exe gpr_tls_test.exe gpr_useful_test.exe grpc_auth_context_test.exe grpc_base64_test.exe grpc_byte_buffer_reader_test.exe grpc_channel_stack_test.exe grpc_completion_queue_test.exe grpc_credentials_test.exe grpc_json_token_test.exe grpc_jwt_verifier_test.exe grpc_security_connector_test.exe grpc_stream_op_test.exe hpack_parser_test.exe hpack_table_test.exe httpcli_format_request_test.exe httpcli_parser_test.exe json_rewrite.exe json_rewrite_test.exe json_test.exe lame_client_test.exe message_compress_test.exe multi_init_test.exe multiple_server_queues_test.exe murmur_hash_test.exe no_server_test.exe resolve_address_test.exe secure_endpoint_test.exe sockaddr_utils_test.exe time_averaged_stats_test.exe timeout_encoding_test.exe timers_test.exe transport_metadata_test.exe transport_security_test.exe uri_parser_test.exe chttp2_fake_security_bad_hostname_test.exe chttp2_fake_security_cancel_after_accept_test.exe chttp2_fake_security_cancel_after_accept_and_writes_closed_test.exe chttp2_fake_security_cancel_after_invoke_test.exe chttp2_fake_security_cancel_before_invoke_test.exe chttp2_fake_security_cancel_in_a_vacuum_test.exe chttp2_fake_security_census_simple_request_test.exe chttp2_fake_security_channel_connectivity_test.exe chttp2_fake_security_default_host_test.exe chttp2_fake_security_disappearing_server_test.exe chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_fake_security_early_server_shutdown_finishes_tags_test.exe chttp2_fake_security_empty_batch_test.exe chttp2_fake_security_graceful_server_shutdown_test.exe chttp2_fake_security_invoke_large_request_test.exe chttp2_fake_security_max_concurrent_streams_test.exe chttp2_fake_security_max_message_length_test.exe chttp2_fake_security_no_op_test.exe chttp2_fake_security_ping_pong_streaming_test.exe chttp2_fake_security_registered_call_test.exe chttp2_fake_security_request_response_with_binary_metadata_and_payload_test.exe chttp2_fake_security_request_response_with_metadata_and_payload_test.exe chttp2_fake_security_request_response_with_payload_test.exe chttp2_fake_security_request_response_with_payload_and_call_creds_test.exe chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test.exe chttp2_fake_security_request_with_compressed_payload_test.exe chttp2_fake_security_request_with_flags_test.exe chttp2_fake_security_request_with_large_metadata_test.exe chttp2_fake_security_request_with_payload_test.exe chttp2_fake_security_server_finishes_request_test.exe chttp2_fake_security_simple_delayed_request_test.exe chttp2_fake_security_simple_request_test.exe chttp2_fake_security_simple_request_with_high_initial_sequence_number_test.exe chttp2_fullstack_bad_hostname_test.exe chttp2_fullstack_cancel_after_accept_test.exe chttp2_fullstack_cancel_after_accept_and_writes_closed_test.exe chttp2_fullstack_cancel_after_invoke_test.exe chttp2_fullstack_cancel_before_invoke_test.exe chttp2_fullstack_cancel_in_a_vacuum_test.exe chttp2_fullstack_census_simple_request_test.exe chttp2_fullstack_channel_connectivity_test.exe chttp2_fullstack_default_host_test.exe chttp2_fullstack_disappearing_server_test.exe chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_fullstack_early_server_shutdown_finishes_tags_test.exe chttp2_fullstack_empty_batch_test.exe chttp2_fullstack_graceful_server_shutdown_test.exe chttp2_fullstack_invoke_large_request_test.exe chttp2_fullstack_max_concurrent_streams_test.exe chttp2_fullstack_max_message_length_test.exe chttp2_fullstack_no_op_test.exe chttp2_fullstack_ping_pong_streaming_test.exe chttp2_fullstack_registered_call_test.exe chttp2_fullstack_request_response_with_binary_metadata_and_payload_test.exe chttp2_fullstack_request_response_with_metadata_and_payload_test.exe chttp2_fullstack_request_response_with_payload_test.exe chttp2_fullstack_request_response_with_payload_and_call_creds_test.exe chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe chttp2_fullstack_request_with_compressed_payload_test.exe chttp2_fullstack_request_with_flags_test.exe chttp2_fullstack_request_with_large_metadata_test.exe chttp2_fullstack_request_with_payload_test.exe chttp2_fullstack_server_finishes_request_test.exe chttp2_fullstack_simple_delayed_request_test.exe chttp2_fullstack_simple_request_test.exe chttp2_fullstack_simple_request_with_high_initial_sequence_number_test.exe chttp2_fullstack_compression_bad_hostname_test.exe chttp2_fullstack_compression_cancel_after_accept_test.exe chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test.exe chttp2_fullstack_compression_cancel_after_invoke_test.exe chttp2_fullstack_compression_cancel_before_invoke_test.exe chttp2_fullstack_compression_cancel_in_a_vacuum_test.exe chttp2_fullstack_compression_census_simple_request_test.exe chttp2_fullstack_compression_channel_connectivity_test.exe chttp2_fullstack_compression_default_host_test.exe chttp2_fullstack_compression_disappearing_server_test.exe chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test.exe chttp2_fullstack_compression_empty_batch_test.exe chttp2_fullstack_compression_graceful_server_shutdown_test.exe chttp2_fullstack_compression_invoke_large_request_test.exe chttp2_fullstack_compression_max_concurrent_streams_test.exe chttp2_fullstack_compression_max_message_length_test.exe chttp2_fullstack_compression_no_op_test.exe chttp2_fullstack_compression_ping_pong_streaming_test.exe chttp2_fullstack_compression_registered_call_test.exe chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test.exe chttp2_fullstack_compression_request_response_with_metadata_and_payload_test.exe chttp2_fullstack_compression_request_response_with_payload_test.exe chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test.exe chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test.exe chttp2_fullstack_compression_request_with_compressed_payload_test.exe chttp2_fullstack_compression_request_with_flags_test.exe chttp2_fullstack_compression_request_with_large_metadata_test.exe chttp2_fullstack_compression_request_with_payload_test.exe chttp2_fullstack_compression_server_finishes_request_test.exe chttp2_fullstack_compression_simple_delayed_request_test.exe chttp2_fullstack_compression_simple_request_test.exe chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test.exe chttp2_fullstack_with_proxy_bad_hostname_test.exe chttp2_fullstack_with_proxy_cancel_after_accept_test.exe chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test.exe chttp2_fullstack_with_proxy_cancel_after_invoke_test.exe chttp2_fullstack_with_proxy_cancel_before_invoke_test.exe chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test.exe chttp2_fullstack_with_proxy_census_simple_request_test.exe chttp2_fullstack_with_proxy_default_host_test.exe chttp2_fullstack_with_proxy_disappearing_server_test.exe chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test.exe chttp2_fullstack_with_proxy_empty_batch_test.exe chttp2_fullstack_with_proxy_graceful_server_shutdown_test.exe chttp2_fullstack_with_proxy_invoke_large_request_test.exe chttp2_fullstack_with_proxy_max_message_length_test.exe chttp2_fullstack_with_proxy_no_op_test.exe chttp2_fullstack_with_proxy_ping_pong_streaming_test.exe chttp2_fullstack_with_proxy_registered_call_test.exe chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test.exe chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test.exe chttp2_fullstack_with_proxy_request_response_with_payload_test.exe chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test.exe chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test.exe chttp2_fullstack_with_proxy_request_with_large_metadata_test.exe chttp2_fullstack_with_proxy_request_with_payload_test.exe chttp2_fullstack_with_proxy_server_finishes_request_test.exe chttp2_fullstack_with_proxy_simple_delayed_request_test.exe chttp2_fullstack_with_proxy_simple_request_test.exe chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test.exe chttp2_simple_ssl_fullstack_bad_hostname_test.exe chttp2_simple_ssl_fullstack_cancel_after_accept_test.exe chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test.exe chttp2_simple_ssl_fullstack_cancel_after_invoke_test.exe chttp2_simple_ssl_fullstack_cancel_before_invoke_test.exe chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test.exe chttp2_simple_ssl_fullstack_census_simple_request_test.exe chttp2_simple_ssl_fullstack_channel_connectivity_test.exe chttp2_simple_ssl_fullstack_default_host_test.exe chttp2_simple_ssl_fullstack_disappearing_server_test.exe chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test.exe chttp2_simple_ssl_fullstack_empty_batch_test.exe chttp2_simple_ssl_fullstack_graceful_server_shutdown_test.exe chttp2_simple_ssl_fullstack_invoke_large_request_test.exe chttp2_simple_ssl_fullstack_max_concurrent_streams_test.exe chttp2_simple_ssl_fullstack_max_message_length_test.exe chttp2_simple_ssl_fullstack_no_op_test.exe chttp2_simple_ssl_fullstack_ping_pong_streaming_test.exe chttp2_simple_ssl_fullstack_registered_call_test.exe chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test.exe chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test.exe chttp2_simple_ssl_fullstack_request_response_with_payload_test.exe chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test.exe chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test.exe chttp2_simple_ssl_fullstack_request_with_compressed_payload_test.exe chttp2_simple_ssl_fullstack_request_with_flags_test.exe chttp2_simple_ssl_fullstack_request_with_large_metadata_test.exe chttp2_simple_ssl_fullstack_request_with_payload_test.exe chttp2_simple_ssl_fullstack_server_finishes_request_test.exe chttp2_simple_ssl_fullstack_simple_delayed_request_test.exe chttp2_simple_ssl_fullstack_simple_request_test.exe chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test.exe chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test.exe chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test.exe chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test.exe chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test.exe chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test.exe chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test.exe chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test.exe chttp2_simple_ssl_fullstack_with_proxy_default_host_test.exe chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test.exe chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test.exe chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test.exe chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test.exe chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test.exe chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test.exe chttp2_simple_ssl_fullstack_with_proxy_no_op_test.exe chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test.exe chttp2_simple_ssl_fullstack_with_proxy_registered_call_test.exe chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test.exe chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test.exe chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test.exe chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test.exe chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test.exe chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test.exe chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test.exe chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test.exe chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test.exe chttp2_simple_ssl_fullstack_with_proxy_simple_request_test.exe chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test.exe chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test.exe chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test.exe chttp2_simple_ssl_with_oauth2_fullstack_default_host_test.exe chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test.exe chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test.exe chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test.exe chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test.exe chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test.exe chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test.exe chttp2_simple_ssl_with_oauth2_fullstack_no_op_test.exe chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test.exe chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test.exe chttp2_socket_pair_bad_hostname_test.exe chttp2_socket_pair_cancel_after_accept_test.exe chttp2_socket_pair_cancel_after_accept_and_writes_closed_test.exe chttp2_socket_pair_cancel_after_invoke_test.exe chttp2_socket_pair_cancel_before_invoke_test.exe chttp2_socket_pair_cancel_in_a_vacuum_test.exe chttp2_socket_pair_census_simple_request_test.exe chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_socket_pair_early_server_shutdown_finishes_tags_test.exe chttp2_socket_pair_empty_batch_test.exe chttp2_socket_pair_graceful_server_shutdown_test.exe chttp2_socket_pair_invoke_large_request_test.exe chttp2_socket_pair_max_concurrent_streams_test.exe chttp2_socket_pair_max_message_length_test.exe chttp2_socket_pair_no_op_test.exe chttp2_socket_pair_ping_pong_streaming_test.exe chttp2_socket_pair_registered_call_test.exe chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test.exe chttp2_socket_pair_request_response_with_metadata_and_payload_test.exe chttp2_socket_pair_request_response_with_payload_test.exe chttp2_socket_pair_request_response_with_payload_and_call_creds_test.exe chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test.exe chttp2_socket_pair_request_with_compressed_payload_test.exe chttp2_socket_pair_request_with_flags_test.exe chttp2_socket_pair_request_with_large_metadata_test.exe chttp2_socket_pair_request_with_payload_test.exe chttp2_socket_pair_server_finishes_request_test.exe chttp2_socket_pair_simple_request_test.exe chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test.exe chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test.exe chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test.exe chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test.exe chttp2_socket_pair_one_byte_at_a_time_empty_batch_test.exe chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test.exe chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test.exe chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test.exe chttp2_socket_pair_one_byte_at_a_time_max_message_length_test.exe chttp2_socket_pair_one_byte_at_a_time_no_op_test.exe chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test.exe chttp2_socket_pair_one_byte_at_a_time_registered_call_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test.exe chttp2_socket_pair_one_byte_at_a_time_simple_request_test.exe chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test.exe chttp2_socket_pair_with_grpc_trace_bad_hostname_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test.exe chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test.exe chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test.exe chttp2_socket_pair_with_grpc_trace_census_simple_request_test.exe chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test.exe chttp2_socket_pair_with_grpc_trace_empty_batch_test.exe chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test.exe chttp2_socket_pair_with_grpc_trace_invoke_large_request_test.exe chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test.exe chttp2_socket_pair_with_grpc_trace_max_message_length_test.exe chttp2_socket_pair_with_grpc_trace_no_op_test.exe chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test.exe chttp2_socket_pair_with_grpc_trace_registered_call_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_with_flags_test.exe chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test.exe chttp2_socket_pair_with_grpc_trace_request_with_payload_test.exe chttp2_socket_pair_with_grpc_trace_server_finishes_request_test.exe chttp2_socket_pair_with_grpc_trace_simple_request_test.exe chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test.exe chttp2_fullstack_bad_hostname_unsecure_test.exe chttp2_fullstack_cancel_after_accept_unsecure_test.exe chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_fullstack_cancel_after_invoke_unsecure_test.exe chttp2_fullstack_cancel_before_invoke_unsecure_test.exe chttp2_fullstack_cancel_in_a_vacuum_unsecure_test.exe chttp2_fullstack_census_simple_request_unsecure_test.exe chttp2_fullstack_channel_connectivity_unsecure_test.exe chttp2_fullstack_default_host_unsecure_test.exe chttp2_fullstack_disappearing_server_unsecure_test.exe chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_fullstack_empty_batch_unsecure_test.exe chttp2_fullstack_graceful_server_shutdown_unsecure_test.exe chttp2_fullstack_invoke_large_request_unsecure_test.exe chttp2_fullstack_max_concurrent_streams_unsecure_test.exe chttp2_fullstack_max_message_length_unsecure_test.exe chttp2_fullstack_no_op_unsecure_test.exe chttp2_fullstack_ping_pong_streaming_unsecure_test.exe chttp2_fullstack_registered_call_unsecure_test.exe chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_fullstack_request_response_with_payload_unsecure_test.exe chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_fullstack_request_with_compressed_payload_unsecure_test.exe chttp2_fullstack_request_with_flags_unsecure_test.exe chttp2_fullstack_request_with_large_metadata_unsecure_test.exe chttp2_fullstack_request_with_payload_unsecure_test.exe chttp2_fullstack_server_finishes_request_unsecure_test.exe chttp2_fullstack_simple_delayed_request_unsecure_test.exe chttp2_fullstack_simple_request_unsecure_test.exe chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_fullstack_compression_bad_hostname_unsecure_test.exe chttp2_fullstack_compression_cancel_after_accept_unsecure_test.exe chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_fullstack_compression_cancel_after_invoke_unsecure_test.exe chttp2_fullstack_compression_cancel_before_invoke_unsecure_test.exe chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test.exe chttp2_fullstack_compression_census_simple_request_unsecure_test.exe chttp2_fullstack_compression_channel_connectivity_unsecure_test.exe chttp2_fullstack_compression_default_host_unsecure_test.exe chttp2_fullstack_compression_disappearing_server_unsecure_test.exe chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_fullstack_compression_empty_batch_unsecure_test.exe chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test.exe chttp2_fullstack_compression_invoke_large_request_unsecure_test.exe chttp2_fullstack_compression_max_concurrent_streams_unsecure_test.exe chttp2_fullstack_compression_max_message_length_unsecure_test.exe chttp2_fullstack_compression_no_op_unsecure_test.exe chttp2_fullstack_compression_ping_pong_streaming_unsecure_test.exe chttp2_fullstack_compression_registered_call_unsecure_test.exe chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_fullstack_compression_request_response_with_payload_unsecure_test.exe chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test.exe chttp2_fullstack_compression_request_with_flags_unsecure_test.exe chttp2_fullstack_compression_request_with_large_metadata_unsecure_test.exe chttp2_fullstack_compression_request_with_payload_unsecure_test.exe chttp2_fullstack_compression_server_finishes_request_unsecure_test.exe chttp2_fullstack_compression_simple_delayed_request_unsecure_test.exe chttp2_fullstack_compression_simple_request_unsecure_test.exe chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_fullstack_with_proxy_bad_hostname_unsecure_test.exe chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test.exe chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test.exe chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test.exe chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test.exe chttp2_fullstack_with_proxy_census_simple_request_unsecure_test.exe chttp2_fullstack_with_proxy_default_host_unsecure_test.exe chttp2_fullstack_with_proxy_disappearing_server_unsecure_test.exe chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_fullstack_with_proxy_empty_batch_unsecure_test.exe chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test.exe chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test.exe chttp2_fullstack_with_proxy_max_message_length_unsecure_test.exe chttp2_fullstack_with_proxy_no_op_unsecure_test.exe chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test.exe chttp2_fullstack_with_proxy_registered_call_unsecure_test.exe chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test.exe chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test.exe chttp2_fullstack_with_proxy_request_with_payload_unsecure_test.exe chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test.exe chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test.exe chttp2_fullstack_with_proxy_simple_request_unsecure_test.exe chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_socket_pair_bad_hostname_unsecure_test.exe chttp2_socket_pair_cancel_after_accept_unsecure_test.exe chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_socket_pair_cancel_after_invoke_unsecure_test.exe chttp2_socket_pair_cancel_before_invoke_unsecure_test.exe chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test.exe chttp2_socket_pair_census_simple_request_unsecure_test.exe chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_socket_pair_empty_batch_unsecure_test.exe chttp2_socket_pair_graceful_server_shutdown_unsecure_test.exe chttp2_socket_pair_invoke_large_request_unsecure_test.exe chttp2_socket_pair_max_concurrent_streams_unsecure_test.exe chttp2_socket_pair_max_message_length_unsecure_test.exe chttp2_socket_pair_no_op_unsecure_test.exe chttp2_socket_pair_ping_pong_streaming_unsecure_test.exe chttp2_socket_pair_registered_call_unsecure_test.exe chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_request_response_with_payload_unsecure_test.exe chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_request_with_compressed_payload_unsecure_test.exe chttp2_socket_pair_request_with_flags_unsecure_test.exe chttp2_socket_pair_request_with_large_metadata_unsecure_test.exe chttp2_socket_pair_request_with_payload_unsecure_test.exe chttp2_socket_pair_server_finishes_request_unsecure_test.exe chttp2_socket_pair_simple_request_unsecure_test.exe chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test.exe connection_prefix_bad_client_test.exe initial_settings_frame_bad_client_test.exe 
 	echo All C tests built.
 
 buildtests_cxx: async_end2end_test.exe auth_property_iterator_test.exe channel_arguments_test.exe cli_call_test.exe client_crash_test_server.exe credentials_test.exe cxx_byte_buffer_test.exe cxx_slice_test.exe cxx_time_test.exe dynamic_thread_pool_test.exe end2end_test.exe fixed_size_thread_pool_test.exe generic_end2end_test.exe grpc_cli.exe mock_test.exe reconnect_interop_client.exe reconnect_interop_server.exe secure_auth_context_test.exe server_crash_test_client.exe status_test.exe thread_stress_test.exe 
@@ -1575,6 +1575,238 @@ chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_te
 	echo Running chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test
 	$(OUT_DIR)\chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test.exe
 
+chttp2_fullstack_with_proxy_bad_hostname_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_bad_hostname_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_bad_hostname_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_bad_hostname_test: chttp2_fullstack_with_proxy_bad_hostname_test.exe
+	echo Running chttp2_fullstack_with_proxy_bad_hostname_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_bad_hostname_test.exe
+
+chttp2_fullstack_with_proxy_cancel_after_accept_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_cancel_after_accept_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_after_accept_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_cancel_after_accept_test: chttp2_fullstack_with_proxy_cancel_after_accept_test.exe
+	echo Running chttp2_fullstack_with_proxy_cancel_after_accept_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_after_accept_test.exe
+
+chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test: chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test.exe
+	echo Running chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test.exe
+
+chttp2_fullstack_with_proxy_cancel_after_invoke_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_cancel_after_invoke_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_after_invoke_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_cancel_after_invoke_test: chttp2_fullstack_with_proxy_cancel_after_invoke_test.exe
+	echo Running chttp2_fullstack_with_proxy_cancel_after_invoke_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_after_invoke_test.exe
+
+chttp2_fullstack_with_proxy_cancel_before_invoke_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_cancel_before_invoke_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_before_invoke_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_cancel_before_invoke_test: chttp2_fullstack_with_proxy_cancel_before_invoke_test.exe
+	echo Running chttp2_fullstack_with_proxy_cancel_before_invoke_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_before_invoke_test.exe
+
+chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test: chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test.exe
+	echo Running chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_in_a_vacuum_test.exe
+
+chttp2_fullstack_with_proxy_census_simple_request_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_census_simple_request_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_census_simple_request_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_census_simple_request_test: chttp2_fullstack_with_proxy_census_simple_request_test.exe
+	echo Running chttp2_fullstack_with_proxy_census_simple_request_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_census_simple_request_test.exe
+
+chttp2_fullstack_with_proxy_default_host_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_default_host_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_default_host_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_default_host_test: chttp2_fullstack_with_proxy_default_host_test.exe
+	echo Running chttp2_fullstack_with_proxy_default_host_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_default_host_test.exe
+
+chttp2_fullstack_with_proxy_disappearing_server_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_disappearing_server_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_disappearing_server_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_disappearing_server_test: chttp2_fullstack_with_proxy_disappearing_server_test.exe
+	echo Running chttp2_fullstack_with_proxy_disappearing_server_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_disappearing_server_test.exe
+
+chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test: chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test.exe
+	echo Running chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test.exe
+
+chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test: chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test.exe
+	echo Running chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_test.exe
+
+chttp2_fullstack_with_proxy_empty_batch_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_empty_batch_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_empty_batch_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_empty_batch_test: chttp2_fullstack_with_proxy_empty_batch_test.exe
+	echo Running chttp2_fullstack_with_proxy_empty_batch_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_empty_batch_test.exe
+
+chttp2_fullstack_with_proxy_graceful_server_shutdown_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_graceful_server_shutdown_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_graceful_server_shutdown_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_graceful_server_shutdown_test: chttp2_fullstack_with_proxy_graceful_server_shutdown_test.exe
+	echo Running chttp2_fullstack_with_proxy_graceful_server_shutdown_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_graceful_server_shutdown_test.exe
+
+chttp2_fullstack_with_proxy_invoke_large_request_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_invoke_large_request_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_invoke_large_request_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_invoke_large_request_test: chttp2_fullstack_with_proxy_invoke_large_request_test.exe
+	echo Running chttp2_fullstack_with_proxy_invoke_large_request_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_invoke_large_request_test.exe
+
+chttp2_fullstack_with_proxy_max_message_length_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_max_message_length_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_max_message_length_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_max_message_length_test: chttp2_fullstack_with_proxy_max_message_length_test.exe
+	echo Running chttp2_fullstack_with_proxy_max_message_length_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_max_message_length_test.exe
+
+chttp2_fullstack_with_proxy_no_op_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_no_op_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_no_op_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_no_op_test: chttp2_fullstack_with_proxy_no_op_test.exe
+	echo Running chttp2_fullstack_with_proxy_no_op_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_no_op_test.exe
+
+chttp2_fullstack_with_proxy_ping_pong_streaming_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_ping_pong_streaming_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_ping_pong_streaming_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_ping_pong_streaming_test: chttp2_fullstack_with_proxy_ping_pong_streaming_test.exe
+	echo Running chttp2_fullstack_with_proxy_ping_pong_streaming_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_ping_pong_streaming_test.exe
+
+chttp2_fullstack_with_proxy_registered_call_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_registered_call_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_registered_call_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_registered_call_test: chttp2_fullstack_with_proxy_registered_call_test.exe
+	echo Running chttp2_fullstack_with_proxy_registered_call_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_registered_call_test.exe
+
+chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test: chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test.exe
+
+chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test: chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_test.exe
+
+chttp2_fullstack_with_proxy_request_response_with_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_response_with_payload_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_response_with_payload_test: chttp2_fullstack_with_proxy_request_response_with_payload_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_response_with_payload_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_payload_test.exe
+
+chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test: chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_payload_and_call_creds_test.exe
+
+chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test: chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test.exe
+
+chttp2_fullstack_with_proxy_request_with_large_metadata_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_with_large_metadata_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_with_large_metadata_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_with_large_metadata_test: chttp2_fullstack_with_proxy_request_with_large_metadata_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_with_large_metadata_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_with_large_metadata_test.exe
+
+chttp2_fullstack_with_proxy_request_with_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_with_payload_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_with_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_with_payload_test: chttp2_fullstack_with_proxy_request_with_payload_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_with_payload_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_with_payload_test.exe
+
+chttp2_fullstack_with_proxy_server_finishes_request_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_server_finishes_request_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_server_finishes_request_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_server_finishes_request_test: chttp2_fullstack_with_proxy_server_finishes_request_test.exe
+	echo Running chttp2_fullstack_with_proxy_server_finishes_request_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_server_finishes_request_test.exe
+
+chttp2_fullstack_with_proxy_simple_delayed_request_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_simple_delayed_request_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_simple_delayed_request_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_simple_delayed_request_test: chttp2_fullstack_with_proxy_simple_delayed_request_test.exe
+	echo Running chttp2_fullstack_with_proxy_simple_delayed_request_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_simple_delayed_request_test.exe
+
+chttp2_fullstack_with_proxy_simple_request_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_simple_request_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_simple_request_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_simple_request_test: chttp2_fullstack_with_proxy_simple_request_test.exe
+	echo Running chttp2_fullstack_with_proxy_simple_request_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_simple_request_test.exe
+
+chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test: chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test.exe
+	echo Running chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test.exe
+
 chttp2_simple_ssl_fullstack_bad_hostname_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
 	echo Building chttp2_simple_ssl_fullstack_bad_hostname_test
 	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
@@ -1839,6 +2071,238 @@ chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_tes
 	echo Running chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test
 	$(OUT_DIR)\chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test.exe
 
+chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test: chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_bad_hostname_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test: chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test: chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_cancel_after_accept_and_writes_closed_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test: chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_cancel_after_invoke_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test: chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_cancel_before_invoke_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test: chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_cancel_in_a_vacuum_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test: chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_census_simple_request_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_default_host_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_default_host_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_default_host_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_default_host_test: chttp2_simple_ssl_fullstack_with_proxy_default_host_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_default_host_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_default_host_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test: chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_disappearing_server_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test: chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test: chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_early_server_shutdown_finishes_tags_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test: chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_empty_batch_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test: chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_graceful_server_shutdown_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test: chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_invoke_large_request_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test: chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_max_message_length_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_no_op_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_no_op_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_no_op_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_no_op_test: chttp2_simple_ssl_fullstack_with_proxy_no_op_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_no_op_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_no_op_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test: chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_ping_pong_streaming_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_registered_call_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_registered_call_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_registered_call_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_registered_call_test: chttp2_simple_ssl_fullstack_with_proxy_registered_call_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_registered_call_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_registered_call_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test: chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test: chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_response_with_metadata_and_payload_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test: chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test: chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_response_with_payload_and_call_creds_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test: chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test: chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_with_large_metadata_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test: chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_request_with_payload_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test: chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_server_finishes_request_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test: chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_simple_delayed_request_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_simple_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_simple_request_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_simple_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_simple_request_test: chttp2_simple_ssl_fullstack_with_proxy_simple_request_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_simple_request_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_simple_request_test.exe
+
+chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test: chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test.exe
+	echo Running chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test
+	$(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_test.exe
+
 chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR)
 	echo Building chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test
 	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
@@ -3311,6 +3775,230 @@ chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_un
 	echo Running chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test
 	$(OUT_DIR)\chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test.exe
 
+chttp2_fullstack_with_proxy_bad_hostname_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_bad_hostname.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_bad_hostname_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_bad_hostname_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_bad_hostname.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_bad_hostname_unsecure_test: chttp2_fullstack_with_proxy_bad_hostname_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_bad_hostname_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_bad_hostname_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_accept.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_accept.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test: chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_after_accept_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test: chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_after_accept_and_writes_closed_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_invoke.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_after_invoke.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test: chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_after_invoke_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_before_invoke.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_before_invoke.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test: chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_before_invoke_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_in_a_vacuum.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test: chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_cancel_in_a_vacuum_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_census_simple_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_census_simple_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_census_simple_request_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_census_simple_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_census_simple_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_census_simple_request_unsecure_test: chttp2_fullstack_with_proxy_census_simple_request_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_census_simple_request_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_census_simple_request_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_default_host_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_default_host.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_default_host_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_default_host_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_default_host.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_default_host_unsecure_test: chttp2_fullstack_with_proxy_default_host_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_default_host_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_default_host_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_disappearing_server_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_disappearing_server.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_disappearing_server_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_disappearing_server_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_disappearing_server.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_disappearing_server_unsecure_test: chttp2_fullstack_with_proxy_disappearing_server_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_disappearing_server_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_disappearing_server_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test: chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test: chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_early_server_shutdown_finishes_tags_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_empty_batch_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_empty_batch.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_empty_batch_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_empty_batch_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_empty_batch.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_empty_batch_unsecure_test: chttp2_fullstack_with_proxy_empty_batch_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_empty_batch_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_empty_batch_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_graceful_server_shutdown.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test: chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_graceful_server_shutdown_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_invoke_large_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_invoke_large_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test: chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_invoke_large_request_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_max_message_length_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_max_message_length.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_max_message_length_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_max_message_length_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_max_message_length.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_max_message_length_unsecure_test: chttp2_fullstack_with_proxy_max_message_length_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_max_message_length_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_max_message_length_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_no_op_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_no_op.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_no_op_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_no_op_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_no_op.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_no_op_unsecure_test: chttp2_fullstack_with_proxy_no_op_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_no_op_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_no_op_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_ping_pong_streaming.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_ping_pong_streaming.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test: chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_ping_pong_streaming_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_registered_call_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_registered_call.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_registered_call_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_registered_call_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_registered_call.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_registered_call_unsecure_test: chttp2_fullstack_with_proxy_registered_call_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_registered_call_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_registered_call_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test: chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_binary_metadata_and_payload_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test: chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_metadata_and_payload_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test: chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_payload_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test: chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_response_with_trailing_metadata_and_payload_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_with_large_metadata.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_with_large_metadata.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test: chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_with_large_metadata_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_request_with_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_with_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_request_with_payload_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_request_with_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_request_with_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_request_with_payload_unsecure_test: chttp2_fullstack_with_proxy_request_with_payload_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_request_with_payload_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_request_with_payload_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_server_finishes_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_server_finishes_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test: chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_server_finishes_request_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_simple_delayed_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_simple_delayed_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test: chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_simple_delayed_request_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_simple_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_simple_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_simple_request_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_simple_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_simple_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_simple_request_unsecure_test: chttp2_fullstack_with_proxy_simple_request_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_simple_request_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_simple_request_unsecure_test.exe
+
+chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
+	echo Building chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
+	$(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj 
+chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test: chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test.exe
+	echo Running chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test
+	$(OUT_DIR)\chttp2_fullstack_with_proxy_simple_request_with_high_initial_sequence_number_unsecure_test.exe
+
 chttp2_socket_pair_bad_hostname_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_bad_hostname.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR)
 	echo Building chttp2_socket_pair_bad_hostname_unsecure_test
 	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c 
@@ -4078,11 +4766,21 @@ Debug\end2end_fixture_chttp2_fullstack_compression.lib: $(OUT_DIR)
 	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_fullstack_compression.c 
 	$(LIBTOOL) /OUT:"Debug\end2end_fixture_chttp2_fullstack_compression.lib" $(OUT_DIR)\chttp2_fullstack_compression.obj 
 
+Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib: $(OUT_DIR)
+	echo Building end2end_fixture_chttp2_fullstack_with_proxy
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_fullstack_with_proxy.c 
+	$(LIBTOOL) /OUT:"Debug\end2end_fixture_chttp2_fullstack_with_proxy.lib" $(OUT_DIR)\chttp2_fullstack_with_proxy.obj 
+
 Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib: $(OUT_DIR)
 	echo Building end2end_fixture_chttp2_simple_ssl_fullstack
 	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_simple_ssl_fullstack.c 
 	$(LIBTOOL) /OUT:"Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib" $(OUT_DIR)\chttp2_simple_ssl_fullstack.obj 
 
+Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib: $(OUT_DIR)
+	echo Building end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy
+	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_simple_ssl_fullstack_with_proxy.c 
+	$(LIBTOOL) /OUT:"Debug\end2end_fixture_chttp2_simple_ssl_fullstack_with_proxy.lib" $(OUT_DIR)\chttp2_simple_ssl_fullstack_with_proxy.obj 
+
 Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib: $(OUT_DIR)
 	echo Building end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack
 	$(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_simple_ssl_with_oauth2_fullstack.c 
diff --git a/vsprojects/grpc++/grpc++.vcxproj b/vsprojects/grpc++/grpc++.vcxproj
index 7587cfed775a18bfa2af62417df3843ee0ec7ec5..58474511fc4abc99adfac89aecbf8db37b4af588 100644
--- a/vsprojects/grpc++/grpc++.vcxproj
+++ b/vsprojects/grpc++/grpc++.vcxproj
@@ -252,6 +252,7 @@
     <ClInclude Include="..\..\include\grpc++\status.h" />
     <ClInclude Include="..\..\include\grpc++\status_code_enum.h" />
     <ClInclude Include="..\..\include\grpc++\stream.h" />
+    <ClInclude Include="..\..\include\grpc++\stub_options.h" />
     <ClInclude Include="..\..\include\grpc++\thread_pool_interface.h" />
     <ClInclude Include="..\..\include\grpc++\time.h" />
   </ItemGroup>
diff --git a/vsprojects/grpc++/grpc++.vcxproj.filters b/vsprojects/grpc++/grpc++.vcxproj.filters
index 85b743a8fb40fa3c3e807b885aac84af1f792771..2a8ee08b084b459f77baf64ba9e9e869926cc7d6 100644
--- a/vsprojects/grpc++/grpc++.vcxproj.filters
+++ b/vsprojects/grpc++/grpc++.vcxproj.filters
@@ -213,6 +213,9 @@
     <ClInclude Include="..\..\include\grpc++\stream.h">
       <Filter>include\grpc++</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\include\grpc++\stub_options.h">
+      <Filter>include\grpc++</Filter>
+    </ClInclude>
     <ClInclude Include="..\..\include\grpc++\thread_pool_interface.h">
       <Filter>include\grpc++</Filter>
     </ClInclude>
diff --git a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj
index ea1f747e6b8a2263528f8fae5ccafed987aec932..0d989c4a933a856a5318744087f89e307e307c9b 100644
--- a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj
+++ b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj
@@ -252,6 +252,7 @@
     <ClInclude Include="..\..\include\grpc++\status.h" />
     <ClInclude Include="..\..\include\grpc++\status_code_enum.h" />
     <ClInclude Include="..\..\include\grpc++\stream.h" />
+    <ClInclude Include="..\..\include\grpc++\stub_options.h" />
     <ClInclude Include="..\..\include\grpc++\thread_pool_interface.h" />
     <ClInclude Include="..\..\include\grpc++\time.h" />
   </ItemGroup>
diff --git a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters
index 7f109a25578a7dc834e8b230c1c18cf8dc9bc12a..71d42e5c6dd564ebc3af3bc0ca1ffcd3a5bb1ffb 100644
--- a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters
+++ b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters
@@ -198,6 +198,9 @@
     <ClInclude Include="..\..\include\grpc++\stream.h">
       <Filter>include\grpc++</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\include\grpc++\stub_options.h">
+      <Filter>include\grpc++</Filter>
+    </ClInclude>
     <ClInclude Include="..\..\include\grpc++\thread_pool_interface.h">
       <Filter>include\grpc++</Filter>
     </ClInclude>
diff --git a/vsprojects/grpc_test_util/grpc_test_util.vcxproj b/vsprojects/grpc_test_util/grpc_test_util.vcxproj
index 07f2d7ae0b718d413329f74e889418c9eef5c9ee..f39b98e2d8240f1c865eb0e5996ee6ea3cb3d416 100644
--- a/vsprojects/grpc_test_util/grpc_test_util.vcxproj
+++ b/vsprojects/grpc_test_util/grpc_test_util.vcxproj
@@ -124,6 +124,7 @@
   <ItemGroup>
     <ClInclude Include="..\..\test\core\end2end\data\ssl_test_data.h" />
     <ClInclude Include="..\..\test\core\end2end\cq_verifier.h" />
+    <ClInclude Include="..\..\test\core\end2end\fixtures\proxy.h" />
     <ClInclude Include="..\..\test\core\iomgr\endpoint_tests.h" />
     <ClInclude Include="..\..\test\core\security\oauth2_utils.h" />
     <ClInclude Include="..\..\test\core\util\grpc_profiler.h" />
@@ -140,6 +141,8 @@
     </ClCompile>
     <ClCompile Include="..\..\test\core\end2end\cq_verifier.c">
     </ClCompile>
+    <ClCompile Include="..\..\test\core\end2end\fixtures\proxy.c">
+    </ClCompile>
     <ClCompile Include="..\..\test\core\iomgr\endpoint_tests.c">
     </ClCompile>
     <ClCompile Include="..\..\test\core\security\oauth2_utils.c">