diff options
59 files changed, 1624 insertions, 16459 deletions
diff --git a/src/node/.istanbul.yml b/.istanbul.yml index 9ff1379f51..9ff1379f51 100644 --- a/src/node/.istanbul.yml +++ b/.istanbul.yml diff --git a/binding.gyp b/binding.gyp new file mode 100644 index 0000000000..2a5cb1ced4 --- /dev/null +++ b/binding.gyp @@ -0,0 +1,95 @@ +# 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. +{ + "variables" : { + 'config': '<!(echo $CONFIG)' + }, + "targets" : [ + { + 'include_dirs': [ + "<!(node -e \"require('nan')\")" + ], + 'cflags': [ + '-std=c++0x', + '-Wall', + '-pthread', + '-g', + '-zdefs', + '-Werror', + '-Wno-error=deprecated-declarations' + ], + 'ldflags': [ + '-g' + ], + "conditions": [ + ['OS != "win"', { + 'conditions': [ + ['config=="gcov"', { + 'cflags': [ + '-ftest-coverage', + '-fprofile-arcs', + '-O0' + ], + 'ldflags': [ + '-ftest-coverage', + '-fprofile-arcs' + ] + } + ] + ] + }], + ['OS == "mac"', { + 'xcode_settings': { + 'MACOSX_DEPLOYMENT_TARGET': '10.9', + 'OTHER_CFLAGS': [ + '-std=c++11', + '-stdlib=libc++' + ] + } + }] + ], + "target_name": "grpc_node", + "sources": [ + "src/node/ext/byte_buffer.cc", + "src/node/ext/call.cc", + "src/node/ext/call_credentials.cc", + "src/node/ext/channel.cc", + "src/node/ext/channel_credentials.cc", + "src/node/ext/completion_queue_async_worker.cc", + "src/node/ext/node_grpc.cc", + "src/node/ext/server.cc", + "src/node/ext/server_credentials.cc", + "src/node/ext/timeval.cc" + ], + "dependencies": [ + "grpc.gyp:grpc" + ] + } + ] +} diff --git a/build.json b/build.json deleted file mode 100644 index 0a4248c7a8..0000000000 --- a/build.json +++ /dev/null @@ -1,2729 +0,0 @@ -{ - "#1": "This file describes the list of targets and dependencies.", - "#2": "It is used among other things to generate all of our project files.", - "#3": "Please refer to the templates directory for more information.", - "settings": { - "#": "The public version number of the library.", - "version": { - "major": 0, - "minor": 10, - "micro": 1, - "build": 0 - } - }, - "filegroups": [ - { - "name": "census", - "public_headers": [ - "include/grpc/census.h" - ], - "headers": [ - "src/core/census/context.h", - "src/core/census/rpc_stat_id.h" - ], - "src": [ - "src/core/census/context.c", - "src/core/census/initialize.c", - "src/core/census/record_stat.c" - ] - }, - { - "name": "grpc++_base", - "public_headers": [ - "include/grpc++/channel.h", - "include/grpc++/client_context.h", - "include/grpc++/completion_queue.h", - "include/grpc++/create_channel.h", - "include/grpc++/credentials.h", - "include/grpc++/generic/async_generic_service.h", - "include/grpc++/generic/generic_stub.h", - "include/grpc++/impl/call.h", - "include/grpc++/impl/client_unary_call.h", - "include/grpc++/impl/grpc_library.h", - "include/grpc++/impl/proto_utils.h", - "include/grpc++/impl/rpc_method.h", - "include/grpc++/impl/rpc_service_method.h", - "include/grpc++/impl/serialization_traits.h", - "include/grpc++/impl/service_type.h", - "include/grpc++/impl/sync.h", - "include/grpc++/impl/sync_cxx11.h", - "include/grpc++/impl/sync_no_cxx11.h", - "include/grpc++/impl/thd.h", - "include/grpc++/impl/thd_cxx11.h", - "include/grpc++/impl/thd_no_cxx11.h", - "include/grpc++/server.h", - "include/grpc++/server_builder.h", - "include/grpc++/server_context.h", - "include/grpc++/server_credentials.h", - "include/grpc++/support/async_stream.h", - "include/grpc++/support/async_unary_call.h", - "include/grpc++/support/auth_context.h", - "include/grpc++/support/byte_buffer.h", - "include/grpc++/support/channel_arguments.h", - "include/grpc++/support/config.h", - "include/grpc++/support/config_protobuf.h", - "include/grpc++/support/slice.h", - "include/grpc++/support/status.h", - "include/grpc++/support/status_code_enum.h", - "include/grpc++/support/string_ref.h", - "include/grpc++/support/stub_options.h", - "include/grpc++/support/sync_stream.h", - "include/grpc++/support/time.h" - ], - "headers": [ - "src/cpp/client/create_channel_internal.h", - "src/cpp/common/create_auth_context.h", - "src/cpp/server/dynamic_thread_pool.h", - "src/cpp/server/fixed_size_thread_pool.h", - "src/cpp/server/thread_pool_interface.h" - ], - "src": [ - "src/cpp/client/channel.cc", - "src/cpp/client/channel_arguments.cc", - "src/cpp/client/client_context.cc", - "src/cpp/client/create_channel.cc", - "src/cpp/client/create_channel_internal.cc", - "src/cpp/client/credentials.cc", - "src/cpp/client/generic_stub.cc", - "src/cpp/client/insecure_credentials.cc", - "src/cpp/common/call.cc", - "src/cpp/common/completion_queue.cc", - "src/cpp/common/rpc_method.cc", - "src/cpp/proto/proto_utils.cc", - "src/cpp/server/async_generic_service.cc", - "src/cpp/server/create_default_thread_pool.cc", - "src/cpp/server/dynamic_thread_pool.cc", - "src/cpp/server/fixed_size_thread_pool.cc", - "src/cpp/server/insecure_server_credentials.cc", - "src/cpp/server/server.cc", - "src/cpp/server/server_builder.cc", - "src/cpp/server/server_context.cc", - "src/cpp/server/server_credentials.cc", - "src/cpp/util/byte_buffer.cc", - "src/cpp/util/slice.cc", - "src/cpp/util/status.cc", - "src/cpp/util/string_ref.cc", - "src/cpp/util/time.cc" - ] - }, - { - "name": "grpc_base", - "public_headers": [ - "include/grpc/byte_buffer.h", - "include/grpc/byte_buffer_reader.h", - "include/grpc/compression.h", - "include/grpc/grpc.h", - "include/grpc/status.h" - ], - "headers": [ - "src/core/census/grpc_filter.h", - "src/core/channel/channel_args.h", - "src/core/channel/channel_stack.h", - "src/core/channel/client_channel.h", - "src/core/channel/compress_filter.h", - "src/core/channel/connected_channel.h", - "src/core/channel/context.h", - "src/core/channel/http_client_filter.h", - "src/core/channel/http_server_filter.h", - "src/core/channel/noop_filter.h", - "src/core/client_config/client_config.h", - "src/core/client_config/connector.h", - "src/core/client_config/lb_policies/pick_first.h", - "src/core/client_config/lb_policy.h", - "src/core/client_config/resolver.h", - "src/core/client_config/resolver_factory.h", - "src/core/client_config/resolver_registry.h", - "src/core/client_config/resolvers/dns_resolver.h", - "src/core/client_config/resolvers/sockaddr_resolver.h", - "src/core/client_config/subchannel.h", - "src/core/client_config/subchannel_factory.h", - "src/core/client_config/subchannel_factory_decorators/add_channel_arg.h", - "src/core/client_config/subchannel_factory_decorators/merge_channel_args.h", - "src/core/client_config/uri_parser.h", - "src/core/compression/message_compress.h", - "src/core/debug/trace.h", - "src/core/httpcli/format_request.h", - "src/core/httpcli/httpcli.h", - "src/core/httpcli/parser.h", - "src/core/iomgr/alarm.h", - "src/core/iomgr/alarm_heap.h", - "src/core/iomgr/alarm_internal.h", - "src/core/iomgr/endpoint.h", - "src/core/iomgr/endpoint_pair.h", - "src/core/iomgr/fd_posix.h", - "src/core/iomgr/iocp_windows.h", - "src/core/iomgr/iomgr.h", - "src/core/iomgr/iomgr_internal.h", - "src/core/iomgr/iomgr_posix.h", - "src/core/iomgr/pollset.h", - "src/core/iomgr/pollset_posix.h", - "src/core/iomgr/pollset_set.h", - "src/core/iomgr/pollset_set_posix.h", - "src/core/iomgr/pollset_set_windows.h", - "src/core/iomgr/pollset_windows.h", - "src/core/iomgr/resolve_address.h", - "src/core/iomgr/sockaddr.h", - "src/core/iomgr/sockaddr_posix.h", - "src/core/iomgr/sockaddr_utils.h", - "src/core/iomgr/sockaddr_win32.h", - "src/core/iomgr/socket_utils_posix.h", - "src/core/iomgr/socket_windows.h", - "src/core/iomgr/tcp_client.h", - "src/core/iomgr/tcp_posix.h", - "src/core/iomgr/tcp_server.h", - "src/core/iomgr/tcp_windows.h", - "src/core/iomgr/time_averaged_stats.h", - "src/core/iomgr/udp_server.h", - "src/core/iomgr/wakeup_fd_pipe.h", - "src/core/iomgr/wakeup_fd_posix.h", - "src/core/json/json.h", - "src/core/json/json_common.h", - "src/core/json/json_reader.h", - "src/core/json/json_writer.h", - "src/core/profiling/timers.h", - "src/core/profiling/timers_preciseclock.h", - "src/core/statistics/census_interface.h", - "src/core/statistics/census_rpc_stats.h", - "src/core/surface/api_trace.h", - "src/core/surface/byte_buffer_queue.h", - "src/core/surface/call.h", - "src/core/surface/channel.h", - "src/core/surface/completion_queue.h", - "src/core/surface/event_string.h", - "src/core/surface/init.h", - "src/core/surface/server.h", - "src/core/surface/surface_trace.h", - "src/core/transport/chttp2/alpn.h", - "src/core/transport/chttp2/bin_encoder.h", - "src/core/transport/chttp2/frame.h", - "src/core/transport/chttp2/frame_data.h", - "src/core/transport/chttp2/frame_goaway.h", - "src/core/transport/chttp2/frame_ping.h", - "src/core/transport/chttp2/frame_rst_stream.h", - "src/core/transport/chttp2/frame_settings.h", - "src/core/transport/chttp2/frame_window_update.h", - "src/core/transport/chttp2/hpack_parser.h", - "src/core/transport/chttp2/hpack_table.h", - "src/core/transport/chttp2/http2_errors.h", - "src/core/transport/chttp2/huffsyms.h", - "src/core/transport/chttp2/incoming_metadata.h", - "src/core/transport/chttp2/internal.h", - "src/core/transport/chttp2/status_conversion.h", - "src/core/transport/chttp2/stream_encoder.h", - "src/core/transport/chttp2/stream_map.h", - "src/core/transport/chttp2/timeout_encoding.h", - "src/core/transport/chttp2/varint.h", - "src/core/transport/chttp2_transport.h", - "src/core/transport/connectivity_state.h", - "src/core/transport/metadata.h", - "src/core/transport/stream_op.h", - "src/core/transport/transport.h", - "src/core/transport/transport_impl.h" - ], - "src": [ - "src/core/census/grpc_context.c", - "src/core/census/grpc_filter.c", - "src/core/channel/channel_args.c", - "src/core/channel/channel_stack.c", - "src/core/channel/client_channel.c", - "src/core/channel/compress_filter.c", - "src/core/channel/connected_channel.c", - "src/core/channel/http_client_filter.c", - "src/core/channel/http_server_filter.c", - "src/core/channel/noop_filter.c", - "src/core/client_config/client_config.c", - "src/core/client_config/connector.c", - "src/core/client_config/lb_policies/pick_first.c", - "src/core/client_config/lb_policy.c", - "src/core/client_config/resolver.c", - "src/core/client_config/resolver_factory.c", - "src/core/client_config/resolver_registry.c", - "src/core/client_config/resolvers/dns_resolver.c", - "src/core/client_config/resolvers/sockaddr_resolver.c", - "src/core/client_config/subchannel.c", - "src/core/client_config/subchannel_factory.c", - "src/core/client_config/subchannel_factory_decorators/add_channel_arg.c", - "src/core/client_config/subchannel_factory_decorators/merge_channel_args.c", - "src/core/client_config/uri_parser.c", - "src/core/compression/algorithm.c", - "src/core/compression/message_compress.c", - "src/core/debug/trace.c", - "src/core/httpcli/format_request.c", - "src/core/httpcli/httpcli.c", - "src/core/httpcli/parser.c", - "src/core/iomgr/alarm.c", - "src/core/iomgr/alarm_heap.c", - "src/core/iomgr/endpoint.c", - "src/core/iomgr/endpoint_pair_posix.c", - "src/core/iomgr/endpoint_pair_windows.c", - "src/core/iomgr/fd_posix.c", - "src/core/iomgr/iocp_windows.c", - "src/core/iomgr/iomgr.c", - "src/core/iomgr/iomgr_posix.c", - "src/core/iomgr/iomgr_windows.c", - "src/core/iomgr/pollset_multipoller_with_epoll.c", - "src/core/iomgr/pollset_multipoller_with_poll_posix.c", - "src/core/iomgr/pollset_posix.c", - "src/core/iomgr/pollset_set_posix.c", - "src/core/iomgr/pollset_set_windows.c", - "src/core/iomgr/pollset_windows.c", - "src/core/iomgr/resolve_address_posix.c", - "src/core/iomgr/resolve_address_windows.c", - "src/core/iomgr/sockaddr_utils.c", - "src/core/iomgr/socket_utils_common_posix.c", - "src/core/iomgr/socket_utils_linux.c", - "src/core/iomgr/socket_utils_posix.c", - "src/core/iomgr/socket_windows.c", - "src/core/iomgr/tcp_client_posix.c", - "src/core/iomgr/tcp_client_windows.c", - "src/core/iomgr/tcp_posix.c", - "src/core/iomgr/tcp_server_posix.c", - "src/core/iomgr/tcp_server_windows.c", - "src/core/iomgr/tcp_windows.c", - "src/core/iomgr/time_averaged_stats.c", - "src/core/iomgr/udp_server.c", - "src/core/iomgr/wakeup_fd_eventfd.c", - "src/core/iomgr/wakeup_fd_nospecial.c", - "src/core/iomgr/wakeup_fd_pipe.c", - "src/core/iomgr/wakeup_fd_posix.c", - "src/core/json/json.c", - "src/core/json/json_reader.c", - "src/core/json/json_string.c", - "src/core/json/json_writer.c", - "src/core/profiling/basic_timers.c", - "src/core/profiling/stap_timers.c", - "src/core/surface/api_trace.c", - "src/core/surface/byte_buffer.c", - "src/core/surface/byte_buffer_queue.c", - "src/core/surface/byte_buffer_reader.c", - "src/core/surface/call.c", - "src/core/surface/call_details.c", - "src/core/surface/call_log_batch.c", - "src/core/surface/channel.c", - "src/core/surface/channel_connectivity.c", - "src/core/surface/channel_create.c", - "src/core/surface/completion_queue.c", - "src/core/surface/event_string.c", - "src/core/surface/init.c", - "src/core/surface/lame_client.c", - "src/core/surface/metadata_array.c", - "src/core/surface/server.c", - "src/core/surface/server_chttp2.c", - "src/core/surface/server_create.c", - "src/core/surface/version.c", - "src/core/transport/chttp2/alpn.c", - "src/core/transport/chttp2/bin_encoder.c", - "src/core/transport/chttp2/frame_data.c", - "src/core/transport/chttp2/frame_goaway.c", - "src/core/transport/chttp2/frame_ping.c", - "src/core/transport/chttp2/frame_rst_stream.c", - "src/core/transport/chttp2/frame_settings.c", - "src/core/transport/chttp2/frame_window_update.c", - "src/core/transport/chttp2/hpack_parser.c", - "src/core/transport/chttp2/hpack_table.c", - "src/core/transport/chttp2/huffsyms.c", - "src/core/transport/chttp2/incoming_metadata.c", - "src/core/transport/chttp2/parsing.c", - "src/core/transport/chttp2/status_conversion.c", - "src/core/transport/chttp2/stream_encoder.c", - "src/core/transport/chttp2/stream_lists.c", - "src/core/transport/chttp2/stream_map.c", - "src/core/transport/chttp2/timeout_encoding.c", - "src/core/transport/chttp2/varint.c", - "src/core/transport/chttp2/writing.c", - "src/core/transport/chttp2_transport.c", - "src/core/transport/connectivity_state.c", - "src/core/transport/metadata.c", - "src/core/transport/stream_op.c", - "src/core/transport/transport.c", - "src/core/transport/transport_op_string.c" - ] - }, - { - "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", - "test/core/util/parse_hexstring.h", - "test/core/util/port.h", - "test/core/util/slice_splitter.h" - ], - "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", - "test/core/util/parse_hexstring.c", - "test/core/util/port_posix.c", - "test/core/util/port_windows.c", - "test/core/util/slice_splitter.c" - ] - } - ], - "libs": [ - { - "name": "gpr", - "build": "all", - "language": "c", - "public_headers": [ - "include/grpc/support/alloc.h", - "include/grpc/support/atm.h", - "include/grpc/support/atm_gcc_atomic.h", - "include/grpc/support/atm_gcc_sync.h", - "include/grpc/support/atm_win32.h", - "include/grpc/support/cmdline.h", - "include/grpc/support/cpu.h", - "include/grpc/support/histogram.h", - "include/grpc/support/host_port.h", - "include/grpc/support/log.h", - "include/grpc/support/log_win32.h", - "include/grpc/support/port_platform.h", - "include/grpc/support/slice.h", - "include/grpc/support/slice_buffer.h", - "include/grpc/support/string_util.h", - "include/grpc/support/subprocess.h", - "include/grpc/support/sync.h", - "include/grpc/support/sync_generic.h", - "include/grpc/support/sync_posix.h", - "include/grpc/support/sync_win32.h", - "include/grpc/support/thd.h", - "include/grpc/support/time.h", - "include/grpc/support/tls.h", - "include/grpc/support/tls_gcc.h", - "include/grpc/support/tls_msvc.h", - "include/grpc/support/tls_pthread.h", - "include/grpc/support/useful.h" - ], - "headers": [ - "src/core/support/env.h", - "src/core/support/file.h", - "src/core/support/murmur_hash.h", - "src/core/support/stack_lockfree.h", - "src/core/support/string.h", - "src/core/support/string_win32.h", - "src/core/support/thd_internal.h" - ], - "src": [ - "src/core/support/alloc.c", - "src/core/support/cmdline.c", - "src/core/support/cpu_iphone.c", - "src/core/support/cpu_linux.c", - "src/core/support/cpu_posix.c", - "src/core/support/cpu_windows.c", - "src/core/support/env_linux.c", - "src/core/support/env_posix.c", - "src/core/support/env_win32.c", - "src/core/support/file.c", - "src/core/support/file_posix.c", - "src/core/support/file_win32.c", - "src/core/support/histogram.c", - "src/core/support/host_port.c", - "src/core/support/log.c", - "src/core/support/log_android.c", - "src/core/support/log_linux.c", - "src/core/support/log_posix.c", - "src/core/support/log_win32.c", - "src/core/support/murmur_hash.c", - "src/core/support/slice.c", - "src/core/support/slice_buffer.c", - "src/core/support/stack_lockfree.c", - "src/core/support/string.c", - "src/core/support/string_posix.c", - "src/core/support/string_win32.c", - "src/core/support/subprocess_posix.c", - "src/core/support/sync.c", - "src/core/support/sync_posix.c", - "src/core/support/sync_win32.c", - "src/core/support/thd.c", - "src/core/support/thd_posix.c", - "src/core/support/thd_win32.c", - "src/core/support/time.c", - "src/core/support/time_posix.c", - "src/core/support/time_win32.c", - "src/core/support/tls_pthread.c" - ], - "secure": "no", - "vs_project_guid": "{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}" - }, - { - "name": "gpr_test_util", - "build": "private", - "language": "c", - "headers": [ - "test/core/util/test_config.h" - ], - "src": [ - "test/core/util/test_config.c" - ], - "deps": [ - "gpr" - ], - "secure": "no", - "vs_project_guid": "{EAB0A629-17A9-44DB-B5FF-E91A721FE037}" - }, - { - "name": "grpc", - "build": "all", - "language": "c", - "public_headers": [ - "include/grpc/grpc_security.h" - ], - "headers": [ - "src/core/security/auth_filters.h", - "src/core/security/base64.h", - "src/core/security/credentials.h", - "src/core/security/json_token.h", - "src/core/security/jwt_verifier.h", - "src/core/security/secure_endpoint.h", - "src/core/security/secure_transport_setup.h", - "src/core/security/security_connector.h", - "src/core/security/security_context.h", - "src/core/tsi/fake_transport_security.h", - "src/core/tsi/ssl_transport_security.h", - "src/core/tsi/transport_security.h", - "src/core/tsi/transport_security_interface.h" - ], - "src": [ - "src/core/httpcli/httpcli_security_connector.c", - "src/core/security/base64.c", - "src/core/security/client_auth_filter.c", - "src/core/security/credentials.c", - "src/core/security/credentials_metadata.c", - "src/core/security/credentials_posix.c", - "src/core/security/credentials_win32.c", - "src/core/security/google_default_credentials.c", - "src/core/security/json_token.c", - "src/core/security/jwt_verifier.c", - "src/core/security/secure_endpoint.c", - "src/core/security/secure_transport_setup.c", - "src/core/security/security_connector.c", - "src/core/security/security_context.c", - "src/core/security/server_auth_filter.c", - "src/core/security/server_secure_chttp2.c", - "src/core/surface/init_secure.c", - "src/core/surface/secure_channel_create.c", - "src/core/tsi/fake_transport_security.c", - "src/core/tsi/ssl_transport_security.c", - "src/core/tsi/transport_security.c" - ], - "deps": [ - "gpr" - ], - "baselib": true, - "dll": "yes", - "filegroups": [ - "grpc_base", - "census" - ], - "secure": "yes", - "vs_project_guid": "{29D16885-7228-4C31-81ED-5F9187C7F2A9}" - }, - { - "name": "grpc_test_util", - "build": "private", - "language": "c", - "headers": [ - "test/core/end2end/data/ssl_test_data.h" - ], - "src": [ - "test/core/end2end/data/server1_cert.c", - "test/core/end2end/data/server1_key.c", - "test/core/end2end/data/test_root_cert.c" - ], - "deps": [ - "gpr", - "gpr_test_util", - "grpc" - ], - "filegroups": [ - "grpc_test_util_base" - ], - "vs_project_guid": "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}" - }, - { - "name": "grpc_test_util_unsecure", - "build": "private", - "language": "c", - "deps": [ - "gpr", - "gpr_test_util", - "grpc" - ], - "filegroups": [ - "grpc_test_util_base" - ], - "secure": "no", - "vs_project_guid": "{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}" - }, - { - "name": "grpc_unsecure", - "build": "all", - "language": "c", - "src": [ - "src/core/surface/init_unsecure.c" - ], - "deps": [ - "gpr" - ], - "baselib": true, - "dll": "yes", - "filegroups": [ - "grpc_base", - "census" - ], - "secure": "no", - "vs_project_guid": "{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}" - }, - { - "name": "grpc_zookeeper", - "build": "all", - "language": "c", - "public_headers": [ - "include/grpc/grpc_zookeeper.h" - ], - "headers": [ - "src/core/client_config/resolvers/zookeeper_resolver.h" - ], - "src": [ - "src/core/client_config/resolvers/zookeeper_resolver.c" - ], - "deps": [ - "gpr", - "grpc" - ], - "external_deps": [ - "zookeeper" - ], - "secure": "no" - }, - { - "name": "reconnect_server", - "build": "private", - "language": "c", - "headers": [ - "test/core/util/reconnect_server.h" - ], - "src": [ - "test/core/util/reconnect_server.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc++", - "build": "all", - "language": "c++", - "headers": [ - "src/cpp/client/secure_credentials.h", - "src/cpp/common/secure_auth_context.h", - "src/cpp/server/secure_server_credentials.h" - ], - "src": [ - "src/cpp/client/secure_channel_arguments.cc", - "src/cpp/client/secure_credentials.cc", - "src/cpp/common/auth_property_iterator.cc", - "src/cpp/common/secure_auth_context.cc", - "src/cpp/common/secure_create_auth_context.cc", - "src/cpp/server/secure_server_credentials.cc" - ], - "deps": [ - "gpr", - "grpc" - ], - "baselib": true, - "dll": "yes", - "filegroups": [ - "grpc++_base" - ], - "secure": "check", - "vs_project_guid": "{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}" - }, - { - "name": "grpc++_test_config", - "build": "private", - "language": "c++", - "headers": [ - "test/cpp/util/test_config.h" - ], - "src": [ - "test/cpp/util/test_config.cc" - ] - }, - { - "name": "grpc++_test_util", - "build": "private", - "language": "c++", - "headers": [ - "test/cpp/util/cli_call.h", - "test/cpp/util/create_test_channel.h", - "test/cpp/util/subprocess.h" - ], - "src": [ - "test/cpp/util/messages.proto", - "test/cpp/util/echo.proto", - "test/cpp/util/echo_duplicate.proto", - "test/cpp/util/cli_call.cc", - "test/cpp/util/create_test_channel.cc", - "test/cpp/util/subprocess.cc" - ], - "deps": [ - "grpc++", - "grpc_test_util" - ] - }, - { - "name": "grpc++_unsecure", - "build": "all", - "language": "c++", - "src": [ - "src/cpp/common/insecure_create_auth_context.cc" - ], - "deps": [ - "gpr", - "grpc_unsecure" - ], - "baselib": true, - "dll": "yes", - "filegroups": [ - "grpc++_base" - ], - "secure": "no", - "vs_project_guid": "{6EE56155-DF7C-4F6E-BFC4-F6F776BEB211}" - }, - { - "name": "grpc_plugin_support", - "build": "protoc", - "language": "c++", - "headers": [ - "include/grpc++/support/config.h", - "include/grpc++/support/config_protobuf.h", - "src/compiler/config.h", - "src/compiler/cpp_generator.h", - "src/compiler/cpp_generator_helpers.h", - "src/compiler/csharp_generator.h", - "src/compiler/csharp_generator_helpers.h", - "src/compiler/generator_helpers.h", - "src/compiler/objective_c_generator.h", - "src/compiler/objective_c_generator_helpers.h", - "src/compiler/python_generator.h", - "src/compiler/ruby_generator.h", - "src/compiler/ruby_generator_helpers-inl.h", - "src/compiler/ruby_generator_map-inl.h", - "src/compiler/ruby_generator_string-inl.h" - ], - "src": [ - "src/compiler/cpp_generator.cc", - "src/compiler/csharp_generator.cc", - "src/compiler/objective_c_generator.cc", - "src/compiler/python_generator.cc", - "src/compiler/ruby_generator.cc" - ], - "deps": [], - "secure": "no", - "vs_project_guid": "{B6E81D84-2ACB-41B8-8781-493A944C7817}" - }, - { - "name": "interop_client_helper", - "build": "private", - "language": "c++", - "headers": [ - "test/cpp/interop/client_helper.h" - ], - "src": [ - "test/proto/messages.proto", - "test/cpp/interop/client_helper.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr" - ] - }, - { - "name": "interop_client_main", - "build": "private", - "language": "c++", - "headers": [ - "test/cpp/interop/interop_client.h" - ], - "src": [ - "test/proto/empty.proto", - "test/proto/messages.proto", - "test/proto/test.proto", - "test/cpp/interop/client.cc", - "test/cpp/interop/interop_client.cc" - ], - "deps": [ - "interop_client_helper", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr", - "grpc++_test_config" - ] - }, - { - "name": "interop_server_helper", - "build": "private", - "language": "c++", - "headers": [ - "test/cpp/interop/server_helper.h" - ], - "src": [ - "test/cpp/interop/server_helper.cc" - ], - "deps": [ - "grpc_test_util", - "grpc++", - "grpc", - "gpr" - ] - }, - { - "name": "interop_server_main", - "build": "private", - "language": "c++", - "src": [ - "test/proto/empty.proto", - "test/proto/messages.proto", - "test/proto/test.proto", - "test/cpp/interop/server.cc" - ], - "deps": [ - "interop_server_helper", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr", - "grpc++_test_config" - ] - }, - { - "name": "pubsub_client_lib", - "build": "do_not_build", - "language": "c++", - "headers": [ - "examples/pubsub/publisher.h", - "examples/pubsub/subscriber.h" - ], - "src": [ - "examples/pubsub/label.proto", - "examples/pubsub/empty.proto", - "examples/pubsub/pubsub.proto", - "examples/pubsub/publisher.cc", - "examples/pubsub/subscriber.cc" - ], - "deps": [ - "grpc++", - "grpc", - "gpr" - ] - }, - { - "name": "qps", - "build": "private", - "language": "c++", - "headers": [ - "test/cpp/qps/client.h", - "test/cpp/qps/driver.h", - "test/cpp/qps/histogram.h", - "test/cpp/qps/interarrival.h", - "test/cpp/qps/perf_db_client.h", - "test/cpp/qps/qps_worker.h", - "test/cpp/qps/report.h", - "test/cpp/qps/server.h", - "test/cpp/qps/stats.h", - "test/cpp/qps/timer.h", - "test/cpp/util/benchmark_config.h" - ], - "src": [ - "test/cpp/qps/qpstest.proto", - "test/cpp/qps/perf_db.proto", - "test/cpp/qps/client_async.cc", - "test/cpp/qps/client_sync.cc", - "test/cpp/qps/driver.cc", - "test/cpp/qps/perf_db_client.cc", - "test/cpp/qps/qps_worker.cc", - "test/cpp/qps/report.cc", - "test/cpp/qps/server_async.cc", - "test/cpp/qps/server_sync.cc", - "test/cpp/qps/timer.cc", - "test/cpp/util/benchmark_config.cc" - ], - "deps": [ - "grpc_test_util", - "grpc++_test_util", - "grpc++" - ] - }, - { - "name": "grpc_csharp_ext", - "build": "all", - "language": "csharp", - "src": [ - "src/csharp/ext/grpc_csharp_ext.c" - ], - "deps": [ - "gpr", - "grpc" - ], - "dll": "only", - "vs_project_guid": "{D64C6D63-4458-4A88-AB38-35678384A7E4}" - } - ], - "targets": [ - { - "name": "alarm_heap_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/alarm_heap_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "alarm_list_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/alarm_list_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "alarm_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/alarm_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "alpn_test", - "build": "test", - "language": "c", - "src": [ - "test/core/transport/chttp2/alpn_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "bin_encoder_test", - "build": "test", - "language": "c", - "src": [ - "test/core/transport/chttp2/bin_encoder_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "chttp2_status_conversion_test", - "build": "test", - "language": "c", - "src": [ - "test/core/transport/chttp2/status_conversion_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "chttp2_stream_encoder_test", - "build": "test", - "language": "c", - "src": [ - "test/core/transport/chttp2/stream_encoder_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "chttp2_stream_map_test", - "build": "test", - "language": "c", - "src": [ - "test/core/transport/chttp2/stream_map_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "compression_test", - "build": "test", - "language": "c", - "src": [ - "test/core/compression/compression_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "dualstack_socket_test", - "build": "test", - "language": "c", - "src": [ - "test/core/end2end/dualstack_socket_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "fd_conservation_posix_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/fd_conservation_posix_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "fd_posix_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/fd_posix_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "fling_client", - "build": "test", - "run": false, - "language": "c", - "src": [ - "test/core/fling/client.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "fling_server", - "build": "test", - "run": false, - "language": "c", - "src": [ - "test/core/fling/server.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "fling_stream_test", - "build": "test", - "language": "c", - "src": [ - "test/core/fling/fling_stream_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "fling_test", - "build": "test", - "language": "c", - "src": [ - "test/core/fling/fling_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "gen_hpack_tables", - "build": "tool", - "language": "c", - "src": [ - "tools/codegen/core/gen_hpack_tables.c" - ], - "deps": [ - "gpr", - "grpc" - ] - }, - { - "name": "gpr_cmdline_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/cmdline_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_env_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/env_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_file_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/file_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_histogram_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/histogram_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_host_port_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/host_port_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_log_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/log_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_slice_buffer_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/slice_buffer_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_slice_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/slice_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_stack_lockfree_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/stack_lockfree_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_string_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/string_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_sync_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/sync_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_thd_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/thd_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_time_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/time_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_tls_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/tls_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "gpr_useful_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/useful_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_auth_context_test", - "build": "test", - "language": "c", - "src": [ - "test/core/security/auth_context_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_base64_test", - "build": "test", - "language": "c", - "src": [ - "test/core/security/base64_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_byte_buffer_reader_test", - "build": "test", - "language": "c", - "src": [ - "test/core/surface/byte_buffer_reader_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_channel_args_test", - "build": "test", - "language": "c", - "src": [ - "test/core/channel/channel_args_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_channel_stack_test", - "build": "test", - "language": "c", - "src": [ - "test/core/channel/channel_stack_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_completion_queue_test", - "build": "test", - "language": "c", - "src": [ - "test/core/surface/completion_queue_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_create_jwt", - "build": "tool", - "language": "c", - "src": [ - "test/core/security/create_jwt.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_credentials_test", - "build": "test", - "language": "c", - "src": [ - "test/core/security/credentials_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_fetch_oauth2", - "build": "tool", - "language": "c", - "src": [ - "test/core/security/fetch_oauth2.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_json_token_test", - "build": "test", - "language": "c", - "src": [ - "test/core/security/json_token_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_jwt_verifier_test", - "build": "test", - "language": "c", - "src": [ - "test/core/security/jwt_verifier_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_print_google_default_creds_token", - "build": "tool", - "language": "c", - "src": [ - "test/core/security/print_google_default_creds_token.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_security_connector_test", - "build": "test", - "language": "c", - "src": [ - "test/core/security/security_connector_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_stream_op_test", - "build": "test", - "language": "c", - "src": [ - "test/core/transport/stream_op_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_verify_jwt", - "build": "tool", - "language": "c", - "src": [ - "test/core/security/verify_jwt.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "hpack_parser_test", - "build": "test", - "language": "c", - "src": [ - "test/core/transport/chttp2/hpack_parser_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "hpack_table_test", - "build": "test", - "language": "c", - "src": [ - "test/core/transport/chttp2/hpack_table_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "httpcli_format_request_test", - "build": "test", - "language": "c", - "src": [ - "test/core/httpcli/format_request_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "httpcli_parser_test", - "build": "test", - "language": "c", - "src": [ - "test/core/httpcli/parser_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "httpcli_test", - "build": "test", - "language": "c", - "src": [ - "test/core/httpcli/httpcli_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "json_rewrite", - "build": "test", - "run": false, - "language": "c", - "src": [ - "test/core/json/json_rewrite.c" - ], - "deps": [ - "grpc", - "gpr" - ] - }, - { - "name": "json_rewrite_test", - "build": "test", - "language": "c", - "src": [ - "test/core/json/json_rewrite_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "json_test", - "build": "test", - "language": "c", - "src": [ - "test/core/json/json_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "lame_client_test", - "build": "test", - "language": "c", - "src": [ - "test/core/surface/lame_client_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "low_level_ping_pong_benchmark", - "build": "benchmark", - "language": "c", - "src": [ - "test/core/network_benchmarks/low_level_ping_pong.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "message_compress_test", - "build": "test", - "language": "c", - "src": [ - "test/core/compression/message_compress_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "multi_init_test", - "build": "test", - "language": "c", - "src": [ - "test/core/surface/multi_init_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "multiple_server_queues_test", - "build": "test", - "language": "c", - "src": [ - "test/core/end2end/multiple_server_queues_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "murmur_hash_test", - "build": "test", - "language": "c", - "src": [ - "test/core/support/murmur_hash_test.c" - ], - "deps": [ - "gpr_test_util", - "gpr" - ] - }, - { - "name": "no_server_test", - "build": "test", - "language": "c", - "src": [ - "test/core/end2end/no_server_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "resolve_address_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/resolve_address_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "secure_endpoint_test", - "build": "test", - "language": "c", - "src": [ - "test/core/security/secure_endpoint_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "sockaddr_utils_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/sockaddr_utils_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "tcp_client_posix_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/tcp_client_posix_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "tcp_posix_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/tcp_posix_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "tcp_server_posix_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/tcp_server_posix_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "time_averaged_stats_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/time_averaged_stats_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "timeout_encoding_test", - "build": "test", - "language": "c", - "src": [ - "test/core/transport/chttp2/timeout_encoding_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "timers_test", - "build": "test", - "language": "c", - "src": [ - "test/core/profiling/timers_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "transport_metadata_test", - "build": "test", - "language": "c", - "src": [ - "test/core/transport/metadata_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "transport_security_test", - "build": "test", - "language": "c", - "src": [ - "test/core/tsi/transport_security_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "udp_server_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/udp_server_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "posix" - ] - }, - { - "name": "uri_parser_test", - "build": "test", - "language": "c", - "src": [ - "test/core/client_config/uri_parser_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "async_end2end_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/end2end/async_end2end_test.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "async_streaming_ping_pong_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/qps/async_streaming_ping_pong_test.cc" - ], - "deps": [ - "qps", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "async_unary_ping_pong_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/qps/async_unary_ping_pong_test.cc" - ], - "deps": [ - "qps", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "auth_property_iterator_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/common/auth_property_iterator_test.cc" - ], - "deps": [ - "grpc++", - "grpc", - "gpr" - ] - }, - { - "name": "channel_arguments_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/client/channel_arguments_test.cc" - ], - "deps": [ - "grpc++", - "grpc", - "gpr" - ] - }, - { - "name": "cli_call_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/util/cli_call_test.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "client_crash_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/end2end/client_crash_test.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "client_crash_test_server", - "build": "test", - "run": false, - "language": "c++", - "src": [ - "test/cpp/end2end/client_crash_test_server.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "credentials_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/client/credentials_test.cc" - ], - "deps": [ - "grpc++", - "grpc", - "gpr" - ] - }, - { - "name": "cxx_byte_buffer_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/util/byte_buffer_test.cc" - ], - "deps": [ - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "cxx_slice_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/util/slice_test.cc" - ], - "deps": [ - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "cxx_string_ref_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/util/string_ref_test.cc" - ], - "deps": [ - "grpc++" - ] - }, - { - "name": "cxx_time_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/util/time_test.cc" - ], - "deps": [ - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "end2end_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/end2end/end2end_test.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "generic_end2end_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/end2end/generic_end2end_test.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "grpc_cli", - "build": "test", - "run": false, - "language": "c++", - "src": [ - "test/cpp/util/grpc_cli.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr", - "grpc++_test_config" - ] - }, - { - "name": "grpc_cpp_plugin", - "build": "protoc", - "language": "c++", - "src": [ - "src/compiler/cpp_plugin.cc" - ], - "deps": [ - "grpc_plugin_support" - ], - "secure": "no", - "vs_project_guid": "{7E51A25F-AC59-488F-906C-C60FAAE706AA}" - }, - { - "name": "grpc_csharp_plugin", - "build": "protoc", - "language": "c++", - "src": [ - "src/compiler/csharp_plugin.cc" - ], - "deps": [ - "grpc_plugin_support" - ], - "secure": "no", - "vs_project_guid": "{3C813052-A49A-4662-B90A-1ADBEC7EE453}" - }, - { - "name": "grpc_objective_c_plugin", - "build": "protoc", - "language": "c++", - "src": [ - "src/compiler/objective_c_plugin.cc" - ], - "deps": [ - "grpc_plugin_support" - ], - "secure": "no", - "vs_project_guid": "{19564640-CEE6-4921-ABA5-676ED79A36F6}" - }, - { - "name": "grpc_python_plugin", - "build": "protoc", - "language": "c++", - "src": [ - "src/compiler/python_plugin.cc" - ], - "deps": [ - "grpc_plugin_support" - ], - "secure": "no", - "vs_project_guid": "{DF52D501-A6CF-4E6F-BA38-6EBE2E8DAFB2}" - }, - { - "name": "grpc_ruby_plugin", - "build": "protoc", - "language": "c++", - "src": [ - "src/compiler/ruby_plugin.cc" - ], - "deps": [ - "grpc_plugin_support" - ], - "secure": "no", - "vs_project_guid": "{069E9D05-B78B-4751-9252-D21EBAE7DE8E}" - }, - { - "name": "interop_client", - "build": "test", - "run": false, - "language": "c++", - "src": [], - "deps": [ - "interop_client_main", - "interop_client_helper", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr", - "grpc++_test_config" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "interop_server", - "build": "test", - "run": false, - "language": "c++", - "src": [], - "deps": [ - "interop_server_main", - "interop_server_helper", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr", - "grpc++_test_config" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "interop_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/interop/interop_test.cc" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "mock_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/end2end/mock_test.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "pubsub_client", - "build": "do_not_build", - "run": false, - "language": "c++", - "src": [ - "examples/pubsub/main.cc" - ], - "deps": [ - "pubsub_client_lib", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr", - "grpc++_test_config" - ] - }, - { - "name": "pubsub_publisher_test", - "build": "do_not_build", - "language": "c++", - "src": [ - "examples/pubsub/publisher_test.cc" - ], - "deps": [ - "pubsub_client_lib", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "pubsub_subscriber_test", - "build": "do_not_build", - "language": "c++", - "src": [ - "examples/pubsub/subscriber_test.cc" - ], - "deps": [ - "pubsub_client_lib", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "qps_driver", - "build": "benchmark", - "language": "c++", - "src": [ - "test/cpp/qps/qps_driver.cc" - ], - "deps": [ - "qps", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr", - "grpc++_test_config" - ] - }, - { - "name": "qps_interarrival_test", - "build": "test", - "run": false, - "language": "c++", - "src": [ - "test/cpp/qps/qps_interarrival_test.cc" - ], - "deps": [ - "qps", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "qps_openloop_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/qps/qps_openloop_test.cc" - ], - "deps": [ - "qps", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr", - "grpc++_test_config" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "qps_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/qps/qps_test.cc" - ], - "deps": [ - "qps", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr", - "grpc++_test_config" - ], - "exclude_configs": [ - "tsan" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "qps_worker", - "build": "benchmark", - "language": "c++", - "headers": [ - "test/cpp/qps/client.h", - "test/cpp/qps/server.h" - ], - "src": [ - "test/cpp/qps/worker.cc" - ], - "deps": [ - "qps", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr", - "grpc++_test_config" - ] - }, - { - "name": "reconnect_interop_client", - "build": "test", - "run": false, - "language": "c++", - "src": [ - "test/proto/empty.proto", - "test/proto/messages.proto", - "test/proto/test.proto", - "test/cpp/interop/reconnect_interop_client.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr", - "grpc++_test_config" - ] - }, - { - "name": "reconnect_interop_server", - "build": "test", - "run": false, - "language": "c++", - "src": [ - "test/proto/empty.proto", - "test/proto/messages.proto", - "test/proto/test.proto", - "test/cpp/interop/reconnect_interop_server.cc" - ], - "deps": [ - "reconnect_server", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr", - "grpc++_test_config" - ] - }, - { - "name": "secure_auth_context_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/common/secure_auth_context_test.cc" - ], - "deps": [ - "grpc++", - "grpc", - "gpr" - ] - }, - { - "name": "server_crash_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/end2end/server_crash_test.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "server_crash_test_client", - "build": "test", - "run": false, - "language": "c++", - "src": [ - "test/cpp/end2end/server_crash_test_client.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "shutdown_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/end2end/shutdown_test.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "status_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/util/status_test.cc" - ], - "deps": [ - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "sync_streaming_ping_pong_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/qps/sync_streaming_ping_pong_test.cc" - ], - "deps": [ - "qps", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "sync_unary_ping_pong_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/qps/sync_unary_ping_pong_test.cc" - ], - "deps": [ - "qps", - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "mac", - "linux", - "posix" - ] - }, - { - "name": "thread_stress_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/end2end/thread_stress_test.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, - { - "name": "zookeeper_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/end2end/zookeeper_test.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc_zookeeper", - "grpc", - "gpr_test_util", - "gpr" - ], - "external_deps": [ - "zookeeper" - ] - } - ] -} diff --git a/examples/node/greeter_client.js b/examples/node/greeter_client.js index ddc8abbbed..175f8e6b5a 100644 --- a/examples/node/greeter_client.js +++ b/examples/node/greeter_client.js @@ -33,7 +33,7 @@ var PROTO_PATH = __dirname + '/helloworld.proto'; -var grpc = require('grpc'); +var grpc = require('../../'); var hello_proto = grpc.load(PROTO_PATH).helloworld; function main() { diff --git a/examples/node/greeter_server.js b/examples/node/greeter_server.js index 44b44afaaf..3600c8bfbf 100644 --- a/examples/node/greeter_server.js +++ b/examples/node/greeter_server.js @@ -33,7 +33,7 @@ var PROTO_PATH = __dirname + '/helloworld.proto'; -var grpc = require('grpc'); +var grpc = require('../../'); var hello_proto = grpc.load(PROTO_PATH).helloworld; /** diff --git a/examples/node/package.json b/examples/node/package.json deleted file mode 100644 index f0a044f05e..0000000000 --- a/examples/node/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "grpc-demo", - "version": "0.11.0", - "dependencies": { - "async": "^0.9.0", - "grpc": "~0.11.0", - "minimist": "^1.1.0", - "underscore": "^1.8.2" - } -} diff --git a/examples/node/route_guide/route_guide_client.js b/examples/node/route_guide/route_guide_client.js index 1da6c69025..525d68f44c 100644 --- a/examples/node/route_guide/route_guide_client.js +++ b/examples/node/route_guide/route_guide_client.js @@ -31,8 +31,8 @@ var async = require('async'); var fs = require('fs'); var parseArgs = require('minimist'); var path = require('path'); -var _ = require('underscore'); -var grpc = require('grpc'); +var _ = require('lodash'); +var grpc = require('../../../'); var routeguide = grpc.load(__dirname + '/route_guide.proto').routeguide; var client = new routeguide.RouteGuide('localhost:50051', grpc.Credentials.createInsecure()); diff --git a/examples/node/route_guide/route_guide_server.js b/examples/node/route_guide/route_guide_server.js index faae3087fd..5bb81446f0 100644 --- a/examples/node/route_guide/route_guide_server.js +++ b/examples/node/route_guide/route_guide_server.js @@ -30,8 +30,8 @@ var fs = require('fs'); var parseArgs = require('minimist'); var path = require('path'); -var _ = require('underscore'); -var grpc = require('grpc'); +var _ = require('lodash'); +var grpc = require('../../../'); var routeguide = grpc.load(__dirname + '/route_guide.proto').routeguide; var COORD_FACTOR = 1e7; diff --git a/examples/python/README.md b/examples/python/README.md new file mode 100644 index 0000000000..7b48c824ba --- /dev/null +++ b/examples/python/README.md @@ -0,0 +1,55 @@ +gRPC in 3 minutes (Python) +======================== + +Background +------------- +For this sample, we've already generated the server and client stubs from +[helloworld.proto][] and we'll be using a specific reference platform. + +Prerequisites +------------- + +- Debian 8.2 "Jessie" platform with `root` access +- `git` +- `python2.7` +- `pip` +- Python development headers + +Set-up +------- + ```sh + $ # install the gRPC Core: + $ sudo apt-get install libgrpc-dev + $ # install gRPC Python: + $ sudo pip install -U grpcio==0.11.0b1 + $ # Since this "hello, world" example uses protocol buffers: + $ sudo pip install -U protobuf==3.0.0a3 + $ # Clone the repository to get the example code: + $ git clone https://github.com/grpc/grpc + $ # Navigate to the "hello, world" Python example: + $ cd grpc/examples/python/helloworld + ``` + +Try it! +------- + +- Run the server + + ```sh + $ python2.7 greeter_server.py & + ``` + +- Run the client + + ```sh + $ python2.7 greeter_client.py + ``` + +Tutorial +-------- + +You can find a more detailed tutorial in [gRPC Basics: Python][] + +[helloworld.proto]:../protos/helloworld.proto +[Install gRPC Python]:../../src/python#installation +[gRPC Basics: Python]:http://www.grpc.io/docs/tutorials/basic/python.html diff --git a/examples/python/helloworld/helloworld_pb2.py b/examples/python/helloworld/helloworld_pb2.py new file mode 100644 index 0000000000..1b2674e4c8 --- /dev/null +++ b/examples/python/helloworld/helloworld_pb2.py @@ -0,0 +1,202 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: helloworld.proto + +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +from google.protobuf import descriptor_pb2 +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='helloworld.proto', + package='helloworld', + syntax='proto3', + serialized_pb=b'\n\x10helloworld.proto\x12\nhelloworld\"\x1c\n\x0cHelloRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x1d\n\nHelloReply\x12\x0f\n\x07message\x18\x01 \x01(\t2I\n\x07Greeter\x12>\n\x08SayHello\x12\x18.helloworld.HelloRequest\x1a\x16.helloworld.HelloReply\"\x00\x42\x18\n\x10io.grpc.examples\xa2\x02\x03HLWb\x06proto3' +) +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + + + + +_HELLOREQUEST = _descriptor.Descriptor( + name='HelloRequest', + full_name='helloworld.HelloRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='helloworld.HelloRequest.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=32, + serialized_end=60, +) + + +_HELLOREPLY = _descriptor.Descriptor( + name='HelloReply', + full_name='helloworld.HelloReply', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='message', full_name='helloworld.HelloReply.message', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=62, + serialized_end=91, +) + +DESCRIPTOR.message_types_by_name['HelloRequest'] = _HELLOREQUEST +DESCRIPTOR.message_types_by_name['HelloReply'] = _HELLOREPLY + +HelloRequest = _reflection.GeneratedProtocolMessageType('HelloRequest', (_message.Message,), dict( + DESCRIPTOR = _HELLOREQUEST, + __module__ = 'helloworld_pb2' + # @@protoc_insertion_point(class_scope:helloworld.HelloRequest) + )) +_sym_db.RegisterMessage(HelloRequest) + +HelloReply = _reflection.GeneratedProtocolMessageType('HelloReply', (_message.Message,), dict( + DESCRIPTOR = _HELLOREPLY, + __module__ = 'helloworld_pb2' + # @@protoc_insertion_point(class_scope:helloworld.HelloReply) + )) +_sym_db.RegisterMessage(HelloReply) + + +DESCRIPTOR.has_options = True +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), b'\n\020io.grpc.examples\242\002\003HLW') +import abc +from grpc.beta import implementations as beta_implementations +from grpc.early_adopter import implementations as early_adopter_implementations +from grpc.framework.alpha import utilities as alpha_utilities +from grpc.framework.common import cardinality +from grpc.framework.interfaces.face import utilities as face_utilities +class EarlyAdopterGreeterServicer(object): + """<fill me in later!>""" + __metaclass__ = abc.ABCMeta + @abc.abstractmethod + def SayHello(self, request, context): + raise NotImplementedError() +class EarlyAdopterGreeterServer(object): + """<fill me in later!>""" + __metaclass__ = abc.ABCMeta + @abc.abstractmethod + def start(self): + raise NotImplementedError() + @abc.abstractmethod + def stop(self): + raise NotImplementedError() +class EarlyAdopterGreeterStub(object): + """<fill me in later!>""" + __metaclass__ = abc.ABCMeta + @abc.abstractmethod + def SayHello(self, request): + raise NotImplementedError() + SayHello.async = None +def early_adopter_create_Greeter_server(servicer, port, private_key=None, certificate_chain=None): + import helloworld_pb2 + import helloworld_pb2 + method_service_descriptions = { + "SayHello": alpha_utilities.unary_unary_service_description( + servicer.SayHello, + helloworld_pb2.HelloRequest.FromString, + helloworld_pb2.HelloReply.SerializeToString, + ), + } + return early_adopter_implementations.server("helloworld.Greeter", method_service_descriptions, port, private_key=private_key, certificate_chain=certificate_chain) +def early_adopter_create_Greeter_stub(host, port, metadata_transformer=None, secure=False, root_certificates=None, private_key=None, certificate_chain=None, server_host_override=None): + import helloworld_pb2 + import helloworld_pb2 + method_invocation_descriptions = { + "SayHello": alpha_utilities.unary_unary_invocation_description( + helloworld_pb2.HelloRequest.SerializeToString, + helloworld_pb2.HelloReply.FromString, + ), + } + return early_adopter_implementations.stub("helloworld.Greeter", method_invocation_descriptions, host, port, metadata_transformer=metadata_transformer, secure=secure, root_certificates=root_certificates, private_key=private_key, certificate_chain=certificate_chain, server_host_override=server_host_override) + +class BetaGreeterServicer(object): + """<fill me in later!>""" + __metaclass__ = abc.ABCMeta + @abc.abstractmethod + def SayHello(self, request, context): + raise NotImplementedError() + +class BetaGreeterStub(object): + """The interface to which stubs will conform.""" + __metaclass__ = abc.ABCMeta + @abc.abstractmethod + def SayHello(self, request, timeout): + raise NotImplementedError() + SayHello.future = None + +def beta_create_Greeter_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None): + import helloworld_pb2 + import helloworld_pb2 + request_deserializers = { + ('helloworld.Greeter', 'SayHello'): helloworld_pb2.HelloRequest.FromString, + } + response_serializers = { + ('helloworld.Greeter', 'SayHello'): helloworld_pb2.HelloReply.SerializeToString, + } + method_implementations = { + ('helloworld.Greeter', 'SayHello'): face_utilities.unary_unary_inline(servicer.SayHello), + } + server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout) + return beta_implementations.server(method_implementations, options=server_options) + +def beta_create_Greeter_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None): + import helloworld_pb2 + import helloworld_pb2 + request_serializers = { + ('helloworld.Greeter', 'SayHello'): helloworld_pb2.HelloRequest.SerializeToString, + } + response_deserializers = { + ('helloworld.Greeter', 'SayHello'): helloworld_pb2.HelloReply.FromString, + } + cardinalities = { + 'SayHello': cardinality.Cardinality.UNARY_UNARY, + } + stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size) + return beta_implementations.dynamic_stub(channel, 'helloworld.Greeter', cardinalities, options=stub_options) +# @@protoc_insertion_point(module_scope) @@ -78,10 +78,15 @@ '-ldl', '-lpthread', '-lz' - ] + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '.', + 'include' + ], + } }, 'targets': [ - # TODO: Add C++ targets { 'target_name': 'gpr', 'product_prefix': 'lib', @@ -128,19 +133,6 @@ 'src/core/support/tls_pthread.c', ], }, - # TODO: Add C++ targets - { - 'target_name': 'gpr_test_util', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'gpr', - ], - 'sources': [ - 'test/core/util/test_config.c', - ], - }, - # TODO: Add C++ targets { 'target_name': 'grpc', 'product_prefix': 'lib', @@ -299,12351 +291,5 @@ 'src/core/census/tracing.c', ], }, - # TODO: Add C++ targets - { - 'target_name': 'grpc_test_util', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'gpr', - 'gpr_test_util', - 'grpc', - ], - 'sources': [ - 'test/core/end2end/data/server1_cert.c', - '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', - 'test/core/util/parse_hexstring.c', - 'test/core/util/port_posix.c', - 'test/core/util/port_windows.c', - 'test/core/util/slice_splitter.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'grpc_test_util_unsecure', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'gpr', - 'gpr_test_util', - 'grpc', - ], - 'sources': [ - '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', - 'test/core/util/parse_hexstring.c', - 'test/core/util/port_posix.c', - 'test/core/util/port_windows.c', - 'test/core/util/slice_splitter.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'grpc_unsecure', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'gpr', - ], - 'sources': [ - 'src/core/surface/init_unsecure.c', - 'src/core/census/grpc_context.c', - 'src/core/census/grpc_filter.c', - 'src/core/channel/channel_args.c', - 'src/core/channel/channel_stack.c', - 'src/core/channel/client_channel.c', - 'src/core/channel/compress_filter.c', - 'src/core/channel/connected_channel.c', - 'src/core/channel/http_client_filter.c', - 'src/core/channel/http_server_filter.c', - 'src/core/channel/noop_filter.c', - 'src/core/client_config/client_config.c', - 'src/core/client_config/connector.c', - 'src/core/client_config/lb_policies/pick_first.c', - 'src/core/client_config/lb_policies/round_robin.c', - 'src/core/client_config/lb_policy.c', - 'src/core/client_config/lb_policy_factory.c', - 'src/core/client_config/lb_policy_registry.c', - 'src/core/client_config/resolver.c', - 'src/core/client_config/resolver_factory.c', - 'src/core/client_config/resolver_registry.c', - 'src/core/client_config/resolvers/dns_resolver.c', - 'src/core/client_config/resolvers/sockaddr_resolver.c', - 'src/core/client_config/subchannel.c', - 'src/core/client_config/subchannel_factory.c', - 'src/core/client_config/subchannel_factory_decorators/add_channel_arg.c', - 'src/core/client_config/subchannel_factory_decorators/merge_channel_args.c', - 'src/core/client_config/uri_parser.c', - 'src/core/compression/algorithm.c', - 'src/core/compression/message_compress.c', - 'src/core/debug/trace.c', - 'src/core/httpcli/format_request.c', - 'src/core/httpcli/httpcli.c', - 'src/core/httpcli/parser.c', - 'src/core/iomgr/alarm.c', - 'src/core/iomgr/alarm_heap.c', - 'src/core/iomgr/closure.c', - 'src/core/iomgr/endpoint.c', - 'src/core/iomgr/endpoint_pair_posix.c', - 'src/core/iomgr/endpoint_pair_windows.c', - 'src/core/iomgr/exec_ctx.c', - 'src/core/iomgr/fd_posix.c', - 'src/core/iomgr/iocp_windows.c', - 'src/core/iomgr/iomgr.c', - 'src/core/iomgr/iomgr_posix.c', - 'src/core/iomgr/iomgr_windows.c', - 'src/core/iomgr/pollset_multipoller_with_epoll.c', - 'src/core/iomgr/pollset_multipoller_with_poll_posix.c', - 'src/core/iomgr/pollset_posix.c', - 'src/core/iomgr/pollset_set_posix.c', - 'src/core/iomgr/pollset_set_windows.c', - 'src/core/iomgr/pollset_windows.c', - 'src/core/iomgr/resolve_address_posix.c', - 'src/core/iomgr/resolve_address_windows.c', - 'src/core/iomgr/sockaddr_utils.c', - 'src/core/iomgr/socket_utils_common_posix.c', - 'src/core/iomgr/socket_utils_linux.c', - 'src/core/iomgr/socket_utils_posix.c', - 'src/core/iomgr/socket_windows.c', - 'src/core/iomgr/tcp_client_posix.c', - 'src/core/iomgr/tcp_client_windows.c', - 'src/core/iomgr/tcp_posix.c', - 'src/core/iomgr/tcp_server_posix.c', - 'src/core/iomgr/tcp_server_windows.c', - 'src/core/iomgr/tcp_windows.c', - 'src/core/iomgr/time_averaged_stats.c', - 'src/core/iomgr/udp_server.c', - 'src/core/iomgr/wakeup_fd_eventfd.c', - 'src/core/iomgr/wakeup_fd_nospecial.c', - 'src/core/iomgr/wakeup_fd_pipe.c', - 'src/core/iomgr/wakeup_fd_posix.c', - 'src/core/iomgr/workqueue_posix.c', - 'src/core/iomgr/workqueue_windows.c', - 'src/core/json/json.c', - 'src/core/json/json_reader.c', - 'src/core/json/json_string.c', - 'src/core/json/json_writer.c', - 'src/core/profiling/basic_timers.c', - 'src/core/profiling/stap_timers.c', - 'src/core/surface/api_trace.c', - 'src/core/surface/byte_buffer.c', - 'src/core/surface/byte_buffer_queue.c', - 'src/core/surface/byte_buffer_reader.c', - 'src/core/surface/call.c', - 'src/core/surface/call_details.c', - 'src/core/surface/call_log_batch.c', - 'src/core/surface/channel.c', - 'src/core/surface/channel_connectivity.c', - 'src/core/surface/channel_create.c', - 'src/core/surface/completion_queue.c', - 'src/core/surface/event_string.c', - 'src/core/surface/init.c', - 'src/core/surface/lame_client.c', - 'src/core/surface/metadata_array.c', - 'src/core/surface/server.c', - 'src/core/surface/server_chttp2.c', - 'src/core/surface/server_create.c', - 'src/core/surface/version.c', - 'src/core/transport/chttp2/alpn.c', - 'src/core/transport/chttp2/bin_encoder.c', - 'src/core/transport/chttp2/frame_data.c', - 'src/core/transport/chttp2/frame_goaway.c', - 'src/core/transport/chttp2/frame_ping.c', - 'src/core/transport/chttp2/frame_rst_stream.c', - 'src/core/transport/chttp2/frame_settings.c', - 'src/core/transport/chttp2/frame_window_update.c', - 'src/core/transport/chttp2/hpack_parser.c', - 'src/core/transport/chttp2/hpack_table.c', - 'src/core/transport/chttp2/huffsyms.c', - 'src/core/transport/chttp2/incoming_metadata.c', - 'src/core/transport/chttp2/parsing.c', - 'src/core/transport/chttp2/status_conversion.c', - 'src/core/transport/chttp2/stream_encoder.c', - 'src/core/transport/chttp2/stream_lists.c', - 'src/core/transport/chttp2/stream_map.c', - 'src/core/transport/chttp2/timeout_encoding.c', - 'src/core/transport/chttp2/varint.c', - 'src/core/transport/chttp2/writing.c', - 'src/core/transport/chttp2_transport.c', - 'src/core/transport/connectivity_state.c', - 'src/core/transport/metadata.c', - 'src/core/transport/stream_op.c', - 'src/core/transport/transport.c', - 'src/core/transport/transport_op_string.c', - 'src/core/census/context.c', - 'src/core/census/initialize.c', - 'src/core/census/operation.c', - 'src/core/census/tracing.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'grpc_zookeeper', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'gpr', - 'grpc', - ], - 'sources': [ - 'src/core/client_config/resolvers/zookeeper_resolver.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'reconnect_server', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/util/reconnect_server.c', - ], - }, - # TODO: Add C++ targets - # TODO: Add C++ targets - # TODO: Add C++ targets - # TODO: Add C++ targets - # TODO: Add C++ targets - # TODO: Add C++ targets - # TODO: Add C++ targets - # TODO: Add C++ targets - # TODO: Add C++ targets - # TODO: Add C++ targets - # TODO: Add C++ targets - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_compress', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_compress.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_fakesec', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_fakesec.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_full', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_full.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_full+poll', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_full+poll.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_oauth2', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_oauth2.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_proxy', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_proxy.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_sockpair', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_sockpair.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_sockpair+trace', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_sockpair+trace.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_sockpair_1byte', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_sockpair_1byte.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_ssl', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_ssl.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_ssl+poll', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_ssl+poll.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_ssl_proxy', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_ssl_proxy.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_uds', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_uds.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_fixture_h2_uds+poll', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/fixtures/h2_uds+poll.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_bad_hostname', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/bad_hostname.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_binary_metadata', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/binary_metadata.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_call_creds', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/call_creds.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_cancel_after_accept', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/cancel_after_accept.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_cancel_after_client_done', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/cancel_after_client_done.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_cancel_after_invoke', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/cancel_after_invoke.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_cancel_before_invoke', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/cancel_before_invoke.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_cancel_in_a_vacuum', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/cancel_in_a_vacuum.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_census_simple_request', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/census_simple_request.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_channel_connectivity', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/channel_connectivity.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_compressed_payload', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/compressed_payload.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_default_host', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/default_host.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_disappearing_server', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/disappearing_server.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_empty_batch', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/empty_batch.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_graceful_server_shutdown', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/graceful_server_shutdown.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_high_initial_seqno', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/high_initial_seqno.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_invoke_large_request', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/invoke_large_request.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_large_metadata', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/large_metadata.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_max_concurrent_streams', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/max_concurrent_streams.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_max_message_length', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/max_message_length.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_metadata', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/metadata.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_no_op', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/no_op.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_payload', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/payload.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_ping_pong_streaming', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/ping_pong_streaming.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_registered_call', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/registered_call.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_request_with_flags', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/request_with_flags.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_request_with_payload', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/request_with_payload.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_server_finishes_request', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/server_finishes_request.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_shutdown_finishes_calls', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/shutdown_finishes_calls.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_shutdown_finishes_tags', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/shutdown_finishes_tags.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_simple_delayed_request', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/simple_delayed_request.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_simple_request', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/simple_request.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_test_trailing_metadata', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/tests/trailing_metadata.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'end2end_certs', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - ], - 'sources': [ - 'test/core/end2end/data/test_root_cert.c', - 'test/core/end2end/data/server1_cert.c', - 'test/core/end2end/data/server1_key.c', - ], - }, - # TODO: Add C++ targets - { - 'target_name': 'bad_client_test', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/bad_client/bad_client.c', - ], - }, - { - 'target_name': 'alarm_heap_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/alarm_heap_test.c', - ] - }, - { - 'target_name': 'alarm_list_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/alarm_list_test.c', - ] - }, - { - 'target_name': 'alpn_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/transport/chttp2/alpn_test.c', - ] - }, - { - 'target_name': 'bin_encoder_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/transport/chttp2/bin_encoder_test.c', - ] - }, - { - 'target_name': 'chttp2_status_conversion_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/transport/chttp2/status_conversion_test.c', - ] - }, - { - 'target_name': 'chttp2_stream_encoder_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/transport/chttp2/stream_encoder_test.c', - ] - }, - { - 'target_name': 'chttp2_stream_map_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/transport/chttp2/stream_map_test.c', - ] - }, - { - 'target_name': 'compression_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/compression/compression_test.c', - ] - }, - { - 'target_name': 'dualstack_socket_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/dualstack_socket_test.c', - ] - }, - { - 'target_name': 'endpoint_pair_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/endpoint_pair_test.c', - ] - }, - { - 'target_name': 'fd_conservation_posix_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/fd_conservation_posix_test.c', - ] - }, - { - 'target_name': 'fd_posix_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/fd_posix_test.c', - ] - }, - { - 'target_name': 'fling_client', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/fling/client.c', - ] - }, - { - 'target_name': 'fling_server', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/fling/server.c', - ] - }, - { - 'target_name': 'fling_stream_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/fling/fling_stream_test.c', - ] - }, - { - 'target_name': 'fling_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/fling/fling_test.c', - ] - }, - { - 'target_name': 'gen_hpack_tables', - 'type': 'executable', - 'dependencies': [ - 'gpr', - 'grpc', - ], - 'sources': [ - 'tools/codegen/core/gen_hpack_tables.c', - ] - }, - { - 'target_name': 'gen_legal_metadata_characters', - 'type': 'executable', - 'dependencies': [ - ], - 'sources': [ - 'tools/codegen/core/gen_legal_metadata_characters.c', - ] - }, - { - 'target_name': 'gpr_cmdline_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/cmdline_test.c', - ] - }, - { - 'target_name': 'gpr_env_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/env_test.c', - ] - }, - { - 'target_name': 'gpr_file_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/file_test.c', - ] - }, - { - 'target_name': 'gpr_histogram_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/histogram_test.c', - ] - }, - { - 'target_name': 'gpr_host_port_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/host_port_test.c', - ] - }, - { - 'target_name': 'gpr_log_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/log_test.c', - ] - }, - { - 'target_name': 'gpr_slice_buffer_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/slice_buffer_test.c', - ] - }, - { - 'target_name': 'gpr_slice_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/slice_test.c', - ] - }, - { - 'target_name': 'gpr_stack_lockfree_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/stack_lockfree_test.c', - ] - }, - { - 'target_name': 'gpr_string_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/string_test.c', - ] - }, - { - 'target_name': 'gpr_sync_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/sync_test.c', - ] - }, - { - 'target_name': 'gpr_thd_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/thd_test.c', - ] - }, - { - 'target_name': 'gpr_time_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/time_test.c', - ] - }, - { - 'target_name': 'gpr_tls_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/tls_test.c', - ] - }, - { - 'target_name': 'gpr_useful_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/useful_test.c', - ] - }, - { - 'target_name': 'grpc_auth_context_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/security/auth_context_test.c', - ] - }, - { - 'target_name': 'grpc_base64_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/security/base64_test.c', - ] - }, - { - 'target_name': 'grpc_byte_buffer_reader_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/surface/byte_buffer_reader_test.c', - ] - }, - { - 'target_name': 'grpc_channel_args_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/channel/channel_args_test.c', - ] - }, - { - 'target_name': 'grpc_channel_stack_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/channel/channel_stack_test.c', - ] - }, - { - 'target_name': 'grpc_completion_queue_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/surface/completion_queue_test.c', - ] - }, - { - 'target_name': 'grpc_create_jwt', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/security/create_jwt.c', - ] - }, - { - 'target_name': 'grpc_credentials_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/security/credentials_test.c', - ] - }, - { - 'target_name': 'grpc_fetch_oauth2', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/security/fetch_oauth2.c', - ] - }, - { - 'target_name': 'grpc_json_token_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/security/json_token_test.c', - ] - }, - { - 'target_name': 'grpc_jwt_verifier_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/security/jwt_verifier_test.c', - ] - }, - { - 'target_name': 'grpc_print_google_default_creds_token', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/security/print_google_default_creds_token.c', - ] - }, - { - 'target_name': 'grpc_security_connector_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/security/security_connector_test.c', - ] - }, - { - 'target_name': 'grpc_stream_op_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/transport/stream_op_test.c', - ] - }, - { - 'target_name': 'grpc_verify_jwt', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/security/verify_jwt.c', - ] - }, - { - 'target_name': 'hpack_parser_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/transport/chttp2/hpack_parser_test.c', - ] - }, - { - 'target_name': 'hpack_table_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/transport/chttp2/hpack_table_test.c', - ] - }, - { - 'target_name': 'httpcli_format_request_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/httpcli/format_request_test.c', - ] - }, - { - 'target_name': 'httpcli_parser_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/httpcli/parser_test.c', - ] - }, - { - 'target_name': 'httpcli_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/httpcli/httpcli_test.c', - ] - }, - { - 'target_name': 'json_rewrite', - 'type': 'executable', - 'dependencies': [ - 'grpc', - 'gpr', - ], - 'sources': [ - 'test/core/json/json_rewrite.c', - ] - }, - { - 'target_name': 'json_rewrite_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/json/json_rewrite_test.c', - ] - }, - { - 'target_name': 'json_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/json/json_test.c', - ] - }, - { - 'target_name': 'lame_client_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/surface/lame_client_test.c', - ] - }, - { - 'target_name': 'lb_policies_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/client_config/lb_policies_test.c', - ] - }, - { - 'target_name': 'low_level_ping_pong_benchmark', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/network_benchmarks/low_level_ping_pong.c', - ] - }, - { - 'target_name': 'message_compress_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/compression/message_compress_test.c', - ] - }, - { - 'target_name': 'multi_init_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/surface/multi_init_test.c', - ] - }, - { - 'target_name': 'multiple_server_queues_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/multiple_server_queues_test.c', - ] - }, - { - 'target_name': 'murmur_hash_test', - 'type': 'executable', - 'dependencies': [ - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/support/murmur_hash_test.c', - ] - }, - { - 'target_name': 'no_server_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/end2end/no_server_test.c', - ] - }, - { - 'target_name': 'resolve_address_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/resolve_address_test.c', - ] - }, - { - 'target_name': 'secure_endpoint_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/security/secure_endpoint_test.c', - ] - }, - { - 'target_name': 'sockaddr_utils_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/sockaddr_utils_test.c', - ] - }, - { - 'target_name': 'tcp_client_posix_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/tcp_client_posix_test.c', - ] - }, - { - 'target_name': 'tcp_posix_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/tcp_posix_test.c', - ] - }, - { - 'target_name': 'tcp_server_posix_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/tcp_server_posix_test.c', - ] - }, - { - 'target_name': 'time_averaged_stats_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/time_averaged_stats_test.c', - ] - }, - { - 'target_name': 'timeout_encoding_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/transport/chttp2/timeout_encoding_test.c', - ] - }, - { - 'target_name': 'timers_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/profiling/timers_test.c', - ] - }, - { - 'target_name': 'transport_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/transport/metadata_test.c', - ] - }, - { - 'target_name': 'transport_security_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/tsi/transport_security_test.c', - ] - }, - { - 'target_name': 'udp_server_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/udp_server_test.c', - ] - }, - { - 'target_name': 'uri_parser_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/client_config/uri_parser_test.c', - ] - }, - { - 'target_name': 'workqueue_test', - 'type': 'executable', - 'dependencies': [ - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/iomgr/workqueue_test.c', - ] - }, - { - 'target_name': 'h2_compress_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_channel_connectivity_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_channel_connectivity', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_compressed_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_compressed_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_default_host_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_default_host', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_disappearing_server_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_disappearing_server', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_max_concurrent_streams_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_max_concurrent_streams', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_request_with_flags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_request_with_flags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_simple_delayed_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_simple_delayed_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_channel_connectivity_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_channel_connectivity', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_compressed_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_compressed_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_default_host_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_default_host', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_disappearing_server_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_disappearing_server', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_max_concurrent_streams_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_max_concurrent_streams', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_request_with_flags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_request_with_flags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_simple_delayed_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_simple_delayed_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_fakesec_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_fakesec', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_channel_connectivity_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_channel_connectivity', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_compressed_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_compressed_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_default_host_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_default_host', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_disappearing_server_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_disappearing_server', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_max_concurrent_streams_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_max_concurrent_streams', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_request_with_flags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_request_with_flags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_simple_delayed_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_simple_delayed_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_channel_connectivity_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_channel_connectivity', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_compressed_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_compressed_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_default_host_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_default_host', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_disappearing_server_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_disappearing_server', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_max_concurrent_streams_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_max_concurrent_streams', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_request_with_flags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_request_with_flags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_simple_delayed_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_simple_delayed_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_channel_connectivity_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_channel_connectivity', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_compressed_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_compressed_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_default_host_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_default_host', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_disappearing_server_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_disappearing_server', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_max_concurrent_streams_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_max_concurrent_streams', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_request_with_flags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_request_with_flags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_simple_delayed_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_simple_delayed_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_oauth2_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_oauth2', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_default_host_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_default_host', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_disappearing_server_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_disappearing_server', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_simple_delayed_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_simple_delayed_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_compressed_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_compressed_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_max_concurrent_streams_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_max_concurrent_streams', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_request_with_flags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_request_with_flags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_compressed_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_compressed_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_max_concurrent_streams_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_max_concurrent_streams', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_request_with_flags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_request_with_flags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_compressed_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_compressed_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_max_concurrent_streams_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_max_concurrent_streams', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_request_with_flags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_request_with_flags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_channel_connectivity_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_channel_connectivity', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_compressed_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_compressed_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_default_host_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_default_host', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_disappearing_server_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_disappearing_server', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_max_concurrent_streams_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_max_concurrent_streams', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_request_with_flags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_request_with_flags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_simple_delayed_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_simple_delayed_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_channel_connectivity_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_channel_connectivity', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_compressed_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_compressed_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_default_host_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_default_host', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_disappearing_server_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_disappearing_server', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_max_concurrent_streams_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_max_concurrent_streams', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_request_with_flags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_request_with_flags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_simple_delayed_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_simple_delayed_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl+poll_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl+poll', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_default_host_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_default_host', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_disappearing_server_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_disappearing_server', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_simple_delayed_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_simple_delayed_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_ssl_proxy_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_ssl_proxy', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_channel_connectivity_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_channel_connectivity', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_compressed_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_compressed_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_disappearing_server_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_disappearing_server', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_max_concurrent_streams_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_max_concurrent_streams', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_request_with_flags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_request_with_flags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_simple_delayed_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_simple_delayed_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_bad_hostname_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_bad_hostname', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_binary_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_binary_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_call_creds_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_call_creds', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_cancel_after_accept_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_cancel_after_accept', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_cancel_after_client_done_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_cancel_after_client_done', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_cancel_after_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_cancel_after_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_cancel_before_invoke_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_cancel_before_invoke', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_cancel_in_a_vacuum_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_cancel_in_a_vacuum', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_census_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_census_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_channel_connectivity_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_channel_connectivity', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_compressed_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_compressed_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_disappearing_server_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_disappearing_server', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_empty_batch_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_empty_batch', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_graceful_server_shutdown_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_graceful_server_shutdown', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_high_initial_seqno_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_high_initial_seqno', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_invoke_large_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_invoke_large_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_large_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_large_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_max_concurrent_streams_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_max_concurrent_streams', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_max_message_length_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_max_message_length', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_no_op_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_no_op', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_ping_pong_streaming_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_ping_pong_streaming', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_registered_call_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_registered_call', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_request_with_flags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_request_with_flags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_request_with_payload_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_request_with_payload', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_server_finishes_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_server_finishes_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_shutdown_finishes_calls_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_shutdown_finishes_calls', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_shutdown_finishes_tags_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_shutdown_finishes_tags', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_simple_delayed_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_simple_delayed_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_simple_request_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_simple_request', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_trailing_metadata_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_trailing_metadata', - 'end2end_certs', - 'grpc_test_util', - 'grpc', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_bad_hostname_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_bad_hostname', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_binary_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_binary_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_cancel_after_accept_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_cancel_after_accept', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_cancel_after_client_done_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_cancel_after_client_done', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_cancel_after_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_cancel_after_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_cancel_before_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_cancel_before_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_cancel_in_a_vacuum_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_cancel_in_a_vacuum', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_census_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_census_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_channel_connectivity_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_channel_connectivity', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_compressed_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_compressed_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_default_host_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_default_host', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_disappearing_server_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_disappearing_server', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_empty_batch_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_empty_batch', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_graceful_server_shutdown_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_graceful_server_shutdown', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_high_initial_seqno_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_high_initial_seqno', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_invoke_large_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_invoke_large_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_large_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_large_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_max_concurrent_streams_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_max_concurrent_streams', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_max_message_length_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_max_message_length', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_no_op_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_no_op', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_ping_pong_streaming_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_ping_pong_streaming', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_registered_call_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_registered_call', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_request_with_flags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_request_with_flags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_request_with_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_request_with_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_server_finishes_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_server_finishes_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_shutdown_finishes_calls_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_shutdown_finishes_calls', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_shutdown_finishes_tags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_shutdown_finishes_tags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_simple_delayed_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_simple_delayed_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_compress_trailing_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_compress', - 'end2end_test_trailing_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_bad_hostname_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_bad_hostname', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_binary_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_binary_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_cancel_after_accept_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_cancel_after_accept', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_cancel_after_client_done_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_cancel_after_client_done', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_cancel_after_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_cancel_after_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_cancel_before_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_cancel_before_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_cancel_in_a_vacuum_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_cancel_in_a_vacuum', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_census_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_census_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_channel_connectivity_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_channel_connectivity', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_compressed_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_compressed_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_default_host_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_default_host', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_disappearing_server_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_disappearing_server', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_empty_batch_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_empty_batch', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_graceful_server_shutdown_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_graceful_server_shutdown', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_high_initial_seqno_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_high_initial_seqno', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_invoke_large_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_invoke_large_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_large_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_large_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_max_concurrent_streams_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_max_concurrent_streams', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_max_message_length_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_max_message_length', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_no_op_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_no_op', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_ping_pong_streaming_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_ping_pong_streaming', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_registered_call_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_registered_call', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_request_with_flags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_request_with_flags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_request_with_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_request_with_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_server_finishes_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_server_finishes_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_shutdown_finishes_calls_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_shutdown_finishes_calls', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_shutdown_finishes_tags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_shutdown_finishes_tags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_simple_delayed_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_simple_delayed_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full_trailing_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full', - 'end2end_test_trailing_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_bad_hostname_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_bad_hostname', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_binary_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_binary_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_cancel_after_accept_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_cancel_after_accept', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_cancel_after_client_done_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_cancel_after_client_done', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_cancel_after_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_cancel_after_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_cancel_before_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_cancel_before_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_cancel_in_a_vacuum_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_cancel_in_a_vacuum', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_census_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_census_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_channel_connectivity_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_channel_connectivity', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_compressed_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_compressed_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_default_host_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_default_host', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_disappearing_server_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_disappearing_server', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_empty_batch_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_empty_batch', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_graceful_server_shutdown_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_graceful_server_shutdown', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_high_initial_seqno_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_high_initial_seqno', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_invoke_large_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_invoke_large_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_large_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_large_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_max_concurrent_streams_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_max_concurrent_streams', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_max_message_length_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_max_message_length', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_no_op_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_no_op', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_ping_pong_streaming_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_ping_pong_streaming', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_registered_call_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_registered_call', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_request_with_flags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_request_with_flags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_request_with_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_request_with_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_server_finishes_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_server_finishes_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_shutdown_finishes_calls_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_shutdown_finishes_calls', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_shutdown_finishes_tags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_shutdown_finishes_tags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_simple_delayed_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_simple_delayed_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_full+poll_trailing_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_full+poll', - 'end2end_test_trailing_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_bad_hostname_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_bad_hostname', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_binary_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_binary_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_cancel_after_accept_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_cancel_after_accept', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_cancel_after_client_done_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_cancel_after_client_done', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_cancel_after_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_cancel_after_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_cancel_before_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_cancel_before_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_cancel_in_a_vacuum_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_cancel_in_a_vacuum', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_census_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_census_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_default_host_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_default_host', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_disappearing_server_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_disappearing_server', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_empty_batch_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_empty_batch', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_graceful_server_shutdown_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_graceful_server_shutdown', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_high_initial_seqno_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_high_initial_seqno', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_invoke_large_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_invoke_large_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_large_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_large_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_max_message_length_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_max_message_length', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_no_op_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_no_op', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_ping_pong_streaming_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_ping_pong_streaming', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_registered_call_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_registered_call', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_request_with_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_request_with_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_server_finishes_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_server_finishes_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_shutdown_finishes_calls_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_shutdown_finishes_calls', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_shutdown_finishes_tags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_shutdown_finishes_tags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_simple_delayed_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_simple_delayed_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_proxy_trailing_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_proxy', - 'end2end_test_trailing_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_bad_hostname_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_bad_hostname', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_binary_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_binary_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_cancel_after_accept_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_cancel_after_accept', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_cancel_after_client_done_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_cancel_after_client_done', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_cancel_after_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_cancel_after_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_cancel_before_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_cancel_before_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_cancel_in_a_vacuum_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_cancel_in_a_vacuum', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_census_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_census_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_compressed_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_compressed_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_empty_batch_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_empty_batch', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_graceful_server_shutdown_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_graceful_server_shutdown', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_high_initial_seqno_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_high_initial_seqno', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_invoke_large_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_invoke_large_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_large_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_large_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_max_concurrent_streams_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_max_concurrent_streams', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_max_message_length_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_max_message_length', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_no_op_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_no_op', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_ping_pong_streaming_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_ping_pong_streaming', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_registered_call_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_registered_call', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_request_with_flags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_request_with_flags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_request_with_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_request_with_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_server_finishes_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_server_finishes_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_shutdown_finishes_calls_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_shutdown_finishes_calls', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_shutdown_finishes_tags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_shutdown_finishes_tags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_trailing_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair', - 'end2end_test_trailing_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_bad_hostname_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_bad_hostname', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_binary_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_binary_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_cancel_after_accept_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_cancel_after_accept', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_cancel_after_client_done_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_cancel_after_client_done', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_cancel_after_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_cancel_after_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_cancel_before_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_cancel_before_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_cancel_in_a_vacuum_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_cancel_in_a_vacuum', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_census_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_census_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_compressed_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_compressed_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_empty_batch_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_empty_batch', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_graceful_server_shutdown_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_graceful_server_shutdown', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_high_initial_seqno_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_high_initial_seqno', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_invoke_large_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_invoke_large_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_large_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_large_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_max_concurrent_streams_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_max_concurrent_streams', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_max_message_length_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_max_message_length', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_no_op_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_no_op', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_ping_pong_streaming_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_ping_pong_streaming', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_registered_call_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_registered_call', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_request_with_flags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_request_with_flags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_request_with_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_request_with_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_server_finishes_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_server_finishes_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_shutdown_finishes_calls_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_shutdown_finishes_calls', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_shutdown_finishes_tags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_shutdown_finishes_tags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair+trace_trailing_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair+trace', - 'end2end_test_trailing_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_bad_hostname_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_bad_hostname', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_binary_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_binary_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_cancel_after_accept_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_cancel_after_accept', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_cancel_after_client_done_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_cancel_after_client_done', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_cancel_after_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_cancel_after_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_cancel_before_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_cancel_before_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_cancel_in_a_vacuum_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_cancel_in_a_vacuum', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_census_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_census_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_compressed_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_compressed_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_empty_batch_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_empty_batch', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_graceful_server_shutdown_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_graceful_server_shutdown', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_high_initial_seqno_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_high_initial_seqno', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_invoke_large_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_invoke_large_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_large_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_large_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_max_concurrent_streams_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_max_concurrent_streams', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_max_message_length_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_max_message_length', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_no_op_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_no_op', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_ping_pong_streaming_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_ping_pong_streaming', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_registered_call_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_registered_call', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_request_with_flags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_request_with_flags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_request_with_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_request_with_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_server_finishes_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_server_finishes_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_shutdown_finishes_calls_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_shutdown_finishes_calls', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_shutdown_finishes_tags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_shutdown_finishes_tags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_sockpair_1byte_trailing_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_sockpair_1byte', - 'end2end_test_trailing_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_bad_hostname_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_bad_hostname', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_binary_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_binary_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_cancel_after_accept_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_cancel_after_accept', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_cancel_after_client_done_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_cancel_after_client_done', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_cancel_after_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_cancel_after_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_cancel_before_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_cancel_before_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_cancel_in_a_vacuum_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_cancel_in_a_vacuum', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_census_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_census_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_channel_connectivity_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_channel_connectivity', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_compressed_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_compressed_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_disappearing_server_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_disappearing_server', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_empty_batch_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_empty_batch', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_graceful_server_shutdown_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_graceful_server_shutdown', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_high_initial_seqno_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_high_initial_seqno', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_invoke_large_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_invoke_large_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_large_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_large_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_max_concurrent_streams_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_max_concurrent_streams', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_max_message_length_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_max_message_length', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_no_op_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_no_op', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_ping_pong_streaming_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_ping_pong_streaming', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_registered_call_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_registered_call', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_request_with_flags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_request_with_flags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_request_with_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_request_with_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_server_finishes_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_server_finishes_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_shutdown_finishes_calls_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_shutdown_finishes_calls', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_shutdown_finishes_tags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_shutdown_finishes_tags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_simple_delayed_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_simple_delayed_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds_trailing_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds', - 'end2end_test_trailing_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_bad_hostname_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_bad_hostname', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_binary_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_binary_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_cancel_after_accept_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_cancel_after_accept', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_cancel_after_client_done_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_cancel_after_client_done', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_cancel_after_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_cancel_after_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_cancel_before_invoke_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_cancel_before_invoke', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_cancel_in_a_vacuum_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_cancel_in_a_vacuum', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_census_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_census_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_channel_connectivity_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_channel_connectivity', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_compressed_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_compressed_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_disappearing_server_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_disappearing_server', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_empty_batch_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_empty_batch', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_graceful_server_shutdown_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_graceful_server_shutdown', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_high_initial_seqno_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_high_initial_seqno', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_invoke_large_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_invoke_large_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_large_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_large_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_max_concurrent_streams_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_max_concurrent_streams', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_max_message_length_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_max_message_length', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_no_op_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_no_op', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_ping_pong_streaming_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_ping_pong_streaming', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_registered_call_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_registered_call', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_request_with_flags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_request_with_flags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_request_with_payload_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_request_with_payload', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_server_finishes_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_server_finishes_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_shutdown_finishes_calls_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_shutdown_finishes_calls', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_shutdown_finishes_tags_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_shutdown_finishes_tags', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_simple_delayed_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_simple_delayed_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_simple_request_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_simple_request', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'h2_uds+poll_trailing_metadata_nosec_test', - 'type': 'executable', - 'dependencies': [ - 'end2end_fixture_h2_uds+poll', - 'end2end_test_trailing_metadata', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - ] - }, - { - 'target_name': 'connection_prefix_bad_client_test', - 'type': 'executable', - 'dependencies': [ - 'bad_client_test', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/bad_client/tests/connection_prefix.c', - ] - }, - { - 'target_name': 'initial_settings_frame_bad_client_test', - 'type': 'executable', - 'dependencies': [ - 'bad_client_test', - 'grpc_test_util_unsecure', - 'grpc_unsecure', - 'gpr_test_util', - 'gpr', - ], - 'sources': [ - 'test/core/bad_client/tests/initial_settings_frame.c', - ] - }, ] } diff --git a/src/node/package.json b/package.json index 0aeca5f659..0eea3475a3 100644 --- a/src/node/package.json +++ b/package.json @@ -16,14 +16,13 @@ } ], "directories": { - "lib": "src", - "example": "examples" + "lib": "src/node/src" }, "scripts": { - "lint": "node ./node_modules/jshint/bin/jshint src test examples interop index.js", - "test": "./node_modules/.bin/mocha && npm run-script lint", - "gen_docs": "./node_modules/.bin/jsdoc -c jsdoc_conf.json", - "coverage": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha" + "lint": "node ./node_modules/jshint/bin/jshint src/node/src src/node/test src/node/examples src/node/interop src/node/index.js", + "test": "./node_modules/.bin/mocha src/node/test && npm run-script lint", + "gen_docs": "./node_modules/.bin/jsdoc -c src/node/jsdoc_conf.json", + "coverage": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha src/node/test" }, "dependencies": { "bindings": "^1.2.0", @@ -39,26 +38,24 @@ "jshint": "^2.5.0", "minimist": "^1.1.0", "mocha": "~1.21.0", - "mustache": "^2.0.0", - "strftime": "^0.8.2" + "mustache": "^2.0.0" }, "engines": { "node": ">=0.10.13" }, "files": [ "LICENSE", - "README.md", - "index.js", - "binding.gyp", - "bin", - "cli", - "examples", - "ext", - "health_check", - "interop", - "src", - "test" + "src/node/README.md", + "src/node/index.js", + "src/node/ext", + "src/node/health_check", + "src/node/src", + "src/core", + "test/proto", + "include", + "grpc.gyp", + "binding.gyp" ], - "main": "index.js", + "main": "src/node/index.js", "license": "BSD-3-Clause" } diff --git a/src/node/LICENSE b/src/node/LICENSE deleted file mode 100644 index 0209b570e1..0000000000 --- a/src/node/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -Copyright 2015, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/src/node/README.md b/src/node/README.md index 7719d08290..5d89e2228d 100644 --- a/src/node/README.md +++ b/src/node/README.md @@ -5,51 +5,19 @@ Beta ## PREREQUISITES - `node`: This requires `node` to be installed. If you instead have the `nodejs` executable on Debian, you should install the [`nodejs-legacy`](https://packages.debian.org/sid/nodejs-legacy) package. -- [homebrew][] on Mac OS X. These simplify the installation of the gRPC C core. ## INSTALLATION -**Linux (Debian):** - -Add [Debian jessie-backports][] to your `sources.list` file. Example: - -```sh -echo "deb http://http.debian.net/debian jessie-backports main" | \ -sudo tee -a /etc/apt/sources.list -``` - -Install the gRPC Debian package - -```sh -sudo apt-get update -sudo apt-get install libgrpc-dev -``` - Install the gRPC NPM package ```sh npm install grpc ``` -**Mac OS X** - -Install [homebrew][]. Run the following command to install gRPC Node.js. -```sh -$ curl -fsSL https://goo.gl/getgrpc | bash -s nodejs -``` -This will download and run the [gRPC install script][], then install the latest version of gRPC Nodejs npm package. - ## BUILD FROM SOURCE 1. Clone [the grpc Git Repository](https://github.com/grpc/grpc). - 2. Follow the instructions in the `INSTALL` file in the root of that repository to install the C core library that this package depends on. 3. Run `npm install`. -If you install the gRPC C core library in a custom location, then you need to set some environment variables to install this library. The command will look like this: - -```sh -CXXFLAGS=-I<custom location>/include LDFLAGS=-L<custom location>/lib npm install [grpc] -``` - ## TESTING To run the test suite, simply run `npm test` in the install location. @@ -110,7 +78,3 @@ ServerCredentials ``` An object with factory methods for creating credential objects for servers. - -[homebrew]:http://brew.sh -[gRPC install script]:https://raw.githubusercontent.com/grpc/homebrew-grpc/master/scripts/install -[Debian jessie-backports]:http://backports.debian.org/Instructions/ diff --git a/src/node/bin/README.md b/src/node/bin/README.md deleted file mode 100644 index 2f856e428e..0000000000 --- a/src/node/bin/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Command Line Tools - -# Service Packager - -The command line tool `bin/service_packager`, when called with the following command line: - -```bash -service_packager proto_file -o output_path -n name -v version [-i input_path...] -``` - -Populates `output_path` with a node package consisting of a `package.json` populated with `name` and `version`, an `index.js`, a `LICENSE` file copied from gRPC, and a `service.json`, which is compiled from `proto_file` and the given `input_path`s. `require('output_path')` returns an object that is equivalent to - -```js -{ client: require('grpc').load('service.json'), - auth: require('google-auth-library') } -``` diff --git a/src/node/bin/service_packager b/src/node/bin/service_packager deleted file mode 100755 index c7f2460997..0000000000 --- a/src/node/bin/service_packager +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env node -require(__dirname+'/../cli/service_packager.js').main(process.argv.slice(2));
\ No newline at end of file diff --git a/src/node/binding.gyp b/src/node/binding.gyp deleted file mode 100644 index 247719e981..0000000000 --- a/src/node/binding.gyp +++ /dev/null @@ -1,100 +0,0 @@ -{ - "variables" : { - 'config': '<!(echo $CONFIG)' - }, - "targets" : [ - { - 'include_dirs': [ - "<!(node -e \"require('nan')\")" - ], - 'cflags': [ - '-std=c++0x', - '-Wall', - '-pthread', - '-g', - '-zdefs', - '-Werror', - '-Wno-error=deprecated-declarations' - ], - 'ldflags': [ - '-g' - ], - "conditions": [ - ['OS != "win"', { - 'variables': { - 'pkg_config_grpc': '<!(pkg-config --exists grpc >/dev/null 2>&1 && echo true || echo false)' - }, - 'conditions': [ - ['config=="gcov"', { - 'cflags': [ - '-ftest-coverage', - '-fprofile-arcs', - '-O0' - ], - 'ldflags': [ - '-ftest-coverage', - '-fprofile-arcs' - ] - } - ], - ['pkg_config_grpc == "true"', { - 'link_settings': { - 'libraries': [ - '<!@(pkg-config --libs-only-l --static grpc)' - ] - }, - 'cflags': [ - '<!@(pkg-config --cflags grpc)' - ], - 'libraries': [ - '<!@(pkg-config --libs-only-L --static grpc)' - ], - 'ldflags': [ - '<!@(pkg-config --libs-only-other --static grpc)' - ] - }, { - 'link_settings': { - 'libraries': [ - '-lpthread', - '-lgrpc', - '-lgpr' - ], - }, - 'conditions':[ - ['OS != "mac"', { - 'link_settings': { - 'libraries': [ - '-lrt' - ] - } - }] - ] - } - ] - ] - }], - ['OS == "mac"', { - 'xcode_settings': { - 'MACOSX_DEPLOYMENT_TARGET': '10.9', - 'OTHER_CFLAGS': [ - '-std=c++11', - '-stdlib=libc++' - ] - } - }] - ], - "target_name": "grpc", - "sources": [ - "ext/byte_buffer.cc", - "ext/call.cc", - "ext/channel.cc", - "ext/completion_queue_async_worker.cc", - "ext/credentials.cc", - "ext/node_grpc.cc", - "ext/server.cc", - "ext/server_credentials.cc", - "ext/timeval.cc" - ] - } - ] -} diff --git a/src/node/cli/service_packager.js b/src/node/cli/service_packager.js deleted file mode 100644 index c92c450a01..0000000000 --- a/src/node/cli/service_packager.js +++ /dev/null @@ -1,142 +0,0 @@ -/* - * - * Copyright 2015, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -'use strict'; - -var fs = require('fs'); -var path = require('path'); - -var _ = require('lodash'); -var async = require('async'); -var pbjs = require('protobufjs/cli/pbjs'); -var parseArgs = require('minimist'); -var Mustache = require('mustache'); - -var package_json = require('../package.json'); - -var template_path = path.resolve(__dirname, 'service_packager'); - -var package_tpl_path = path.join(template_path, 'package.json.template'); - -var arg_format = { - string: ['include', 'out', 'name', 'version'], - alias: { - include: 'i', - out: 'o', - name: 'n', - version: 'v' - } -}; - -// TODO(mlumish): autogenerate README.md from proto file - -/** - * Render package.json file from template using provided parameters. - * @param {Object} params Map of parameter names to values - * @param {function(Error, string)} callback Callback to pass rendered template - * text to - */ -function generatePackage(params, callback) { - fs.readFile(package_tpl_path, {encoding: 'utf-8'}, function(err, template) { - if (err) { - callback(err); - } else { - var rendered = Mustache.render(template, params); - callback(null, rendered); - } - }); -} - -/** - * Copy a file - * @param {string} src_path The filepath to copy from - * @param {string} dest_path The filepath to copy to - */ -function copyFile(src_path, dest_path) { - fs.createReadStream(src_path).pipe(fs.createWriteStream(dest_path)); -} - -/** - * Run the script. Copies the index.js and LICENSE files to the output path, - * renders the package.json template to the output path, and generates a - * service.json file from the input proto files using pbjs. The arguments are - * taken directly from the command line, and handled as follows: - * -i (--include) : An include path for pbjs (can be dpulicated) - * -o (--output): The output path - * -n (--name): The name of the package - * -v (--version): The package version - * @param {Array} argv The argument vector - */ -function main(argv) { - var args = parseArgs(argv, arg_format); - var out_path = path.resolve(args.out); - var include_dirs = []; - if (args.include) { - include_dirs = _.map(_.flatten([args.include]), function(p) { - return path.resolve(p); - }); - } - args.grpc_version = package_json.version; - generatePackage(args, function(err, rendered) { - if (err) throw err; - fs.writeFile(path.join(out_path, 'package.json'), rendered, function(err) { - if (err) throw err; - }); - }); - copyFile(path.join(template_path, 'index.js'), - path.join(out_path, 'index.js')); - copyFile(path.join(__dirname, '..', 'LICENSE'), - path.join(out_path, 'LICENSE')); - - var service_stream = fs.createWriteStream(path.join(out_path, - 'service.json')); - var pbjs_args = _.flatten(['node', 'pbjs', - args._[0], - '-legacy', - _.map(include_dirs, function(dir) { - return "-path=" + dir; - })]); - var old_stdout = process.stdout; - process.__defineGetter__('stdout', function() { - return service_stream; - }); - var pbjs_status = pbjs.main(pbjs_args); - process.__defineGetter__('stdout', function() { - return old_stdout; - }); - if (pbjs_status !== pbjs.STATUS_OK) { - throw new Error('pbjs failed with status code ' + pbjs_status); - } -} - -exports.main = main; diff --git a/src/node/cli/service_packager/index.js b/src/node/cli/service_packager/index.js deleted file mode 100644 index 811e08b89a..0000000000 --- a/src/node/cli/service_packager/index.js +++ /dev/null @@ -1,36 +0,0 @@ -/* - * - * Copyright 2015, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -var grpc = require('grpc'); -exports.client = grpc.load(__dirname + '/service.json', 'json'); -exports.auth = require('google-auth-library'); diff --git a/src/node/cli/service_packager/package.json.template b/src/node/cli/service_packager/package.json.template deleted file mode 100644 index 9f9019172e..0000000000 --- a/src/node/cli/service_packager/package.json.template +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "{{{name}}}", - "version": "{{{version}}}", - "author": "Google Inc.", - "description": "Client library for {{{name}}} built on gRPC", - "license": "Apache-2.0", - "dependencies": { - "grpc": "{{{grpc_version}}}", - "google-auth-library": "^0.9.2" - }, - "main": "index.js", - "files": [ - "LICENSE", - "index.js", - "service.json" - ] -} diff --git a/src/node/examples/stock.proto b/src/node/examples/stock.proto deleted file mode 100644 index 5ee2bcbce6..0000000000 --- a/src/node/examples/stock.proto +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2015, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -syntax = "proto3"; - -package examples; - -// Protocol type definitions -message StockRequest { - string symbol = 1; - int32 num_trades_to_watch = 2; -} - -message StockReply { - float price = 1; - string symbol = 2; -} - - -// Interface exported by the server -service Stock { - // Simple blocking RPC - rpc GetLastTradePrice(StockRequest) returns (StockReply) { - } - // Bidirectional streaming RPC - rpc GetLastTradePriceMultiple(stream StockRequest) returns - (stream StockReply) { - } - // Unidirectional server-to-client streaming RPC - rpc WatchFutureTrades(StockRequest) returns (stream StockReply) { - } - // Unidirectional client-to-server streaming RPC - rpc GetHighestTradePrice(stream StockRequest) returns (StockReply) { - } - -} diff --git a/src/node/examples/stock_client.js b/src/node/examples/stock_client.js deleted file mode 100644 index ab9b050e9b..0000000000 --- a/src/node/examples/stock_client.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - * - * Copyright 2015, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -var grpc = require('..'); -var examples = grpc.load(__dirname + '/stock.proto').examples; - -/** - * This exports a client constructor for the Stock service. The usage looks like - * - * var StockClient = require('stock_client.js'); - * var stockClient = new StockClient(server_address, - * grpc.Credentials.createInsecure()); - * stockClient.getLastTradePrice({symbol: 'GOOG'}, function(error, response) { - * console.log(error || response); - * }); - */ -module.exports = examples.Stock; diff --git a/src/node/examples/stock_server.js b/src/node/examples/stock_server.js deleted file mode 100644 index 12e5479584..0000000000 --- a/src/node/examples/stock_server.js +++ /dev/null @@ -1,87 +0,0 @@ -/* - * - * Copyright 2015, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -'use strict'; - -var _ = require('lodash'); -var grpc = require('..'); -var examples = grpc.load(__dirname + '/stock.proto').examples; - -function getLastTradePrice(call, callback) { - callback(null, {symbol: call.request.symbol, price: 88}); -} - -function watchFutureTrades(call) { - for (var i = 0; i < call.request.num_trades_to_watch; i++) { - call.write({price: 88.00 + i * 10.00}); - } - call.end(); -} - -function getHighestTradePrice(call, callback) { - var trades = []; - call.on('data', function(data) { - trades.push({symbol: data.symbol, price: _.random(0, 100)}); - }); - call.on('end', function() { - if(_.isEmpty(trades)) { - callback(null, {}); - } else { - callback(null, _.max(trades, function(trade){return trade.price;})); - } - }); -} - -function getLastTradePriceMultiple(call) { - call.on('data', function(data) { - call.write({price: 88}); - }); - call.on('end', function() { - call.end(); - }); -} - -var stockServer = new grpc.Server(); -stockServer.addProtoService(examples.Stock.service, { - getLastTradePrice: getLastTradePrice, - getLastTradePriceMultiple: getLastTradePriceMultiple, - watchFutureTrades: watchFutureTrades, - getHighestTradePrice: getHighestTradePrice -}); - -if (require.main === module) { - stockServer.bind('0.0.0.0:50051', grpc.ServerCredentials.createInsecure()); - stockServer.start(); -} - -module.exports = stockServer; diff --git a/src/node/ext/call.cc b/src/node/ext/call.cc index f98fe2463b..b63e294f9a 100644 --- a/src/node/ext/call.cc +++ b/src/node/ext/call.cc @@ -39,12 +39,14 @@ #include "grpc/support/log.h" #include "grpc/grpc.h" +#include "grpc/grpc_security.h" #include "grpc/support/alloc.h" #include "grpc/support/time.h" #include "byte_buffer.h" #include "call.h" #include "channel.h" #include "completion_queue_async_worker.h" +#include "call_credentials.h" #include "timeval.h" using std::unique_ptr; @@ -502,6 +504,7 @@ void Call::Init(Local<Object> exports) { Nan::SetPrototypeMethod(tpl, "cancel", Cancel); Nan::SetPrototypeMethod(tpl, "cancelWithStatus", CancelWithStatus); Nan::SetPrototypeMethod(tpl, "getPeer", GetPeer); + Nan::SetPrototypeMethod(tpl, "setCredentials", SetCredentials); fun_tpl.Reset(tpl); Local<Function> ctr = Nan::GetFunction(tpl).ToLocalChecked(); Nan::Set(exports, Nan::New("Call").ToLocalChecked(), ctr); @@ -725,5 +728,26 @@ NAN_METHOD(Call::GetPeer) { info.GetReturnValue().Set(peer_value); } +NAN_METHOD(Call::SetCredentials) { + Nan::HandleScope scope; + if (!HasInstance(info.This())) { + return Nan::ThrowTypeError( + "setCredentials can only be called on Call objects"); + } + if (!CallCredentials::HasInstance(info[0])) { + return Nan::ThrowTypeError( + "setCredentials' first argument must be a CallCredentials"); + } + Call *call = ObjectWrap::Unwrap<Call>(info.This()); + CallCredentials *creds_object = ObjectWrap::Unwrap<CallCredentials>( + Nan::To<Object>(info[0]).ToLocalChecked()); + grpc_credentials *creds = creds_object->GetWrappedCredentials(); + grpc_call_error error = GRPC_CALL_ERROR; + if (creds) { + error = grpc_call_set_credentials(call->wrapped_call, creds); + } + info.GetReturnValue().Set(Nan::New<Uint32>(error)); +} + } // namespace node } // namespace grpc diff --git a/src/node/ext/call.h b/src/node/ext/call.h index 2f8e1f17aa..dd6c38e4f8 100644 --- a/src/node/ext/call.h +++ b/src/node/ext/call.h @@ -73,6 +73,10 @@ struct Resources { std::vector<unique_ptr<PersistentValue> > handles; }; +bool CreateMetadataArray(v8::Local<v8::Object> metadata, + grpc_metadata_array *array, + shared_ptr<Resources> resources); + class Op { public: virtual v8::Local<v8::Value> GetNodeValue() const = 0; @@ -122,6 +126,7 @@ class Call : public Nan::ObjectWrap { static NAN_METHOD(Cancel); static NAN_METHOD(CancelWithStatus); static NAN_METHOD(GetPeer); + static NAN_METHOD(SetCredentials); static Nan::Callback *constructor; // Used for typechecking instances of this javascript class static Nan::Persistent<v8::FunctionTemplate> fun_tpl; diff --git a/src/node/ext/call_credentials.cc b/src/node/ext/call_credentials.cc new file mode 100644 index 0000000000..839bb567e4 --- /dev/null +++ b/src/node/ext/call_credentials.cc @@ -0,0 +1,259 @@ +/* + * + * 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 <node.h> + +#include "grpc/grpc.h" +#include "grpc/grpc_security.h" +#include "grpc/support/log.h" +#include "call_credentials.h" +#include "call.h" + +namespace grpc { +namespace node { + +using Nan::Callback; +using Nan::EscapableHandleScope; +using Nan::HandleScope; +using Nan::Maybe; +using Nan::MaybeLocal; +using Nan::ObjectWrap; +using Nan::Persistent; +using Nan::Utf8String; + +using v8::Exception; +using v8::External; +using v8::Function; +using v8::FunctionTemplate; +using v8::Integer; +using v8::Local; +using v8::Object; +using v8::ObjectTemplate; +using v8::Value; + +Nan::Callback *CallCredentials::constructor; +Persistent<FunctionTemplate> CallCredentials::fun_tpl; + +CallCredentials::CallCredentials(grpc_credentials *credentials) + : wrapped_credentials(credentials) {} + +CallCredentials::~CallCredentials() { + grpc_credentials_release(wrapped_credentials); +} + +void CallCredentials::Init(Local<Object> exports) { + HandleScope scope; + Local<FunctionTemplate> tpl = Nan::New<FunctionTemplate>(New); + tpl->SetClassName(Nan::New("CallCredentials").ToLocalChecked()); + tpl->InstanceTemplate()->SetInternalFieldCount(1); + Nan::SetPrototypeMethod(tpl, "compose", Compose); + fun_tpl.Reset(tpl); + Local<Function> ctr = Nan::GetFunction(tpl).ToLocalChecked(); + Nan::Set(ctr, Nan::New("createFromPlugin").ToLocalChecked(), + Nan::GetFunction( + Nan::New<FunctionTemplate>(CreateFromPlugin)).ToLocalChecked()); + Nan::Set(exports, Nan::New("CallCredentials").ToLocalChecked(), ctr); + constructor = new Nan::Callback(ctr); +} + +bool CallCredentials::HasInstance(Local<Value> val) { + HandleScope scope; + return Nan::New(fun_tpl)->HasInstance(val); +} + +Local<Value> CallCredentials::WrapStruct(grpc_credentials *credentials) { + EscapableHandleScope scope; + const int argc = 1; + if (credentials == NULL) { + return scope.Escape(Nan::Null()); + } + Local<Value> argv[argc] = { + Nan::New<External>(reinterpret_cast<void *>(credentials))}; + MaybeLocal<Object> maybe_instance = Nan::NewInstance( + constructor->GetFunction(), argc, argv); + if (maybe_instance.IsEmpty()) { + return scope.Escape(Nan::Null()); + } else { + return scope.Escape(maybe_instance.ToLocalChecked()); + } +} + +grpc_credentials *CallCredentials::GetWrappedCredentials() { + return wrapped_credentials; +} + +NAN_METHOD(CallCredentials::New) { + if (info.IsConstructCall()) { + if (!info[0]->IsExternal()) { + return Nan::ThrowTypeError( + "CallCredentials can only be created with the provided functions"); + } + Local<External> ext = info[0].As<External>(); + grpc_credentials *creds_value = + reinterpret_cast<grpc_credentials *>(ext->Value()); + CallCredentials *credentials = new CallCredentials(creds_value); + credentials->Wrap(info.This()); + info.GetReturnValue().Set(info.This()); + return; + } else { + const int argc = 1; + Local<Value> argv[argc] = {info[0]}; + MaybeLocal<Object> maybe_instance = constructor->GetFunction()->NewInstance( + argc, argv); + if (maybe_instance.IsEmpty()) { + // There's probably a pending exception + return; + } else { + info.GetReturnValue().Set(maybe_instance.ToLocalChecked()); + } + } +} + +NAN_METHOD(CallCredentials::Compose) { + if (!CallCredentials::HasInstance(info.This())) { + return Nan::ThrowTypeError( + "compose can only be called on CallCredentials objects"); + } + if (!CallCredentials::HasInstance(info[0])) { + return Nan::ThrowTypeError( + "compose's first argument must be a CallCredentials object"); + } + CallCredentials *self = ObjectWrap::Unwrap<CallCredentials>(info.This()); + CallCredentials *other = ObjectWrap::Unwrap<CallCredentials>( + Nan::To<Object>(info[0]).ToLocalChecked()); + grpc_credentials *creds = grpc_composite_credentials_create( + self->wrapped_credentials, other->wrapped_credentials, NULL); + info.GetReturnValue().Set(WrapStruct(creds)); +} + + + +NAN_METHOD(CallCredentials::CreateFromPlugin) { + if (!info[0]->IsFunction()) { + return Nan::ThrowTypeError( + "createFromPlugin's argument must be a function"); + } + grpc_metadata_credentials_plugin plugin; + plugin_state *state = new plugin_state; + state->callback = new Nan::Callback(info[0].As<Function>()); + plugin.get_metadata = plugin_get_metadata; + plugin.destroy = plugin_destroy_state; + plugin.state = reinterpret_cast<void*>(state); + grpc_credentials *creds = grpc_metadata_credentials_create_from_plugin(plugin, + NULL); + info.GetReturnValue().Set(WrapStruct(creds)); +} + +NAN_METHOD(PluginCallback) { + // Arguments: status code, error details, metadata + if (!info[0]->IsUint32()) { + return Nan::ThrowTypeError( + "The callback's first argument must be a status code"); + } + if (!info[1]->IsString()) { + return Nan::ThrowTypeError( + "The callback's second argument must be a string"); + } + if (!info[2]->IsObject()) { + return Nan::ThrowTypeError( + "The callback's third argument must be an object"); + } + shared_ptr<Resources> resources(new Resources); + grpc_status_code code = static_cast<grpc_status_code>( + Nan::To<uint32_t>(info[0]).FromJust()); + char *details = *Utf8String(info[1]); + grpc_metadata_array array; + if (!CreateMetadataArray(Nan::To<Object>(info[2]).ToLocalChecked(), + &array, resources)){ + return Nan::ThrowError("Failed to parse metadata"); + } + grpc_credentials_plugin_metadata_cb cb = + reinterpret_cast<grpc_credentials_plugin_metadata_cb>( + Nan::Get(info.Callee(), + Nan::New("cb").ToLocalChecked() + ).ToLocalChecked().As<External>()->Value()); + void *user_data = + Nan::Get(info.Callee(), + Nan::New("user_data").ToLocalChecked() + ).ToLocalChecked().As<External>()->Value(); + cb(user_data, array.metadata, array.count, code, details); +} + +NAUV_WORK_CB(SendPluginCallback) { + Nan::HandleScope scope; + plugin_callback_data *data = reinterpret_cast<plugin_callback_data*>( + async->data); + // Attach cb and user_data to plugin_callback so that it can access them later + v8::Local<v8::Function> plugin_callback = Nan::GetFunction( + Nan::New<v8::FunctionTemplate>(PluginCallback)).ToLocalChecked(); + Nan::Set(plugin_callback, Nan::New("cb").ToLocalChecked(), + Nan::New<v8::External>(reinterpret_cast<void*>(data->cb))); + Nan::Set(plugin_callback, Nan::New("user_data").ToLocalChecked(), + Nan::New<v8::External>(data->user_data)); + const int argc = 2; + v8::Local<v8::Value> argv[argc] = { + Nan::New(data->service_url).ToLocalChecked(), + plugin_callback + }; + Nan::Callback *callback = data->state->callback; + callback->Call(argc, argv); + delete data; + uv_unref((uv_handle_t *)async); + uv_close((uv_handle_t *)async, (uv_close_cb)free); +} + +void plugin_get_metadata(void *state, const char *service_url, + grpc_credentials_plugin_metadata_cb cb, + void *user_data) { + uv_async_t *async = static_cast<uv_async_t*>(malloc(sizeof(uv_async_t))); + uv_async_init(uv_default_loop(), + async, + SendPluginCallback); + plugin_callback_data *data = new plugin_callback_data; + data->state = reinterpret_cast<plugin_state*>(state); + data->service_url = service_url; + data->cb = cb; + data->user_data = user_data; + async->data = data; + /* libuv says that it will coalesce calls to uv_async_send. If there is ever a + * problem with a callback not getting called, that is probably the reason */ + uv_async_send(async); +} + +void plugin_destroy_state(void *ptr) { + plugin_state *state = reinterpret_cast<plugin_state *>(ptr); + delete state->callback; +} + +} // namespace node +} // namespace grpc diff --git a/src/node/ext/call_credentials.h b/src/node/ext/call_credentials.h new file mode 100644 index 0000000000..618292d19e --- /dev/null +++ b/src/node/ext/call_credentials.h @@ -0,0 +1,100 @@ +/* + * + * 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_NODE_CALL_CREDENTIALS_H_ +#define GRPC_NODE_CALL_CREDENTIALS_H_ + +#include <node.h> +#include <nan.h> +#include "grpc/grpc_security.h" + +namespace grpc { +namespace node { + +class CallCredentials : public Nan::ObjectWrap { + public: + static void Init(v8::Local<v8::Object> exports); + static bool HasInstance(v8::Local<v8::Value> val); + /* Wrap a grpc_credentials struct in a javascript object */ + static v8::Local<v8::Value> WrapStruct(grpc_credentials *credentials); + + /* Returns the grpc_credentials struct that this object wraps */ + grpc_credentials *GetWrappedCredentials(); + + private: + explicit CallCredentials(grpc_credentials *credentials); + ~CallCredentials(); + + // Prevent copying + CallCredentials(const CallCredentials &); + CallCredentials &operator=(const CallCredentials &); + + static NAN_METHOD(New); + static NAN_METHOD(CreateSsl); + static NAN_METHOD(CreateFromPlugin); + + static NAN_METHOD(Compose); + static Nan::Callback *constructor; + // Used for typechecking instances of this javascript class + static Nan::Persistent<v8::FunctionTemplate> fun_tpl; + + grpc_credentials *wrapped_credentials; +}; + +/* Auth metadata plugin functionality */ + +typedef struct plugin_state { + Nan::Callback *callback; +} plugin_state; + +typedef struct plugin_callback_data { + plugin_state *state; + const char *service_url; + grpc_credentials_plugin_metadata_cb cb; + void *user_data; +} plugin_callback_data; + +void plugin_get_metadata(void *state, const char *service_url, + grpc_credentials_plugin_metadata_cb cb, + void *user_data); + +void plugin_destroy_state(void *state); + +NAN_METHOD(PluginCallback); + +NAUV_WORK_CB(SendPluginCallback); + +} // namespace node +} // namepsace grpc + +#endif // GRPC_NODE_CALL_CREDENTIALS_H_ diff --git a/src/node/ext/channel.cc b/src/node/ext/channel.cc index 6eb1e77688..a328c01713 100644 --- a/src/node/ext/channel.cc +++ b/src/node/ext/channel.cc @@ -42,7 +42,7 @@ #include "call.h" #include "channel.h" #include "completion_queue_async_worker.h" -#include "credentials.h" +#include "channel_credentials.h" #include "timeval.h" namespace grpc { @@ -112,11 +112,11 @@ NAN_METHOD(Channel::New) { // Owned by the Channel object Utf8String host(info[0]); grpc_credentials *creds; - if (!Credentials::HasInstance(info[1])) { + if (!ChannelCredentials::HasInstance(info[1])) { return Nan::ThrowTypeError( - "Channel's second argument must be a credential"); + "Channel's second argument must be a ChannelCredentials"); } - Credentials *creds_object = ObjectWrap::Unwrap<Credentials>( + ChannelCredentials *creds_object = ObjectWrap::Unwrap<ChannelCredentials>( Nan::To<Object>(info[1]).ToLocalChecked()); creds = creds_object->GetWrappedCredentials(); grpc_channel_args *channel_args_ptr; diff --git a/src/node/ext/credentials.cc b/src/node/ext/channel_credentials.cc index 4f41c92f6a..3d47ff293d 100644 --- a/src/node/ext/credentials.cc +++ b/src/node/ext/channel_credentials.cc @@ -36,7 +36,9 @@ #include "grpc/grpc.h" #include "grpc/grpc_security.h" #include "grpc/support/log.h" -#include "credentials.h" +#include "channel_credentials.h" +#include "call_credentials.h" +#include "call.h" namespace grpc { namespace node { @@ -60,51 +62,40 @@ using v8::Object; using v8::ObjectTemplate; using v8::Value; -Nan::Callback *Credentials::constructor; -Persistent<FunctionTemplate> Credentials::fun_tpl; +Nan::Callback *ChannelCredentials::constructor; +Persistent<FunctionTemplate> ChannelCredentials::fun_tpl; -Credentials::Credentials(grpc_credentials *credentials) +ChannelCredentials::ChannelCredentials(grpc_credentials *credentials) : wrapped_credentials(credentials) {} -Credentials::~Credentials() { +ChannelCredentials::~ChannelCredentials() { grpc_credentials_release(wrapped_credentials); } -void Credentials::Init(Local<Object> exports) { +void ChannelCredentials::Init(Local<Object> exports) { HandleScope scope; Local<FunctionTemplate> tpl = Nan::New<FunctionTemplate>(New); - tpl->SetClassName(Nan::New("Credentials").ToLocalChecked()); + tpl->SetClassName(Nan::New("ChannelCredentials").ToLocalChecked()); tpl->InstanceTemplate()->SetInternalFieldCount(1); + Nan::SetPrototypeMethod(tpl, "compose", Compose); fun_tpl.Reset(tpl); Local<Function> ctr = Nan::GetFunction(tpl).ToLocalChecked(); - Nan::Set(ctr, Nan::New("createDefault").ToLocalChecked(), - Nan::GetFunction( - Nan::New<FunctionTemplate>(CreateDefault)).ToLocalChecked()); Nan::Set(ctr, Nan::New("createSsl").ToLocalChecked(), Nan::GetFunction( Nan::New<FunctionTemplate>(CreateSsl)).ToLocalChecked()); - Nan::Set(ctr, Nan::New("createComposite").ToLocalChecked(), - Nan::GetFunction( - Nan::New<FunctionTemplate>(CreateComposite)).ToLocalChecked()); - Nan::Set(ctr, Nan::New("createGce").ToLocalChecked(), - Nan::GetFunction( - Nan::New<FunctionTemplate>(CreateGce)).ToLocalChecked()); - Nan::Set(ctr, Nan::New("createIam").ToLocalChecked(), - Nan::GetFunction( - Nan::New<FunctionTemplate>(CreateIam)).ToLocalChecked()); Nan::Set(ctr, Nan::New("createInsecure").ToLocalChecked(), Nan::GetFunction( Nan::New<FunctionTemplate>(CreateInsecure)).ToLocalChecked()); - Nan::Set(exports, Nan::New("Credentials").ToLocalChecked(), ctr); + Nan::Set(exports, Nan::New("ChannelCredentials").ToLocalChecked(), ctr); constructor = new Nan::Callback(ctr); } -bool Credentials::HasInstance(Local<Value> val) { +bool ChannelCredentials::HasInstance(Local<Value> val) { HandleScope scope; return Nan::New(fun_tpl)->HasInstance(val); } -Local<Value> Credentials::WrapStruct(grpc_credentials *credentials) { +Local<Value> ChannelCredentials::WrapStruct(grpc_credentials *credentials) { EscapableHandleScope scope; const int argc = 1; Local<Value> argv[argc] = { @@ -118,20 +109,20 @@ Local<Value> Credentials::WrapStruct(grpc_credentials *credentials) { } } -grpc_credentials *Credentials::GetWrappedCredentials() { +grpc_credentials *ChannelCredentials::GetWrappedCredentials() { return wrapped_credentials; } -NAN_METHOD(Credentials::New) { +NAN_METHOD(ChannelCredentials::New) { if (info.IsConstructCall()) { if (!info[0]->IsExternal()) { return Nan::ThrowTypeError( - "Credentials can only be created with the provided functions"); + "ChannelCredentials can only be created with the provided functions"); } Local<External> ext = info[0].As<External>(); grpc_credentials *creds_value = reinterpret_cast<grpc_credentials *>(ext->Value()); - Credentials *credentials = new Credentials(creds_value); + ChannelCredentials *credentials = new ChannelCredentials(creds_value); credentials->Wrap(info.This()); info.GetReturnValue().Set(info.This()); return; @@ -149,16 +140,7 @@ NAN_METHOD(Credentials::New) { } } -NAN_METHOD(Credentials::CreateDefault) { - grpc_credentials *creds = grpc_google_default_credentials_create(); - if (creds == NULL) { - info.GetReturnValue().SetNull(); - } else { - info.GetReturnValue().Set(WrapStruct(creds)); - } -} - -NAN_METHOD(Credentials::CreateSsl) { +NAN_METHOD(ChannelCredentials::CreateSsl) { char *root_certs = NULL; grpc_ssl_pem_key_cert_pair key_cert_pair = {NULL, NULL}; if (::node::Buffer::HasInstance(info[0])) { @@ -188,49 +170,25 @@ NAN_METHOD(Credentials::CreateSsl) { } } -NAN_METHOD(Credentials::CreateComposite) { - if (!HasInstance(info[0])) { +NAN_METHOD(ChannelCredentials::Compose) { + if (!ChannelCredentials::HasInstance(info.This())) { return Nan::ThrowTypeError( - "createComposite's first argument must be a Credentials object"); + "compose can only be called on ChannelCredentials objects"); } - if (!HasInstance(info[1])) { + if (!CallCredentials::HasInstance(info[0])) { return Nan::ThrowTypeError( - "createComposite's second argument must be a Credentials object"); + "compose's first argument must be a CallCredentials object"); } - Credentials *creds1 = ObjectWrap::Unwrap<Credentials>( + ChannelCredentials *self = ObjectWrap::Unwrap<ChannelCredentials>( + info.This()); + if (self->wrapped_credentials == NULL) { + return Nan::ThrowTypeError( + "Cannot compose insecure credential"); + } + CallCredentials *other = ObjectWrap::Unwrap<CallCredentials>( Nan::To<Object>(info[0]).ToLocalChecked()); - Credentials *creds2 = ObjectWrap::Unwrap<Credentials>( - Nan::To<Object>(info[1]).ToLocalChecked()); grpc_credentials *creds = grpc_composite_credentials_create( - creds1->wrapped_credentials, creds2->wrapped_credentials, NULL); - if (creds == NULL) { - info.GetReturnValue().SetNull(); - } else { - info.GetReturnValue().Set(WrapStruct(creds)); - } -} - -NAN_METHOD(Credentials::CreateGce) { - Nan::HandleScope scope; - grpc_credentials *creds = grpc_google_compute_engine_credentials_create(NULL); - if (creds == NULL) { - info.GetReturnValue().SetNull(); - } else { - info.GetReturnValue().Set(WrapStruct(creds)); - } -} - -NAN_METHOD(Credentials::CreateIam) { - if (!info[0]->IsString()) { - return Nan::ThrowTypeError("createIam's first argument must be a string"); - } - if (!info[1]->IsString()) { - return Nan::ThrowTypeError("createIam's second argument must be a string"); - } - Utf8String auth_token(info[0]); - Utf8String auth_selector(info[1]); - grpc_credentials *creds = - grpc_google_iam_credentials_create(*auth_token, *auth_selector, NULL); + self->wrapped_credentials, other->GetWrappedCredentials(), NULL); if (creds == NULL) { info.GetReturnValue().SetNull(); } else { @@ -238,7 +196,7 @@ NAN_METHOD(Credentials::CreateIam) { } } -NAN_METHOD(Credentials::CreateInsecure) { +NAN_METHOD(ChannelCredentials::CreateInsecure) { info.GetReturnValue().Set(WrapStruct(NULL)); } diff --git a/src/node/ext/credentials.h b/src/node/ext/channel_credentials.h index 1b211175d4..31ea0987bc 100644 --- a/src/node/ext/credentials.h +++ b/src/node/ext/channel_credentials.h @@ -31,8 +31,8 @@ * */ -#ifndef NET_GRPC_NODE_CREDENTIALS_H_ -#define NET_GRPC_NODE_CREDENTIALS_H_ +#ifndef NET_GRPC_NODE_CHANNEL_CREDENTIALS_H_ +#define NET_GRPC_NODE_CHANNEL_CREDENTIALS_H_ #include <node.h> #include <nan.h> @@ -43,7 +43,7 @@ namespace grpc { namespace node { /* Wrapper class for grpc_credentials structs */ -class Credentials : public Nan::ObjectWrap { +class ChannelCredentials : public Nan::ObjectWrap { public: static void Init(v8::Local<v8::Object> exports); static bool HasInstance(v8::Local<v8::Value> val); @@ -54,21 +54,18 @@ class Credentials : public Nan::ObjectWrap { grpc_credentials *GetWrappedCredentials(); private: - explicit Credentials(grpc_credentials *credentials); - ~Credentials(); + explicit ChannelCredentials(grpc_credentials *credentials); + ~ChannelCredentials(); // Prevent copying - Credentials(const Credentials &); - Credentials &operator=(const Credentials &); + ChannelCredentials(const ChannelCredentials &); + ChannelCredentials &operator=(const ChannelCredentials &); static NAN_METHOD(New); - static NAN_METHOD(CreateDefault); static NAN_METHOD(CreateSsl); - static NAN_METHOD(CreateComposite); - static NAN_METHOD(CreateGce); - static NAN_METHOD(CreateFake); - static NAN_METHOD(CreateIam); static NAN_METHOD(CreateInsecure); + + static NAN_METHOD(Compose); static Nan::Callback *constructor; // Used for typechecking instances of this javascript class static Nan::Persistent<v8::FunctionTemplate> fun_tpl; @@ -79,4 +76,4 @@ class Credentials : public Nan::ObjectWrap { } // namespace node } // namespace grpc -#endif // NET_GRPC_NODE_CREDENTIALS_H_ +#endif // NET_GRPC_NODE_CHANNEL_CREDENTIALS_H_ diff --git a/src/node/ext/node_grpc.cc b/src/node/ext/node_grpc.cc index caca0fc452..5b5f3c1c5b 100644 --- a/src/node/ext/node_grpc.cc +++ b/src/node/ext/node_grpc.cc @@ -37,10 +37,11 @@ #include "grpc/grpc.h" #include "call.h" +#include "call_credentials.h" #include "channel.h" +#include "channel_credentials.h" #include "server.h" #include "completion_queue_async_worker.h" -#include "credentials.h" #include "server_credentials.h" using v8::Local; @@ -240,11 +241,12 @@ void init(Local<Object> exports) { InitWriteFlags(exports); grpc::node::Call::Init(exports); + grpc::node::CallCredentials::Init(exports); grpc::node::Channel::Init(exports); + grpc::node::ChannelCredentials::Init(exports); grpc::node::Server::Init(exports); grpc::node::CompletionQueueAsyncWorker::Init(exports); - grpc::node::Credentials::Init(exports); grpc::node::ServerCredentials::Init(exports); } -NODE_MODULE(grpc, init) +NODE_MODULE(grpc_node, init) diff --git a/src/node/index.js b/src/node/index.js index 02b73f66ee..591d9dd915 100644 --- a/src/node/index.js +++ b/src/node/index.js @@ -43,7 +43,7 @@ var server = require('./src/server.js'); var Metadata = require('./src/metadata.js'); -var grpc = require('bindings')('grpc'); +var grpc = require('bindings')('grpc_node'); /** * Load a gRPC object from an existing ProtoBuf.Reflect object. @@ -90,37 +90,10 @@ exports.load = function load(filename, format) { default: throw new Error('Unrecognized format "' + format + '"'); } - return loadObject(builder.ns); }; /** - * Get a function that a client can use to update metadata with authentication - * information from a Google Auth credential object, which comes from the - * google-auth-library. - * @param {Object} credential The credential object to use - * @return {function(Object, callback)} Metadata updater function - */ -exports.getGoogleAuthDelegate = function getGoogleAuthDelegate(credential) { - /** - * Update a metadata object with authentication information. - * @param {string} authURI The uri to authenticate to - * @param {Object} metadata Metadata object - * @param {function(Error, Object)} callback - */ - return function updateMetadata(authURI, metadata, callback) { - credential.getRequestMetadata(authURI, function(err, header) { - if (err) { - callback(err); - return; - } - metadata.add('authorization', header.Authorization); - callback(null, metadata); - }); - }; -}; - -/** * @see module:src/server.Server */ exports.Server = server.Server; @@ -153,7 +126,7 @@ exports.writeFlags = grpc.writeFlags; /** * Credentials factories */ -exports.Credentials = grpc.Credentials; +exports.credentials = require('./src/credentials.js'); /** * ServerCredentials factories diff --git a/src/node/interop/empty.proto b/src/node/interop/empty.proto deleted file mode 100644 index 6d0eb937d6..0000000000 --- a/src/node/interop/empty.proto +++ /dev/null @@ -1,43 +0,0 @@ - -// Copyright 2015, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -syntax = "proto3"; - -package grpc.testing; - -// An empty message that you can re-use to avoid defining duplicated empty -// messages in your project. A typical example is to use it as argument or the -// return value of a service API. For instance: -// -// service Foo { -// rpc Bar (grpc.testing.Empty) returns (grpc.testing.Empty) { }; -// }; -// -message Empty {} diff --git a/src/node/interop/interop_client.js b/src/node/interop/interop_client.js index df67be837d..14cc6c0efe 100644 --- a/src/node/interop/interop_client.js +++ b/src/node/interop/interop_client.js @@ -37,7 +37,9 @@ var fs = require('fs'); var path = require('path'); var _ = require('lodash'); var grpc = require('..'); -var testProto = grpc.load(__dirname + '/test.proto').grpc.testing; +var testProto = grpc.load({ + root: __dirname + '/../../..', + file: 'test/proto/test.proto'}).grpc.testing; var GoogleAuth = require('google-auth-library'); var assert = require('assert'); @@ -352,33 +354,26 @@ function customMetadata(client, done) { * primarily for use with mocha */ function authTest(expected_user, scope, client, done) { - (new GoogleAuth()).getApplicationDefault(function(err, credential) { + var arg = { + response_type: 'COMPRESSABLE', + response_size: 314159, + payload: { + body: zeroBuffer(271828) + }, + fill_username: true, + fill_oauth_scope: true + }; + client.unaryCall(arg, function(err, resp) { assert.ifError(err); - if (credential.createScopedRequired() && scope) { - credential = credential.createScoped(scope); + assert.strictEqual(resp.payload.type, 'COMPRESSABLE'); + assert.strictEqual(resp.payload.body.length, 314159); + assert.strictEqual(resp.username, expected_user); + if (scope) { + assert.strictEqual(resp.oauth_scope, AUTH_SCOPE_RESPONSE); + } + if (done) { + done(); } - client.$updateMetadata = grpc.getGoogleAuthDelegate(credential); - var arg = { - response_type: 'COMPRESSABLE', - response_size: 314159, - payload: { - body: zeroBuffer(271828) - }, - fill_username: true, - fill_oauth_scope: true - }; - client.unaryCall(arg, function(err, resp) { - assert.ifError(err); - assert.strictEqual(resp.payload.type, 'COMPRESSABLE'); - assert.strictEqual(resp.payload.body.length, 314159); - assert.strictEqual(resp.username, expected_user); - if (scope) { - assert.strictEqual(resp.oauth_scope, AUTH_SCOPE_RESPONSE); - } - if (done) { - done(); - } - }); }); } @@ -417,25 +412,86 @@ function oauth2Test(expected_user, scope, per_rpc, client, done) { }); } +function perRpcAuthTest(expected_user, scope, per_rpc, client, done) { + (new GoogleAuth()).getApplicationDefault(function(err, credential) { + assert.ifError(err); + var arg = { + fill_username: true, + fill_oauth_scope: true + }; + if (credential.createScopedRequired() && scope) { + credential = credential.createScoped(scope); + } + var creds = grpc.credentials.createFromGoogleCredential(credential); + client.unaryCall(arg, function(err, resp) { + assert.ifError(err); + assert.strictEqual(resp.username, expected_user); + assert.strictEqual(resp.oauth_scope, AUTH_SCOPE_RESPONSE); + if (done) { + done(); + } + }, null, {credentials: creds}); + }); +} + +function getApplicationCreds(scope, callback) { + (new GoogleAuth()).getApplicationDefault(function(err, credential) { + if (err) { + callback(err); + return; + } + if (credential.createScopedRequired() && scope) { + credential = credential.createScoped(scope); + } + callback(null, grpc.credentials.createFromGoogleCredential(credential)); + }); +} + +function getOauth2Creds(scope, callback) { + (new GoogleAuth()).getApplicationDefault(function(err, credential) { + if (err) { + callback(err); + return; + } + credential = credential.createScoped(scope); + credential.getAccessToken(function(err, token) { + if (err) { + callback(err); + return; + } + var updateMd = function(service_url, callback) { + var metadata = new grpc.Metadata(); + metadata.add('authorization', 'Bearer ' + token); + callback(null, metadata); + }; + callback(null, grpc.credentials.createFromMetadataGenerator(updateMd)); + }); + }); +} + /** * Map from test case names to test functions */ var test_cases = { - empty_unary: emptyUnary, - large_unary: largeUnary, - client_streaming: clientStreaming, - server_streaming: serverStreaming, - ping_pong: pingPong, - empty_stream: emptyStream, - cancel_after_begin: cancelAfterBegin, - cancel_after_first_response: cancelAfterFirstResponse, - timeout_on_sleeping_server: timeoutOnSleepingServer, - custom_metadata: customMetadata, - compute_engine_creds: _.partial(authTest, COMPUTE_ENGINE_USER, null), - service_account_creds: _.partial(authTest, AUTH_USER, AUTH_SCOPE), - jwt_token_creds: _.partial(authTest, AUTH_USER, null), - oauth2_auth_token: _.partial(oauth2Test, AUTH_USER, AUTH_SCOPE, false), - per_rpc_creds: _.partial(oauth2Test, AUTH_USER, AUTH_SCOPE, true) + empty_unary: {run: emptyUnary}, + large_unary: {run: largeUnary}, + client_streaming: {run: clientStreaming}, + server_streaming: {run: serverStreaming}, + ping_pong: {run: pingPong}, + empty_stream: {run: emptyStream}, + cancel_after_begin: {run: cancelAfterBegin}, + cancel_after_first_response: {run: cancelAfterFirstResponse}, + timeout_on_sleeping_server: {run: timeoutOnSleepingServer}, + custom_metadata: {run: customMetadata}, + compute_engine_creds: {run: _.partial(authTest, COMPUTE_ENGINE_USER, null), + getCreds: _.partial(getApplicationCreds, null)}, + service_account_creds: {run: _.partial(authTest, AUTH_USER, AUTH_SCOPE), + getCreds: _.partial(getApplicationCreds, AUTH_SCOPE)}, + jwt_token_creds: {run: _.partial(authTest, AUTH_USER, null), + getCreds: _.partial(getApplicationCreds, null)}, + oauth2_auth_token: {run: _.partial(oauth2Test, AUTH_USER, AUTH_SCOPE, false), + getCreds: _.partial(getOauth2Creds, AUTH_SCOPE)}, + per_rpc_creds: {run: _.partial(perRpcAuthTest, AUTH_USER, AUTH_SCOPE, true)} }; /** @@ -461,17 +517,30 @@ function runTest(address, host_override, test_case, tls, test_ca, done) { ca_path = process.env.SSL_CERT_FILE; } var ca_data = fs.readFileSync(ca_path); - creds = grpc.Credentials.createSsl(ca_data); + creds = grpc.credentials.createSsl(ca_data); if (host_override) { options['grpc.ssl_target_name_override'] = host_override; options['grpc.default_authority'] = host_override; } } else { - creds = grpc.Credentials.createInsecure(); + creds = grpc.credentials.createInsecure(); } - var client = new testProto.TestService(address, creds, options); + var test = test_cases[test_case]; - test_cases[test_case](client, done); + var execute = function(err, creds) { + assert.ifError(err); + var client = new testProto.TestService(address, creds, options); + test.run(client, done); + }; + + if (test.getCreds) { + test.getCreds(function(err, new_creds) { + execute(err, grpc.credentials.combineChannelCredentials( + creds, new_creds)); + }); + } else { + execute(null, creds); + } } if (require.main === module) { diff --git a/src/node/interop/interop_server.js b/src/node/interop/interop_server.js index 762e670013..3e83304faa 100644 --- a/src/node/interop/interop_server.js +++ b/src/node/interop/interop_server.js @@ -37,7 +37,9 @@ var fs = require('fs'); var path = require('path'); var _ = require('lodash'); var grpc = require('..'); -var testProto = grpc.load(__dirname + '/test.proto').grpc.testing; +var testProto = grpc.load({ + root: __dirname + '/../../..', + file: 'test/proto/test.proto'}).grpc.testing; var ECHO_INITIAL_KEY = 'x-grpc-test-echo-initial'; var ECHO_TRAILING_KEY = 'x-grpc-test-echo-trailing-bin'; diff --git a/src/node/interop/messages.proto b/src/node/interop/messages.proto deleted file mode 100644 index 7df85e3c13..0000000000 --- a/src/node/interop/messages.proto +++ /dev/null @@ -1,132 +0,0 @@ - -// Copyright 2015, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Message definitions to be used by integration test service definitions. - -syntax = "proto3"; - -package grpc.testing; - -// The type of payload that should be returned. -enum PayloadType { - // Compressable text format. - COMPRESSABLE = 0; - - // Uncompressable binary format. - UNCOMPRESSABLE = 1; - - // Randomly chosen from all other formats defined in this enum. - RANDOM = 2; -} - -// A block of data, to simply increase gRPC message size. -message Payload { - // The type of data in body. - PayloadType type = 1; - // Primary contents of payload. - bytes body = 2; -} - -// Unary request. -message SimpleRequest { - // Desired payload type in the response from the server. - // If response_type is RANDOM, server randomly chooses one from other formats. - PayloadType response_type = 1; - - // Desired payload size in the response from the server. - // If response_type is COMPRESSABLE, this denotes the size before compression. - int32 response_size = 2; - - // Optional input payload sent along with the request. - Payload payload = 3; - - // Whether SimpleResponse should include username. - bool fill_username = 4; - - // Whether SimpleResponse should include OAuth scope. - bool fill_oauth_scope = 5; -} - -// Unary response, as configured by the request. -message SimpleResponse { - // Payload to increase message size. - Payload payload = 1; - // The user the request came from, for verifying authentication was - // successful when the client expected it. - string username = 2; - // OAuth scope. - string oauth_scope = 3; -} - -// Client-streaming request. -message StreamingInputCallRequest { - // Optional input payload sent along with the request. - Payload payload = 1; - - // Not expecting any payload from the response. -} - -// Client-streaming response. -message StreamingInputCallResponse { - // Aggregated size of payloads received from the client. - int32 aggregated_payload_size = 1; -} - -// Configuration for a particular response. -message ResponseParameters { - // Desired payload sizes in responses from the server. - // If response_type is COMPRESSABLE, this denotes the size before compression. - int32 size = 1; - - // Desired interval between consecutive responses in the response stream in - // microseconds. - int32 interval_us = 2; -} - -// Server-streaming request. -message StreamingOutputCallRequest { - // Desired payload type in the response from the server. - // If response_type is RANDOM, the payload from each response in the stream - // might be of different types. This is to simulate a mixed type of payload - // stream. - PayloadType response_type = 1; - - // Configuration for each expected response message. - repeated ResponseParameters response_parameters = 2; - - // Optional input payload sent along with the request. - Payload payload = 3; -} - -// Server-streaming response, as configured by the request and parameters. -message StreamingOutputCallResponse { - // Payload to increase response size. - Payload payload = 1; -} diff --git a/src/node/interop/test.proto b/src/node/interop/test.proto deleted file mode 100644 index 24e67497fa..0000000000 --- a/src/node/interop/test.proto +++ /dev/null @@ -1,72 +0,0 @@ - -// Copyright 2015, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// An integration test service that covers all the method signature permutations -// of unary/streaming requests/responses. - -syntax = "proto3"; - -import "empty.proto"; -import "messages.proto"; - -package grpc.testing; - -// A simple service to test the various types of RPCs and experiment with -// performance with various types of payload. -service TestService { - // One empty request followed by one empty response. - rpc EmptyCall(grpc.testing.Empty) returns (grpc.testing.Empty); - - // One request followed by one response. - rpc UnaryCall(SimpleRequest) returns (SimpleResponse); - - // One request followed by a sequence of responses (streamed download). - // The server returns the payload with client desired type and sizes. - rpc StreamingOutputCall(StreamingOutputCallRequest) - returns (stream StreamingOutputCallResponse); - - // A sequence of requests followed by one response (streamed upload). - // The server returns the aggregated size of client payload as the result. - rpc StreamingInputCall(stream StreamingInputCallRequest) - returns (StreamingInputCallResponse); - - // A sequence of requests with each request served by the server immediately. - // As one request could lead to multiple responses, this interface - // demonstrates the idea of full duplexing. - rpc FullDuplexCall(stream StreamingOutputCallRequest) - returns (stream StreamingOutputCallResponse); - - // A sequence of requests followed by a sequence of responses. - // The server buffers all the client requests and then serves them in order. A - // stream of responses are returned to the client when the server starts with - // first request. - rpc HalfDuplexCall(stream StreamingOutputCallRequest) - returns (stream StreamingOutputCallResponse); -} diff --git a/src/node/examples/perf_test.js b/src/node/performance/perf_test.js index ba8fbf88d2..fe51e4a603 100644 --- a/src/node/examples/perf_test.js +++ b/src/node/performance/perf_test.js @@ -42,7 +42,7 @@ function runTest(iterations, callback) { var testServer = interop_server.getServer(0, false); testServer.server.start(); var client = new testProto.TestService('localhost:' + testServer.port, - grpc.Credentials.createInsecure()); + grpc.credentials.createInsecure()); function runIterations(finish) { var start = process.hrtime(); diff --git a/src/node/examples/qps_test.js b/src/node/performance/qps_test.js index ec968b8540..491f47364c 100644 --- a/src/node/examples/qps_test.js +++ b/src/node/performance/qps_test.js @@ -62,7 +62,7 @@ function runTest(concurrent_calls, seconds, callback) { var testServer = interop_server.getServer(0, false); testServer.server.start(); var client = new testProto.TestService('localhost:' + testServer.port, - grpc.Credentials.createInsecure()); + grpc.credentials.createInsecure()); var warmup_num = 100; diff --git a/src/node/src/client.js b/src/node/src/client.js index 7f510231b3..909376e766 100644 --- a/src/node/src/client.js +++ b/src/node/src/client.js @@ -40,7 +40,7 @@ var _ = require('lodash'); -var grpc = require('bindings')('grpc.node'); +var grpc = require('bindings')('grpc_node'); var common = require('./common'); @@ -54,7 +54,7 @@ var Readable = stream.Readable; var Writable = stream.Writable; var Duplex = stream.Duplex; var util = require('util'); -var version = require('../package.json').version; +var version = require('../../../package.json').version; util.inherits(ClientWritableStream, Writable); @@ -233,17 +233,23 @@ function getCall(channel, method, options) { var host; var parent; var propagate_flags; + var credentials; if (options) { deadline = options.deadline; host = options.host; parent = _.get(options, 'parent.call'); propagate_flags = options.propagate_flags; + credentials = options.credentials; } if (deadline === undefined) { deadline = Infinity; } - return new grpc.Call(channel, method, deadline, host, - parent, propagate_flags); + var call = new grpc.Call(channel, method, deadline, host, + parent, propagate_flags); + if (credentials) { + call.setCredentials(credentials); + } + return call; } /** @@ -282,60 +288,53 @@ function makeUnaryRequestFunction(method, serialize, deserialize) { emitter.getPeer = function getPeer() { return call.getPeer(); }; - this.$updateMetadata(this.$auth_uri, metadata, function(error, metadata) { - if (error) { - call.cancel(); - callback(error); - return; - } - var client_batch = {}; - var message = serialize(argument); - if (options) { - message.grpcWriteFlags = options.flags; - } - client_batch[grpc.opType.SEND_INITIAL_METADATA] = - metadata._getCoreRepresentation(); - client_batch[grpc.opType.SEND_MESSAGE] = message; - client_batch[grpc.opType.SEND_CLOSE_FROM_CLIENT] = true; - client_batch[grpc.opType.RECV_INITIAL_METADATA] = true; - client_batch[grpc.opType.RECV_MESSAGE] = true; - client_batch[grpc.opType.RECV_STATUS_ON_CLIENT] = true; - call.startBatch(client_batch, function(err, response) { - response.status.metadata = Metadata._fromCoreRepresentation( - response.status.metadata); - var status = response.status; - var error; - var deserialized; - if (status.code === grpc.status.OK) { - if (err) { - // Got a batch error, but OK status. Something went wrong - callback(err); - return; - } else { - try { - deserialized = deserialize(response.read); - } catch (e) { - /* Change status to indicate bad server response. This will result - * in passing an error to the callback */ - status = { - code: grpc.status.INTERNAL, - details: 'Failed to parse server response' - }; - } - } - } - if (status.code !== grpc.status.OK) { - error = new Error(response.status.details); - error.code = status.code; - error.metadata = status.metadata; - callback(error); + var client_batch = {}; + var message = serialize(argument); + if (options) { + message.grpcWriteFlags = options.flags; + } + client_batch[grpc.opType.SEND_INITIAL_METADATA] = + metadata._getCoreRepresentation(); + client_batch[grpc.opType.SEND_MESSAGE] = message; + client_batch[grpc.opType.SEND_CLOSE_FROM_CLIENT] = true; + client_batch[grpc.opType.RECV_INITIAL_METADATA] = true; + client_batch[grpc.opType.RECV_MESSAGE] = true; + client_batch[grpc.opType.RECV_STATUS_ON_CLIENT] = true; + call.startBatch(client_batch, function(err, response) { + response.status.metadata = Metadata._fromCoreRepresentation( + response.status.metadata); + var status = response.status; + var error; + var deserialized; + if (status.code === grpc.status.OK) { + if (err) { + // Got a batch error, but OK status. Something went wrong + callback(err); + return; } else { - callback(null, deserialized); + try { + deserialized = deserialize(response.read); + } catch (e) { + /* Change status to indicate bad server response. This will result + * in passing an error to the callback */ + status = { + code: grpc.status.INTERNAL, + details: 'Failed to parse server response' + }; + } } - emitter.emit('status', status); - emitter.emit('metadata', Metadata._fromCoreRepresentation( - response.metadata)); - }); + } + if (status.code !== grpc.status.OK) { + error = new Error(response.status.details); + error.code = status.code; + error.metadata = status.metadata; + callback(error); + } else { + callback(null, deserialized); + } + emitter.emit('status', status); + emitter.emit('metadata', Metadata._fromCoreRepresentation( + response.metadata)); }); return emitter; } @@ -371,62 +370,55 @@ function makeClientStreamRequestFunction(method, serialize, deserialize) { metadata = metadata.clone(); } var stream = new ClientWritableStream(call, serialize); - this.$updateMetadata(this.$auth_uri, metadata, function(error, metadata) { - if (error) { - call.cancel(); - callback(error); + var metadata_batch = {}; + metadata_batch[grpc.opType.SEND_INITIAL_METADATA] = + metadata._getCoreRepresentation(); + metadata_batch[grpc.opType.RECV_INITIAL_METADATA] = true; + call.startBatch(metadata_batch, function(err, response) { + if (err) { + // The call has stopped for some reason. A non-OK status will arrive + // in the other batch. return; } - var metadata_batch = {}; - metadata_batch[grpc.opType.SEND_INITIAL_METADATA] = - metadata._getCoreRepresentation(); - metadata_batch[grpc.opType.RECV_INITIAL_METADATA] = true; - call.startBatch(metadata_batch, function(err, response) { + stream.emit('metadata', Metadata._fromCoreRepresentation( + response.metadata)); + }); + var client_batch = {}; + client_batch[grpc.opType.RECV_MESSAGE] = true; + client_batch[grpc.opType.RECV_STATUS_ON_CLIENT] = true; + call.startBatch(client_batch, function(err, response) { + response.status.metadata = Metadata._fromCoreRepresentation( + response.status.metadata); + var status = response.status; + var error; + var deserialized; + if (status.code === grpc.status.OK) { if (err) { - // The call has stopped for some reason. A non-OK status will arrive - // in the other batch. + // Got a batch error, but OK status. Something went wrong + callback(err); return; - } - stream.emit('metadata', Metadata._fromCoreRepresentation( - response.metadata)); - }); - var client_batch = {}; - client_batch[grpc.opType.RECV_MESSAGE] = true; - client_batch[grpc.opType.RECV_STATUS_ON_CLIENT] = true; - call.startBatch(client_batch, function(err, response) { - response.status.metadata = Metadata._fromCoreRepresentation( - response.status.metadata); - var status = response.status; - var error; - var deserialized; - if (status.code === grpc.status.OK) { - if (err) { - // Got a batch error, but OK status. Something went wrong - callback(err); - return; - } else { - try { - deserialized = deserialize(response.read); - } catch (e) { - /* Change status to indicate bad server response. This will result - * in passing an error to the callback */ - status = { - code: grpc.status.INTERNAL, - details: 'Failed to parse server response' - }; - } - } - } - if (status.code !== grpc.status.OK) { - error = new Error(response.status.details); - error.code = status.code; - error.metadata = status.metadata; - callback(error); } else { - callback(null, deserialized); + try { + deserialized = deserialize(response.read); + } catch (e) { + /* Change status to indicate bad server response. This will result + * in passing an error to the callback */ + status = { + code: grpc.status.INTERNAL, + details: 'Failed to parse server response' + }; + } } - stream.emit('status', status); - }); + } + if (status.code !== grpc.status.OK) { + error = new Error(response.status.details); + error.code = status.code; + error.metadata = status.metadata; + callback(error); + } else { + callback(null, deserialized); + } + stream.emit('status', status); }); return stream; } @@ -462,51 +454,44 @@ function makeServerStreamRequestFunction(method, serialize, deserialize) { metadata = metadata.clone(); } var stream = new ClientReadableStream(call, deserialize); - this.$updateMetadata(this.$auth_uri, metadata, function(error, metadata) { - if (error) { - call.cancel(); - stream.emit('error', error); + var start_batch = {}; + var message = serialize(argument); + if (options) { + message.grpcWriteFlags = options.flags; + } + start_batch[grpc.opType.SEND_INITIAL_METADATA] = + metadata._getCoreRepresentation(); + start_batch[grpc.opType.RECV_INITIAL_METADATA] = true; + start_batch[grpc.opType.SEND_MESSAGE] = message; + start_batch[grpc.opType.SEND_CLOSE_FROM_CLIENT] = true; + call.startBatch(start_batch, function(err, response) { + if (err) { + // The call has stopped for some reason. A non-OK status will arrive + // in the other batch. return; } - var start_batch = {}; - var message = serialize(argument); - if (options) { - message.grpcWriteFlags = options.flags; - } - start_batch[grpc.opType.SEND_INITIAL_METADATA] = - metadata._getCoreRepresentation(); - start_batch[grpc.opType.RECV_INITIAL_METADATA] = true; - start_batch[grpc.opType.SEND_MESSAGE] = message; - start_batch[grpc.opType.SEND_CLOSE_FROM_CLIENT] = true; - call.startBatch(start_batch, function(err, response) { + stream.emit('metadata', Metadata._fromCoreRepresentation( + response.metadata)); + }); + var status_batch = {}; + status_batch[grpc.opType.RECV_STATUS_ON_CLIENT] = true; + call.startBatch(status_batch, function(err, response) { + response.status.metadata = Metadata._fromCoreRepresentation( + response.status.metadata); + stream.emit('status', response.status); + if (response.status.code !== grpc.status.OK) { + var error = new Error(response.status.details); + error.code = response.status.code; + error.metadata = response.status.metadata; + stream.emit('error', error); + return; + } else { if (err) { - // The call has stopped for some reason. A non-OK status will arrive - // in the other batch. - return; - } - stream.emit('metadata', Metadata._fromCoreRepresentation( - response.metadata)); - }); - var status_batch = {}; - status_batch[grpc.opType.RECV_STATUS_ON_CLIENT] = true; - call.startBatch(status_batch, function(err, response) { - response.status.metadata = Metadata._fromCoreRepresentation( - response.status.metadata); - stream.emit('status', response.status); - if (response.status.code !== grpc.status.OK) { - var error = new Error(response.status.details); - error.code = response.status.code; - error.metadata = response.status.metadata; - stream.emit('error', error); + // Got a batch error, but OK status. Something went wrong + stream.emit('error', err); return; - } else { - if (err) { - // Got a batch error, but OK status. Something went wrong - stream.emit('error', err); - return; - } } - }); + } }); return stream; } @@ -540,45 +525,38 @@ function makeBidiStreamRequestFunction(method, serialize, deserialize) { metadata = metadata.clone(); } var stream = new ClientDuplexStream(call, serialize, deserialize); - this.$updateMetadata(this.$auth_uri, metadata, function(error, metadata) { - if (error) { - call.cancel(); - stream.emit('error', error); + var start_batch = {}; + start_batch[grpc.opType.SEND_INITIAL_METADATA] = + metadata._getCoreRepresentation(); + start_batch[grpc.opType.RECV_INITIAL_METADATA] = true; + call.startBatch(start_batch, function(err, response) { + if (err) { + // The call has stopped for some reason. A non-OK status will arrive + // in the other batch. return; } - var start_batch = {}; - start_batch[grpc.opType.SEND_INITIAL_METADATA] = - metadata._getCoreRepresentation(); - start_batch[grpc.opType.RECV_INITIAL_METADATA] = true; - call.startBatch(start_batch, function(err, response) { + stream.emit('metadata', Metadata._fromCoreRepresentation( + response.metadata)); + }); + var status_batch = {}; + status_batch[grpc.opType.RECV_STATUS_ON_CLIENT] = true; + call.startBatch(status_batch, function(err, response) { + response.status.metadata = Metadata._fromCoreRepresentation( + response.status.metadata); + stream.emit('status', response.status); + if (response.status.code !== grpc.status.OK) { + var error = new Error(response.status.details); + error.code = response.status.code; + error.metadata = response.status.metadata; + stream.emit('error', error); + return; + } else { if (err) { - // The call has stopped for some reason. A non-OK status will arrive - // in the other batch. + // Got a batch error, but OK status. Something went wrong + stream.emit('error', err); return; } - stream.emit('metadata', Metadata._fromCoreRepresentation( - response.metadata)); - }); - var status_batch = {}; - status_batch[grpc.opType.RECV_STATUS_ON_CLIENT] = true; - call.startBatch(status_batch, function(err, response) { - response.status.metadata = Metadata._fromCoreRepresentation( - response.status.metadata); - stream.emit('status', response.status); - if (response.status.code !== grpc.status.OK) { - var error = new Error(response.status.details); - error.code = response.status.code; - error.metadata = response.status.metadata; - stream.emit('error', error); - return; - } else { - if (err) { - // Got a batch error, but OK status. Something went wrong - stream.emit('error', err); - return; - } - } - }); + } }); return stream; } @@ -618,15 +596,8 @@ exports.makeClientConstructor = function(methods, serviceName) { * @param {grpc.Credentials} credentials Credentials to use to connect * to the server * @param {Object} options Options to pass to the underlying channel - * @param {function(string, Object, function)=} updateMetadata function to - * update the metadata for each request */ - function Client(address, credentials, options, updateMetadata) { - if (!updateMetadata) { - updateMetadata = function(uri, metadata, callback) { - callback(null, metadata); - }; - } + function Client(address, credentials, options) { if (!options) { options = {}; } @@ -634,11 +605,6 @@ exports.makeClientConstructor = function(methods, serviceName) { /* Private fields use $ as a prefix instead of _ because it is an invalid * prefix of a method name */ this.$channel = new grpc.Channel(address, credentials, options); - // Remove the optional DNS scheme, trailing port, and trailing backslash - address = address.replace(/^(dns:\/{3})?([^:\/]+)(:\d+)?\/?$/, '$2'); - this.$server_address = address; - this.$auth_uri = 'https://' + this.$server_address + '/' + serviceName; - this.$updateMetadata = updateMetadata; } _.each(methods, function(attrs, name) { diff --git a/src/node/src/credentials.js b/src/node/src/credentials.js new file mode 100644 index 0000000000..009ff63306 --- /dev/null +++ b/src/node/src/credentials.js @@ -0,0 +1,163 @@ +/* + * + * 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. + * + */ + +/** + * Credentials module + * + * This module contains factory methods for two different credential types: + * CallCredentials and ChannelCredentials. ChannelCredentials are things like + * SSL credentials that can be used to secure a connection, and are used to + * construct a Client object. CallCredentials genrally modify metadata, so they + * can be attached to an individual method call. + * + * CallCredentials can be composed with other CallCredentials to create + * CallCredentials. ChannelCredentials can be composed with CallCredentials + * to create ChannelCredentials. No combined credential can have more than + * one ChannelCredentials. + * + * For example, to create a client secured with SSL that uses Google + * default application credentials to authenticate: + * + * var channel_creds = credentials.createSsl(root_certs); + * (new GoogleAuth()).getApplicationDefault(function(err, credential) { + * var call_creds = credentials.createFromGoogleCredential(credential); + * var combined_creds = credentials.combineChannelCredentials( + * channel_creds, call_creds); + * var client = new Client(address, combined_creds); + * }); + * + * @module + */ + +'use strict'; + +var grpc = require('bindings')('grpc_node.node'); + +var CallCredentials = grpc.CallCredentials; + +var ChannelCredentials = grpc.ChannelCredentials; + +var Metadata = require('./metadata.js'); + +/** + * Create an SSL Credentials object. If using a client-side certificate, both + * the second and third arguments must be passed. + * @param {Buffer} root_certs The root certificate data + * @param {Buffer=} private_key The client certificate private key, if + * applicable + * @param {Buffer=} cert_chain The client certificate cert chain, if applicable + * @return {ChannelCredentials} The SSL Credentials object + */ +exports.createSsl = ChannelCredentials.createSsl; + +/** + * Create a gRPC credentials object from a metadata generation function. This + * function gets the service URL and a callback as parameters. The error + * passed to the callback can optionally have a 'code' value attached to it, + * which corresponds to a status code that this library uses. + * @param {function(String, function(Error, Metadata))} metadata_generator The + * function that generates metadata + * @return {CallCredentials} The credentials object + */ +exports.createFromMetadataGenerator = function(metadata_generator) { + return CallCredentials.createFromPlugin(function(service_url, callback) { + metadata_generator(service_url, function(error, metadata) { + var code = grpc.status.OK; + var message = ''; + if (error) { + message = error.message; + if (error.hasOwnProperty('code')) { + code = error.code; + } + } + callback(code, message, metadata._getCoreRepresentation()); + }); + }); +}; + +/** + * Create a gRPC credential from a Google credential object. + * @param {Object} google_credential The Google credential object to use + * @return {CallCredentials} The resulting credentials object + */ +exports.createFromGoogleCredential = function(google_credential) { + return exports.createFromMetadataGenerator(function(service_url, callback) { + google_credential.getRequestMetadata(service_url, function(err, header) { + if (err) { + callback(err); + return; + } + var metadata = new Metadata(); + metadata.add('authorization', header.Authorization); + callback(null, metadata); + }); + }); +}; + +/** + * Combine a ChannelCredentials with any number of CallCredentials into a single + * ChannelCredentials object. + * @param {ChannelCredentials} channel_credential The ChannelCredentials to + * start with + * @param {...CallCredentials} credentials The CallCredentials to compose + * @return ChannelCredentials A credentials object that combines all of the + * input credentials + */ +exports.combineChannelCredentials = function(channel_credential) { + var current = channel_credential; + for (var i = 1; i < arguments.length; i++) { + current = current.compose(arguments[i]); + } + return current; +}; + +/** + * Combine any number of CallCredentials into a single CallCredentials object + * @param {...CallCredentials} credentials the CallCredentials to compose + * @return CallCredentials A credentials object that combines all of the input + * credentials + */ +exports.combineCallCredentials = function() { + var current = arguments[0]; + for (var i = 1; i < arguments.length; i++) { + current = current.compose(arguments[i]); + } + return current; +} + +/** + * Create an insecure credentials object. This is used to create a channel that + * does not use SSL. This cannot be composed with anything. + * @return {ChannelCredentials} The insecure credentials object + */ +exports.createInsecure = ChannelCredentials.createInsecure; diff --git a/src/node/src/server.js b/src/node/src/server.js index 70b4a9d80e..87b5b7ad06 100644 --- a/src/node/src/server.js +++ b/src/node/src/server.js @@ -40,7 +40,7 @@ var _ = require('lodash'); -var grpc = require('bindings')('grpc.node'); +var grpc = require('bindings')('grpc_node'); var common = require('./common'); diff --git a/src/node/test/async_test.js b/src/node/test/async_test.js index e81de62bc9..ce3ce50a2d 100644 --- a/src/node/test/async_test.js +++ b/src/node/test/async_test.js @@ -36,7 +36,7 @@ var assert = require('assert'); var grpc = require('..'); -var math = grpc.load(__dirname + '/../examples/math.proto').math; +var math = grpc.load(__dirname + '/math/math.proto').math; /** @@ -47,7 +47,7 @@ var math_client; /** * Server to test against */ -var getServer = require('../examples/math_server.js'); +var getServer = require('./math/math_server.js'); var server = getServer(); diff --git a/src/node/test/call_test.js b/src/node/test/call_test.js index e7f071bcd5..c316fe7f10 100644 --- a/src/node/test/call_test.js +++ b/src/node/test/call_test.js @@ -34,7 +34,7 @@ 'use strict'; var assert = require('assert'); -var grpc = require('bindings')('grpc.node'); +var grpc = require('bindings')('grpc_node'); /** * Helper function to return an absolute deadline given a relative timeout in @@ -48,7 +48,7 @@ function getDeadline(timeout_secs) { return deadline; } -var insecureCreds = grpc.Credentials.createInsecure(); +var insecureCreds = grpc.ChannelCredentials.createInsecure(); describe('call', function() { var channel; diff --git a/src/node/test/channel_test.js b/src/node/test/channel_test.js index d81df2a36d..b86f89b8a8 100644 --- a/src/node/test/channel_test.js +++ b/src/node/test/channel_test.js @@ -34,7 +34,7 @@ 'use strict'; var assert = require('assert'); -var grpc = require('bindings')('grpc.node'); +var grpc = require('bindings')('grpc_node'); /** * This is used for testing functions with multiple asynchronous calls that @@ -56,7 +56,7 @@ function multiDone(done, count) { } }; } -var insecureCreds = grpc.Credentials.createInsecure(); +var insecureCreds = grpc.ChannelCredentials.createInsecure(); describe('channel', function() { describe('constructor', function() { @@ -149,12 +149,13 @@ describe('channel', function() { afterEach(function() { channel.close(); }); - it('should time out if called alone', function(done) { + it.only('should time out if called alone', function(done) { var old_state = channel.getConnectivityState(); var deadline = new Date(); deadline.setSeconds(deadline.getSeconds() + 1); channel.watchConnectivityState(old_state, deadline, function(err, value) { assert(err); + console.log('Callback from watchConnectivityState'); done(); }); }); diff --git a/src/node/test/constant_test.js b/src/node/test/constant_test.js index fa06ad4e4d..b17cd339cb 100644 --- a/src/node/test/constant_test.js +++ b/src/node/test/constant_test.js @@ -34,7 +34,7 @@ 'use strict'; var assert = require('assert'); -var grpc = require('bindings')('grpc.node'); +var grpc = require('bindings')('grpc_node'); /** * List of all status names diff --git a/src/node/test/credentials_test.js b/src/node/test/credentials_test.js new file mode 100644 index 0000000000..8eb91ee69e --- /dev/null +++ b/src/node/test/credentials_test.js @@ -0,0 +1,243 @@ +/* + * + * 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. + * + */ + +'use strict'; + +var assert = require('assert'); +var fs = require('fs'); +var path = require('path'); + +var grpc = require('..'); + +/** + * This is used for testing functions with multiple asynchronous calls that + * can happen in different orders. This should be passed the number of async + * function invocations that can occur last, and each of those should call this + * function's return value + * @param {function()} done The function that should be called when a test is + * complete. + * @param {number} count The number of calls to the resulting function if the + * test passes. + * @return {function()} The function that should be called at the end of each + * sequence of asynchronous functions. + */ +function multiDone(done, count) { + return function() { + count -= 1; + if (count <= 0) { + done(); + } + }; +} + +describe('client credentials', function() { + var Client; + var server; + var port; + var client_ssl_creds; + var client_options = {}; + before(function() { + var proto = grpc.load(__dirname + '/test_service.proto'); + server = new grpc.Server(); + server.addProtoService(proto.TestService.service, { + unary: function(call, cb) { + call.sendMetadata(call.metadata); + cb(null, {}); + }, + clientStream: function(stream, cb){ + stream.on('data', function(data) {}); + stream.on('end', function() { + stream.sendMetadata(stream.metadata); + cb(null, {}); + }); + }, + serverStream: function(stream) { + stream.sendMetadata(stream.metadata); + stream.end(); + }, + bidiStream: function(stream) { + stream.on('data', function(data) {}); + stream.on('end', function() { + stream.sendMetadata(stream.metadata); + stream.end(); + }); + } + }); + var key_path = path.join(__dirname, './data/server1.key'); + var pem_path = path.join(__dirname, './data/server1.pem'); + var key_data = fs.readFileSync(key_path); + var pem_data = fs.readFileSync(pem_path); + var creds = grpc.ServerCredentials.createSsl(null, + [{private_key: key_data, + cert_chain: pem_data}]); + //creds = grpc.ServerCredentials.createInsecure(); + port = server.bind('localhost:0', creds); + server.start(); + + Client = proto.TestService; + var ca_path = path.join(__dirname, '../test/data/ca.pem'); + var ca_data = fs.readFileSync(ca_path); + client_ssl_creds = grpc.credentials.createSsl(ca_data); + var host_override = 'foo.test.google.fr'; + client_options['grpc.ssl_target_name_override'] = host_override; + client_options['grpc.default_authority'] = host_override; + }); + after(function() { + server.forceShutdown(); + }); + it('Should accept SSL creds for a client', function(done) { + var client = new Client('localhost:' + port, client_ssl_creds, + client_options); + client.unary({}, function(err, data) { + assert.ifError(err); + done(); + }); + }); + it('Should update metadata with SSL creds', function(done) { + var metadataUpdater = function(service_url, callback) { + var metadata = new grpc.Metadata(); + metadata.set('plugin_key', 'plugin_value'); + callback(null, metadata); + }; + var creds = grpc.credentials.createFromMetadataGenerator(metadataUpdater); + var combined_creds = grpc.credentials.combineCredentials(client_ssl_creds, + creds); + var client = new Client('localhost:' + port, combined_creds, + client_options); + var call = client.unary({}, function(err, data) { + assert.ifError(err); + }); + call.on('metadata', function(metadata) { + assert.deepEqual(metadata.get('plugin_key'), ['plugin_value']); + done(); + }); + }); + it('Should update metadata for two simultaneous calls', function(done) { + done = multiDone(done, 2); + var metadataUpdater = function(service_url, callback) { + var metadata = new grpc.Metadata(); + metadata.set('plugin_key', 'plugin_value'); + callback(null, metadata); + }; + var creds = grpc.credentials.createFromMetadataGenerator(metadataUpdater); + var combined_creds = grpc.credentials.combineCredentials(client_ssl_creds, + creds); + var client = new Client('localhost:' + port, combined_creds, + client_options); + var call = client.unary({}, function(err, data) { + assert.ifError(err); + }); + call.on('metadata', function(metadata) { + assert.deepEqual(metadata.get('plugin_key'), ['plugin_value']); + done(); + }); + var call2 = client.unary({}, function(err, data) { + assert.ifError(err); + }); + call2.on('metadata', function(metadata) { + assert.deepEqual(metadata.get('plugin_key'), ['plugin_value']); + done(); + }); + }); + describe('Per-rpc creds', function() { + var client; + var updater_creds; + before(function() { + client = new Client('localhost:' + port, client_ssl_creds, + client_options); + var metadataUpdater = function(service_url, callback) { + var metadata = new grpc.Metadata(); + metadata.set('plugin_key', 'plugin_value'); + callback(null, metadata); + }; + updater_creds = grpc.credentials.createFromMetadataGenerator( + metadataUpdater); + }); + it('Should update metadata on a unary call', function(done) { + var call = client.unary({}, function(err, data) { + assert.ifError(err); + }, null, {credentials: updater_creds}); + call.on('metadata', function(metadata) { + assert.deepEqual(metadata.get('plugin_key'), ['plugin_value']); + done(); + }); + }); + it('should update metadata on a client streaming call', function(done) { + var call = client.clientStream(function(err, data) { + assert.ifError(err); + }, null, {credentials: updater_creds}); + call.on('metadata', function(metadata) { + assert.deepEqual(metadata.get('plugin_key'), ['plugin_value']); + done(); + }); + call.end(); + }); + it('should update metadata on a server streaming call', function(done) { + var call = client.serverStream({}, null, {credentials: updater_creds}); + call.on('data', function() {}); + call.on('metadata', function(metadata) { + assert.deepEqual(metadata.get('plugin_key'), ['plugin_value']); + done(); + }); + }); + it('should update metadata on a bidi streaming call', function(done) { + var call = client.bidiStream(null, {credentials: updater_creds}); + call.on('data', function() {}); + call.on('metadata', function(metadata) { + assert.deepEqual(metadata.get('plugin_key'), ['plugin_value']); + done(); + }); + call.end(); + }); + it('should be able to use multiple plugin credentials', function(done) { + var altMetadataUpdater = function(service_url, callback) { + var metadata = new grpc.Metadata(); + metadata.set('other_plugin_key', 'other_plugin_value'); + callback(null, metadata); + }; + var alt_updater_creds = grpc.credentials.createFromMetadataGenerator( + altMetadataUpdater); + var combined_updater = grpc.credentials.combineCallCredentials( + updater_creds, alt_updater_creds); + var call = client.unary({}, function(err, data) { + assert.ifError(err); + }, null, {credentials: updater_creds}); + call.on('metadata', function(metadata) { + assert.deepEqual(metadata.get('plugin_key'), ['plugin_value']); + assert.deepEqual(metadata.get('other_plugin_key'), + ['other_plugin_value']); + done(); + }); + }); + }); +}); diff --git a/src/node/test/end_to_end_test.js b/src/node/test/end_to_end_test.js index 4b8da3bfb1..0f6c5941c4 100644 --- a/src/node/test/end_to_end_test.js +++ b/src/node/test/end_to_end_test.js @@ -34,7 +34,7 @@ 'use strict'; var assert = require('assert'); -var grpc = require('bindings')('grpc.node'); +var grpc = require('bindings')('grpc_node'); /** * This is used for testing functions with multiple asynchronous calls that @@ -57,7 +57,7 @@ function multiDone(done, count) { }; } -var insecureCreds = grpc.Credentials.createInsecure(); +var insecureCreds = grpc.ChannelCredentials.createInsecure(); describe('end-to-end', function() { var server; diff --git a/src/node/test/health_test.js b/src/node/test/health_test.js index 9267bff7eb..a4dc24cf46 100644 --- a/src/node/test/health_test.js +++ b/src/node/test/health_test.js @@ -54,7 +54,7 @@ describe('Health Checking', function() { grpc.ServerCredentials.createInsecure()); healthServer.start(); healthClient = new health.Client('localhost:' + port_num, - grpc.Credentials.createInsecure()); + grpc.credentials.createInsecure()); }); after(function() { healthServer.forceShutdown(); diff --git a/src/node/examples/math.proto b/src/node/test/math/math.proto index 311e148c02..311e148c02 100644 --- a/src/node/examples/math.proto +++ b/src/node/test/math/math.proto diff --git a/src/node/examples/math_server.js b/src/node/test/math/math_server.js index a4b237aeeb..9d06596f3d 100644 --- a/src/node/examples/math_server.js +++ b/src/node/test/math/math_server.js @@ -33,7 +33,7 @@ 'use strict'; -var grpc = require('..'); +var grpc = require('../..'); var math = grpc.load(__dirname + '/math.proto').math; /** diff --git a/src/node/test/math_client_test.js b/src/node/test/math_client_test.js index 6a6607ec74..6361d97857 100644 --- a/src/node/test/math_client_test.js +++ b/src/node/test/math_client_test.js @@ -36,7 +36,7 @@ var assert = require('assert'); var grpc = require('..'); -var math = grpc.load(__dirname + '/../examples/math.proto').math; +var math = grpc.load(__dirname + '/math/math.proto').math; /** * Client to use to make requests to a running server. @@ -46,7 +46,7 @@ var math_client; /** * Server to test against */ -var getServer = require('../examples/math_server.js'); +var getServer = require('./math/math_server.js'); var server = getServer(); @@ -56,7 +56,7 @@ describe('Math client', function() { grpc.ServerCredentials.createInsecure()); server.start(); math_client = new math.Math('localhost:' + port_num, - grpc.Credentials.createInsecure()); + grpc.credentials.createInsecure()); done(); }); after(function() { diff --git a/src/node/test/server_test.js b/src/node/test/server_test.js index 1e69d52e58..999a183b3c 100644 --- a/src/node/test/server_test.js +++ b/src/node/test/server_test.js @@ -36,7 +36,7 @@ var assert = require('assert'); var fs = require('fs'); var path = require('path'); -var grpc = require('bindings')('grpc.node'); +var grpc = require('bindings')('grpc_node'); describe('server', function() { describe('constructor', function() { diff --git a/src/node/test/surface_test.js b/src/node/test/surface_test.js index 989fe5fd65..395ea887ec 100644 --- a/src/node/test/surface_test.js +++ b/src/node/test/surface_test.js @@ -41,7 +41,7 @@ var ProtoBuf = require('protobufjs'); var grpc = require('..'); -var math_proto = ProtoBuf.loadProtoFile(__dirname + '/../examples/math.proto'); +var math_proto = ProtoBuf.loadProtoFile(__dirname + '/math/math.proto'); var mathService = math_proto.lookup('math.Math'); @@ -163,7 +163,7 @@ describe('waitForClientReady', function() { Client = surface_client.makeProtobufClientConstructor(mathService); }); beforeEach(function() { - client = new Client('localhost:' + port, grpc.Credentials.createInsecure()); + client = new Client('localhost:' + port, grpc.credentials.createInsecure()); }); after(function() { server.forceShutdown(); @@ -217,7 +217,7 @@ describe('Echo service', function() { }); var port = server.bind('localhost:0', server_insecure_creds); var Client = surface_client.makeProtobufClientConstructor(echo_service); - client = new Client('localhost:' + port, grpc.Credentials.createInsecure()); + client = new Client('localhost:' + port, grpc.credentials.createInsecure()); server.start(); }); after(function() { @@ -263,7 +263,7 @@ describe('Generic client and server', function() { server.start(); var Client = grpc.makeGenericClientConstructor(string_service_attrs); client = new Client('localhost:' + port, - grpc.Credentials.createInsecure()); + grpc.credentials.createInsecure()); }); after(function() { server.forceShutdown(); @@ -311,7 +311,7 @@ describe('Echo metadata', function() { }); var port = server.bind('localhost:0', server_insecure_creds); var Client = surface_client.makeProtobufClientConstructor(test_service); - client = new Client('localhost:' + port, grpc.Credentials.createInsecure()); + client = new Client('localhost:' + port, grpc.credentials.createInsecure()); server.start(); metadata = new grpc.Metadata(); metadata.set('key', 'value'); @@ -356,7 +356,7 @@ describe('Echo metadata', function() { call.end(); }); it('shows the correct user-agent string', function(done) { - var version = require('../package.json').version; + var version = require('../../../package.json').version; var call = client.unary({}, function(err, data) { assert.ifError(err); }, metadata); call.on('metadata', function(metadata) { @@ -437,7 +437,7 @@ describe('Other conditions', function() { }); port = server.bind('localhost:0', server_insecure_creds); Client = surface_client.makeProtobufClientConstructor(test_service); - client = new Client('localhost:' + port, grpc.Credentials.createInsecure()); + client = new Client('localhost:' + port, grpc.credentials.createInsecure()); server.start(); }); after(function() { @@ -484,7 +484,7 @@ describe('Other conditions', function() { var Client = surface_client.makeClientConstructor(test_service_attrs, 'TestService'); misbehavingClient = new Client('localhost:' + port, - grpc.Credentials.createInsecure()); + grpc.credentials.createInsecure()); }); it('should respond correctly to a unary call', function(done) { misbehavingClient.unary(badArg, function(err, data) { @@ -711,7 +711,7 @@ describe('Call propagation', function() { }); var port = server.bind('localhost:0', server_insecure_creds); Client = surface_client.makeProtobufClientConstructor(test_service); - client = new Client('localhost:' + port, grpc.Credentials.createInsecure()); + client = new Client('localhost:' + port, grpc.credentials.createInsecure()); server.start(); }); after(function() { @@ -748,7 +748,7 @@ describe('Call propagation', function() { var proxy_port = proxy.bind('localhost:0', server_insecure_creds); proxy.start(); var proxy_client = new Client('localhost:' + proxy_port, - grpc.Credentials.createInsecure()); + grpc.credentials.createInsecure()); var call = proxy_client.unary({}, function(err, value) { done(); }); @@ -771,7 +771,7 @@ describe('Call propagation', function() { var proxy_port = proxy.bind('localhost:0', server_insecure_creds); proxy.start(); var proxy_client = new Client('localhost:' + proxy_port, - grpc.Credentials.createInsecure()); + grpc.credentials.createInsecure()); var call = proxy_client.clientStream(function(err, value) { done(); }); @@ -792,7 +792,7 @@ describe('Call propagation', function() { var proxy_port = proxy.bind('localhost:0', server_insecure_creds); proxy.start(); var proxy_client = new Client('localhost:' + proxy_port, - grpc.Credentials.createInsecure()); + grpc.credentials.createInsecure()); var call = proxy_client.serverStream({}); call.on('error', function(err) { done(); @@ -813,7 +813,7 @@ describe('Call propagation', function() { var proxy_port = proxy.bind('localhost:0', server_insecure_creds); proxy.start(); var proxy_client = new Client('localhost:' + proxy_port, - grpc.Credentials.createInsecure()); + grpc.credentials.createInsecure()); var call = proxy_client.bidiStream(); call.on('error', function(err) { done(); @@ -842,7 +842,7 @@ describe('Call propagation', function() { var proxy_port = proxy.bind('localhost:0', server_insecure_creds); proxy.start(); var proxy_client = new Client('localhost:' + proxy_port, - grpc.Credentials.createInsecure()); + grpc.credentials.createInsecure()); var deadline = new Date(); deadline.setSeconds(deadline.getSeconds() + 1); proxy_client.clientStream(function(err, value) { @@ -865,7 +865,7 @@ describe('Call propagation', function() { var proxy_port = proxy.bind('localhost:0', server_insecure_creds); proxy.start(); var proxy_client = new Client('localhost:' + proxy_port, - grpc.Credentials.createInsecure()); + grpc.credentials.createInsecure()); var deadline = new Date(); deadline.setSeconds(deadline.getSeconds() + 1); var call = proxy_client.bidiStream(null, {deadline: deadline}); @@ -888,7 +888,7 @@ describe('Cancelling surface client', function() { }); var port = server.bind('localhost:0', server_insecure_creds); var Client = surface_client.makeProtobufClientConstructor(mathService); - client = new Client('localhost:' + port, grpc.Credentials.createInsecure()); + client = new Client('localhost:' + port, grpc.credentials.createInsecure()); server.start(); }); after(function() { diff --git a/src/php/ext/grpc/php_grpc.c b/src/php/ext/grpc/php_grpc.c index 0f730ea756..4ad78ea0a3 100644 --- a/src/php/ext/grpc/php_grpc.c +++ b/src/php/ext/grpc/php_grpc.c @@ -109,91 +109,120 @@ PHP_MINIT_FUNCTION(grpc) { */ /* Register call error constants */ grpc_init(); - REGISTER_LONG_CONSTANT("Grpc\\CALL_OK", GRPC_CALL_OK, CONST_CS); - REGISTER_LONG_CONSTANT("Grpc\\CALL_ERROR", GRPC_CALL_ERROR, CONST_CS); + REGISTER_LONG_CONSTANT("Grpc\\CALL_OK", GRPC_CALL_OK, + CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("Grpc\\CALL_ERROR", GRPC_CALL_ERROR, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\CALL_ERROR_NOT_ON_SERVER", - GRPC_CALL_ERROR_NOT_ON_SERVER, CONST_CS); + GRPC_CALL_ERROR_NOT_ON_SERVER, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\CALL_ERROR_NOT_ON_CLIENT", - GRPC_CALL_ERROR_NOT_ON_CLIENT, CONST_CS); + GRPC_CALL_ERROR_NOT_ON_CLIENT, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\CALL_ERROR_ALREADY_INVOKED", - GRPC_CALL_ERROR_ALREADY_INVOKED, CONST_CS); + GRPC_CALL_ERROR_ALREADY_INVOKED, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\CALL_ERROR_NOT_INVOKED", - GRPC_CALL_ERROR_NOT_INVOKED, CONST_CS); + GRPC_CALL_ERROR_NOT_INVOKED, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\CALL_ERROR_ALREADY_FINISHED", - GRPC_CALL_ERROR_ALREADY_FINISHED, CONST_CS); + GRPC_CALL_ERROR_ALREADY_FINISHED, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\CALL_ERROR_TOO_MANY_OPERATIONS", - GRPC_CALL_ERROR_TOO_MANY_OPERATIONS, CONST_CS); + GRPC_CALL_ERROR_TOO_MANY_OPERATIONS, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\CALL_ERROR_INVALID_FLAGS", - GRPC_CALL_ERROR_INVALID_FLAGS, CONST_CS); + GRPC_CALL_ERROR_INVALID_FLAGS, + CONST_CS | CONST_PERSISTENT); /* Register flag constants */ REGISTER_LONG_CONSTANT("Grpc\\WRITE_BUFFER_HINT", GRPC_WRITE_BUFFER_HINT, - CONST_CS); + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\WRITE_NO_COMPRESS", GRPC_WRITE_NO_COMPRESS, - CONST_CS); + CONST_CS | CONST_PERSISTENT); /* Register status constants */ - REGISTER_LONG_CONSTANT("Grpc\\STATUS_OK", GRPC_STATUS_OK, CONST_CS); + REGISTER_LONG_CONSTANT("Grpc\\STATUS_OK", GRPC_STATUS_OK, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_CANCELLED", GRPC_STATUS_CANCELLED, - CONST_CS); - REGISTER_LONG_CONSTANT("Grpc\\STATUS_UNKNOWN", GRPC_STATUS_UNKNOWN, CONST_CS); + CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("Grpc\\STATUS_UNKNOWN", GRPC_STATUS_UNKNOWN, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_INVALID_ARGUMENT", - GRPC_STATUS_INVALID_ARGUMENT, CONST_CS); + GRPC_STATUS_INVALID_ARGUMENT, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_DEADLINE_EXCEEDED", - GRPC_STATUS_DEADLINE_EXCEEDED, CONST_CS); + GRPC_STATUS_DEADLINE_EXCEEDED, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_NOT_FOUND", GRPC_STATUS_NOT_FOUND, - CONST_CS); + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_ALREADY_EXISTS", - GRPC_STATUS_ALREADY_EXISTS, CONST_CS); + GRPC_STATUS_ALREADY_EXISTS, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_PERMISSION_DENIED", - GRPC_STATUS_PERMISSION_DENIED, CONST_CS); + GRPC_STATUS_PERMISSION_DENIED, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_UNAUTHENTICATED", - GRPC_STATUS_UNAUTHENTICATED, CONST_CS); + GRPC_STATUS_UNAUTHENTICATED, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_RESOURCE_EXHAUSTED", - GRPC_STATUS_RESOURCE_EXHAUSTED, CONST_CS); + GRPC_STATUS_RESOURCE_EXHAUSTED, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_FAILED_PRECONDITION", - GRPC_STATUS_FAILED_PRECONDITION, CONST_CS); - REGISTER_LONG_CONSTANT("Grpc\\STATUS_ABORTED", GRPC_STATUS_ABORTED, CONST_CS); + GRPC_STATUS_FAILED_PRECONDITION, + CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("Grpc\\STATUS_ABORTED", GRPC_STATUS_ABORTED, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_OUT_OF_RANGE", GRPC_STATUS_OUT_OF_RANGE, - CONST_CS); + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_UNIMPLEMENTED", - GRPC_STATUS_UNIMPLEMENTED, CONST_CS); + GRPC_STATUS_UNIMPLEMENTED, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_INTERNAL", GRPC_STATUS_INTERNAL, - CONST_CS); + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_UNAVAILABLE", GRPC_STATUS_UNAVAILABLE, - CONST_CS); + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\STATUS_DATA_LOSS", GRPC_STATUS_DATA_LOSS, - CONST_CS); + CONST_CS | CONST_PERSISTENT); /* Register op type constants */ REGISTER_LONG_CONSTANT("Grpc\\OP_SEND_INITIAL_METADATA", - GRPC_OP_SEND_INITIAL_METADATA, CONST_CS); + GRPC_OP_SEND_INITIAL_METADATA, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\OP_SEND_MESSAGE", - GRPC_OP_SEND_MESSAGE, CONST_CS); + GRPC_OP_SEND_MESSAGE, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\OP_SEND_CLOSE_FROM_CLIENT", - GRPC_OP_SEND_CLOSE_FROM_CLIENT, CONST_CS); + GRPC_OP_SEND_CLOSE_FROM_CLIENT, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\OP_SEND_STATUS_FROM_SERVER", - GRPC_OP_SEND_STATUS_FROM_SERVER, CONST_CS); + GRPC_OP_SEND_STATUS_FROM_SERVER, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\OP_RECV_INITIAL_METADATA", - GRPC_OP_RECV_INITIAL_METADATA, CONST_CS); + GRPC_OP_RECV_INITIAL_METADATA, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\OP_RECV_MESSAGE", - GRPC_OP_RECV_MESSAGE, CONST_CS); + GRPC_OP_RECV_MESSAGE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\OP_RECV_STATUS_ON_CLIENT", - GRPC_OP_RECV_STATUS_ON_CLIENT, CONST_CS); + GRPC_OP_RECV_STATUS_ON_CLIENT, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\OP_RECV_CLOSE_ON_SERVER", - GRPC_OP_RECV_CLOSE_ON_SERVER, CONST_CS); + GRPC_OP_RECV_CLOSE_ON_SERVER, + CONST_CS | CONST_PERSISTENT); /* Register connectivity state constants */ REGISTER_LONG_CONSTANT("Grpc\\CHANNEL_IDLE", - GRPC_CHANNEL_IDLE, CONST_CS); + GRPC_CHANNEL_IDLE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\CHANNEL_CONNECTING", - GRPC_CHANNEL_CONNECTING, CONST_CS); + GRPC_CHANNEL_CONNECTING, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\CHANNEL_READY", - GRPC_CHANNEL_READY, CONST_CS); + GRPC_CHANNEL_READY, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\CHANNEL_TRANSIENT_FAILURE", - GRPC_CHANNEL_TRANSIENT_FAILURE, CONST_CS); + GRPC_CHANNEL_TRANSIENT_FAILURE, + CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("Grpc\\CHANNEL_FATAL_FAILURE", - GRPC_CHANNEL_FATAL_FAILURE, CONST_CS); + GRPC_CHANNEL_FATAL_FAILURE, + CONST_CS | CONST_PERSISTENT); grpc_init_call(TSRMLS_C); grpc_init_channel(TSRMLS_C); diff --git a/templates/grpc.gyp.template b/templates/grpc.gyp.template index 873606202a..9a7637d8bf 100644 --- a/templates/grpc.gyp.template +++ b/templates/grpc.gyp.template @@ -80,12 +80,17 @@ '-ldl', '-lpthread', '-lz' - ] + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '.', + 'include' + ], + } }, 'targets': [ % for lib in libs: - # TODO: Add C++ targets - % if lib.language == 'c': + % if lib.name == 'gpr' or lib.name == 'grpc': { 'target_name': '${lib.name}', 'product_prefix': 'lib', @@ -103,23 +108,5 @@ }, % endif % endfor - % for tgt in targets: - % if tgt.language == 'c': - { - 'target_name': '${tgt.name}', - 'type': 'executable', - 'dependencies': [ - % for dep in getattr(tgt, 'deps', []): - '${dep}', - % endfor - ], - 'sources': [ - % for source in tgt.src: - '${source}', - % endfor - ] - }, - % endif - % endfor ] } diff --git a/tools/run_tests/build_node.sh b/tools/run_tests/build_node.sh index 95ffb94c6e..faa7b624b8 100755 --- a/tools/run_tests/build_node.sh +++ b/tools/run_tests/build_node.sh @@ -36,9 +36,4 @@ CONFIG=${CONFIG:-opt} # change to grpc repo root cd $(dirname $0)/../.. -export CXXFLAGS=-I`pwd`/include -export LDFLAGS=-L`pwd`/libs/$CONFIG - -cd src/node - npm install --unsafe-perm diff --git a/tools/run_tests/run_node.sh b/tools/run_tests/run_node.sh index e322ab1995..780969089d 100755 --- a/tools/run_tests/run_node.sh +++ b/tools/run_tests/run_node.sh @@ -37,19 +37,15 @@ cd $(dirname $0)/../.. root=`pwd` -cd $root/src/node - -export LD_LIBRARY_PATH=$root/libs/$CONFIG - if [ "$CONFIG" = "gcov" ] then - ./node_modules/.bin/istanbul cover --dir ../../reports/node_coverage \ - ./node_modules/.bin/_mocha -- --timeout 8000 + ./node_modules/.bin/istanbul cover --dir reports/node_coverage \ + ./node_modules/.bin/_mocha -- --timeout 8000 src/node/test cd build gcov Release/obj.target/grpc/ext/*.o lcov --base-directory . --directory . -c -o coverage.info - genhtml -o ../../../reports/node_ext_coverage --num-spaces 2 \ + genhtml -o ../reports/node_ext_coverage --num-spaces 2 \ -t 'Node gRPC test coverage' coverage.info else - ./node_modules/mocha/bin/mocha --timeout 8000 + ./node_modules/mocha/bin/mocha --timeout 8000 src/node/test fi diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index cb366c0a15..6423ecfd7c 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -181,45 +181,6 @@ class CLanguage(object): def __str__(self): return self.make_target - -def gyp_test_paths(travis, config=None): - binaries = get_c_tests(travis, 'c') - out = [] - for target in binaries: - if config is not None and config.build_config in target['exclude_configs']: - continue - binary = 'out/Debug/%s' % target['name'] - out.append(binary) - return sorted(out) - - -class GYPCLanguage(object): - - def test_specs(self, config, travis): - return [config.job_spec([binary], [binary]) - for binary in gyp_test_paths(travis, config)] - - def pre_build_steps(self): - return [['gyp', '--depth=.', '--suffix=-gyp', 'grpc.gyp']] - - def make_targets(self): - # HACK(ctiller): force fling_client and fling_server to be built, as fling_test - # needs these - return gyp_test_paths(False) + ['fling_client', 'fling_server'] - - def build_steps(self): - return [] - - def makefile_name(self): - return 'Makefile-gyp' - - def supports_multi_config(self): - return False - - def __str__(self): - return 'gyp' - - class NodeLanguage(object): def test_specs(self, config, travis): @@ -230,7 +191,7 @@ class NodeLanguage(object): return [] def make_targets(self): - return ['static_c', 'shared_c'] + return [] def build_steps(self): return [['tools/run_tests/build_node.sh']] @@ -483,7 +444,6 @@ _DEFAULT = ['opt'] _LANGUAGES = { 'c++': CLanguage('cxx', 'c++'), 'c': CLanguage('c', 'c'), - 'gyp': GYPCLanguage(), 'node': NodeLanguage(), 'php': PhpLanguage(), 'python': PythonLanguage(), |