diff --git a/.gitignore b/.gitignore index 75a73a1e56254..0f05cc8373031 100644 --- a/.gitignore +++ b/.gitignore @@ -100,5 +100,12 @@ artifacts/ # Git generated files for conflicting *.orig +CMakeCache.txt +CMakeFiles +CMakeScripts +cmake_install.cmake +install_manifest.txt +CTestTestfile.cmake + # IDE specific folder for JetBrains IDEs .idea/ diff --git a/BUILD b/BUILD index b7044c5e68508..52fbab40e6ce4 100644 --- a/BUILD +++ b/BUILD @@ -43,94 +43,210 @@ package(default_visibility = ["//visibility:public"]) cc_library( - name = "gpr", + name = "grpc_c", srcs = [ - "src/core/lib/profiling/timers.h", - "src/core/lib/support/backoff.h", - "src/core/lib/support/block_annotate.h", - "src/core/lib/support/env.h", - "src/core/lib/support/murmur_hash.h", - "src/core/lib/support/stack_lockfree.h", - "src/core/lib/support/string.h", - "src/core/lib/support/string_windows.h", - "src/core/lib/support/thd_internal.h", - "src/core/lib/support/time_precise.h", - "src/core/lib/support/tmpfile.h", - "src/core/lib/profiling/basic_timers.c", - "src/core/lib/profiling/stap_timers.c", - "src/core/lib/support/alloc.c", - "src/core/lib/support/avl.c", - "src/core/lib/support/backoff.c", - "src/core/lib/support/cmdline.c", - "src/core/lib/support/cpu_iphone.c", - "src/core/lib/support/cpu_linux.c", - "src/core/lib/support/cpu_posix.c", - "src/core/lib/support/cpu_windows.c", - "src/core/lib/support/env_linux.c", - "src/core/lib/support/env_posix.c", - "src/core/lib/support/env_windows.c", - "src/core/lib/support/histogram.c", - "src/core/lib/support/host_port.c", - "src/core/lib/support/log.c", - "src/core/lib/support/log_android.c", - "src/core/lib/support/log_linux.c", - "src/core/lib/support/log_posix.c", - "src/core/lib/support/log_windows.c", - "src/core/lib/support/murmur_hash.c", - "src/core/lib/support/slice.c", - "src/core/lib/support/slice_buffer.c", - "src/core/lib/support/stack_lockfree.c", - "src/core/lib/support/string.c", - "src/core/lib/support/string_posix.c", - "src/core/lib/support/string_util_windows.c", - "src/core/lib/support/string_windows.c", - "src/core/lib/support/subprocess_posix.c", - "src/core/lib/support/subprocess_windows.c", - "src/core/lib/support/sync.c", - "src/core/lib/support/sync_posix.c", - "src/core/lib/support/sync_windows.c", - "src/core/lib/support/thd.c", - "src/core/lib/support/thd_posix.c", - "src/core/lib/support/thd_windows.c", - "src/core/lib/support/time.c", - "src/core/lib/support/time_posix.c", - "src/core/lib/support/time_precise.c", - "src/core/lib/support/time_windows.c", - "src/core/lib/support/tls_pthread.c", - "src/core/lib/support/tmpfile_msys.c", - "src/core/lib/support/tmpfile_posix.c", - "src/core/lib/support/tmpfile_windows.c", - "src/core/lib/support/wrap_memcpy.c", + "src/c/alloc.h", + "src/c/array.h", + "src/c/bidi_streaming_blocking_call.h", + "src/c/call_ops.h", + "src/c/client_context.h", + "src/c/client_streaming_blocking_call.h", + "src/c/completion_queue.h", + "src/c/context.h", + "src/c/init_shutdown.h", + "src/c/message.h", + "src/c/server.h", + "src/c/server_context.h", + "src/c/server_incoming_queue.h", + "src/c/server_streaming_blocking_call.h", + "src/c/unary_async_call.h", + "src/c/unary_blocking_call.h", + "src/c/alloc.c", + "src/c/array.c", + "src/c/bidi_streaming_blocking_call.c", + "src/c/call_ops.c", + "src/c/channel.c", + "src/c/client_context.c", + "src/c/client_streaming_blocking_call.c", + "src/c/completion_queue.c", + "src/c/context.c", + "src/c/init_shutdown.c", + "src/c/message.c", + "src/c/pb_compat.c", + "src/c/server.c", + "src/c/server_context.c", + "src/c/server_incoming_queue.c", + "src/c/server_streaming_blocking_call.c", + "src/c/unary_async_call.c", + "src/c/unary_blocking_call.c", ], hdrs = [ - "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_windows.h", - "include/grpc/support/avl.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_windows.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_windows.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", + "include/grpc_c/channel.h", + "include/grpc_c/client_context.h", + "include/grpc_c/codegen/bidi_streaming_blocking_call.h", + "include/grpc_c/codegen/client_streaming_blocking_call.h", + "include/grpc_c/codegen/context.h", + "include/grpc_c/codegen/message.h", + "include/grpc_c/codegen/method.h", + "include/grpc_c/codegen/pb_compat.h", + "include/grpc_c/codegen/serialization.h", + "include/grpc_c/codegen/server.h", + "include/grpc_c/codegen/server_streaming_blocking_call.h", + "include/grpc_c/codegen/unary_async_call.h", + "include/grpc_c/codegen/unary_blocking_call.h", + "include/grpc_c/completion_queue.h", + "include/grpc_c/declare_serializer.h", + "include/grpc_c/grpc_c.h", + "include/grpc_c/server.h", + "include/grpc_c/server_context.h", + "include/grpc_c/server_incoming_queue.h", + "include/grpc_c/status.h", + ], + includes = [ + "include", + ".", + ], + deps = [ + "//external:libssl", + "//external:protobuf_clib", + ":grpc", + ":gpr", + ], +) + + + +cc_library( + name = "grpc++", + srcs = [ + "include/grpc++/impl/codegen/core_codegen.h", + "src/cpp/client/secure_credentials.h", + "src/cpp/common/secure_auth_context.h", + "src/cpp/server/secure_server_credentials.h", + "src/cpp/client/create_channel_internal.h", + "src/cpp/common/channel_filter.h", + "src/cpp/server/dynamic_thread_pool.h", + "src/cpp/server/thread_pool_interface.h", + "src/cpp/client/secure_credentials.cc", + "src/cpp/common/auth_property_iterator.cc", + "src/cpp/common/secure_auth_context.cc", + "src/cpp/common/secure_channel_arguments.cc", + "src/cpp/common/secure_create_auth_context.cc", + "src/cpp/server/secure_server_credentials.cc", + "src/cpp/client/channel.cc", + "src/cpp/client/client_context.cc", + "src/cpp/client/create_channel.cc", + "src/cpp/client/create_channel_internal.cc", + "src/cpp/client/create_channel_posix.cc", + "src/cpp/client/credentials.cc", + "src/cpp/client/generic_stub.cc", + "src/cpp/client/insecure_credentials.cc", + "src/cpp/common/channel_arguments.cc", + "src/cpp/common/channel_filter.cc", + "src/cpp/common/completion_queue.cc", + "src/cpp/common/core_codegen.cc", + "src/cpp/common/rpc_method.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/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/server/server_posix.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", + "src/cpp/codegen/codegen_init.cc", + ], + hdrs = [ + "include/grpc++/alarm.h", + "include/grpc++/channel.h", + "include/grpc++/client_context.h", + "include/grpc++/completion_queue.h", + "include/grpc++/create_channel.h", + "include/grpc++/create_channel_posix.h", + "include/grpc++/generic/async_generic_service.h", + "include/grpc++/generic/generic_stub.h", + "include/grpc++/grpc++.h", + "include/grpc++/impl/call.h", + "include/grpc++/impl/client_unary_call.h", + "include/grpc++/impl/codegen/core_codegen.h", + "include/grpc++/impl/grpc_library.h", + "include/grpc++/impl/method_handler_impl.h", + "include/grpc++/impl/rpc_method.h", + "include/grpc++/impl/rpc_service_method.h", + "include/grpc++/impl/serialization_traits.h", + "include/grpc++/impl/server_builder_option.h", + "include/grpc++/impl/server_builder_plugin.h", + "include/grpc++/impl/server_initializer.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++/security/auth_context.h", + "include/grpc++/security/auth_metadata_processor.h", + "include/grpc++/security/credentials.h", + "include/grpc++/security/server_credentials.h", + "include/grpc++/server.h", + "include/grpc++/server_builder.h", + "include/grpc++/server_context.h", + "include/grpc++/server_posix.h", + "include/grpc++/support/async_stream.h", + "include/grpc++/support/async_unary_call.h", + "include/grpc++/support/byte_buffer.h", + "include/grpc++/support/channel_arguments.h", + "include/grpc++/support/config.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", + "include/grpc++/impl/codegen/async_stream.h", + "include/grpc++/impl/codegen/async_unary_call.h", + "include/grpc++/impl/codegen/call.h", + "include/grpc++/impl/codegen/call_hook.h", + "include/grpc++/impl/codegen/channel_interface.h", + "include/grpc++/impl/codegen/client_context.h", + "include/grpc++/impl/codegen/client_unary_call.h", + "include/grpc++/impl/codegen/completion_queue.h", + "include/grpc++/impl/codegen/completion_queue_tag.h", + "include/grpc++/impl/codegen/config.h", + "include/grpc++/impl/codegen/core_codegen_interface.h", + "include/grpc++/impl/codegen/create_auth_context.h", + "include/grpc++/impl/codegen/grpc_library.h", + "include/grpc++/impl/codegen/method_handler_impl.h", + "include/grpc++/impl/codegen/rpc_method.h", + "include/grpc++/impl/codegen/rpc_service_method.h", + "include/grpc++/impl/codegen/security/auth_context.h", + "include/grpc++/impl/codegen/serialization_traits.h", + "include/grpc++/impl/codegen/server_context.h", + "include/grpc++/impl/codegen/server_interface.h", + "include/grpc++/impl/codegen/service_type.h", + "include/grpc++/impl/codegen/status.h", + "include/grpc++/impl/codegen/status_code_enum.h", + "include/grpc++/impl/codegen/string_ref.h", + "include/grpc++/impl/codegen/stub_options.h", + "include/grpc++/impl/codegen/sync.h", + "include/grpc++/impl/codegen/sync_cxx11.h", + "include/grpc++/impl/codegen/sync_no_cxx11.h", + "include/grpc++/impl/codegen/sync_stream.h", + "include/grpc++/impl/codegen/time.h", + "include/grpc/impl/codegen/byte_buffer.h", + "include/grpc/impl/codegen/byte_buffer_reader.h", + "include/grpc/impl/codegen/compression_types.h", + "include/grpc/impl/codegen/connectivity_state.h", + "include/grpc/impl/codegen/grpc_types.h", + "include/grpc/impl/codegen/propagation_bits.h", + "include/grpc/impl/codegen/status.h", "include/grpc/impl/codegen/alloc.h", "include/grpc/impl/codegen/atm.h", "include/grpc/impl/codegen/atm_gcc_atomic.h", @@ -151,723 +267,207 @@ cc_library( ".", ], deps = [ + "//external:libssl", + "//external:protobuf_clib", + ":grpc", ], ) cc_library( - name = "grpc", + name = "grpc++_reflection", srcs = [ - "src/core/lib/channel/channel_args.h", - "src/core/lib/channel/channel_stack.h", - "src/core/lib/channel/channel_stack_builder.h", - "src/core/lib/channel/compress_filter.h", - "src/core/lib/channel/connected_channel.h", - "src/core/lib/channel/context.h", - "src/core/lib/channel/handshaker.h", - "src/core/lib/channel/http_client_filter.h", - "src/core/lib/channel/http_server_filter.h", - "src/core/lib/compression/algorithm_metadata.h", - "src/core/lib/compression/message_compress.h", - "src/core/lib/debug/trace.h", - "src/core/lib/http/format_request.h", - "src/core/lib/http/httpcli.h", - "src/core/lib/http/parser.h", - "src/core/lib/iomgr/closure.h", - "src/core/lib/iomgr/endpoint.h", - "src/core/lib/iomgr/endpoint_pair.h", - "src/core/lib/iomgr/error.h", - "src/core/lib/iomgr/ev_epoll_linux.h", - "src/core/lib/iomgr/ev_poll_and_epoll_posix.h", - "src/core/lib/iomgr/ev_poll_posix.h", - "src/core/lib/iomgr/ev_posix.h", - "src/core/lib/iomgr/exec_ctx.h", - "src/core/lib/iomgr/executor.h", - "src/core/lib/iomgr/iocp_windows.h", - "src/core/lib/iomgr/iomgr.h", - "src/core/lib/iomgr/iomgr_internal.h", - "src/core/lib/iomgr/iomgr_posix.h", - "src/core/lib/iomgr/load_file.h", - "src/core/lib/iomgr/network_status_tracker.h", - "src/core/lib/iomgr/polling_entity.h", - "src/core/lib/iomgr/pollset.h", - "src/core/lib/iomgr/pollset_set.h", - "src/core/lib/iomgr/pollset_set_windows.h", - "src/core/lib/iomgr/pollset_windows.h", - "src/core/lib/iomgr/resolve_address.h", - "src/core/lib/iomgr/sockaddr.h", - "src/core/lib/iomgr/sockaddr_posix.h", - "src/core/lib/iomgr/sockaddr_utils.h", - "src/core/lib/iomgr/sockaddr_windows.h", - "src/core/lib/iomgr/socket_utils_posix.h", - "src/core/lib/iomgr/socket_windows.h", - "src/core/lib/iomgr/tcp_client.h", - "src/core/lib/iomgr/tcp_posix.h", - "src/core/lib/iomgr/tcp_server.h", - "src/core/lib/iomgr/tcp_windows.h", - "src/core/lib/iomgr/time_averaged_stats.h", - "src/core/lib/iomgr/timer.h", - "src/core/lib/iomgr/timer_heap.h", - "src/core/lib/iomgr/udp_server.h", - "src/core/lib/iomgr/unix_sockets_posix.h", - "src/core/lib/iomgr/wakeup_fd_pipe.h", - "src/core/lib/iomgr/wakeup_fd_posix.h", - "src/core/lib/iomgr/workqueue.h", - "src/core/lib/iomgr/workqueue_posix.h", - "src/core/lib/iomgr/workqueue_windows.h", - "src/core/lib/json/json.h", - "src/core/lib/json/json_common.h", - "src/core/lib/json/json_reader.h", - "src/core/lib/json/json_writer.h", - "src/core/lib/surface/api_trace.h", - "src/core/lib/surface/call.h", - "src/core/lib/surface/call_test_only.h", - "src/core/lib/surface/channel.h", - "src/core/lib/surface/channel_init.h", - "src/core/lib/surface/channel_stack_type.h", - "src/core/lib/surface/completion_queue.h", - "src/core/lib/surface/event_string.h", - "src/core/lib/surface/init.h", - "src/core/lib/surface/lame_client.h", - "src/core/lib/surface/server.h", - "src/core/lib/transport/byte_stream.h", - "src/core/lib/transport/connectivity_state.h", - "src/core/lib/transport/metadata.h", - "src/core/lib/transport/metadata_batch.h", - "src/core/lib/transport/static_metadata.h", - "src/core/lib/transport/timeout_encoding.h", - "src/core/lib/transport/transport.h", - "src/core/lib/transport/transport_impl.h", - "src/core/ext/transport/chttp2/transport/bin_decoder.h", - "src/core/ext/transport/chttp2/transport/bin_encoder.h", - "src/core/ext/transport/chttp2/transport/chttp2_transport.h", - "src/core/ext/transport/chttp2/transport/frame.h", - "src/core/ext/transport/chttp2/transport/frame_data.h", - "src/core/ext/transport/chttp2/transport/frame_goaway.h", - "src/core/ext/transport/chttp2/transport/frame_ping.h", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", - "src/core/ext/transport/chttp2/transport/frame_settings.h", - "src/core/ext/transport/chttp2/transport/frame_window_update.h", - "src/core/ext/transport/chttp2/transport/hpack_encoder.h", - "src/core/ext/transport/chttp2/transport/hpack_parser.h", - "src/core/ext/transport/chttp2/transport/hpack_table.h", - "src/core/ext/transport/chttp2/transport/http2_errors.h", - "src/core/ext/transport/chttp2/transport/huffsyms.h", - "src/core/ext/transport/chttp2/transport/incoming_metadata.h", - "src/core/ext/transport/chttp2/transport/internal.h", - "src/core/ext/transport/chttp2/transport/status_conversion.h", - "src/core/ext/transport/chttp2/transport/stream_map.h", - "src/core/ext/transport/chttp2/transport/varint.h", - "src/core/ext/transport/chttp2/alpn/alpn.h", - "src/core/lib/security/context/security_context.h", - "src/core/lib/security/credentials/composite/composite_credentials.h", - "src/core/lib/security/credentials/credentials.h", - "src/core/lib/security/credentials/fake/fake_credentials.h", - "src/core/lib/security/credentials/google_default/google_default_credentials.h", - "src/core/lib/security/credentials/iam/iam_credentials.h", - "src/core/lib/security/credentials/jwt/json_token.h", - "src/core/lib/security/credentials/jwt/jwt_credentials.h", - "src/core/lib/security/credentials/jwt/jwt_verifier.h", - "src/core/lib/security/credentials/oauth2/oauth2_credentials.h", - "src/core/lib/security/credentials/plugin/plugin_credentials.h", - "src/core/lib/security/credentials/ssl/ssl_credentials.h", - "src/core/lib/security/transport/auth_filters.h", - "src/core/lib/security/transport/handshake.h", - "src/core/lib/security/transport/secure_endpoint.h", - "src/core/lib/security/transport/security_connector.h", - "src/core/lib/security/transport/tsi_error.h", - "src/core/lib/security/util/b64.h", - "src/core/lib/security/util/json_util.h", - "src/core/lib/tsi/fake_transport_security.h", - "src/core/lib/tsi/ssl_transport_security.h", - "src/core/lib/tsi/ssl_types.h", - "src/core/lib/tsi/transport_security.h", - "src/core/lib/tsi/transport_security_interface.h", - "src/core/ext/client_config/client_channel.h", - "src/core/ext/client_config/client_channel_factory.h", - "src/core/ext/client_config/client_config.h", - "src/core/ext/client_config/connector.h", - "src/core/ext/client_config/initial_connect_string.h", - "src/core/ext/client_config/lb_policy.h", - "src/core/ext/client_config/lb_policy_factory.h", - "src/core/ext/client_config/lb_policy_registry.h", - "src/core/ext/client_config/parse_address.h", - "src/core/ext/client_config/resolver.h", - "src/core/ext/client_config/resolver_factory.h", - "src/core/ext/client_config/resolver_registry.h", - "src/core/ext/client_config/subchannel.h", - "src/core/ext/client_config/subchannel_call_holder.h", - "src/core/ext/client_config/subchannel_index.h", - "src/core/ext/client_config/uri_parser.h", - "src/core/ext/lb_policy/grpclb/grpclb.h", - "src/core/ext/lb_policy/grpclb/load_balancer_api.h", - "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h", - "src/core/ext/load_reporting/load_reporting.h", - "src/core/ext/load_reporting/load_reporting_filter.h", - "src/core/ext/census/aggregation.h", - "src/core/ext/census/base_resources.h", - "src/core/ext/census/census_interface.h", - "src/core/ext/census/census_rpc_stats.h", - "src/core/ext/census/gen/census.pb.h", - "src/core/ext/census/grpc_filter.h", - "src/core/ext/census/mlog.h", - "src/core/ext/census/resource.h", - "src/core/ext/census/rpc_metric_id.h", - "src/core/lib/surface/init.c", - "src/core/lib/channel/channel_args.c", - "src/core/lib/channel/channel_stack.c", - "src/core/lib/channel/channel_stack_builder.c", - "src/core/lib/channel/compress_filter.c", - "src/core/lib/channel/connected_channel.c", - "src/core/lib/channel/handshaker.c", - "src/core/lib/channel/http_client_filter.c", - "src/core/lib/channel/http_server_filter.c", - "src/core/lib/compression/compression.c", - "src/core/lib/compression/message_compress.c", - "src/core/lib/debug/trace.c", - "src/core/lib/http/format_request.c", - "src/core/lib/http/httpcli.c", - "src/core/lib/http/parser.c", - "src/core/lib/iomgr/closure.c", - "src/core/lib/iomgr/endpoint.c", - "src/core/lib/iomgr/endpoint_pair_posix.c", - "src/core/lib/iomgr/endpoint_pair_windows.c", - "src/core/lib/iomgr/error.c", - "src/core/lib/iomgr/ev_epoll_linux.c", - "src/core/lib/iomgr/ev_poll_and_epoll_posix.c", - "src/core/lib/iomgr/ev_poll_posix.c", - "src/core/lib/iomgr/ev_posix.c", - "src/core/lib/iomgr/exec_ctx.c", - "src/core/lib/iomgr/executor.c", - "src/core/lib/iomgr/iocp_windows.c", - "src/core/lib/iomgr/iomgr.c", - "src/core/lib/iomgr/iomgr_posix.c", - "src/core/lib/iomgr/iomgr_windows.c", - "src/core/lib/iomgr/load_file.c", - "src/core/lib/iomgr/network_status_tracker.c", - "src/core/lib/iomgr/polling_entity.c", - "src/core/lib/iomgr/pollset_set_windows.c", - "src/core/lib/iomgr/pollset_windows.c", - "src/core/lib/iomgr/resolve_address_posix.c", - "src/core/lib/iomgr/resolve_address_windows.c", - "src/core/lib/iomgr/sockaddr_utils.c", - "src/core/lib/iomgr/socket_utils_common_posix.c", - "src/core/lib/iomgr/socket_utils_linux.c", - "src/core/lib/iomgr/socket_utils_posix.c", - "src/core/lib/iomgr/socket_windows.c", - "src/core/lib/iomgr/tcp_client_posix.c", - "src/core/lib/iomgr/tcp_client_windows.c", - "src/core/lib/iomgr/tcp_posix.c", - "src/core/lib/iomgr/tcp_server_posix.c", - "src/core/lib/iomgr/tcp_server_windows.c", - "src/core/lib/iomgr/tcp_windows.c", - "src/core/lib/iomgr/time_averaged_stats.c", - "src/core/lib/iomgr/timer.c", - "src/core/lib/iomgr/timer_heap.c", - "src/core/lib/iomgr/udp_server.c", - "src/core/lib/iomgr/unix_sockets_posix.c", - "src/core/lib/iomgr/unix_sockets_posix_noop.c", - "src/core/lib/iomgr/wakeup_fd_eventfd.c", - "src/core/lib/iomgr/wakeup_fd_nospecial.c", - "src/core/lib/iomgr/wakeup_fd_pipe.c", - "src/core/lib/iomgr/wakeup_fd_posix.c", - "src/core/lib/iomgr/workqueue_posix.c", - "src/core/lib/iomgr/workqueue_windows.c", - "src/core/lib/json/json.c", - "src/core/lib/json/json_reader.c", - "src/core/lib/json/json_string.c", - "src/core/lib/json/json_writer.c", - "src/core/lib/surface/alarm.c", - "src/core/lib/surface/api_trace.c", - "src/core/lib/surface/byte_buffer.c", - "src/core/lib/surface/byte_buffer_reader.c", - "src/core/lib/surface/call.c", - "src/core/lib/surface/call_details.c", - "src/core/lib/surface/call_log_batch.c", - "src/core/lib/surface/channel.c", - "src/core/lib/surface/channel_init.c", - "src/core/lib/surface/channel_ping.c", - "src/core/lib/surface/channel_stack_type.c", - "src/core/lib/surface/completion_queue.c", - "src/core/lib/surface/event_string.c", - "src/core/lib/surface/lame_client.c", - "src/core/lib/surface/metadata_array.c", - "src/core/lib/surface/server.c", - "src/core/lib/surface/validate_metadata.c", - "src/core/lib/surface/version.c", - "src/core/lib/transport/byte_stream.c", - "src/core/lib/transport/connectivity_state.c", - "src/core/lib/transport/metadata.c", - "src/core/lib/transport/metadata_batch.c", - "src/core/lib/transport/static_metadata.c", - "src/core/lib/transport/timeout_encoding.c", - "src/core/lib/transport/transport.c", - "src/core/lib/transport/transport_op_string.c", - "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c", - "src/core/ext/transport/chttp2/transport/bin_decoder.c", - "src/core/ext/transport/chttp2/transport/bin_encoder.c", - "src/core/ext/transport/chttp2/transport/chttp2_plugin.c", - "src/core/ext/transport/chttp2/transport/chttp2_transport.c", - "src/core/ext/transport/chttp2/transport/frame_data.c", - "src/core/ext/transport/chttp2/transport/frame_goaway.c", - "src/core/ext/transport/chttp2/transport/frame_ping.c", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", - "src/core/ext/transport/chttp2/transport/frame_settings.c", - "src/core/ext/transport/chttp2/transport/frame_window_update.c", - "src/core/ext/transport/chttp2/transport/hpack_encoder.c", - "src/core/ext/transport/chttp2/transport/hpack_parser.c", - "src/core/ext/transport/chttp2/transport/hpack_table.c", - "src/core/ext/transport/chttp2/transport/huffsyms.c", - "src/core/ext/transport/chttp2/transport/incoming_metadata.c", - "src/core/ext/transport/chttp2/transport/parsing.c", - "src/core/ext/transport/chttp2/transport/status_conversion.c", - "src/core/ext/transport/chttp2/transport/stream_lists.c", - "src/core/ext/transport/chttp2/transport/stream_map.c", - "src/core/ext/transport/chttp2/transport/varint.c", - "src/core/ext/transport/chttp2/transport/writing.c", - "src/core/ext/transport/chttp2/alpn/alpn.c", - "src/core/lib/http/httpcli_security_connector.c", - "src/core/lib/security/context/security_context.c", - "src/core/lib/security/credentials/composite/composite_credentials.c", - "src/core/lib/security/credentials/credentials.c", - "src/core/lib/security/credentials/credentials_metadata.c", - "src/core/lib/security/credentials/fake/fake_credentials.c", - "src/core/lib/security/credentials/google_default/credentials_posix.c", - "src/core/lib/security/credentials/google_default/credentials_windows.c", - "src/core/lib/security/credentials/google_default/google_default_credentials.c", - "src/core/lib/security/credentials/iam/iam_credentials.c", - "src/core/lib/security/credentials/jwt/json_token.c", - "src/core/lib/security/credentials/jwt/jwt_credentials.c", - "src/core/lib/security/credentials/jwt/jwt_verifier.c", - "src/core/lib/security/credentials/oauth2/oauth2_credentials.c", - "src/core/lib/security/credentials/plugin/plugin_credentials.c", - "src/core/lib/security/credentials/ssl/ssl_credentials.c", - "src/core/lib/security/transport/client_auth_filter.c", - "src/core/lib/security/transport/handshake.c", - "src/core/lib/security/transport/secure_endpoint.c", - "src/core/lib/security/transport/security_connector.c", - "src/core/lib/security/transport/server_auth_filter.c", - "src/core/lib/security/transport/tsi_error.c", - "src/core/lib/security/util/b64.c", - "src/core/lib/security/util/json_util.c", - "src/core/lib/surface/init_secure.c", - "src/core/lib/tsi/fake_transport_security.c", - "src/core/lib/tsi/ssl_transport_security.c", - "src/core/lib/tsi/transport_security.c", - "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c", - "src/core/ext/client_config/channel_connectivity.c", - "src/core/ext/client_config/client_channel.c", - "src/core/ext/client_config/client_channel_factory.c", - "src/core/ext/client_config/client_config.c", - "src/core/ext/client_config/client_config_plugin.c", - "src/core/ext/client_config/connector.c", - "src/core/ext/client_config/default_initial_connect_string.c", - "src/core/ext/client_config/initial_connect_string.c", - "src/core/ext/client_config/lb_policy.c", - "src/core/ext/client_config/lb_policy_factory.c", - "src/core/ext/client_config/lb_policy_registry.c", - "src/core/ext/client_config/parse_address.c", - "src/core/ext/client_config/resolver.c", - "src/core/ext/client_config/resolver_factory.c", - "src/core/ext/client_config/resolver_registry.c", - "src/core/ext/client_config/subchannel.c", - "src/core/ext/client_config/subchannel_call_holder.c", - "src/core/ext/client_config/subchannel_index.c", - "src/core/ext/client_config/uri_parser.c", - "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", - "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c", - "src/core/ext/transport/chttp2/client/insecure/channel_create.c", - "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c", - "src/core/ext/lb_policy/grpclb/grpclb.c", - "src/core/ext/lb_policy/grpclb/load_balancer_api.c", - "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c", - "src/core/ext/lb_policy/pick_first/pick_first.c", - "src/core/ext/lb_policy/round_robin/round_robin.c", - "src/core/ext/resolver/dns/native/dns_resolver.c", - "src/core/ext/resolver/sockaddr/sockaddr_resolver.c", - "src/core/ext/load_reporting/load_reporting.c", - "src/core/ext/load_reporting/load_reporting_filter.c", - "src/core/ext/census/base_resources.c", - "src/core/ext/census/context.c", - "src/core/ext/census/gen/census.pb.c", - "src/core/ext/census/grpc_context.c", - "src/core/ext/census/grpc_filter.c", - "src/core/ext/census/grpc_plugin.c", - "src/core/ext/census/initialize.c", - "src/core/ext/census/mlog.c", - "src/core/ext/census/operation.c", - "src/core/ext/census/placeholders.c", - "src/core/ext/census/resource.c", - "src/core/ext/census/tracing.c", - "src/core/plugin_registry/grpc_plugin_registry.c", - ], - hdrs = [ - "include/grpc/byte_buffer.h", - "include/grpc/byte_buffer_reader.h", - "include/grpc/compression.h", - "include/grpc/grpc.h", - "include/grpc/grpc_posix.h", - "include/grpc/status.h", - "include/grpc/impl/codegen/byte_buffer.h", - "include/grpc/impl/codegen/byte_buffer_reader.h", - "include/grpc/impl/codegen/compression_types.h", - "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/grpc_types.h", - "include/grpc/impl/codegen/propagation_bits.h", - "include/grpc/impl/codegen/status.h", - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_windows.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_windows.h", - "include/grpc/impl/codegen/time.h", - "include/grpc/grpc_security.h", - "include/grpc/grpc_security_constants.h", - "include/grpc/census.h", - ], - includes = [ - "include", - ".", - ], - deps = [ - "//external:libssl", - "//external:zlib", - ":gpr", - "//external:nanopb", - ], - copts = [ - "-std=gnu99", - ], -) - - - -cc_library( - name = "grpc_cronet", - srcs = [ - "src/core/lib/channel/channel_args.h", - "src/core/lib/channel/channel_stack.h", - "src/core/lib/channel/channel_stack_builder.h", - "src/core/lib/channel/compress_filter.h", - "src/core/lib/channel/connected_channel.h", - "src/core/lib/channel/context.h", - "src/core/lib/channel/handshaker.h", - "src/core/lib/channel/http_client_filter.h", - "src/core/lib/channel/http_server_filter.h", - "src/core/lib/compression/algorithm_metadata.h", - "src/core/lib/compression/message_compress.h", - "src/core/lib/debug/trace.h", - "src/core/lib/http/format_request.h", - "src/core/lib/http/httpcli.h", - "src/core/lib/http/parser.h", - "src/core/lib/iomgr/closure.h", - "src/core/lib/iomgr/endpoint.h", - "src/core/lib/iomgr/endpoint_pair.h", - "src/core/lib/iomgr/error.h", - "src/core/lib/iomgr/ev_epoll_linux.h", - "src/core/lib/iomgr/ev_poll_and_epoll_posix.h", - "src/core/lib/iomgr/ev_poll_posix.h", - "src/core/lib/iomgr/ev_posix.h", - "src/core/lib/iomgr/exec_ctx.h", - "src/core/lib/iomgr/executor.h", - "src/core/lib/iomgr/iocp_windows.h", - "src/core/lib/iomgr/iomgr.h", - "src/core/lib/iomgr/iomgr_internal.h", - "src/core/lib/iomgr/iomgr_posix.h", - "src/core/lib/iomgr/load_file.h", - "src/core/lib/iomgr/network_status_tracker.h", - "src/core/lib/iomgr/polling_entity.h", - "src/core/lib/iomgr/pollset.h", - "src/core/lib/iomgr/pollset_set.h", - "src/core/lib/iomgr/pollset_set_windows.h", - "src/core/lib/iomgr/pollset_windows.h", - "src/core/lib/iomgr/resolve_address.h", - "src/core/lib/iomgr/sockaddr.h", - "src/core/lib/iomgr/sockaddr_posix.h", - "src/core/lib/iomgr/sockaddr_utils.h", - "src/core/lib/iomgr/sockaddr_windows.h", - "src/core/lib/iomgr/socket_utils_posix.h", - "src/core/lib/iomgr/socket_windows.h", - "src/core/lib/iomgr/tcp_client.h", - "src/core/lib/iomgr/tcp_posix.h", - "src/core/lib/iomgr/tcp_server.h", - "src/core/lib/iomgr/tcp_windows.h", - "src/core/lib/iomgr/time_averaged_stats.h", - "src/core/lib/iomgr/timer.h", - "src/core/lib/iomgr/timer_heap.h", - "src/core/lib/iomgr/udp_server.h", - "src/core/lib/iomgr/unix_sockets_posix.h", - "src/core/lib/iomgr/wakeup_fd_pipe.h", - "src/core/lib/iomgr/wakeup_fd_posix.h", - "src/core/lib/iomgr/workqueue.h", - "src/core/lib/iomgr/workqueue_posix.h", - "src/core/lib/iomgr/workqueue_windows.h", - "src/core/lib/json/json.h", - "src/core/lib/json/json_common.h", - "src/core/lib/json/json_reader.h", - "src/core/lib/json/json_writer.h", - "src/core/lib/surface/api_trace.h", - "src/core/lib/surface/call.h", - "src/core/lib/surface/call_test_only.h", - "src/core/lib/surface/channel.h", - "src/core/lib/surface/channel_init.h", - "src/core/lib/surface/channel_stack_type.h", - "src/core/lib/surface/completion_queue.h", - "src/core/lib/surface/event_string.h", - "src/core/lib/surface/init.h", - "src/core/lib/surface/lame_client.h", - "src/core/lib/surface/server.h", - "src/core/lib/transport/byte_stream.h", - "src/core/lib/transport/connectivity_state.h", - "src/core/lib/transport/metadata.h", - "src/core/lib/transport/metadata_batch.h", - "src/core/lib/transport/static_metadata.h", - "src/core/lib/transport/timeout_encoding.h", - "src/core/lib/transport/transport.h", - "src/core/lib/transport/transport_impl.h", - "third_party/objective_c/Cronet/cronet_c_for_grpc.h", - "src/core/ext/transport/chttp2/transport/bin_decoder.h", - "src/core/ext/transport/chttp2/transport/bin_encoder.h", - "src/core/ext/transport/chttp2/transport/chttp2_transport.h", - "src/core/ext/transport/chttp2/transport/frame.h", - "src/core/ext/transport/chttp2/transport/frame_data.h", - "src/core/ext/transport/chttp2/transport/frame_goaway.h", - "src/core/ext/transport/chttp2/transport/frame_ping.h", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", - "src/core/ext/transport/chttp2/transport/frame_settings.h", - "src/core/ext/transport/chttp2/transport/frame_window_update.h", - "src/core/ext/transport/chttp2/transport/hpack_encoder.h", - "src/core/ext/transport/chttp2/transport/hpack_parser.h", - "src/core/ext/transport/chttp2/transport/hpack_table.h", - "src/core/ext/transport/chttp2/transport/http2_errors.h", - "src/core/ext/transport/chttp2/transport/huffsyms.h", - "src/core/ext/transport/chttp2/transport/incoming_metadata.h", - "src/core/ext/transport/chttp2/transport/internal.h", - "src/core/ext/transport/chttp2/transport/status_conversion.h", - "src/core/ext/transport/chttp2/transport/stream_map.h", - "src/core/ext/transport/chttp2/transport/varint.h", - "src/core/ext/transport/chttp2/alpn/alpn.h", - "src/core/ext/client_config/client_channel.h", - "src/core/ext/client_config/client_channel_factory.h", - "src/core/ext/client_config/client_config.h", - "src/core/ext/client_config/connector.h", - "src/core/ext/client_config/initial_connect_string.h", - "src/core/ext/client_config/lb_policy.h", - "src/core/ext/client_config/lb_policy_factory.h", - "src/core/ext/client_config/lb_policy_registry.h", - "src/core/ext/client_config/parse_address.h", - "src/core/ext/client_config/resolver.h", - "src/core/ext/client_config/resolver_factory.h", - "src/core/ext/client_config/resolver_registry.h", - "src/core/ext/client_config/subchannel.h", - "src/core/ext/client_config/subchannel_call_holder.h", - "src/core/ext/client_config/subchannel_index.h", - "src/core/ext/client_config/uri_parser.h", - "src/core/lib/security/context/security_context.h", - "src/core/lib/security/credentials/composite/composite_credentials.h", - "src/core/lib/security/credentials/credentials.h", - "src/core/lib/security/credentials/fake/fake_credentials.h", - "src/core/lib/security/credentials/google_default/google_default_credentials.h", - "src/core/lib/security/credentials/iam/iam_credentials.h", - "src/core/lib/security/credentials/jwt/json_token.h", - "src/core/lib/security/credentials/jwt/jwt_credentials.h", - "src/core/lib/security/credentials/jwt/jwt_verifier.h", - "src/core/lib/security/credentials/oauth2/oauth2_credentials.h", - "src/core/lib/security/credentials/plugin/plugin_credentials.h", - "src/core/lib/security/credentials/ssl/ssl_credentials.h", - "src/core/lib/security/transport/auth_filters.h", - "src/core/lib/security/transport/handshake.h", - "src/core/lib/security/transport/secure_endpoint.h", - "src/core/lib/security/transport/security_connector.h", - "src/core/lib/security/transport/tsi_error.h", - "src/core/lib/security/util/b64.h", - "src/core/lib/security/util/json_util.h", - "src/core/lib/tsi/fake_transport_security.h", - "src/core/lib/tsi/ssl_transport_security.h", - "src/core/lib/tsi/ssl_types.h", - "src/core/lib/tsi/transport_security.h", - "src/core/lib/tsi/transport_security_interface.h", - "src/core/lib/surface/init.c", - "src/core/lib/channel/channel_args.c", - "src/core/lib/channel/channel_stack.c", - "src/core/lib/channel/channel_stack_builder.c", - "src/core/lib/channel/compress_filter.c", - "src/core/lib/channel/connected_channel.c", - "src/core/lib/channel/handshaker.c", - "src/core/lib/channel/http_client_filter.c", - "src/core/lib/channel/http_server_filter.c", - "src/core/lib/compression/compression.c", - "src/core/lib/compression/message_compress.c", - "src/core/lib/debug/trace.c", - "src/core/lib/http/format_request.c", - "src/core/lib/http/httpcli.c", - "src/core/lib/http/parser.c", - "src/core/lib/iomgr/closure.c", - "src/core/lib/iomgr/endpoint.c", - "src/core/lib/iomgr/endpoint_pair_posix.c", - "src/core/lib/iomgr/endpoint_pair_windows.c", - "src/core/lib/iomgr/error.c", - "src/core/lib/iomgr/ev_epoll_linux.c", - "src/core/lib/iomgr/ev_poll_and_epoll_posix.c", - "src/core/lib/iomgr/ev_poll_posix.c", - "src/core/lib/iomgr/ev_posix.c", - "src/core/lib/iomgr/exec_ctx.c", - "src/core/lib/iomgr/executor.c", - "src/core/lib/iomgr/iocp_windows.c", - "src/core/lib/iomgr/iomgr.c", - "src/core/lib/iomgr/iomgr_posix.c", - "src/core/lib/iomgr/iomgr_windows.c", - "src/core/lib/iomgr/load_file.c", - "src/core/lib/iomgr/network_status_tracker.c", - "src/core/lib/iomgr/polling_entity.c", - "src/core/lib/iomgr/pollset_set_windows.c", - "src/core/lib/iomgr/pollset_windows.c", - "src/core/lib/iomgr/resolve_address_posix.c", - "src/core/lib/iomgr/resolve_address_windows.c", - "src/core/lib/iomgr/sockaddr_utils.c", - "src/core/lib/iomgr/socket_utils_common_posix.c", - "src/core/lib/iomgr/socket_utils_linux.c", - "src/core/lib/iomgr/socket_utils_posix.c", - "src/core/lib/iomgr/socket_windows.c", - "src/core/lib/iomgr/tcp_client_posix.c", - "src/core/lib/iomgr/tcp_client_windows.c", - "src/core/lib/iomgr/tcp_posix.c", - "src/core/lib/iomgr/tcp_server_posix.c", - "src/core/lib/iomgr/tcp_server_windows.c", - "src/core/lib/iomgr/tcp_windows.c", - "src/core/lib/iomgr/time_averaged_stats.c", - "src/core/lib/iomgr/timer.c", - "src/core/lib/iomgr/timer_heap.c", - "src/core/lib/iomgr/udp_server.c", - "src/core/lib/iomgr/unix_sockets_posix.c", - "src/core/lib/iomgr/unix_sockets_posix_noop.c", - "src/core/lib/iomgr/wakeup_fd_eventfd.c", - "src/core/lib/iomgr/wakeup_fd_nospecial.c", - "src/core/lib/iomgr/wakeup_fd_pipe.c", - "src/core/lib/iomgr/wakeup_fd_posix.c", - "src/core/lib/iomgr/workqueue_posix.c", - "src/core/lib/iomgr/workqueue_windows.c", - "src/core/lib/json/json.c", - "src/core/lib/json/json_reader.c", - "src/core/lib/json/json_string.c", - "src/core/lib/json/json_writer.c", - "src/core/lib/surface/alarm.c", - "src/core/lib/surface/api_trace.c", - "src/core/lib/surface/byte_buffer.c", - "src/core/lib/surface/byte_buffer_reader.c", - "src/core/lib/surface/call.c", - "src/core/lib/surface/call_details.c", - "src/core/lib/surface/call_log_batch.c", - "src/core/lib/surface/channel.c", - "src/core/lib/surface/channel_init.c", - "src/core/lib/surface/channel_ping.c", - "src/core/lib/surface/channel_stack_type.c", - "src/core/lib/surface/completion_queue.c", - "src/core/lib/surface/event_string.c", - "src/core/lib/surface/lame_client.c", - "src/core/lib/surface/metadata_array.c", - "src/core/lib/surface/server.c", - "src/core/lib/surface/validate_metadata.c", - "src/core/lib/surface/version.c", - "src/core/lib/transport/byte_stream.c", - "src/core/lib/transport/connectivity_state.c", - "src/core/lib/transport/metadata.c", - "src/core/lib/transport/metadata_batch.c", - "src/core/lib/transport/static_metadata.c", - "src/core/lib/transport/timeout_encoding.c", - "src/core/lib/transport/transport.c", - "src/core/lib/transport/transport_op_string.c", - "src/core/ext/transport/cronet/client/secure/cronet_channel_create.c", - "src/core/ext/transport/cronet/transport/cronet_api_dummy.c", - "src/core/ext/transport/cronet/transport/cronet_transport.c", - "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c", - "src/core/ext/transport/chttp2/transport/bin_decoder.c", - "src/core/ext/transport/chttp2/transport/bin_encoder.c", - "src/core/ext/transport/chttp2/transport/chttp2_plugin.c", - "src/core/ext/transport/chttp2/transport/chttp2_transport.c", - "src/core/ext/transport/chttp2/transport/frame_data.c", - "src/core/ext/transport/chttp2/transport/frame_goaway.c", - "src/core/ext/transport/chttp2/transport/frame_ping.c", - "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", - "src/core/ext/transport/chttp2/transport/frame_settings.c", - "src/core/ext/transport/chttp2/transport/frame_window_update.c", - "src/core/ext/transport/chttp2/transport/hpack_encoder.c", - "src/core/ext/transport/chttp2/transport/hpack_parser.c", - "src/core/ext/transport/chttp2/transport/hpack_table.c", - "src/core/ext/transport/chttp2/transport/huffsyms.c", - "src/core/ext/transport/chttp2/transport/incoming_metadata.c", - "src/core/ext/transport/chttp2/transport/parsing.c", - "src/core/ext/transport/chttp2/transport/status_conversion.c", - "src/core/ext/transport/chttp2/transport/stream_lists.c", - "src/core/ext/transport/chttp2/transport/stream_map.c", - "src/core/ext/transport/chttp2/transport/varint.c", - "src/core/ext/transport/chttp2/transport/writing.c", - "src/core/ext/transport/chttp2/alpn/alpn.c", - "src/core/ext/client_config/channel_connectivity.c", - "src/core/ext/client_config/client_channel.c", - "src/core/ext/client_config/client_channel_factory.c", - "src/core/ext/client_config/client_config.c", - "src/core/ext/client_config/client_config_plugin.c", - "src/core/ext/client_config/connector.c", - "src/core/ext/client_config/default_initial_connect_string.c", - "src/core/ext/client_config/initial_connect_string.c", - "src/core/ext/client_config/lb_policy.c", - "src/core/ext/client_config/lb_policy_factory.c", - "src/core/ext/client_config/lb_policy_registry.c", - "src/core/ext/client_config/parse_address.c", - "src/core/ext/client_config/resolver.c", - "src/core/ext/client_config/resolver_factory.c", - "src/core/ext/client_config/resolver_registry.c", - "src/core/ext/client_config/subchannel.c", - "src/core/ext/client_config/subchannel_call_holder.c", - "src/core/ext/client_config/subchannel_index.c", - "src/core/ext/client_config/uri_parser.c", - "src/core/lib/http/httpcli_security_connector.c", - "src/core/lib/security/context/security_context.c", - "src/core/lib/security/credentials/composite/composite_credentials.c", - "src/core/lib/security/credentials/credentials.c", - "src/core/lib/security/credentials/credentials_metadata.c", - "src/core/lib/security/credentials/fake/fake_credentials.c", - "src/core/lib/security/credentials/google_default/credentials_posix.c", - "src/core/lib/security/credentials/google_default/credentials_windows.c", - "src/core/lib/security/credentials/google_default/google_default_credentials.c", - "src/core/lib/security/credentials/iam/iam_credentials.c", - "src/core/lib/security/credentials/jwt/json_token.c", - "src/core/lib/security/credentials/jwt/jwt_credentials.c", - "src/core/lib/security/credentials/jwt/jwt_verifier.c", - "src/core/lib/security/credentials/oauth2/oauth2_credentials.c", - "src/core/lib/security/credentials/plugin/plugin_credentials.c", - "src/core/lib/security/credentials/ssl/ssl_credentials.c", - "src/core/lib/security/transport/client_auth_filter.c", - "src/core/lib/security/transport/handshake.c", - "src/core/lib/security/transport/secure_endpoint.c", - "src/core/lib/security/transport/security_connector.c", - "src/core/lib/security/transport/server_auth_filter.c", - "src/core/lib/security/transport/tsi_error.c", - "src/core/lib/security/util/b64.c", - "src/core/lib/security/util/json_util.c", - "src/core/lib/surface/init_secure.c", - "src/core/lib/tsi/fake_transport_security.c", - "src/core/lib/tsi/ssl_transport_security.c", - "src/core/lib/tsi/transport_security.c", - "src/core/plugin_registry/grpc_cronet_plugin_registry.c", + "src/cpp/ext/proto_server_reflection.h", + "src/cpp/ext/proto_server_reflection.cc", + "src/cpp/ext/proto_server_reflection_plugin.cc", + "src/cpp/ext/reflection.grpc.pb.cc", + "src/cpp/ext/reflection.pb.cc", ], hdrs = [ - "include/grpc/byte_buffer.h", - "include/grpc/byte_buffer_reader.h", - "include/grpc/compression.h", - "include/grpc/grpc.h", - "include/grpc/grpc_posix.h", - "include/grpc/status.h", + "include/grpc++/ext/proto_server_reflection_plugin.h", + "include/grpc++/ext/reflection.grpc.pb.h", + "include/grpc++/ext/reflection.pb.h", + "include/grpc++/impl/codegen/proto_utils.h", + "include/grpc++/impl/codegen/async_stream.h", + "include/grpc++/impl/codegen/async_unary_call.h", + "include/grpc++/impl/codegen/call.h", + "include/grpc++/impl/codegen/call_hook.h", + "include/grpc++/impl/codegen/channel_interface.h", + "include/grpc++/impl/codegen/client_context.h", + "include/grpc++/impl/codegen/client_unary_call.h", + "include/grpc++/impl/codegen/completion_queue.h", + "include/grpc++/impl/codegen/completion_queue_tag.h", + "include/grpc++/impl/codegen/config.h", + "include/grpc++/impl/codegen/core_codegen_interface.h", + "include/grpc++/impl/codegen/create_auth_context.h", + "include/grpc++/impl/codegen/grpc_library.h", + "include/grpc++/impl/codegen/method_handler_impl.h", + "include/grpc++/impl/codegen/rpc_method.h", + "include/grpc++/impl/codegen/rpc_service_method.h", + "include/grpc++/impl/codegen/security/auth_context.h", + "include/grpc++/impl/codegen/serialization_traits.h", + "include/grpc++/impl/codegen/server_context.h", + "include/grpc++/impl/codegen/server_interface.h", + "include/grpc++/impl/codegen/service_type.h", + "include/grpc++/impl/codegen/status.h", + "include/grpc++/impl/codegen/status_code_enum.h", + "include/grpc++/impl/codegen/string_ref.h", + "include/grpc++/impl/codegen/stub_options.h", + "include/grpc++/impl/codegen/sync.h", + "include/grpc++/impl/codegen/sync_cxx11.h", + "include/grpc++/impl/codegen/sync_no_cxx11.h", + "include/grpc++/impl/codegen/sync_stream.h", + "include/grpc++/impl/codegen/time.h", + "include/grpc/impl/codegen/byte_buffer.h", + "include/grpc/impl/codegen/byte_buffer_reader.h", + "include/grpc/impl/codegen/compression_types.h", + "include/grpc/impl/codegen/connectivity_state.h", + "include/grpc/impl/codegen/grpc_types.h", + "include/grpc/impl/codegen/propagation_bits.h", + "include/grpc/impl/codegen/status.h", + "include/grpc/impl/codegen/alloc.h", + "include/grpc/impl/codegen/atm.h", + "include/grpc/impl/codegen/atm_gcc_atomic.h", + "include/grpc/impl/codegen/atm_gcc_sync.h", + "include/grpc/impl/codegen/atm_windows.h", + "include/grpc/impl/codegen/log.h", + "include/grpc/impl/codegen/port_platform.h", + "include/grpc/impl/codegen/slice.h", + "include/grpc/impl/codegen/slice_buffer.h", + "include/grpc/impl/codegen/sync.h", + "include/grpc/impl/codegen/sync_generic.h", + "include/grpc/impl/codegen/sync_posix.h", + "include/grpc/impl/codegen/sync_windows.h", + "include/grpc/impl/codegen/time.h", + "include/grpc++/impl/codegen/config_protobuf.h", + ], + includes = [ + "include", + ".", + ], + deps = [ + ":grpc++", + ], +) + + + +cc_library( + name = "grpc++_unsecure", + srcs = [ + "src/cpp/client/create_channel_internal.h", + "src/cpp/common/channel_filter.h", + "src/cpp/server/dynamic_thread_pool.h", + "src/cpp/server/thread_pool_interface.h", + "src/cpp/common/insecure_create_auth_context.cc", + "src/cpp/client/channel.cc", + "src/cpp/client/client_context.cc", + "src/cpp/client/create_channel.cc", + "src/cpp/client/create_channel_internal.cc", + "src/cpp/client/create_channel_posix.cc", + "src/cpp/client/credentials.cc", + "src/cpp/client/generic_stub.cc", + "src/cpp/client/insecure_credentials.cc", + "src/cpp/common/channel_arguments.cc", + "src/cpp/common/channel_filter.cc", + "src/cpp/common/completion_queue.cc", + "src/cpp/common/core_codegen.cc", + "src/cpp/common/rpc_method.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/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/server/server_posix.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", + "src/cpp/codegen/codegen_init.cc", + ], + hdrs = [ + "include/grpc++/alarm.h", + "include/grpc++/channel.h", + "include/grpc++/client_context.h", + "include/grpc++/completion_queue.h", + "include/grpc++/create_channel.h", + "include/grpc++/create_channel_posix.h", + "include/grpc++/generic/async_generic_service.h", + "include/grpc++/generic/generic_stub.h", + "include/grpc++/grpc++.h", + "include/grpc++/impl/call.h", + "include/grpc++/impl/client_unary_call.h", + "include/grpc++/impl/codegen/core_codegen.h", + "include/grpc++/impl/grpc_library.h", + "include/grpc++/impl/method_handler_impl.h", + "include/grpc++/impl/rpc_method.h", + "include/grpc++/impl/rpc_service_method.h", + "include/grpc++/impl/serialization_traits.h", + "include/grpc++/impl/server_builder_option.h", + "include/grpc++/impl/server_builder_plugin.h", + "include/grpc++/impl/server_initializer.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++/security/auth_context.h", + "include/grpc++/security/auth_metadata_processor.h", + "include/grpc++/security/credentials.h", + "include/grpc++/security/server_credentials.h", + "include/grpc++/server.h", + "include/grpc++/server_builder.h", + "include/grpc++/server_context.h", + "include/grpc++/server_posix.h", + "include/grpc++/support/async_stream.h", + "include/grpc++/support/async_unary_call.h", + "include/grpc++/support/byte_buffer.h", + "include/grpc++/support/channel_arguments.h", + "include/grpc++/support/config.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", + "include/grpc++/impl/codegen/async_stream.h", + "include/grpc++/impl/codegen/async_unary_call.h", + "include/grpc++/impl/codegen/call.h", + "include/grpc++/impl/codegen/call_hook.h", + "include/grpc++/impl/codegen/channel_interface.h", + "include/grpc++/impl/codegen/client_context.h", + "include/grpc++/impl/codegen/client_unary_call.h", + "include/grpc++/impl/codegen/completion_queue.h", + "include/grpc++/impl/codegen/completion_queue_tag.h", + "include/grpc++/impl/codegen/config.h", + "include/grpc++/impl/codegen/core_codegen_interface.h", + "include/grpc++/impl/codegen/create_auth_context.h", + "include/grpc++/impl/codegen/grpc_library.h", + "include/grpc++/impl/codegen/method_handler_impl.h", + "include/grpc++/impl/codegen/rpc_method.h", + "include/grpc++/impl/codegen/rpc_service_method.h", + "include/grpc++/impl/codegen/security/auth_context.h", + "include/grpc++/impl/codegen/serialization_traits.h", + "include/grpc++/impl/codegen/server_context.h", + "include/grpc++/impl/codegen/server_interface.h", + "include/grpc++/impl/codegen/service_type.h", + "include/grpc++/impl/codegen/status.h", + "include/grpc++/impl/codegen/status_code_enum.h", + "include/grpc++/impl/codegen/string_ref.h", + "include/grpc++/impl/codegen/stub_options.h", + "include/grpc++/impl/codegen/sync.h", + "include/grpc++/impl/codegen/sync_cxx11.h", + "include/grpc++/impl/codegen/sync_no_cxx11.h", + "include/grpc++/impl/codegen/sync_stream.h", + "include/grpc++/impl/codegen/time.h", "include/grpc/impl/codegen/byte_buffer.h", "include/grpc/impl/codegen/byte_buffer_reader.h", "include/grpc/impl/codegen/compression_types.h", @@ -889,24 +489,179 @@ cc_library( "include/grpc/impl/codegen/sync_posix.h", "include/grpc/impl/codegen/sync_windows.h", "include/grpc/impl/codegen/time.h", - "include/grpc/grpc_cronet.h", - "include/grpc/grpc_security.h", - "include/grpc/grpc_security_constants.h", ], includes = [ "include", ".", ], deps = [ - "//external:libssl", + "//external:protobuf_clib", ":gpr", + ":grpc_unsecure", + ":grpc", ], ) cc_library( - name = "grpc_unsecure", + name = "grpc_plugin_support", + srcs = [ + "src/compiler/c_generator.h", + "src/compiler/c_generator_helpers.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/node_generator.h", + "src/compiler/node_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/compiler/c_generator.cc", + "src/compiler/cpp_generator.cc", + "src/compiler/csharp_generator.cc", + "src/compiler/node_generator.cc", + "src/compiler/objective_c_generator.cc", + "src/compiler/python_generator.cc", + "src/compiler/ruby_generator.cc", + ], + hdrs = [ + "include/grpc++/impl/codegen/config_protobuf.h", + ], + includes = [ + "include", + ".", + ], + deps = [ + "//external:protobuf_compiler", + ], +) + + + +cc_library( + name = "gpr", + srcs = [ + "src/core/lib/profiling/timers.h", + "src/core/lib/support/backoff.h", + "src/core/lib/support/block_annotate.h", + "src/core/lib/support/env.h", + "src/core/lib/support/murmur_hash.h", + "src/core/lib/support/stack_lockfree.h", + "src/core/lib/support/string.h", + "src/core/lib/support/string_windows.h", + "src/core/lib/support/thd_internal.h", + "src/core/lib/support/time_precise.h", + "src/core/lib/support/tmpfile.h", + "src/core/lib/profiling/basic_timers.c", + "src/core/lib/profiling/stap_timers.c", + "src/core/lib/support/alloc.c", + "src/core/lib/support/avl.c", + "src/core/lib/support/backoff.c", + "src/core/lib/support/cmdline.c", + "src/core/lib/support/cpu_iphone.c", + "src/core/lib/support/cpu_linux.c", + "src/core/lib/support/cpu_posix.c", + "src/core/lib/support/cpu_windows.c", + "src/core/lib/support/env_linux.c", + "src/core/lib/support/env_posix.c", + "src/core/lib/support/env_windows.c", + "src/core/lib/support/histogram.c", + "src/core/lib/support/host_port.c", + "src/core/lib/support/log.c", + "src/core/lib/support/log_android.c", + "src/core/lib/support/log_linux.c", + "src/core/lib/support/log_posix.c", + "src/core/lib/support/log_windows.c", + "src/core/lib/support/murmur_hash.c", + "src/core/lib/support/slice.c", + "src/core/lib/support/slice_buffer.c", + "src/core/lib/support/stack_lockfree.c", + "src/core/lib/support/string.c", + "src/core/lib/support/string_posix.c", + "src/core/lib/support/string_util_windows.c", + "src/core/lib/support/string_windows.c", + "src/core/lib/support/subprocess_posix.c", + "src/core/lib/support/subprocess_windows.c", + "src/core/lib/support/sync.c", + "src/core/lib/support/sync_posix.c", + "src/core/lib/support/sync_windows.c", + "src/core/lib/support/thd.c", + "src/core/lib/support/thd_posix.c", + "src/core/lib/support/thd_windows.c", + "src/core/lib/support/time.c", + "src/core/lib/support/time_posix.c", + "src/core/lib/support/time_precise.c", + "src/core/lib/support/time_windows.c", + "src/core/lib/support/tls_pthread.c", + "src/core/lib/support/tmpfile_msys.c", + "src/core/lib/support/tmpfile_posix.c", + "src/core/lib/support/tmpfile_windows.c", + "src/core/lib/support/wrap_memcpy.c", + ], + hdrs = [ + "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_windows.h", + "include/grpc/support/avl.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_windows.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_windows.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", + "include/grpc/impl/codegen/alloc.h", + "include/grpc/impl/codegen/atm.h", + "include/grpc/impl/codegen/atm_gcc_atomic.h", + "include/grpc/impl/codegen/atm_gcc_sync.h", + "include/grpc/impl/codegen/atm_windows.h", + "include/grpc/impl/codegen/log.h", + "include/grpc/impl/codegen/port_platform.h", + "include/grpc/impl/codegen/slice.h", + "include/grpc/impl/codegen/slice_buffer.h", + "include/grpc/impl/codegen/sync.h", + "include/grpc/impl/codegen/sync_generic.h", + "include/grpc/impl/codegen/sync_posix.h", + "include/grpc/impl/codegen/sync_windows.h", + "include/grpc/impl/codegen/time.h", + ], + includes = [ + "include", + ".", + ], + deps = [ + ], +) + + + +cc_library( + name = "grpc", srcs = [ "src/core/lib/channel/channel_args.h", "src/core/lib/channel/channel_stack.h", @@ -1009,6 +764,30 @@ cc_library( "src/core/ext/transport/chttp2/transport/stream_map.h", "src/core/ext/transport/chttp2/transport/varint.h", "src/core/ext/transport/chttp2/alpn/alpn.h", + "src/core/lib/security/context/security_context.h", + "src/core/lib/security/credentials/composite/composite_credentials.h", + "src/core/lib/security/credentials/credentials.h", + "src/core/lib/security/credentials/fake/fake_credentials.h", + "src/core/lib/security/credentials/google_default/google_default_credentials.h", + "src/core/lib/security/credentials/iam/iam_credentials.h", + "src/core/lib/security/credentials/jwt/json_token.h", + "src/core/lib/security/credentials/jwt/jwt_credentials.h", + "src/core/lib/security/credentials/jwt/jwt_verifier.h", + "src/core/lib/security/credentials/oauth2/oauth2_credentials.h", + "src/core/lib/security/credentials/plugin/plugin_credentials.h", + "src/core/lib/security/credentials/ssl/ssl_credentials.h", + "src/core/lib/security/transport/auth_filters.h", + "src/core/lib/security/transport/handshake.h", + "src/core/lib/security/transport/secure_endpoint.h", + "src/core/lib/security/transport/security_connector.h", + "src/core/lib/security/transport/tsi_error.h", + "src/core/lib/security/util/b64.h", + "src/core/lib/security/util/json_util.h", + "src/core/lib/tsi/fake_transport_security.h", + "src/core/lib/tsi/ssl_transport_security.h", + "src/core/lib/tsi/ssl_types.h", + "src/core/lib/tsi/transport_security.h", + "src/core/lib/tsi/transport_security_interface.h", "src/core/ext/client_config/client_channel.h", "src/core/ext/client_config/client_channel_factory.h", "src/core/ext/client_config/client_config.h", @@ -1025,11 +804,11 @@ cc_library( "src/core/ext/client_config/subchannel_call_holder.h", "src/core/ext/client_config/subchannel_index.h", "src/core/ext/client_config/uri_parser.h", - "src/core/ext/load_reporting/load_reporting.h", - "src/core/ext/load_reporting/load_reporting_filter.h", "src/core/ext/lb_policy/grpclb/grpclb.h", "src/core/ext/lb_policy/grpclb/load_balancer_api.h", "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h", + "src/core/ext/load_reporting/load_reporting.h", + "src/core/ext/load_reporting/load_reporting_filter.h", "src/core/ext/census/aggregation.h", "src/core/ext/census/base_resources.h", "src/core/ext/census/census_interface.h", @@ -1040,7 +819,6 @@ cc_library( "src/core/ext/census/resource.h", "src/core/ext/census/rpc_metric_id.h", "src/core/lib/surface/init.c", - "src/core/lib/surface/init_unsecure.c", "src/core/lib/channel/channel_args.c", "src/core/lib/channel/channel_stack.c", "src/core/lib/channel/channel_stack_builder.c", @@ -1130,8 +908,7 @@ cc_library( "src/core/lib/transport/timeout_encoding.c", "src/core/lib/transport/transport.c", "src/core/lib/transport/transport_op_string.c", - "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", - "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c", + "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c", "src/core/ext/transport/chttp2/transport/bin_decoder.c", "src/core/ext/transport/chttp2/transport/bin_encoder.c", "src/core/ext/transport/chttp2/transport/chttp2_plugin.c", @@ -1154,8 +931,35 @@ cc_library( "src/core/ext/transport/chttp2/transport/varint.c", "src/core/ext/transport/chttp2/transport/writing.c", "src/core/ext/transport/chttp2/alpn/alpn.c", - "src/core/ext/transport/chttp2/client/insecure/channel_create.c", - "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c", + "src/core/lib/http/httpcli_security_connector.c", + "src/core/lib/security/context/security_context.c", + "src/core/lib/security/credentials/composite/composite_credentials.c", + "src/core/lib/security/credentials/credentials.c", + "src/core/lib/security/credentials/credentials_metadata.c", + "src/core/lib/security/credentials/fake/fake_credentials.c", + "src/core/lib/security/credentials/google_default/credentials_posix.c", + "src/core/lib/security/credentials/google_default/credentials_windows.c", + "src/core/lib/security/credentials/google_default/google_default_credentials.c", + "src/core/lib/security/credentials/iam/iam_credentials.c", + "src/core/lib/security/credentials/jwt/json_token.c", + "src/core/lib/security/credentials/jwt/jwt_credentials.c", + "src/core/lib/security/credentials/jwt/jwt_verifier.c", + "src/core/lib/security/credentials/oauth2/oauth2_credentials.c", + "src/core/lib/security/credentials/plugin/plugin_credentials.c", + "src/core/lib/security/credentials/ssl/ssl_credentials.c", + "src/core/lib/security/transport/client_auth_filter.c", + "src/core/lib/security/transport/handshake.c", + "src/core/lib/security/transport/secure_endpoint.c", + "src/core/lib/security/transport/security_connector.c", + "src/core/lib/security/transport/server_auth_filter.c", + "src/core/lib/security/transport/tsi_error.c", + "src/core/lib/security/util/b64.c", + "src/core/lib/security/util/json_util.c", + "src/core/lib/surface/init_secure.c", + "src/core/lib/tsi/fake_transport_security.c", + "src/core/lib/tsi/ssl_transport_security.c", + "src/core/lib/tsi/transport_security.c", + "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c", "src/core/ext/client_config/channel_connectivity.c", "src/core/ext/client_config/client_channel.c", "src/core/ext/client_config/client_channel_factory.c", @@ -1175,15 +979,19 @@ cc_library( "src/core/ext/client_config/subchannel_call_holder.c", "src/core/ext/client_config/subchannel_index.c", "src/core/ext/client_config/uri_parser.c", - "src/core/ext/resolver/dns/native/dns_resolver.c", - "src/core/ext/resolver/sockaddr/sockaddr_resolver.c", - "src/core/ext/load_reporting/load_reporting.c", - "src/core/ext/load_reporting/load_reporting_filter.c", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c", + "src/core/ext/transport/chttp2/client/insecure/channel_create.c", + "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c", "src/core/ext/lb_policy/grpclb/grpclb.c", "src/core/ext/lb_policy/grpclb/load_balancer_api.c", "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c", "src/core/ext/lb_policy/pick_first/pick_first.c", "src/core/ext/lb_policy/round_robin/round_robin.c", + "src/core/ext/resolver/dns/native/dns_resolver.c", + "src/core/ext/resolver/sockaddr/sockaddr_resolver.c", + "src/core/ext/load_reporting/load_reporting.c", + "src/core/ext/load_reporting/load_reporting_filter.c", "src/core/ext/census/base_resources.c", "src/core/ext/census/context.c", "src/core/ext/census/gen/census.pb.c", @@ -1196,7 +1004,7 @@ cc_library( "src/core/ext/census/placeholders.c", "src/core/ext/census/resource.c", "src/core/ext/census/tracing.c", - "src/core/plugin_registry/grpc_unsecure_plugin_registry.c", + "src/core/plugin_registry/grpc_plugin_registry.c", ], hdrs = [ "include/grpc/byte_buffer.h", @@ -1226,6 +1034,8 @@ cc_library( "include/grpc/impl/codegen/sync_posix.h", "include/grpc/impl/codegen/sync_windows.h", "include/grpc/impl/codegen/time.h", + "include/grpc/grpc_security.h", + "include/grpc/grpc_security_constants.h", "include/grpc/census.h", ], includes = [ @@ -1233,6 +1043,8 @@ cc_library( ".", ], deps = [ + "//external:libssl", + "//external:zlib", ":gpr", "//external:nanopb", ], @@ -1244,208 +1056,322 @@ cc_library( cc_library( - name = "grpc++", - srcs = [ - "include/grpc++/impl/codegen/core_codegen.h", - "src/cpp/client/secure_credentials.h", - "src/cpp/common/secure_auth_context.h", - "src/cpp/server/secure_server_credentials.h", - "src/cpp/client/create_channel_internal.h", - "src/cpp/common/channel_filter.h", - "src/cpp/server/dynamic_thread_pool.h", - "src/cpp/server/thread_pool_interface.h", - "src/cpp/client/secure_credentials.cc", - "src/cpp/common/auth_property_iterator.cc", - "src/cpp/common/secure_auth_context.cc", - "src/cpp/common/secure_channel_arguments.cc", - "src/cpp/common/secure_create_auth_context.cc", - "src/cpp/server/secure_server_credentials.cc", - "src/cpp/client/channel.cc", - "src/cpp/client/client_context.cc", - "src/cpp/client/create_channel.cc", - "src/cpp/client/create_channel_internal.cc", - "src/cpp/client/create_channel_posix.cc", - "src/cpp/client/credentials.cc", - "src/cpp/client/generic_stub.cc", - "src/cpp/client/insecure_credentials.cc", - "src/cpp/common/channel_arguments.cc", - "src/cpp/common/channel_filter.cc", - "src/cpp/common/completion_queue.cc", - "src/cpp/common/core_codegen.cc", - "src/cpp/common/rpc_method.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/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/server/server_posix.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", - "src/cpp/codegen/codegen_init.cc", - ], - hdrs = [ - "include/grpc++/alarm.h", - "include/grpc++/channel.h", - "include/grpc++/client_context.h", - "include/grpc++/completion_queue.h", - "include/grpc++/create_channel.h", - "include/grpc++/create_channel_posix.h", - "include/grpc++/generic/async_generic_service.h", - "include/grpc++/generic/generic_stub.h", - "include/grpc++/grpc++.h", - "include/grpc++/impl/call.h", - "include/grpc++/impl/client_unary_call.h", - "include/grpc++/impl/codegen/core_codegen.h", - "include/grpc++/impl/grpc_library.h", - "include/grpc++/impl/method_handler_impl.h", - "include/grpc++/impl/rpc_method.h", - "include/grpc++/impl/rpc_service_method.h", - "include/grpc++/impl/serialization_traits.h", - "include/grpc++/impl/server_builder_option.h", - "include/grpc++/impl/server_builder_plugin.h", - "include/grpc++/impl/server_initializer.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++/security/auth_context.h", - "include/grpc++/security/auth_metadata_processor.h", - "include/grpc++/security/credentials.h", - "include/grpc++/security/server_credentials.h", - "include/grpc++/server.h", - "include/grpc++/server_builder.h", - "include/grpc++/server_context.h", - "include/grpc++/server_posix.h", - "include/grpc++/support/async_stream.h", - "include/grpc++/support/async_unary_call.h", - "include/grpc++/support/byte_buffer.h", - "include/grpc++/support/channel_arguments.h", - "include/grpc++/support/config.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", - "include/grpc++/impl/codegen/async_stream.h", - "include/grpc++/impl/codegen/async_unary_call.h", - "include/grpc++/impl/codegen/call.h", - "include/grpc++/impl/codegen/call_hook.h", - "include/grpc++/impl/codegen/channel_interface.h", - "include/grpc++/impl/codegen/client_context.h", - "include/grpc++/impl/codegen/client_unary_call.h", - "include/grpc++/impl/codegen/completion_queue.h", - "include/grpc++/impl/codegen/completion_queue_tag.h", - "include/grpc++/impl/codegen/config.h", - "include/grpc++/impl/codegen/core_codegen_interface.h", - "include/grpc++/impl/codegen/create_auth_context.h", - "include/grpc++/impl/codegen/grpc_library.h", - "include/grpc++/impl/codegen/method_handler_impl.h", - "include/grpc++/impl/codegen/rpc_method.h", - "include/grpc++/impl/codegen/rpc_service_method.h", - "include/grpc++/impl/codegen/security/auth_context.h", - "include/grpc++/impl/codegen/serialization_traits.h", - "include/grpc++/impl/codegen/server_context.h", - "include/grpc++/impl/codegen/server_interface.h", - "include/grpc++/impl/codegen/service_type.h", - "include/grpc++/impl/codegen/status.h", - "include/grpc++/impl/codegen/status_code_enum.h", - "include/grpc++/impl/codegen/string_ref.h", - "include/grpc++/impl/codegen/stub_options.h", - "include/grpc++/impl/codegen/sync.h", - "include/grpc++/impl/codegen/sync_cxx11.h", - "include/grpc++/impl/codegen/sync_no_cxx11.h", - "include/grpc++/impl/codegen/sync_stream.h", - "include/grpc++/impl/codegen/time.h", - "include/grpc/impl/codegen/byte_buffer.h", - "include/grpc/impl/codegen/byte_buffer_reader.h", - "include/grpc/impl/codegen/compression_types.h", - "include/grpc/impl/codegen/connectivity_state.h", - "include/grpc/impl/codegen/grpc_types.h", - "include/grpc/impl/codegen/propagation_bits.h", - "include/grpc/impl/codegen/status.h", - "include/grpc/impl/codegen/alloc.h", - "include/grpc/impl/codegen/atm.h", - "include/grpc/impl/codegen/atm_gcc_atomic.h", - "include/grpc/impl/codegen/atm_gcc_sync.h", - "include/grpc/impl/codegen/atm_windows.h", - "include/grpc/impl/codegen/log.h", - "include/grpc/impl/codegen/port_platform.h", - "include/grpc/impl/codegen/slice.h", - "include/grpc/impl/codegen/slice_buffer.h", - "include/grpc/impl/codegen/sync.h", - "include/grpc/impl/codegen/sync_generic.h", - "include/grpc/impl/codegen/sync_posix.h", - "include/grpc/impl/codegen/sync_windows.h", - "include/grpc/impl/codegen/time.h", - ], - includes = [ - "include", - ".", - ], - deps = [ - "//external:libssl", - "//external:protobuf_clib", - ":grpc", - ], -) - - - -cc_library( - name = "grpc++_reflection", + name = "grpc_cronet", srcs = [ - "src/cpp/ext/proto_server_reflection.h", - "src/cpp/ext/proto_server_reflection.cc", - "src/cpp/ext/proto_server_reflection_plugin.cc", - "src/cpp/ext/reflection.grpc.pb.cc", - "src/cpp/ext/reflection.pb.cc", + "src/core/lib/channel/channel_args.h", + "src/core/lib/channel/channel_stack.h", + "src/core/lib/channel/channel_stack_builder.h", + "src/core/lib/channel/compress_filter.h", + "src/core/lib/channel/connected_channel.h", + "src/core/lib/channel/context.h", + "src/core/lib/channel/handshaker.h", + "src/core/lib/channel/http_client_filter.h", + "src/core/lib/channel/http_server_filter.h", + "src/core/lib/compression/algorithm_metadata.h", + "src/core/lib/compression/message_compress.h", + "src/core/lib/debug/trace.h", + "src/core/lib/http/format_request.h", + "src/core/lib/http/httpcli.h", + "src/core/lib/http/parser.h", + "src/core/lib/iomgr/closure.h", + "src/core/lib/iomgr/endpoint.h", + "src/core/lib/iomgr/endpoint_pair.h", + "src/core/lib/iomgr/error.h", + "src/core/lib/iomgr/ev_epoll_linux.h", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.h", + "src/core/lib/iomgr/ev_poll_posix.h", + "src/core/lib/iomgr/ev_posix.h", + "src/core/lib/iomgr/exec_ctx.h", + "src/core/lib/iomgr/executor.h", + "src/core/lib/iomgr/iocp_windows.h", + "src/core/lib/iomgr/iomgr.h", + "src/core/lib/iomgr/iomgr_internal.h", + "src/core/lib/iomgr/iomgr_posix.h", + "src/core/lib/iomgr/load_file.h", + "src/core/lib/iomgr/network_status_tracker.h", + "src/core/lib/iomgr/polling_entity.h", + "src/core/lib/iomgr/pollset.h", + "src/core/lib/iomgr/pollset_set.h", + "src/core/lib/iomgr/pollset_set_windows.h", + "src/core/lib/iomgr/pollset_windows.h", + "src/core/lib/iomgr/resolve_address.h", + "src/core/lib/iomgr/sockaddr.h", + "src/core/lib/iomgr/sockaddr_posix.h", + "src/core/lib/iomgr/sockaddr_utils.h", + "src/core/lib/iomgr/sockaddr_windows.h", + "src/core/lib/iomgr/socket_utils_posix.h", + "src/core/lib/iomgr/socket_windows.h", + "src/core/lib/iomgr/tcp_client.h", + "src/core/lib/iomgr/tcp_posix.h", + "src/core/lib/iomgr/tcp_server.h", + "src/core/lib/iomgr/tcp_windows.h", + "src/core/lib/iomgr/time_averaged_stats.h", + "src/core/lib/iomgr/timer.h", + "src/core/lib/iomgr/timer_heap.h", + "src/core/lib/iomgr/udp_server.h", + "src/core/lib/iomgr/unix_sockets_posix.h", + "src/core/lib/iomgr/wakeup_fd_pipe.h", + "src/core/lib/iomgr/wakeup_fd_posix.h", + "src/core/lib/iomgr/workqueue.h", + "src/core/lib/iomgr/workqueue_posix.h", + "src/core/lib/iomgr/workqueue_windows.h", + "src/core/lib/json/json.h", + "src/core/lib/json/json_common.h", + "src/core/lib/json/json_reader.h", + "src/core/lib/json/json_writer.h", + "src/core/lib/surface/api_trace.h", + "src/core/lib/surface/call.h", + "src/core/lib/surface/call_test_only.h", + "src/core/lib/surface/channel.h", + "src/core/lib/surface/channel_init.h", + "src/core/lib/surface/channel_stack_type.h", + "src/core/lib/surface/completion_queue.h", + "src/core/lib/surface/event_string.h", + "src/core/lib/surface/init.h", + "src/core/lib/surface/lame_client.h", + "src/core/lib/surface/server.h", + "src/core/lib/transport/byte_stream.h", + "src/core/lib/transport/connectivity_state.h", + "src/core/lib/transport/metadata.h", + "src/core/lib/transport/metadata_batch.h", + "src/core/lib/transport/static_metadata.h", + "src/core/lib/transport/timeout_encoding.h", + "src/core/lib/transport/transport.h", + "src/core/lib/transport/transport_impl.h", + "third_party/objective_c/Cronet/cronet_c_for_grpc.h", + "src/core/ext/transport/chttp2/transport/bin_decoder.h", + "src/core/ext/transport/chttp2/transport/bin_encoder.h", + "src/core/ext/transport/chttp2/transport/chttp2_transport.h", + "src/core/ext/transport/chttp2/transport/frame.h", + "src/core/ext/transport/chttp2/transport/frame_data.h", + "src/core/ext/transport/chttp2/transport/frame_goaway.h", + "src/core/ext/transport/chttp2/transport/frame_ping.h", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", + "src/core/ext/transport/chttp2/transport/frame_settings.h", + "src/core/ext/transport/chttp2/transport/frame_window_update.h", + "src/core/ext/transport/chttp2/transport/hpack_encoder.h", + "src/core/ext/transport/chttp2/transport/hpack_parser.h", + "src/core/ext/transport/chttp2/transport/hpack_table.h", + "src/core/ext/transport/chttp2/transport/http2_errors.h", + "src/core/ext/transport/chttp2/transport/huffsyms.h", + "src/core/ext/transport/chttp2/transport/incoming_metadata.h", + "src/core/ext/transport/chttp2/transport/internal.h", + "src/core/ext/transport/chttp2/transport/status_conversion.h", + "src/core/ext/transport/chttp2/transport/stream_map.h", + "src/core/ext/transport/chttp2/transport/varint.h", + "src/core/ext/transport/chttp2/alpn/alpn.h", + "src/core/ext/client_config/client_channel.h", + "src/core/ext/client_config/client_channel_factory.h", + "src/core/ext/client_config/client_config.h", + "src/core/ext/client_config/connector.h", + "src/core/ext/client_config/initial_connect_string.h", + "src/core/ext/client_config/lb_policy.h", + "src/core/ext/client_config/lb_policy_factory.h", + "src/core/ext/client_config/lb_policy_registry.h", + "src/core/ext/client_config/parse_address.h", + "src/core/ext/client_config/resolver.h", + "src/core/ext/client_config/resolver_factory.h", + "src/core/ext/client_config/resolver_registry.h", + "src/core/ext/client_config/subchannel.h", + "src/core/ext/client_config/subchannel_call_holder.h", + "src/core/ext/client_config/subchannel_index.h", + "src/core/ext/client_config/uri_parser.h", + "src/core/lib/security/context/security_context.h", + "src/core/lib/security/credentials/composite/composite_credentials.h", + "src/core/lib/security/credentials/credentials.h", + "src/core/lib/security/credentials/fake/fake_credentials.h", + "src/core/lib/security/credentials/google_default/google_default_credentials.h", + "src/core/lib/security/credentials/iam/iam_credentials.h", + "src/core/lib/security/credentials/jwt/json_token.h", + "src/core/lib/security/credentials/jwt/jwt_credentials.h", + "src/core/lib/security/credentials/jwt/jwt_verifier.h", + "src/core/lib/security/credentials/oauth2/oauth2_credentials.h", + "src/core/lib/security/credentials/plugin/plugin_credentials.h", + "src/core/lib/security/credentials/ssl/ssl_credentials.h", + "src/core/lib/security/transport/auth_filters.h", + "src/core/lib/security/transport/handshake.h", + "src/core/lib/security/transport/secure_endpoint.h", + "src/core/lib/security/transport/security_connector.h", + "src/core/lib/security/transport/tsi_error.h", + "src/core/lib/security/util/b64.h", + "src/core/lib/security/util/json_util.h", + "src/core/lib/tsi/fake_transport_security.h", + "src/core/lib/tsi/ssl_transport_security.h", + "src/core/lib/tsi/ssl_types.h", + "src/core/lib/tsi/transport_security.h", + "src/core/lib/tsi/transport_security_interface.h", + "src/core/lib/surface/init.c", + "src/core/lib/channel/channel_args.c", + "src/core/lib/channel/channel_stack.c", + "src/core/lib/channel/channel_stack_builder.c", + "src/core/lib/channel/compress_filter.c", + "src/core/lib/channel/connected_channel.c", + "src/core/lib/channel/handshaker.c", + "src/core/lib/channel/http_client_filter.c", + "src/core/lib/channel/http_server_filter.c", + "src/core/lib/compression/compression.c", + "src/core/lib/compression/message_compress.c", + "src/core/lib/debug/trace.c", + "src/core/lib/http/format_request.c", + "src/core/lib/http/httpcli.c", + "src/core/lib/http/parser.c", + "src/core/lib/iomgr/closure.c", + "src/core/lib/iomgr/endpoint.c", + "src/core/lib/iomgr/endpoint_pair_posix.c", + "src/core/lib/iomgr/endpoint_pair_windows.c", + "src/core/lib/iomgr/error.c", + "src/core/lib/iomgr/ev_epoll_linux.c", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.c", + "src/core/lib/iomgr/ev_poll_posix.c", + "src/core/lib/iomgr/ev_posix.c", + "src/core/lib/iomgr/exec_ctx.c", + "src/core/lib/iomgr/executor.c", + "src/core/lib/iomgr/iocp_windows.c", + "src/core/lib/iomgr/iomgr.c", + "src/core/lib/iomgr/iomgr_posix.c", + "src/core/lib/iomgr/iomgr_windows.c", + "src/core/lib/iomgr/load_file.c", + "src/core/lib/iomgr/network_status_tracker.c", + "src/core/lib/iomgr/polling_entity.c", + "src/core/lib/iomgr/pollset_set_windows.c", + "src/core/lib/iomgr/pollset_windows.c", + "src/core/lib/iomgr/resolve_address_posix.c", + "src/core/lib/iomgr/resolve_address_windows.c", + "src/core/lib/iomgr/sockaddr_utils.c", + "src/core/lib/iomgr/socket_utils_common_posix.c", + "src/core/lib/iomgr/socket_utils_linux.c", + "src/core/lib/iomgr/socket_utils_posix.c", + "src/core/lib/iomgr/socket_windows.c", + "src/core/lib/iomgr/tcp_client_posix.c", + "src/core/lib/iomgr/tcp_client_windows.c", + "src/core/lib/iomgr/tcp_posix.c", + "src/core/lib/iomgr/tcp_server_posix.c", + "src/core/lib/iomgr/tcp_server_windows.c", + "src/core/lib/iomgr/tcp_windows.c", + "src/core/lib/iomgr/time_averaged_stats.c", + "src/core/lib/iomgr/timer.c", + "src/core/lib/iomgr/timer_heap.c", + "src/core/lib/iomgr/udp_server.c", + "src/core/lib/iomgr/unix_sockets_posix.c", + "src/core/lib/iomgr/unix_sockets_posix_noop.c", + "src/core/lib/iomgr/wakeup_fd_eventfd.c", + "src/core/lib/iomgr/wakeup_fd_nospecial.c", + "src/core/lib/iomgr/wakeup_fd_pipe.c", + "src/core/lib/iomgr/wakeup_fd_posix.c", + "src/core/lib/iomgr/workqueue_posix.c", + "src/core/lib/iomgr/workqueue_windows.c", + "src/core/lib/json/json.c", + "src/core/lib/json/json_reader.c", + "src/core/lib/json/json_string.c", + "src/core/lib/json/json_writer.c", + "src/core/lib/surface/alarm.c", + "src/core/lib/surface/api_trace.c", + "src/core/lib/surface/byte_buffer.c", + "src/core/lib/surface/byte_buffer_reader.c", + "src/core/lib/surface/call.c", + "src/core/lib/surface/call_details.c", + "src/core/lib/surface/call_log_batch.c", + "src/core/lib/surface/channel.c", + "src/core/lib/surface/channel_init.c", + "src/core/lib/surface/channel_ping.c", + "src/core/lib/surface/channel_stack_type.c", + "src/core/lib/surface/completion_queue.c", + "src/core/lib/surface/event_string.c", + "src/core/lib/surface/lame_client.c", + "src/core/lib/surface/metadata_array.c", + "src/core/lib/surface/server.c", + "src/core/lib/surface/validate_metadata.c", + "src/core/lib/surface/version.c", + "src/core/lib/transport/byte_stream.c", + "src/core/lib/transport/connectivity_state.c", + "src/core/lib/transport/metadata.c", + "src/core/lib/transport/metadata_batch.c", + "src/core/lib/transport/static_metadata.c", + "src/core/lib/transport/timeout_encoding.c", + "src/core/lib/transport/transport.c", + "src/core/lib/transport/transport_op_string.c", + "src/core/ext/transport/cronet/client/secure/cronet_channel_create.c", + "src/core/ext/transport/cronet/transport/cronet_api_dummy.c", + "src/core/ext/transport/cronet/transport/cronet_transport.c", + "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c", + "src/core/ext/transport/chttp2/transport/bin_decoder.c", + "src/core/ext/transport/chttp2/transport/bin_encoder.c", + "src/core/ext/transport/chttp2/transport/chttp2_plugin.c", + "src/core/ext/transport/chttp2/transport/chttp2_transport.c", + "src/core/ext/transport/chttp2/transport/frame_data.c", + "src/core/ext/transport/chttp2/transport/frame_goaway.c", + "src/core/ext/transport/chttp2/transport/frame_ping.c", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", + "src/core/ext/transport/chttp2/transport/frame_settings.c", + "src/core/ext/transport/chttp2/transport/frame_window_update.c", + "src/core/ext/transport/chttp2/transport/hpack_encoder.c", + "src/core/ext/transport/chttp2/transport/hpack_parser.c", + "src/core/ext/transport/chttp2/transport/hpack_table.c", + "src/core/ext/transport/chttp2/transport/huffsyms.c", + "src/core/ext/transport/chttp2/transport/incoming_metadata.c", + "src/core/ext/transport/chttp2/transport/parsing.c", + "src/core/ext/transport/chttp2/transport/status_conversion.c", + "src/core/ext/transport/chttp2/transport/stream_lists.c", + "src/core/ext/transport/chttp2/transport/stream_map.c", + "src/core/ext/transport/chttp2/transport/varint.c", + "src/core/ext/transport/chttp2/transport/writing.c", + "src/core/ext/transport/chttp2/alpn/alpn.c", + "src/core/ext/client_config/channel_connectivity.c", + "src/core/ext/client_config/client_channel.c", + "src/core/ext/client_config/client_channel_factory.c", + "src/core/ext/client_config/client_config.c", + "src/core/ext/client_config/client_config_plugin.c", + "src/core/ext/client_config/connector.c", + "src/core/ext/client_config/default_initial_connect_string.c", + "src/core/ext/client_config/initial_connect_string.c", + "src/core/ext/client_config/lb_policy.c", + "src/core/ext/client_config/lb_policy_factory.c", + "src/core/ext/client_config/lb_policy_registry.c", + "src/core/ext/client_config/parse_address.c", + "src/core/ext/client_config/resolver.c", + "src/core/ext/client_config/resolver_factory.c", + "src/core/ext/client_config/resolver_registry.c", + "src/core/ext/client_config/subchannel.c", + "src/core/ext/client_config/subchannel_call_holder.c", + "src/core/ext/client_config/subchannel_index.c", + "src/core/ext/client_config/uri_parser.c", + "src/core/lib/http/httpcli_security_connector.c", + "src/core/lib/security/context/security_context.c", + "src/core/lib/security/credentials/composite/composite_credentials.c", + "src/core/lib/security/credentials/credentials.c", + "src/core/lib/security/credentials/credentials_metadata.c", + "src/core/lib/security/credentials/fake/fake_credentials.c", + "src/core/lib/security/credentials/google_default/credentials_posix.c", + "src/core/lib/security/credentials/google_default/credentials_windows.c", + "src/core/lib/security/credentials/google_default/google_default_credentials.c", + "src/core/lib/security/credentials/iam/iam_credentials.c", + "src/core/lib/security/credentials/jwt/json_token.c", + "src/core/lib/security/credentials/jwt/jwt_credentials.c", + "src/core/lib/security/credentials/jwt/jwt_verifier.c", + "src/core/lib/security/credentials/oauth2/oauth2_credentials.c", + "src/core/lib/security/credentials/plugin/plugin_credentials.c", + "src/core/lib/security/credentials/ssl/ssl_credentials.c", + "src/core/lib/security/transport/client_auth_filter.c", + "src/core/lib/security/transport/handshake.c", + "src/core/lib/security/transport/secure_endpoint.c", + "src/core/lib/security/transport/security_connector.c", + "src/core/lib/security/transport/server_auth_filter.c", + "src/core/lib/security/transport/tsi_error.c", + "src/core/lib/security/util/b64.c", + "src/core/lib/security/util/json_util.c", + "src/core/lib/surface/init_secure.c", + "src/core/lib/tsi/fake_transport_security.c", + "src/core/lib/tsi/ssl_transport_security.c", + "src/core/lib/tsi/transport_security.c", + "src/core/plugin_registry/grpc_cronet_plugin_registry.c", ], hdrs = [ - "include/grpc++/ext/proto_server_reflection_plugin.h", - "include/grpc++/ext/reflection.grpc.pb.h", - "include/grpc++/ext/reflection.pb.h", - "include/grpc++/impl/codegen/proto_utils.h", - "include/grpc++/impl/codegen/async_stream.h", - "include/grpc++/impl/codegen/async_unary_call.h", - "include/grpc++/impl/codegen/call.h", - "include/grpc++/impl/codegen/call_hook.h", - "include/grpc++/impl/codegen/channel_interface.h", - "include/grpc++/impl/codegen/client_context.h", - "include/grpc++/impl/codegen/client_unary_call.h", - "include/grpc++/impl/codegen/completion_queue.h", - "include/grpc++/impl/codegen/completion_queue_tag.h", - "include/grpc++/impl/codegen/config.h", - "include/grpc++/impl/codegen/core_codegen_interface.h", - "include/grpc++/impl/codegen/create_auth_context.h", - "include/grpc++/impl/codegen/grpc_library.h", - "include/grpc++/impl/codegen/method_handler_impl.h", - "include/grpc++/impl/codegen/rpc_method.h", - "include/grpc++/impl/codegen/rpc_service_method.h", - "include/grpc++/impl/codegen/security/auth_context.h", - "include/grpc++/impl/codegen/serialization_traits.h", - "include/grpc++/impl/codegen/server_context.h", - "include/grpc++/impl/codegen/server_interface.h", - "include/grpc++/impl/codegen/service_type.h", - "include/grpc++/impl/codegen/status.h", - "include/grpc++/impl/codegen/status_code_enum.h", - "include/grpc++/impl/codegen/string_ref.h", - "include/grpc++/impl/codegen/stub_options.h", - "include/grpc++/impl/codegen/sync.h", - "include/grpc++/impl/codegen/sync_cxx11.h", - "include/grpc++/impl/codegen/sync_no_cxx11.h", - "include/grpc++/impl/codegen/sync_stream.h", - "include/grpc++/impl/codegen/time.h", + "include/grpc/byte_buffer.h", + "include/grpc/byte_buffer_reader.h", + "include/grpc/compression.h", + "include/grpc/grpc.h", + "include/grpc/grpc_posix.h", + "include/grpc/status.h", "include/grpc/impl/codegen/byte_buffer.h", "include/grpc/impl/codegen/byte_buffer_reader.h", "include/grpc/impl/codegen/compression_types.h", @@ -1467,134 +1393,322 @@ cc_library( "include/grpc/impl/codegen/sync_posix.h", "include/grpc/impl/codegen/sync_windows.h", "include/grpc/impl/codegen/time.h", - "include/grpc++/impl/codegen/config_protobuf.h", + "include/grpc/grpc_cronet.h", + "include/grpc/grpc_security.h", + "include/grpc/grpc_security_constants.h", ], includes = [ "include", ".", ], deps = [ - ":grpc++", + "//external:libssl", + ":gpr", ], ) cc_library( - name = "grpc++_unsecure", + name = "grpc_unsecure", srcs = [ - "src/cpp/client/create_channel_internal.h", - "src/cpp/common/channel_filter.h", - "src/cpp/server/dynamic_thread_pool.h", - "src/cpp/server/thread_pool_interface.h", - "src/cpp/common/insecure_create_auth_context.cc", - "src/cpp/client/channel.cc", - "src/cpp/client/client_context.cc", - "src/cpp/client/create_channel.cc", - "src/cpp/client/create_channel_internal.cc", - "src/cpp/client/create_channel_posix.cc", - "src/cpp/client/credentials.cc", - "src/cpp/client/generic_stub.cc", - "src/cpp/client/insecure_credentials.cc", - "src/cpp/common/channel_arguments.cc", - "src/cpp/common/channel_filter.cc", - "src/cpp/common/completion_queue.cc", - "src/cpp/common/core_codegen.cc", - "src/cpp/common/rpc_method.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/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/server/server_posix.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", - "src/cpp/codegen/codegen_init.cc", + "src/core/lib/channel/channel_args.h", + "src/core/lib/channel/channel_stack.h", + "src/core/lib/channel/channel_stack_builder.h", + "src/core/lib/channel/compress_filter.h", + "src/core/lib/channel/connected_channel.h", + "src/core/lib/channel/context.h", + "src/core/lib/channel/handshaker.h", + "src/core/lib/channel/http_client_filter.h", + "src/core/lib/channel/http_server_filter.h", + "src/core/lib/compression/algorithm_metadata.h", + "src/core/lib/compression/message_compress.h", + "src/core/lib/debug/trace.h", + "src/core/lib/http/format_request.h", + "src/core/lib/http/httpcli.h", + "src/core/lib/http/parser.h", + "src/core/lib/iomgr/closure.h", + "src/core/lib/iomgr/endpoint.h", + "src/core/lib/iomgr/endpoint_pair.h", + "src/core/lib/iomgr/error.h", + "src/core/lib/iomgr/ev_epoll_linux.h", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.h", + "src/core/lib/iomgr/ev_poll_posix.h", + "src/core/lib/iomgr/ev_posix.h", + "src/core/lib/iomgr/exec_ctx.h", + "src/core/lib/iomgr/executor.h", + "src/core/lib/iomgr/iocp_windows.h", + "src/core/lib/iomgr/iomgr.h", + "src/core/lib/iomgr/iomgr_internal.h", + "src/core/lib/iomgr/iomgr_posix.h", + "src/core/lib/iomgr/load_file.h", + "src/core/lib/iomgr/network_status_tracker.h", + "src/core/lib/iomgr/polling_entity.h", + "src/core/lib/iomgr/pollset.h", + "src/core/lib/iomgr/pollset_set.h", + "src/core/lib/iomgr/pollset_set_windows.h", + "src/core/lib/iomgr/pollset_windows.h", + "src/core/lib/iomgr/resolve_address.h", + "src/core/lib/iomgr/sockaddr.h", + "src/core/lib/iomgr/sockaddr_posix.h", + "src/core/lib/iomgr/sockaddr_utils.h", + "src/core/lib/iomgr/sockaddr_windows.h", + "src/core/lib/iomgr/socket_utils_posix.h", + "src/core/lib/iomgr/socket_windows.h", + "src/core/lib/iomgr/tcp_client.h", + "src/core/lib/iomgr/tcp_posix.h", + "src/core/lib/iomgr/tcp_server.h", + "src/core/lib/iomgr/tcp_windows.h", + "src/core/lib/iomgr/time_averaged_stats.h", + "src/core/lib/iomgr/timer.h", + "src/core/lib/iomgr/timer_heap.h", + "src/core/lib/iomgr/udp_server.h", + "src/core/lib/iomgr/unix_sockets_posix.h", + "src/core/lib/iomgr/wakeup_fd_pipe.h", + "src/core/lib/iomgr/wakeup_fd_posix.h", + "src/core/lib/iomgr/workqueue.h", + "src/core/lib/iomgr/workqueue_posix.h", + "src/core/lib/iomgr/workqueue_windows.h", + "src/core/lib/json/json.h", + "src/core/lib/json/json_common.h", + "src/core/lib/json/json_reader.h", + "src/core/lib/json/json_writer.h", + "src/core/lib/surface/api_trace.h", + "src/core/lib/surface/call.h", + "src/core/lib/surface/call_test_only.h", + "src/core/lib/surface/channel.h", + "src/core/lib/surface/channel_init.h", + "src/core/lib/surface/channel_stack_type.h", + "src/core/lib/surface/completion_queue.h", + "src/core/lib/surface/event_string.h", + "src/core/lib/surface/init.h", + "src/core/lib/surface/lame_client.h", + "src/core/lib/surface/server.h", + "src/core/lib/transport/byte_stream.h", + "src/core/lib/transport/connectivity_state.h", + "src/core/lib/transport/metadata.h", + "src/core/lib/transport/metadata_batch.h", + "src/core/lib/transport/static_metadata.h", + "src/core/lib/transport/timeout_encoding.h", + "src/core/lib/transport/transport.h", + "src/core/lib/transport/transport_impl.h", + "src/core/ext/transport/chttp2/transport/bin_decoder.h", + "src/core/ext/transport/chttp2/transport/bin_encoder.h", + "src/core/ext/transport/chttp2/transport/chttp2_transport.h", + "src/core/ext/transport/chttp2/transport/frame.h", + "src/core/ext/transport/chttp2/transport/frame_data.h", + "src/core/ext/transport/chttp2/transport/frame_goaway.h", + "src/core/ext/transport/chttp2/transport/frame_ping.h", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", + "src/core/ext/transport/chttp2/transport/frame_settings.h", + "src/core/ext/transport/chttp2/transport/frame_window_update.h", + "src/core/ext/transport/chttp2/transport/hpack_encoder.h", + "src/core/ext/transport/chttp2/transport/hpack_parser.h", + "src/core/ext/transport/chttp2/transport/hpack_table.h", + "src/core/ext/transport/chttp2/transport/http2_errors.h", + "src/core/ext/transport/chttp2/transport/huffsyms.h", + "src/core/ext/transport/chttp2/transport/incoming_metadata.h", + "src/core/ext/transport/chttp2/transport/internal.h", + "src/core/ext/transport/chttp2/transport/status_conversion.h", + "src/core/ext/transport/chttp2/transport/stream_map.h", + "src/core/ext/transport/chttp2/transport/varint.h", + "src/core/ext/transport/chttp2/alpn/alpn.h", + "src/core/ext/client_config/client_channel.h", + "src/core/ext/client_config/client_channel_factory.h", + "src/core/ext/client_config/client_config.h", + "src/core/ext/client_config/connector.h", + "src/core/ext/client_config/initial_connect_string.h", + "src/core/ext/client_config/lb_policy.h", + "src/core/ext/client_config/lb_policy_factory.h", + "src/core/ext/client_config/lb_policy_registry.h", + "src/core/ext/client_config/parse_address.h", + "src/core/ext/client_config/resolver.h", + "src/core/ext/client_config/resolver_factory.h", + "src/core/ext/client_config/resolver_registry.h", + "src/core/ext/client_config/subchannel.h", + "src/core/ext/client_config/subchannel_call_holder.h", + "src/core/ext/client_config/subchannel_index.h", + "src/core/ext/client_config/uri_parser.h", + "src/core/ext/load_reporting/load_reporting.h", + "src/core/ext/load_reporting/load_reporting_filter.h", + "src/core/ext/lb_policy/grpclb/grpclb.h", + "src/core/ext/lb_policy/grpclb/load_balancer_api.h", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h", + "src/core/ext/census/aggregation.h", + "src/core/ext/census/base_resources.h", + "src/core/ext/census/census_interface.h", + "src/core/ext/census/census_rpc_stats.h", + "src/core/ext/census/gen/census.pb.h", + "src/core/ext/census/grpc_filter.h", + "src/core/ext/census/mlog.h", + "src/core/ext/census/resource.h", + "src/core/ext/census/rpc_metric_id.h", + "src/core/lib/surface/init.c", + "src/core/lib/surface/init_unsecure.c", + "src/core/lib/channel/channel_args.c", + "src/core/lib/channel/channel_stack.c", + "src/core/lib/channel/channel_stack_builder.c", + "src/core/lib/channel/compress_filter.c", + "src/core/lib/channel/connected_channel.c", + "src/core/lib/channel/handshaker.c", + "src/core/lib/channel/http_client_filter.c", + "src/core/lib/channel/http_server_filter.c", + "src/core/lib/compression/compression.c", + "src/core/lib/compression/message_compress.c", + "src/core/lib/debug/trace.c", + "src/core/lib/http/format_request.c", + "src/core/lib/http/httpcli.c", + "src/core/lib/http/parser.c", + "src/core/lib/iomgr/closure.c", + "src/core/lib/iomgr/endpoint.c", + "src/core/lib/iomgr/endpoint_pair_posix.c", + "src/core/lib/iomgr/endpoint_pair_windows.c", + "src/core/lib/iomgr/error.c", + "src/core/lib/iomgr/ev_epoll_linux.c", + "src/core/lib/iomgr/ev_poll_and_epoll_posix.c", + "src/core/lib/iomgr/ev_poll_posix.c", + "src/core/lib/iomgr/ev_posix.c", + "src/core/lib/iomgr/exec_ctx.c", + "src/core/lib/iomgr/executor.c", + "src/core/lib/iomgr/iocp_windows.c", + "src/core/lib/iomgr/iomgr.c", + "src/core/lib/iomgr/iomgr_posix.c", + "src/core/lib/iomgr/iomgr_windows.c", + "src/core/lib/iomgr/load_file.c", + "src/core/lib/iomgr/network_status_tracker.c", + "src/core/lib/iomgr/polling_entity.c", + "src/core/lib/iomgr/pollset_set_windows.c", + "src/core/lib/iomgr/pollset_windows.c", + "src/core/lib/iomgr/resolve_address_posix.c", + "src/core/lib/iomgr/resolve_address_windows.c", + "src/core/lib/iomgr/sockaddr_utils.c", + "src/core/lib/iomgr/socket_utils_common_posix.c", + "src/core/lib/iomgr/socket_utils_linux.c", + "src/core/lib/iomgr/socket_utils_posix.c", + "src/core/lib/iomgr/socket_windows.c", + "src/core/lib/iomgr/tcp_client_posix.c", + "src/core/lib/iomgr/tcp_client_windows.c", + "src/core/lib/iomgr/tcp_posix.c", + "src/core/lib/iomgr/tcp_server_posix.c", + "src/core/lib/iomgr/tcp_server_windows.c", + "src/core/lib/iomgr/tcp_windows.c", + "src/core/lib/iomgr/time_averaged_stats.c", + "src/core/lib/iomgr/timer.c", + "src/core/lib/iomgr/timer_heap.c", + "src/core/lib/iomgr/udp_server.c", + "src/core/lib/iomgr/unix_sockets_posix.c", + "src/core/lib/iomgr/unix_sockets_posix_noop.c", + "src/core/lib/iomgr/wakeup_fd_eventfd.c", + "src/core/lib/iomgr/wakeup_fd_nospecial.c", + "src/core/lib/iomgr/wakeup_fd_pipe.c", + "src/core/lib/iomgr/wakeup_fd_posix.c", + "src/core/lib/iomgr/workqueue_posix.c", + "src/core/lib/iomgr/workqueue_windows.c", + "src/core/lib/json/json.c", + "src/core/lib/json/json_reader.c", + "src/core/lib/json/json_string.c", + "src/core/lib/json/json_writer.c", + "src/core/lib/surface/alarm.c", + "src/core/lib/surface/api_trace.c", + "src/core/lib/surface/byte_buffer.c", + "src/core/lib/surface/byte_buffer_reader.c", + "src/core/lib/surface/call.c", + "src/core/lib/surface/call_details.c", + "src/core/lib/surface/call_log_batch.c", + "src/core/lib/surface/channel.c", + "src/core/lib/surface/channel_init.c", + "src/core/lib/surface/channel_ping.c", + "src/core/lib/surface/channel_stack_type.c", + "src/core/lib/surface/completion_queue.c", + "src/core/lib/surface/event_string.c", + "src/core/lib/surface/lame_client.c", + "src/core/lib/surface/metadata_array.c", + "src/core/lib/surface/server.c", + "src/core/lib/surface/validate_metadata.c", + "src/core/lib/surface/version.c", + "src/core/lib/transport/byte_stream.c", + "src/core/lib/transport/connectivity_state.c", + "src/core/lib/transport/metadata.c", + "src/core/lib/transport/metadata_batch.c", + "src/core/lib/transport/static_metadata.c", + "src/core/lib/transport/timeout_encoding.c", + "src/core/lib/transport/transport.c", + "src/core/lib/transport/transport_op_string.c", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c", + "src/core/ext/transport/chttp2/transport/bin_decoder.c", + "src/core/ext/transport/chttp2/transport/bin_encoder.c", + "src/core/ext/transport/chttp2/transport/chttp2_plugin.c", + "src/core/ext/transport/chttp2/transport/chttp2_transport.c", + "src/core/ext/transport/chttp2/transport/frame_data.c", + "src/core/ext/transport/chttp2/transport/frame_goaway.c", + "src/core/ext/transport/chttp2/transport/frame_ping.c", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.c", + "src/core/ext/transport/chttp2/transport/frame_settings.c", + "src/core/ext/transport/chttp2/transport/frame_window_update.c", + "src/core/ext/transport/chttp2/transport/hpack_encoder.c", + "src/core/ext/transport/chttp2/transport/hpack_parser.c", + "src/core/ext/transport/chttp2/transport/hpack_table.c", + "src/core/ext/transport/chttp2/transport/huffsyms.c", + "src/core/ext/transport/chttp2/transport/incoming_metadata.c", + "src/core/ext/transport/chttp2/transport/parsing.c", + "src/core/ext/transport/chttp2/transport/status_conversion.c", + "src/core/ext/transport/chttp2/transport/stream_lists.c", + "src/core/ext/transport/chttp2/transport/stream_map.c", + "src/core/ext/transport/chttp2/transport/varint.c", + "src/core/ext/transport/chttp2/transport/writing.c", + "src/core/ext/transport/chttp2/alpn/alpn.c", + "src/core/ext/transport/chttp2/client/insecure/channel_create.c", + "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c", + "src/core/ext/client_config/channel_connectivity.c", + "src/core/ext/client_config/client_channel.c", + "src/core/ext/client_config/client_channel_factory.c", + "src/core/ext/client_config/client_config.c", + "src/core/ext/client_config/client_config_plugin.c", + "src/core/ext/client_config/connector.c", + "src/core/ext/client_config/default_initial_connect_string.c", + "src/core/ext/client_config/initial_connect_string.c", + "src/core/ext/client_config/lb_policy.c", + "src/core/ext/client_config/lb_policy_factory.c", + "src/core/ext/client_config/lb_policy_registry.c", + "src/core/ext/client_config/parse_address.c", + "src/core/ext/client_config/resolver.c", + "src/core/ext/client_config/resolver_factory.c", + "src/core/ext/client_config/resolver_registry.c", + "src/core/ext/client_config/subchannel.c", + "src/core/ext/client_config/subchannel_call_holder.c", + "src/core/ext/client_config/subchannel_index.c", + "src/core/ext/client_config/uri_parser.c", + "src/core/ext/resolver/dns/native/dns_resolver.c", + "src/core/ext/resolver/sockaddr/sockaddr_resolver.c", + "src/core/ext/load_reporting/load_reporting.c", + "src/core/ext/load_reporting/load_reporting_filter.c", + "src/core/ext/lb_policy/grpclb/grpclb.c", + "src/core/ext/lb_policy/grpclb/load_balancer_api.c", + "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c", + "src/core/ext/lb_policy/pick_first/pick_first.c", + "src/core/ext/lb_policy/round_robin/round_robin.c", + "src/core/ext/census/base_resources.c", + "src/core/ext/census/context.c", + "src/core/ext/census/gen/census.pb.c", + "src/core/ext/census/grpc_context.c", + "src/core/ext/census/grpc_filter.c", + "src/core/ext/census/grpc_plugin.c", + "src/core/ext/census/initialize.c", + "src/core/ext/census/mlog.c", + "src/core/ext/census/operation.c", + "src/core/ext/census/placeholders.c", + "src/core/ext/census/resource.c", + "src/core/ext/census/tracing.c", + "src/core/plugin_registry/grpc_unsecure_plugin_registry.c", ], hdrs = [ - "include/grpc++/alarm.h", - "include/grpc++/channel.h", - "include/grpc++/client_context.h", - "include/grpc++/completion_queue.h", - "include/grpc++/create_channel.h", - "include/grpc++/create_channel_posix.h", - "include/grpc++/generic/async_generic_service.h", - "include/grpc++/generic/generic_stub.h", - "include/grpc++/grpc++.h", - "include/grpc++/impl/call.h", - "include/grpc++/impl/client_unary_call.h", - "include/grpc++/impl/codegen/core_codegen.h", - "include/grpc++/impl/grpc_library.h", - "include/grpc++/impl/method_handler_impl.h", - "include/grpc++/impl/rpc_method.h", - "include/grpc++/impl/rpc_service_method.h", - "include/grpc++/impl/serialization_traits.h", - "include/grpc++/impl/server_builder_option.h", - "include/grpc++/impl/server_builder_plugin.h", - "include/grpc++/impl/server_initializer.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++/security/auth_context.h", - "include/grpc++/security/auth_metadata_processor.h", - "include/grpc++/security/credentials.h", - "include/grpc++/security/server_credentials.h", - "include/grpc++/server.h", - "include/grpc++/server_builder.h", - "include/grpc++/server_context.h", - "include/grpc++/server_posix.h", - "include/grpc++/support/async_stream.h", - "include/grpc++/support/async_unary_call.h", - "include/grpc++/support/byte_buffer.h", - "include/grpc++/support/channel_arguments.h", - "include/grpc++/support/config.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", - "include/grpc++/impl/codegen/async_stream.h", - "include/grpc++/impl/codegen/async_unary_call.h", - "include/grpc++/impl/codegen/call.h", - "include/grpc++/impl/codegen/call_hook.h", - "include/grpc++/impl/codegen/channel_interface.h", - "include/grpc++/impl/codegen/client_context.h", - "include/grpc++/impl/codegen/client_unary_call.h", - "include/grpc++/impl/codegen/completion_queue.h", - "include/grpc++/impl/codegen/completion_queue_tag.h", - "include/grpc++/impl/codegen/config.h", - "include/grpc++/impl/codegen/core_codegen_interface.h", - "include/grpc++/impl/codegen/create_auth_context.h", - "include/grpc++/impl/codegen/grpc_library.h", - "include/grpc++/impl/codegen/method_handler_impl.h", - "include/grpc++/impl/codegen/rpc_method.h", - "include/grpc++/impl/codegen/rpc_service_method.h", - "include/grpc++/impl/codegen/security/auth_context.h", - "include/grpc++/impl/codegen/serialization_traits.h", - "include/grpc++/impl/codegen/server_context.h", - "include/grpc++/impl/codegen/server_interface.h", - "include/grpc++/impl/codegen/service_type.h", - "include/grpc++/impl/codegen/status.h", - "include/grpc++/impl/codegen/status_code_enum.h", - "include/grpc++/impl/codegen/string_ref.h", - "include/grpc++/impl/codegen/stub_options.h", - "include/grpc++/impl/codegen/sync.h", - "include/grpc++/impl/codegen/sync_cxx11.h", - "include/grpc++/impl/codegen/sync_no_cxx11.h", - "include/grpc++/impl/codegen/sync_stream.h", - "include/grpc++/impl/codegen/time.h", + "include/grpc/byte_buffer.h", + "include/grpc/byte_buffer_reader.h", + "include/grpc/compression.h", + "include/grpc/grpc.h", + "include/grpc/grpc_posix.h", + "include/grpc/status.h", "include/grpc/impl/codegen/byte_buffer.h", "include/grpc/impl/codegen/byte_buffer_reader.h", "include/grpc/impl/codegen/compression_types.h", @@ -1616,55 +1730,18 @@ cc_library( "include/grpc/impl/codegen/sync_posix.h", "include/grpc/impl/codegen/sync_windows.h", "include/grpc/impl/codegen/time.h", + "include/grpc/census.h", ], includes = [ "include", ".", ], deps = [ - "//external:protobuf_clib", ":gpr", - ":grpc_unsecure", - ":grpc", - ], -) - - - -cc_library( - name = "grpc_plugin_support", - srcs = [ - "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/node_generator.h", - "src/compiler/node_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/compiler/cpp_generator.cc", - "src/compiler/csharp_generator.cc", - "src/compiler/node_generator.cc", - "src/compiler/objective_c_generator.cc", - "src/compiler/python_generator.cc", - "src/compiler/ruby_generator.cc", - ], - hdrs = [ - "include/grpc++/impl/codegen/config_protobuf.h", - ], - includes = [ - "include", - ".", + "//external:nanopb", ], - deps = [ - "//external:protobuf_compiler", + copts = [ + "-std=gnu99", ], ) @@ -2196,6 +2273,18 @@ objc_library( +cc_binary( + name = "grpc_c_plugin", + srcs = [ + "src/compiler/c_plugin.cc", + ], + deps = [ + "//external:protobuf_compiler", + ":grpc_plugin_support", + ], +) + + cc_binary( name = "grpc_cpp_plugin", srcs = [ diff --git a/CMakeLists.txt b/CMakeLists.txt index 15e5ec9be0f0a..547bcbdb028f1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -159,55 +159,119 @@ if(NOT DEFINED CMAKE_INSTALL_CMAKEDIR) endif() -add_library(gpr - src/core/lib/profiling/basic_timers.c - src/core/lib/profiling/stap_timers.c - src/core/lib/support/alloc.c - src/core/lib/support/avl.c - src/core/lib/support/backoff.c - src/core/lib/support/cmdline.c - src/core/lib/support/cpu_iphone.c - src/core/lib/support/cpu_linux.c - src/core/lib/support/cpu_posix.c - src/core/lib/support/cpu_windows.c - src/core/lib/support/env_linux.c - src/core/lib/support/env_posix.c - src/core/lib/support/env_windows.c - src/core/lib/support/histogram.c - src/core/lib/support/host_port.c - src/core/lib/support/log.c - src/core/lib/support/log_android.c - src/core/lib/support/log_linux.c - src/core/lib/support/log_posix.c - src/core/lib/support/log_windows.c - src/core/lib/support/murmur_hash.c - src/core/lib/support/slice.c - src/core/lib/support/slice_buffer.c - src/core/lib/support/stack_lockfree.c - src/core/lib/support/string.c - src/core/lib/support/string_posix.c - src/core/lib/support/string_util_windows.c - src/core/lib/support/string_windows.c - src/core/lib/support/subprocess_posix.c - src/core/lib/support/subprocess_windows.c - src/core/lib/support/sync.c - src/core/lib/support/sync_posix.c - src/core/lib/support/sync_windows.c - src/core/lib/support/thd.c - src/core/lib/support/thd_posix.c - src/core/lib/support/thd_windows.c - src/core/lib/support/time.c - src/core/lib/support/time_posix.c - src/core/lib/support/time_precise.c - src/core/lib/support/time_windows.c - src/core/lib/support/tls_pthread.c - src/core/lib/support/tmpfile_msys.c - src/core/lib/support/tmpfile_posix.c - src/core/lib/support/tmpfile_windows.c - src/core/lib/support/wrap_memcpy.c +add_library(grpc_c + src/c/alloc.c + src/c/array.c + src/c/bidi_streaming_blocking_call.c + src/c/call_ops.c + src/c/channel.c + src/c/client_context.c + src/c/client_streaming_blocking_call.c + src/c/completion_queue.c + src/c/context.c + src/c/init_shutdown.c + src/c/message.c + src/c/pb_compat.c + src/c/server.c + src/c/server_context.c + src/c/server_incoming_queue.c + src/c/server_streaming_blocking_call.c + src/c/unary_async_call.c + src/c/unary_blocking_call.c +) + +target_include_directories(grpc_c + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${BORINGSSL_ROOT_DIR}/include + PRIVATE ${PROTOBUF_ROOT_DIR}/src + PRIVATE ${ZLIB_INCLUDE_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_include_directories(gpr +target_link_libraries(grpc_c + ${_gRPC_BASELIB_LIBRARIES} + ${_gRPC_SSL_LIBRARIES} + ${_gRPC_PROTOBUF_LIBRARIES} + grpc + gpr +) + +foreach(_hdr + include/grpc_c/channel.h + include/grpc_c/client_context.h + include/grpc_c/codegen/bidi_streaming_blocking_call.h + include/grpc_c/codegen/client_streaming_blocking_call.h + include/grpc_c/codegen/context.h + include/grpc_c/codegen/message.h + include/grpc_c/codegen/method.h + include/grpc_c/codegen/pb_compat.h + include/grpc_c/codegen/serialization.h + include/grpc_c/codegen/server.h + include/grpc_c/codegen/server_streaming_blocking_call.h + include/grpc_c/codegen/unary_async_call.h + include/grpc_c/codegen/unary_blocking_call.h + include/grpc_c/completion_queue.h + include/grpc_c/declare_serializer.h + include/grpc_c/grpc_c.h + include/grpc_c/server.h + include/grpc_c/server_context.h + include/grpc_c/server_incoming_queue.h + include/grpc_c/status.h +) + string(REPLACE "include/" "" _path ${_hdr}) + get_filename_component(_path ${_path} PATH) + install(FILES ${_hdr} + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${_path}" + ) +endforeach() + + +install(TARGETS grpc_c EXPORT gRPCTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +) + + +add_library(grpc++ + src/cpp/client/secure_credentials.cc + src/cpp/common/auth_property_iterator.cc + src/cpp/common/secure_auth_context.cc + src/cpp/common/secure_channel_arguments.cc + src/cpp/common/secure_create_auth_context.cc + src/cpp/server/secure_server_credentials.cc + src/cpp/client/channel.cc + src/cpp/client/client_context.cc + src/cpp/client/create_channel.cc + src/cpp/client/create_channel_internal.cc + src/cpp/client/create_channel_posix.cc + src/cpp/client/credentials.cc + src/cpp/client/generic_stub.cc + src/cpp/client/insecure_credentials.cc + src/cpp/common/channel_arguments.cc + src/cpp/common/channel_filter.cc + src/cpp/common/completion_queue.cc + src/cpp/common/core_codegen.cc + src/cpp/common/rpc_method.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/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/server/server_posix.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 + src/cpp/codegen/codegen_init.cc +) + +target_include_directories(grpc++ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -216,36 +280,98 @@ target_include_directories(gpr PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) +target_link_libraries(grpc++ + ${_gRPC_BASELIB_LIBRARIES} + ${_gRPC_SSL_LIBRARIES} + ${_gRPC_PROTOBUF_LIBRARIES} + grpc +) foreach(_hdr - 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_windows.h - include/grpc/support/avl.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_windows.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_windows.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 + include/grpc++/alarm.h + include/grpc++/channel.h + include/grpc++/client_context.h + include/grpc++/completion_queue.h + include/grpc++/create_channel.h + include/grpc++/create_channel_posix.h + include/grpc++/generic/async_generic_service.h + include/grpc++/generic/generic_stub.h + include/grpc++/grpc++.h + include/grpc++/impl/call.h + include/grpc++/impl/client_unary_call.h + include/grpc++/impl/codegen/core_codegen.h + include/grpc++/impl/grpc_library.h + include/grpc++/impl/method_handler_impl.h + include/grpc++/impl/rpc_method.h + include/grpc++/impl/rpc_service_method.h + include/grpc++/impl/serialization_traits.h + include/grpc++/impl/server_builder_option.h + include/grpc++/impl/server_builder_plugin.h + include/grpc++/impl/server_initializer.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++/security/auth_context.h + include/grpc++/security/auth_metadata_processor.h + include/grpc++/security/credentials.h + include/grpc++/security/server_credentials.h + include/grpc++/server.h + include/grpc++/server_builder.h + include/grpc++/server_context.h + include/grpc++/server_posix.h + include/grpc++/support/async_stream.h + include/grpc++/support/async_unary_call.h + include/grpc++/support/byte_buffer.h + include/grpc++/support/channel_arguments.h + include/grpc++/support/config.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 + include/grpc++/impl/codegen/async_stream.h + include/grpc++/impl/codegen/async_unary_call.h + include/grpc++/impl/codegen/call.h + include/grpc++/impl/codegen/call_hook.h + include/grpc++/impl/codegen/channel_interface.h + include/grpc++/impl/codegen/client_context.h + include/grpc++/impl/codegen/client_unary_call.h + include/grpc++/impl/codegen/completion_queue.h + include/grpc++/impl/codegen/completion_queue_tag.h + include/grpc++/impl/codegen/config.h + include/grpc++/impl/codegen/core_codegen_interface.h + include/grpc++/impl/codegen/create_auth_context.h + include/grpc++/impl/codegen/grpc_library.h + include/grpc++/impl/codegen/method_handler_impl.h + include/grpc++/impl/codegen/rpc_method.h + include/grpc++/impl/codegen/rpc_service_method.h + include/grpc++/impl/codegen/security/auth_context.h + include/grpc++/impl/codegen/serialization_traits.h + include/grpc++/impl/codegen/server_context.h + include/grpc++/impl/codegen/server_interface.h + include/grpc++/impl/codegen/service_type.h + include/grpc++/impl/codegen/status.h + include/grpc++/impl/codegen/status_code_enum.h + include/grpc++/impl/codegen/string_ref.h + include/grpc++/impl/codegen/stub_options.h + include/grpc++/impl/codegen/sync.h + include/grpc++/impl/codegen/sync_cxx11.h + include/grpc++/impl/codegen/sync_no_cxx11.h + include/grpc++/impl/codegen/sync_stream.h + include/grpc++/impl/codegen/time.h + include/grpc/impl/codegen/byte_buffer.h + include/grpc/impl/codegen/byte_buffer_reader.h + include/grpc/impl/codegen/compression_types.h + include/grpc/impl/codegen/connectivity_state.h + include/grpc/impl/codegen/grpc_types.h + include/grpc/impl/codegen/propagation_bits.h + include/grpc/impl/codegen/status.h include/grpc/impl/codegen/alloc.h include/grpc/impl/codegen/atm.h include/grpc/impl/codegen/atm_gcc_atomic.h @@ -269,207 +395,21 @@ foreach(_hdr endforeach() -install(TARGETS gpr EXPORT gRPCTargets +install(TARGETS grpc++ EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_library(grpc - src/core/lib/surface/init.c - src/core/lib/channel/channel_args.c - src/core/lib/channel/channel_stack.c - src/core/lib/channel/channel_stack_builder.c - src/core/lib/channel/compress_filter.c - src/core/lib/channel/connected_channel.c - src/core/lib/channel/handshaker.c - src/core/lib/channel/http_client_filter.c - src/core/lib/channel/http_server_filter.c - src/core/lib/compression/compression.c - src/core/lib/compression/message_compress.c - src/core/lib/debug/trace.c - src/core/lib/http/format_request.c - src/core/lib/http/httpcli.c - src/core/lib/http/parser.c - src/core/lib/iomgr/closure.c - src/core/lib/iomgr/endpoint.c - src/core/lib/iomgr/endpoint_pair_posix.c - src/core/lib/iomgr/endpoint_pair_windows.c - src/core/lib/iomgr/error.c - src/core/lib/iomgr/ev_epoll_linux.c - src/core/lib/iomgr/ev_poll_and_epoll_posix.c - src/core/lib/iomgr/ev_poll_posix.c - src/core/lib/iomgr/ev_posix.c - src/core/lib/iomgr/exec_ctx.c - src/core/lib/iomgr/executor.c - src/core/lib/iomgr/iocp_windows.c - src/core/lib/iomgr/iomgr.c - src/core/lib/iomgr/iomgr_posix.c - src/core/lib/iomgr/iomgr_windows.c - src/core/lib/iomgr/load_file.c - src/core/lib/iomgr/network_status_tracker.c - src/core/lib/iomgr/polling_entity.c - src/core/lib/iomgr/pollset_set_windows.c - src/core/lib/iomgr/pollset_windows.c - src/core/lib/iomgr/resolve_address_posix.c - src/core/lib/iomgr/resolve_address_windows.c - src/core/lib/iomgr/sockaddr_utils.c - src/core/lib/iomgr/socket_utils_common_posix.c - src/core/lib/iomgr/socket_utils_linux.c - src/core/lib/iomgr/socket_utils_posix.c - src/core/lib/iomgr/socket_windows.c - src/core/lib/iomgr/tcp_client_posix.c - src/core/lib/iomgr/tcp_client_windows.c - src/core/lib/iomgr/tcp_posix.c - src/core/lib/iomgr/tcp_server_posix.c - src/core/lib/iomgr/tcp_server_windows.c - src/core/lib/iomgr/tcp_windows.c - src/core/lib/iomgr/time_averaged_stats.c - src/core/lib/iomgr/timer.c - src/core/lib/iomgr/timer_heap.c - src/core/lib/iomgr/udp_server.c - src/core/lib/iomgr/unix_sockets_posix.c - src/core/lib/iomgr/unix_sockets_posix_noop.c - src/core/lib/iomgr/wakeup_fd_eventfd.c - src/core/lib/iomgr/wakeup_fd_nospecial.c - src/core/lib/iomgr/wakeup_fd_pipe.c - src/core/lib/iomgr/wakeup_fd_posix.c - src/core/lib/iomgr/workqueue_posix.c - src/core/lib/iomgr/workqueue_windows.c - src/core/lib/json/json.c - src/core/lib/json/json_reader.c - src/core/lib/json/json_string.c - src/core/lib/json/json_writer.c - src/core/lib/surface/alarm.c - src/core/lib/surface/api_trace.c - src/core/lib/surface/byte_buffer.c - src/core/lib/surface/byte_buffer_reader.c - src/core/lib/surface/call.c - src/core/lib/surface/call_details.c - src/core/lib/surface/call_log_batch.c - src/core/lib/surface/channel.c - src/core/lib/surface/channel_init.c - src/core/lib/surface/channel_ping.c - src/core/lib/surface/channel_stack_type.c - src/core/lib/surface/completion_queue.c - src/core/lib/surface/event_string.c - src/core/lib/surface/lame_client.c - src/core/lib/surface/metadata_array.c - src/core/lib/surface/server.c - src/core/lib/surface/validate_metadata.c - src/core/lib/surface/version.c - src/core/lib/transport/byte_stream.c - src/core/lib/transport/connectivity_state.c - src/core/lib/transport/metadata.c - src/core/lib/transport/metadata_batch.c - src/core/lib/transport/static_metadata.c - src/core/lib/transport/timeout_encoding.c - src/core/lib/transport/transport.c - src/core/lib/transport/transport_op_string.c - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c - src/core/ext/transport/chttp2/transport/bin_decoder.c - src/core/ext/transport/chttp2/transport/bin_encoder.c - src/core/ext/transport/chttp2/transport/chttp2_plugin.c - src/core/ext/transport/chttp2/transport/chttp2_transport.c - src/core/ext/transport/chttp2/transport/frame_data.c - src/core/ext/transport/chttp2/transport/frame_goaway.c - src/core/ext/transport/chttp2/transport/frame_ping.c - src/core/ext/transport/chttp2/transport/frame_rst_stream.c - src/core/ext/transport/chttp2/transport/frame_settings.c - src/core/ext/transport/chttp2/transport/frame_window_update.c - src/core/ext/transport/chttp2/transport/hpack_encoder.c - src/core/ext/transport/chttp2/transport/hpack_parser.c - src/core/ext/transport/chttp2/transport/hpack_table.c - src/core/ext/transport/chttp2/transport/huffsyms.c - src/core/ext/transport/chttp2/transport/incoming_metadata.c - src/core/ext/transport/chttp2/transport/parsing.c - src/core/ext/transport/chttp2/transport/status_conversion.c - src/core/ext/transport/chttp2/transport/stream_lists.c - src/core/ext/transport/chttp2/transport/stream_map.c - src/core/ext/transport/chttp2/transport/varint.c - src/core/ext/transport/chttp2/transport/writing.c - src/core/ext/transport/chttp2/alpn/alpn.c - src/core/lib/http/httpcli_security_connector.c - src/core/lib/security/context/security_context.c - src/core/lib/security/credentials/composite/composite_credentials.c - src/core/lib/security/credentials/credentials.c - src/core/lib/security/credentials/credentials_metadata.c - src/core/lib/security/credentials/fake/fake_credentials.c - src/core/lib/security/credentials/google_default/credentials_posix.c - src/core/lib/security/credentials/google_default/credentials_windows.c - src/core/lib/security/credentials/google_default/google_default_credentials.c - src/core/lib/security/credentials/iam/iam_credentials.c - src/core/lib/security/credentials/jwt/json_token.c - src/core/lib/security/credentials/jwt/jwt_credentials.c - src/core/lib/security/credentials/jwt/jwt_verifier.c - src/core/lib/security/credentials/oauth2/oauth2_credentials.c - src/core/lib/security/credentials/plugin/plugin_credentials.c - src/core/lib/security/credentials/ssl/ssl_credentials.c - src/core/lib/security/transport/client_auth_filter.c - src/core/lib/security/transport/handshake.c - src/core/lib/security/transport/secure_endpoint.c - src/core/lib/security/transport/security_connector.c - src/core/lib/security/transport/server_auth_filter.c - src/core/lib/security/transport/tsi_error.c - src/core/lib/security/util/b64.c - src/core/lib/security/util/json_util.c - src/core/lib/surface/init_secure.c - src/core/lib/tsi/fake_transport_security.c - src/core/lib/tsi/ssl_transport_security.c - src/core/lib/tsi/transport_security.c - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c - src/core/ext/client_config/channel_connectivity.c - src/core/ext/client_config/client_channel.c - src/core/ext/client_config/client_channel_factory.c - src/core/ext/client_config/client_config.c - src/core/ext/client_config/client_config_plugin.c - src/core/ext/client_config/connector.c - src/core/ext/client_config/default_initial_connect_string.c - src/core/ext/client_config/initial_connect_string.c - src/core/ext/client_config/lb_policy.c - src/core/ext/client_config/lb_policy_factory.c - src/core/ext/client_config/lb_policy_registry.c - src/core/ext/client_config/parse_address.c - src/core/ext/client_config/resolver.c - src/core/ext/client_config/resolver_factory.c - src/core/ext/client_config/resolver_registry.c - src/core/ext/client_config/subchannel.c - src/core/ext/client_config/subchannel_call_holder.c - src/core/ext/client_config/subchannel_index.c - src/core/ext/client_config/uri_parser.c - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c - src/core/ext/transport/chttp2/client/insecure/channel_create.c - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c - src/core/ext/lb_policy/grpclb/grpclb.c - src/core/ext/lb_policy/grpclb/load_balancer_api.c - src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c - third_party/nanopb/pb_common.c - third_party/nanopb/pb_decode.c - third_party/nanopb/pb_encode.c - src/core/ext/lb_policy/pick_first/pick_first.c - src/core/ext/lb_policy/round_robin/round_robin.c - src/core/ext/resolver/dns/native/dns_resolver.c - src/core/ext/resolver/sockaddr/sockaddr_resolver.c - src/core/ext/load_reporting/load_reporting.c - src/core/ext/load_reporting/load_reporting_filter.c - src/core/ext/census/base_resources.c - src/core/ext/census/context.c - src/core/ext/census/gen/census.pb.c - src/core/ext/census/grpc_context.c - src/core/ext/census/grpc_filter.c - src/core/ext/census/grpc_plugin.c - src/core/ext/census/initialize.c - src/core/ext/census/mlog.c - src/core/ext/census/operation.c - src/core/ext/census/placeholders.c - src/core/ext/census/resource.c - src/core/ext/census/tracing.c - src/core/plugin_registry/grpc_plugin_registry.c +add_library(grpc++_reflection + src/cpp/ext/proto_server_reflection.cc + src/cpp/ext/proto_server_reflection_plugin.cc + src/cpp/ext/reflection.grpc.pb.cc + src/cpp/ext/reflection.pb.cc ) -target_include_directories(grpc +target_include_directories(grpc++_reflection PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -478,20 +418,45 @@ target_include_directories(grpc PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc - ${_gRPC_BASELIB_LIBRARIES} - ${_gRPC_SSL_LIBRARIES} - ${_gRPC_ZLIB_LIBRARIES} - gpr +target_link_libraries(grpc++_reflection + grpc++ ) foreach(_hdr - include/grpc/byte_buffer.h - include/grpc/byte_buffer_reader.h - include/grpc/compression.h - include/grpc/grpc.h - include/grpc/grpc_posix.h - include/grpc/status.h + include/grpc++/ext/proto_server_reflection_plugin.h + include/grpc++/ext/reflection.grpc.pb.h + include/grpc++/ext/reflection.pb.h + include/grpc++/impl/codegen/proto_utils.h + include/grpc++/impl/codegen/async_stream.h + include/grpc++/impl/codegen/async_unary_call.h + include/grpc++/impl/codegen/call.h + include/grpc++/impl/codegen/call_hook.h + include/grpc++/impl/codegen/channel_interface.h + include/grpc++/impl/codegen/client_context.h + include/grpc++/impl/codegen/client_unary_call.h + include/grpc++/impl/codegen/completion_queue.h + include/grpc++/impl/codegen/completion_queue_tag.h + include/grpc++/impl/codegen/config.h + include/grpc++/impl/codegen/core_codegen_interface.h + include/grpc++/impl/codegen/create_auth_context.h + include/grpc++/impl/codegen/grpc_library.h + include/grpc++/impl/codegen/method_handler_impl.h + include/grpc++/impl/codegen/rpc_method.h + include/grpc++/impl/codegen/rpc_service_method.h + include/grpc++/impl/codegen/security/auth_context.h + include/grpc++/impl/codegen/serialization_traits.h + include/grpc++/impl/codegen/server_context.h + include/grpc++/impl/codegen/server_interface.h + include/grpc++/impl/codegen/service_type.h + include/grpc++/impl/codegen/status.h + include/grpc++/impl/codegen/status_code_enum.h + include/grpc++/impl/codegen/string_ref.h + include/grpc++/impl/codegen/stub_options.h + include/grpc++/impl/codegen/sync.h + include/grpc++/impl/codegen/sync_cxx11.h + include/grpc++/impl/codegen/sync_no_cxx11.h + include/grpc++/impl/codegen/sync_stream.h + include/grpc++/impl/codegen/time.h include/grpc/impl/codegen/byte_buffer.h include/grpc/impl/codegen/byte_buffer_reader.h include/grpc/impl/codegen/compression_types.h @@ -513,9 +478,7 @@ foreach(_hdr include/grpc/impl/codegen/sync_posix.h include/grpc/impl/codegen/sync_windows.h include/grpc/impl/codegen/time.h - include/grpc/grpc_security.h - include/grpc/grpc_security_constants.h - include/grpc/census.h + include/grpc++/impl/codegen/config_protobuf.h ) string(REPLACE "include/" "" _path ${_hdr}) get_filename_component(_path ${_path} PATH) @@ -525,181 +488,46 @@ foreach(_hdr endforeach() -install(TARGETS grpc EXPORT gRPCTargets +install(TARGETS grpc++_reflection EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_library(grpc_cronet - src/core/lib/surface/init.c - src/core/lib/channel/channel_args.c - src/core/lib/channel/channel_stack.c - src/core/lib/channel/channel_stack_builder.c - src/core/lib/channel/compress_filter.c - src/core/lib/channel/connected_channel.c - src/core/lib/channel/handshaker.c - src/core/lib/channel/http_client_filter.c - src/core/lib/channel/http_server_filter.c - src/core/lib/compression/compression.c - src/core/lib/compression/message_compress.c - src/core/lib/debug/trace.c - src/core/lib/http/format_request.c - src/core/lib/http/httpcli.c - src/core/lib/http/parser.c - src/core/lib/iomgr/closure.c - src/core/lib/iomgr/endpoint.c - src/core/lib/iomgr/endpoint_pair_posix.c - src/core/lib/iomgr/endpoint_pair_windows.c - src/core/lib/iomgr/error.c - src/core/lib/iomgr/ev_epoll_linux.c - src/core/lib/iomgr/ev_poll_and_epoll_posix.c - src/core/lib/iomgr/ev_poll_posix.c - src/core/lib/iomgr/ev_posix.c - src/core/lib/iomgr/exec_ctx.c - src/core/lib/iomgr/executor.c - src/core/lib/iomgr/iocp_windows.c - src/core/lib/iomgr/iomgr.c - src/core/lib/iomgr/iomgr_posix.c - src/core/lib/iomgr/iomgr_windows.c - src/core/lib/iomgr/load_file.c - src/core/lib/iomgr/network_status_tracker.c - src/core/lib/iomgr/polling_entity.c - src/core/lib/iomgr/pollset_set_windows.c - src/core/lib/iomgr/pollset_windows.c - src/core/lib/iomgr/resolve_address_posix.c - src/core/lib/iomgr/resolve_address_windows.c - src/core/lib/iomgr/sockaddr_utils.c - src/core/lib/iomgr/socket_utils_common_posix.c - src/core/lib/iomgr/socket_utils_linux.c - src/core/lib/iomgr/socket_utils_posix.c - src/core/lib/iomgr/socket_windows.c - src/core/lib/iomgr/tcp_client_posix.c - src/core/lib/iomgr/tcp_client_windows.c - src/core/lib/iomgr/tcp_posix.c - src/core/lib/iomgr/tcp_server_posix.c - src/core/lib/iomgr/tcp_server_windows.c - src/core/lib/iomgr/tcp_windows.c - src/core/lib/iomgr/time_averaged_stats.c - src/core/lib/iomgr/timer.c - src/core/lib/iomgr/timer_heap.c - src/core/lib/iomgr/udp_server.c - src/core/lib/iomgr/unix_sockets_posix.c - src/core/lib/iomgr/unix_sockets_posix_noop.c - src/core/lib/iomgr/wakeup_fd_eventfd.c - src/core/lib/iomgr/wakeup_fd_nospecial.c - src/core/lib/iomgr/wakeup_fd_pipe.c - src/core/lib/iomgr/wakeup_fd_posix.c - src/core/lib/iomgr/workqueue_posix.c - src/core/lib/iomgr/workqueue_windows.c - src/core/lib/json/json.c - src/core/lib/json/json_reader.c - src/core/lib/json/json_string.c - src/core/lib/json/json_writer.c - src/core/lib/surface/alarm.c - src/core/lib/surface/api_trace.c - src/core/lib/surface/byte_buffer.c - src/core/lib/surface/byte_buffer_reader.c - src/core/lib/surface/call.c - src/core/lib/surface/call_details.c - src/core/lib/surface/call_log_batch.c - src/core/lib/surface/channel.c - src/core/lib/surface/channel_init.c - src/core/lib/surface/channel_ping.c - src/core/lib/surface/channel_stack_type.c - src/core/lib/surface/completion_queue.c - src/core/lib/surface/event_string.c - src/core/lib/surface/lame_client.c - src/core/lib/surface/metadata_array.c - src/core/lib/surface/server.c - src/core/lib/surface/validate_metadata.c - src/core/lib/surface/version.c - src/core/lib/transport/byte_stream.c - src/core/lib/transport/connectivity_state.c - src/core/lib/transport/metadata.c - src/core/lib/transport/metadata_batch.c - src/core/lib/transport/static_metadata.c - src/core/lib/transport/timeout_encoding.c - src/core/lib/transport/transport.c - src/core/lib/transport/transport_op_string.c - src/core/ext/transport/cronet/client/secure/cronet_channel_create.c - src/core/ext/transport/cronet/transport/cronet_api_dummy.c - src/core/ext/transport/cronet/transport/cronet_transport.c - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c - src/core/ext/transport/chttp2/transport/bin_decoder.c - src/core/ext/transport/chttp2/transport/bin_encoder.c - src/core/ext/transport/chttp2/transport/chttp2_plugin.c - src/core/ext/transport/chttp2/transport/chttp2_transport.c - src/core/ext/transport/chttp2/transport/frame_data.c - src/core/ext/transport/chttp2/transport/frame_goaway.c - src/core/ext/transport/chttp2/transport/frame_ping.c - src/core/ext/transport/chttp2/transport/frame_rst_stream.c - src/core/ext/transport/chttp2/transport/frame_settings.c - src/core/ext/transport/chttp2/transport/frame_window_update.c - src/core/ext/transport/chttp2/transport/hpack_encoder.c - src/core/ext/transport/chttp2/transport/hpack_parser.c - src/core/ext/transport/chttp2/transport/hpack_table.c - src/core/ext/transport/chttp2/transport/huffsyms.c - src/core/ext/transport/chttp2/transport/incoming_metadata.c - src/core/ext/transport/chttp2/transport/parsing.c - src/core/ext/transport/chttp2/transport/status_conversion.c - src/core/ext/transport/chttp2/transport/stream_lists.c - src/core/ext/transport/chttp2/transport/stream_map.c - src/core/ext/transport/chttp2/transport/varint.c - src/core/ext/transport/chttp2/transport/writing.c - src/core/ext/transport/chttp2/alpn/alpn.c - src/core/ext/client_config/channel_connectivity.c - src/core/ext/client_config/client_channel.c - src/core/ext/client_config/client_channel_factory.c - src/core/ext/client_config/client_config.c - src/core/ext/client_config/client_config_plugin.c - src/core/ext/client_config/connector.c - src/core/ext/client_config/default_initial_connect_string.c - src/core/ext/client_config/initial_connect_string.c - src/core/ext/client_config/lb_policy.c - src/core/ext/client_config/lb_policy_factory.c - src/core/ext/client_config/lb_policy_registry.c - src/core/ext/client_config/parse_address.c - src/core/ext/client_config/resolver.c - src/core/ext/client_config/resolver_factory.c - src/core/ext/client_config/resolver_registry.c - src/core/ext/client_config/subchannel.c - src/core/ext/client_config/subchannel_call_holder.c - src/core/ext/client_config/subchannel_index.c - src/core/ext/client_config/uri_parser.c - src/core/lib/http/httpcli_security_connector.c - src/core/lib/security/context/security_context.c - src/core/lib/security/credentials/composite/composite_credentials.c - src/core/lib/security/credentials/credentials.c - src/core/lib/security/credentials/credentials_metadata.c - src/core/lib/security/credentials/fake/fake_credentials.c - src/core/lib/security/credentials/google_default/credentials_posix.c - src/core/lib/security/credentials/google_default/credentials_windows.c - src/core/lib/security/credentials/google_default/google_default_credentials.c - src/core/lib/security/credentials/iam/iam_credentials.c - src/core/lib/security/credentials/jwt/json_token.c - src/core/lib/security/credentials/jwt/jwt_credentials.c - src/core/lib/security/credentials/jwt/jwt_verifier.c - src/core/lib/security/credentials/oauth2/oauth2_credentials.c - src/core/lib/security/credentials/plugin/plugin_credentials.c - src/core/lib/security/credentials/ssl/ssl_credentials.c - src/core/lib/security/transport/client_auth_filter.c - src/core/lib/security/transport/handshake.c - src/core/lib/security/transport/secure_endpoint.c - src/core/lib/security/transport/security_connector.c - src/core/lib/security/transport/server_auth_filter.c - src/core/lib/security/transport/tsi_error.c - src/core/lib/security/util/b64.c - src/core/lib/security/util/json_util.c - src/core/lib/surface/init_secure.c - src/core/lib/tsi/fake_transport_security.c - src/core/lib/tsi/ssl_transport_security.c - src/core/lib/tsi/transport_security.c - src/core/plugin_registry/grpc_cronet_plugin_registry.c +add_library(grpc++_unsecure + src/cpp/common/insecure_create_auth_context.cc + src/cpp/client/channel.cc + src/cpp/client/client_context.cc + src/cpp/client/create_channel.cc + src/cpp/client/create_channel_internal.cc + src/cpp/client/create_channel_posix.cc + src/cpp/client/credentials.cc + src/cpp/client/generic_stub.cc + src/cpp/client/insecure_credentials.cc + src/cpp/common/channel_arguments.cc + src/cpp/common/channel_filter.cc + src/cpp/common/completion_queue.cc + src/cpp/common/core_codegen.cc + src/cpp/common/rpc_method.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/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/server/server_posix.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 + src/cpp/codegen/codegen_init.cc ) -target_include_directories(grpc_cronet +target_include_directories(grpc++_unsecure PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -708,19 +536,92 @@ target_include_directories(grpc_cronet PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc_cronet +target_link_libraries(grpc++_unsecure ${_gRPC_BASELIB_LIBRARIES} - ${_gRPC_SSL_LIBRARIES} + ${_gRPC_PROTOBUF_LIBRARIES} gpr + grpc_unsecure + grpc ) foreach(_hdr - include/grpc/byte_buffer.h - include/grpc/byte_buffer_reader.h - include/grpc/compression.h - include/grpc/grpc.h - include/grpc/grpc_posix.h - include/grpc/status.h + include/grpc++/alarm.h + include/grpc++/channel.h + include/grpc++/client_context.h + include/grpc++/completion_queue.h + include/grpc++/create_channel.h + include/grpc++/create_channel_posix.h + include/grpc++/generic/async_generic_service.h + include/grpc++/generic/generic_stub.h + include/grpc++/grpc++.h + include/grpc++/impl/call.h + include/grpc++/impl/client_unary_call.h + include/grpc++/impl/codegen/core_codegen.h + include/grpc++/impl/grpc_library.h + include/grpc++/impl/method_handler_impl.h + include/grpc++/impl/rpc_method.h + include/grpc++/impl/rpc_service_method.h + include/grpc++/impl/serialization_traits.h + include/grpc++/impl/server_builder_option.h + include/grpc++/impl/server_builder_plugin.h + include/grpc++/impl/server_initializer.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++/security/auth_context.h + include/grpc++/security/auth_metadata_processor.h + include/grpc++/security/credentials.h + include/grpc++/security/server_credentials.h + include/grpc++/server.h + include/grpc++/server_builder.h + include/grpc++/server_context.h + include/grpc++/server_posix.h + include/grpc++/support/async_stream.h + include/grpc++/support/async_unary_call.h + include/grpc++/support/byte_buffer.h + include/grpc++/support/channel_arguments.h + include/grpc++/support/config.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 + include/grpc++/impl/codegen/async_stream.h + include/grpc++/impl/codegen/async_unary_call.h + include/grpc++/impl/codegen/call.h + include/grpc++/impl/codegen/call_hook.h + include/grpc++/impl/codegen/channel_interface.h + include/grpc++/impl/codegen/client_context.h + include/grpc++/impl/codegen/client_unary_call.h + include/grpc++/impl/codegen/completion_queue.h + include/grpc++/impl/codegen/completion_queue_tag.h + include/grpc++/impl/codegen/config.h + include/grpc++/impl/codegen/core_codegen_interface.h + include/grpc++/impl/codegen/create_auth_context.h + include/grpc++/impl/codegen/grpc_library.h + include/grpc++/impl/codegen/method_handler_impl.h + include/grpc++/impl/codegen/rpc_method.h + include/grpc++/impl/codegen/rpc_service_method.h + include/grpc++/impl/codegen/security/auth_context.h + include/grpc++/impl/codegen/serialization_traits.h + include/grpc++/impl/codegen/server_context.h + include/grpc++/impl/codegen/server_interface.h + include/grpc++/impl/codegen/service_type.h + include/grpc++/impl/codegen/status.h + include/grpc++/impl/codegen/status_code_enum.h + include/grpc++/impl/codegen/string_ref.h + include/grpc++/impl/codegen/stub_options.h + include/grpc++/impl/codegen/sync.h + include/grpc++/impl/codegen/sync_cxx11.h + include/grpc++/impl/codegen/sync_no_cxx11.h + include/grpc++/impl/codegen/sync_stream.h + include/grpc++/impl/codegen/time.h include/grpc/impl/codegen/byte_buffer.h include/grpc/impl/codegen/byte_buffer_reader.h include/grpc/impl/codegen/compression_types.h @@ -742,9 +643,6 @@ foreach(_hdr include/grpc/impl/codegen/sync_posix.h include/grpc/impl/codegen/sync_windows.h include/grpc/impl/codegen/time.h - include/grpc/grpc_cronet.h - include/grpc/grpc_security.h - include/grpc/grpc_security_constants.h ) string(REPLACE "include/" "" _path ${_hdr}) get_filename_component(_path ${_path} PATH) @@ -754,16 +652,173 @@ foreach(_hdr endforeach() -install(TARGETS grpc_cronet EXPORT gRPCTargets +install(TARGETS grpc++_unsecure EXPORT gRPCTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +) + + +add_library(grpc_plugin_support + src/compiler/c_generator.cc + src/compiler/cpp_generator.cc + src/compiler/csharp_generator.cc + src/compiler/node_generator.cc + src/compiler/objective_c_generator.cc + src/compiler/python_generator.cc + src/compiler/ruby_generator.cc +) + +target_include_directories(grpc_plugin_support + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${BORINGSSL_ROOT_DIR}/include + PRIVATE ${PROTOBUF_ROOT_DIR}/src + PRIVATE ${ZLIB_INCLUDE_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib +) + +target_link_libraries(grpc_plugin_support + ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} +) + +foreach(_hdr + include/grpc++/impl/codegen/config_protobuf.h +) + string(REPLACE "include/" "" _path ${_hdr}) + get_filename_component(_path ${_path} PATH) + install(FILES ${_hdr} + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${_path}" + ) +endforeach() + + +install(TARGETS grpc_plugin_support EXPORT gRPCTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +) + + +add_library(gpr + src/core/lib/profiling/basic_timers.c + src/core/lib/profiling/stap_timers.c + src/core/lib/support/alloc.c + src/core/lib/support/avl.c + src/core/lib/support/backoff.c + src/core/lib/support/cmdline.c + src/core/lib/support/cpu_iphone.c + src/core/lib/support/cpu_linux.c + src/core/lib/support/cpu_posix.c + src/core/lib/support/cpu_windows.c + src/core/lib/support/env_linux.c + src/core/lib/support/env_posix.c + src/core/lib/support/env_windows.c + src/core/lib/support/histogram.c + src/core/lib/support/host_port.c + src/core/lib/support/log.c + src/core/lib/support/log_android.c + src/core/lib/support/log_linux.c + src/core/lib/support/log_posix.c + src/core/lib/support/log_windows.c + src/core/lib/support/murmur_hash.c + src/core/lib/support/slice.c + src/core/lib/support/slice_buffer.c + src/core/lib/support/stack_lockfree.c + src/core/lib/support/string.c + src/core/lib/support/string_posix.c + src/core/lib/support/string_util_windows.c + src/core/lib/support/string_windows.c + src/core/lib/support/subprocess_posix.c + src/core/lib/support/subprocess_windows.c + src/core/lib/support/sync.c + src/core/lib/support/sync_posix.c + src/core/lib/support/sync_windows.c + src/core/lib/support/thd.c + src/core/lib/support/thd_posix.c + src/core/lib/support/thd_windows.c + src/core/lib/support/time.c + src/core/lib/support/time_posix.c + src/core/lib/support/time_precise.c + src/core/lib/support/time_windows.c + src/core/lib/support/tls_pthread.c + src/core/lib/support/tmpfile_msys.c + src/core/lib/support/tmpfile_posix.c + src/core/lib/support/tmpfile_windows.c + src/core/lib/support/wrap_memcpy.c +) + +target_include_directories(gpr + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${BORINGSSL_ROOT_DIR}/include + PRIVATE ${PROTOBUF_ROOT_DIR}/src + PRIVATE ${ZLIB_INCLUDE_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib +) + + +foreach(_hdr + 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_windows.h + include/grpc/support/avl.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_windows.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_windows.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 + include/grpc/impl/codegen/alloc.h + include/grpc/impl/codegen/atm.h + include/grpc/impl/codegen/atm_gcc_atomic.h + include/grpc/impl/codegen/atm_gcc_sync.h + include/grpc/impl/codegen/atm_windows.h + include/grpc/impl/codegen/log.h + include/grpc/impl/codegen/port_platform.h + include/grpc/impl/codegen/slice.h + include/grpc/impl/codegen/slice_buffer.h + include/grpc/impl/codegen/sync.h + include/grpc/impl/codegen/sync_generic.h + include/grpc/impl/codegen/sync_posix.h + include/grpc/impl/codegen/sync_windows.h + include/grpc/impl/codegen/time.h +) + string(REPLACE "include/" "" _path ${_hdr}) + get_filename_component(_path ${_path} PATH) + install(FILES ${_hdr} + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${_path}" + ) +endforeach() + + +install(TARGETS gpr EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_library(grpc_unsecure +add_library(grpc src/core/lib/surface/init.c - src/core/lib/surface/init_unsecure.c src/core/lib/channel/channel_args.c src/core/lib/channel/channel_stack.c src/core/lib/channel/channel_stack_builder.c @@ -853,8 +908,7 @@ add_library(grpc_unsecure src/core/lib/transport/timeout_encoding.c src/core/lib/transport/transport.c src/core/lib/transport/transport_op_string.c - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c + src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c src/core/ext/transport/chttp2/transport/bin_decoder.c src/core/ext/transport/chttp2/transport/bin_encoder.c src/core/ext/transport/chttp2/transport/chttp2_plugin.c @@ -877,8 +931,35 @@ add_library(grpc_unsecure src/core/ext/transport/chttp2/transport/varint.c src/core/ext/transport/chttp2/transport/writing.c src/core/ext/transport/chttp2/alpn/alpn.c - src/core/ext/transport/chttp2/client/insecure/channel_create.c - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c + src/core/lib/http/httpcli_security_connector.c + src/core/lib/security/context/security_context.c + src/core/lib/security/credentials/composite/composite_credentials.c + src/core/lib/security/credentials/credentials.c + src/core/lib/security/credentials/credentials_metadata.c + src/core/lib/security/credentials/fake/fake_credentials.c + src/core/lib/security/credentials/google_default/credentials_posix.c + src/core/lib/security/credentials/google_default/credentials_windows.c + src/core/lib/security/credentials/google_default/google_default_credentials.c + src/core/lib/security/credentials/iam/iam_credentials.c + src/core/lib/security/credentials/jwt/json_token.c + src/core/lib/security/credentials/jwt/jwt_credentials.c + src/core/lib/security/credentials/jwt/jwt_verifier.c + src/core/lib/security/credentials/oauth2/oauth2_credentials.c + src/core/lib/security/credentials/plugin/plugin_credentials.c + src/core/lib/security/credentials/ssl/ssl_credentials.c + src/core/lib/security/transport/client_auth_filter.c + src/core/lib/security/transport/handshake.c + src/core/lib/security/transport/secure_endpoint.c + src/core/lib/security/transport/security_connector.c + src/core/lib/security/transport/server_auth_filter.c + src/core/lib/security/transport/tsi_error.c + src/core/lib/security/util/b64.c + src/core/lib/security/util/json_util.c + src/core/lib/surface/init_secure.c + src/core/lib/tsi/fake_transport_security.c + src/core/lib/tsi/ssl_transport_security.c + src/core/lib/tsi/transport_security.c + src/core/ext/transport/chttp2/client/secure/secure_channel_create.c src/core/ext/client_config/channel_connectivity.c src/core/ext/client_config/client_channel.c src/core/ext/client_config/client_channel_factory.c @@ -898,10 +979,10 @@ add_library(grpc_unsecure src/core/ext/client_config/subchannel_call_holder.c src/core/ext/client_config/subchannel_index.c src/core/ext/client_config/uri_parser.c - src/core/ext/resolver/dns/native/dns_resolver.c - src/core/ext/resolver/sockaddr/sockaddr_resolver.c - src/core/ext/load_reporting/load_reporting.c - src/core/ext/load_reporting/load_reporting_filter.c + src/core/ext/transport/chttp2/server/insecure/server_chttp2.c + src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c + src/core/ext/transport/chttp2/client/insecure/channel_create.c + src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c src/core/ext/lb_policy/grpclb/grpclb.c src/core/ext/lb_policy/grpclb/load_balancer_api.c src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c @@ -910,211 +991,48 @@ add_library(grpc_unsecure third_party/nanopb/pb_encode.c src/core/ext/lb_policy/pick_first/pick_first.c src/core/ext/lb_policy/round_robin/round_robin.c + src/core/ext/resolver/dns/native/dns_resolver.c + src/core/ext/resolver/sockaddr/sockaddr_resolver.c + src/core/ext/load_reporting/load_reporting.c + src/core/ext/load_reporting/load_reporting_filter.c src/core/ext/census/base_resources.c src/core/ext/census/context.c src/core/ext/census/gen/census.pb.c src/core/ext/census/grpc_context.c src/core/ext/census/grpc_filter.c - src/core/ext/census/grpc_plugin.c - src/core/ext/census/initialize.c - src/core/ext/census/mlog.c - src/core/ext/census/operation.c - src/core/ext/census/placeholders.c - src/core/ext/census/resource.c - src/core/ext/census/tracing.c - src/core/plugin_registry/grpc_unsecure_plugin_registry.c -) - -target_include_directories(grpc_unsecure - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include - PRIVATE ${BORINGSSL_ROOT_DIR}/include - PRIVATE ${PROTOBUF_ROOT_DIR}/src - PRIVATE ${ZLIB_INCLUDE_DIR} - PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib -) - -target_link_libraries(grpc_unsecure - ${_gRPC_BASELIB_LIBRARIES} - gpr -) - -foreach(_hdr - include/grpc/byte_buffer.h - include/grpc/byte_buffer_reader.h - include/grpc/compression.h - include/grpc/grpc.h - include/grpc/grpc_posix.h - include/grpc/status.h - include/grpc/impl/codegen/byte_buffer.h - include/grpc/impl/codegen/byte_buffer_reader.h - include/grpc/impl/codegen/compression_types.h - include/grpc/impl/codegen/connectivity_state.h - include/grpc/impl/codegen/grpc_types.h - include/grpc/impl/codegen/propagation_bits.h - include/grpc/impl/codegen/status.h - include/grpc/impl/codegen/alloc.h - include/grpc/impl/codegen/atm.h - include/grpc/impl/codegen/atm_gcc_atomic.h - include/grpc/impl/codegen/atm_gcc_sync.h - include/grpc/impl/codegen/atm_windows.h - include/grpc/impl/codegen/log.h - include/grpc/impl/codegen/port_platform.h - include/grpc/impl/codegen/slice.h - include/grpc/impl/codegen/slice_buffer.h - include/grpc/impl/codegen/sync.h - include/grpc/impl/codegen/sync_generic.h - include/grpc/impl/codegen/sync_posix.h - include/grpc/impl/codegen/sync_windows.h - include/grpc/impl/codegen/time.h - include/grpc/census.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() - - -install(TARGETS grpc_unsecure EXPORT gRPCTargets - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -) - - -add_library(grpc++ - src/cpp/client/secure_credentials.cc - src/cpp/common/auth_property_iterator.cc - src/cpp/common/secure_auth_context.cc - src/cpp/common/secure_channel_arguments.cc - src/cpp/common/secure_create_auth_context.cc - src/cpp/server/secure_server_credentials.cc - src/cpp/client/channel.cc - src/cpp/client/client_context.cc - src/cpp/client/create_channel.cc - src/cpp/client/create_channel_internal.cc - src/cpp/client/create_channel_posix.cc - src/cpp/client/credentials.cc - src/cpp/client/generic_stub.cc - src/cpp/client/insecure_credentials.cc - src/cpp/common/channel_arguments.cc - src/cpp/common/channel_filter.cc - src/cpp/common/completion_queue.cc - src/cpp/common/core_codegen.cc - src/cpp/common/rpc_method.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/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/server/server_posix.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 - src/cpp/codegen/codegen_init.cc -) - -target_include_directories(grpc++ - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include - PRIVATE ${BORINGSSL_ROOT_DIR}/include - PRIVATE ${PROTOBUF_ROOT_DIR}/src - PRIVATE ${ZLIB_INCLUDE_DIR} - PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib -) - -target_link_libraries(grpc++ - ${_gRPC_BASELIB_LIBRARIES} - ${_gRPC_SSL_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - grpc -) - -foreach(_hdr - include/grpc++/alarm.h - include/grpc++/channel.h - include/grpc++/client_context.h - include/grpc++/completion_queue.h - include/grpc++/create_channel.h - include/grpc++/create_channel_posix.h - include/grpc++/generic/async_generic_service.h - include/grpc++/generic/generic_stub.h - include/grpc++/grpc++.h - include/grpc++/impl/call.h - include/grpc++/impl/client_unary_call.h - include/grpc++/impl/codegen/core_codegen.h - include/grpc++/impl/grpc_library.h - include/grpc++/impl/method_handler_impl.h - include/grpc++/impl/rpc_method.h - include/grpc++/impl/rpc_service_method.h - include/grpc++/impl/serialization_traits.h - include/grpc++/impl/server_builder_option.h - include/grpc++/impl/server_builder_plugin.h - include/grpc++/impl/server_initializer.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++/security/auth_context.h - include/grpc++/security/auth_metadata_processor.h - include/grpc++/security/credentials.h - include/grpc++/security/server_credentials.h - include/grpc++/server.h - include/grpc++/server_builder.h - include/grpc++/server_context.h - include/grpc++/server_posix.h - include/grpc++/support/async_stream.h - include/grpc++/support/async_unary_call.h - include/grpc++/support/byte_buffer.h - include/grpc++/support/channel_arguments.h - include/grpc++/support/config.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 - include/grpc++/impl/codegen/async_stream.h - include/grpc++/impl/codegen/async_unary_call.h - include/grpc++/impl/codegen/call.h - include/grpc++/impl/codegen/call_hook.h - include/grpc++/impl/codegen/channel_interface.h - include/grpc++/impl/codegen/client_context.h - include/grpc++/impl/codegen/client_unary_call.h - include/grpc++/impl/codegen/completion_queue.h - include/grpc++/impl/codegen/completion_queue_tag.h - include/grpc++/impl/codegen/config.h - include/grpc++/impl/codegen/core_codegen_interface.h - include/grpc++/impl/codegen/create_auth_context.h - include/grpc++/impl/codegen/grpc_library.h - include/grpc++/impl/codegen/method_handler_impl.h - include/grpc++/impl/codegen/rpc_method.h - include/grpc++/impl/codegen/rpc_service_method.h - include/grpc++/impl/codegen/security/auth_context.h - include/grpc++/impl/codegen/serialization_traits.h - include/grpc++/impl/codegen/server_context.h - include/grpc++/impl/codegen/server_interface.h - include/grpc++/impl/codegen/service_type.h - include/grpc++/impl/codegen/status.h - include/grpc++/impl/codegen/status_code_enum.h - include/grpc++/impl/codegen/string_ref.h - include/grpc++/impl/codegen/stub_options.h - include/grpc++/impl/codegen/sync.h - include/grpc++/impl/codegen/sync_cxx11.h - include/grpc++/impl/codegen/sync_no_cxx11.h - include/grpc++/impl/codegen/sync_stream.h - include/grpc++/impl/codegen/time.h + src/core/ext/census/grpc_plugin.c + src/core/ext/census/initialize.c + src/core/ext/census/mlog.c + src/core/ext/census/operation.c + src/core/ext/census/placeholders.c + src/core/ext/census/resource.c + src/core/ext/census/tracing.c + src/core/plugin_registry/grpc_plugin_registry.c +) + +target_include_directories(grpc + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${BORINGSSL_ROOT_DIR}/include + PRIVATE ${PROTOBUF_ROOT_DIR}/src + PRIVATE ${ZLIB_INCLUDE_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib +) + +target_link_libraries(grpc + ${_gRPC_BASELIB_LIBRARIES} + ${_gRPC_SSL_LIBRARIES} + ${_gRPC_ZLIB_LIBRARIES} + gpr +) + +foreach(_hdr + include/grpc/byte_buffer.h + include/grpc/byte_buffer_reader.h + include/grpc/compression.h + include/grpc/grpc.h + include/grpc/grpc_posix.h + include/grpc/status.h include/grpc/impl/codegen/byte_buffer.h include/grpc/impl/codegen/byte_buffer_reader.h include/grpc/impl/codegen/compression_types.h @@ -1136,6 +1054,9 @@ foreach(_hdr include/grpc/impl/codegen/sync_posix.h include/grpc/impl/codegen/sync_windows.h include/grpc/impl/codegen/time.h + include/grpc/grpc_security.h + include/grpc/grpc_security_constants.h + include/grpc/census.h ) string(REPLACE "include/" "" _path ${_hdr}) get_filename_component(_path ${_path} PATH) @@ -1145,21 +1066,181 @@ foreach(_hdr endforeach() -install(TARGETS grpc++ EXPORT gRPCTargets +install(TARGETS grpc EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_library(grpc++_reflection - src/cpp/ext/proto_server_reflection.cc - src/cpp/ext/proto_server_reflection_plugin.cc - src/cpp/ext/reflection.grpc.pb.cc - src/cpp/ext/reflection.pb.cc +add_library(grpc_cronet + src/core/lib/surface/init.c + src/core/lib/channel/channel_args.c + src/core/lib/channel/channel_stack.c + src/core/lib/channel/channel_stack_builder.c + src/core/lib/channel/compress_filter.c + src/core/lib/channel/connected_channel.c + src/core/lib/channel/handshaker.c + src/core/lib/channel/http_client_filter.c + src/core/lib/channel/http_server_filter.c + src/core/lib/compression/compression.c + src/core/lib/compression/message_compress.c + src/core/lib/debug/trace.c + src/core/lib/http/format_request.c + src/core/lib/http/httpcli.c + src/core/lib/http/parser.c + src/core/lib/iomgr/closure.c + src/core/lib/iomgr/endpoint.c + src/core/lib/iomgr/endpoint_pair_posix.c + src/core/lib/iomgr/endpoint_pair_windows.c + src/core/lib/iomgr/error.c + src/core/lib/iomgr/ev_epoll_linux.c + src/core/lib/iomgr/ev_poll_and_epoll_posix.c + src/core/lib/iomgr/ev_poll_posix.c + src/core/lib/iomgr/ev_posix.c + src/core/lib/iomgr/exec_ctx.c + src/core/lib/iomgr/executor.c + src/core/lib/iomgr/iocp_windows.c + src/core/lib/iomgr/iomgr.c + src/core/lib/iomgr/iomgr_posix.c + src/core/lib/iomgr/iomgr_windows.c + src/core/lib/iomgr/load_file.c + src/core/lib/iomgr/network_status_tracker.c + src/core/lib/iomgr/polling_entity.c + src/core/lib/iomgr/pollset_set_windows.c + src/core/lib/iomgr/pollset_windows.c + src/core/lib/iomgr/resolve_address_posix.c + src/core/lib/iomgr/resolve_address_windows.c + src/core/lib/iomgr/sockaddr_utils.c + src/core/lib/iomgr/socket_utils_common_posix.c + src/core/lib/iomgr/socket_utils_linux.c + src/core/lib/iomgr/socket_utils_posix.c + src/core/lib/iomgr/socket_windows.c + src/core/lib/iomgr/tcp_client_posix.c + src/core/lib/iomgr/tcp_client_windows.c + src/core/lib/iomgr/tcp_posix.c + src/core/lib/iomgr/tcp_server_posix.c + src/core/lib/iomgr/tcp_server_windows.c + src/core/lib/iomgr/tcp_windows.c + src/core/lib/iomgr/time_averaged_stats.c + src/core/lib/iomgr/timer.c + src/core/lib/iomgr/timer_heap.c + src/core/lib/iomgr/udp_server.c + src/core/lib/iomgr/unix_sockets_posix.c + src/core/lib/iomgr/unix_sockets_posix_noop.c + src/core/lib/iomgr/wakeup_fd_eventfd.c + src/core/lib/iomgr/wakeup_fd_nospecial.c + src/core/lib/iomgr/wakeup_fd_pipe.c + src/core/lib/iomgr/wakeup_fd_posix.c + src/core/lib/iomgr/workqueue_posix.c + src/core/lib/iomgr/workqueue_windows.c + src/core/lib/json/json.c + src/core/lib/json/json_reader.c + src/core/lib/json/json_string.c + src/core/lib/json/json_writer.c + src/core/lib/surface/alarm.c + src/core/lib/surface/api_trace.c + src/core/lib/surface/byte_buffer.c + src/core/lib/surface/byte_buffer_reader.c + src/core/lib/surface/call.c + src/core/lib/surface/call_details.c + src/core/lib/surface/call_log_batch.c + src/core/lib/surface/channel.c + src/core/lib/surface/channel_init.c + src/core/lib/surface/channel_ping.c + src/core/lib/surface/channel_stack_type.c + src/core/lib/surface/completion_queue.c + src/core/lib/surface/event_string.c + src/core/lib/surface/lame_client.c + src/core/lib/surface/metadata_array.c + src/core/lib/surface/server.c + src/core/lib/surface/validate_metadata.c + src/core/lib/surface/version.c + src/core/lib/transport/byte_stream.c + src/core/lib/transport/connectivity_state.c + src/core/lib/transport/metadata.c + src/core/lib/transport/metadata_batch.c + src/core/lib/transport/static_metadata.c + src/core/lib/transport/timeout_encoding.c + src/core/lib/transport/transport.c + src/core/lib/transport/transport_op_string.c + src/core/ext/transport/cronet/client/secure/cronet_channel_create.c + src/core/ext/transport/cronet/transport/cronet_api_dummy.c + src/core/ext/transport/cronet/transport/cronet_transport.c + src/core/ext/transport/chttp2/client/secure/secure_channel_create.c + src/core/ext/transport/chttp2/transport/bin_decoder.c + src/core/ext/transport/chttp2/transport/bin_encoder.c + src/core/ext/transport/chttp2/transport/chttp2_plugin.c + src/core/ext/transport/chttp2/transport/chttp2_transport.c + src/core/ext/transport/chttp2/transport/frame_data.c + src/core/ext/transport/chttp2/transport/frame_goaway.c + src/core/ext/transport/chttp2/transport/frame_ping.c + src/core/ext/transport/chttp2/transport/frame_rst_stream.c + src/core/ext/transport/chttp2/transport/frame_settings.c + src/core/ext/transport/chttp2/transport/frame_window_update.c + src/core/ext/transport/chttp2/transport/hpack_encoder.c + src/core/ext/transport/chttp2/transport/hpack_parser.c + src/core/ext/transport/chttp2/transport/hpack_table.c + src/core/ext/transport/chttp2/transport/huffsyms.c + src/core/ext/transport/chttp2/transport/incoming_metadata.c + src/core/ext/transport/chttp2/transport/parsing.c + src/core/ext/transport/chttp2/transport/status_conversion.c + src/core/ext/transport/chttp2/transport/stream_lists.c + src/core/ext/transport/chttp2/transport/stream_map.c + src/core/ext/transport/chttp2/transport/varint.c + src/core/ext/transport/chttp2/transport/writing.c + src/core/ext/transport/chttp2/alpn/alpn.c + src/core/ext/client_config/channel_connectivity.c + src/core/ext/client_config/client_channel.c + src/core/ext/client_config/client_channel_factory.c + src/core/ext/client_config/client_config.c + src/core/ext/client_config/client_config_plugin.c + src/core/ext/client_config/connector.c + src/core/ext/client_config/default_initial_connect_string.c + src/core/ext/client_config/initial_connect_string.c + src/core/ext/client_config/lb_policy.c + src/core/ext/client_config/lb_policy_factory.c + src/core/ext/client_config/lb_policy_registry.c + src/core/ext/client_config/parse_address.c + src/core/ext/client_config/resolver.c + src/core/ext/client_config/resolver_factory.c + src/core/ext/client_config/resolver_registry.c + src/core/ext/client_config/subchannel.c + src/core/ext/client_config/subchannel_call_holder.c + src/core/ext/client_config/subchannel_index.c + src/core/ext/client_config/uri_parser.c + src/core/lib/http/httpcli_security_connector.c + src/core/lib/security/context/security_context.c + src/core/lib/security/credentials/composite/composite_credentials.c + src/core/lib/security/credentials/credentials.c + src/core/lib/security/credentials/credentials_metadata.c + src/core/lib/security/credentials/fake/fake_credentials.c + src/core/lib/security/credentials/google_default/credentials_posix.c + src/core/lib/security/credentials/google_default/credentials_windows.c + src/core/lib/security/credentials/google_default/google_default_credentials.c + src/core/lib/security/credentials/iam/iam_credentials.c + src/core/lib/security/credentials/jwt/json_token.c + src/core/lib/security/credentials/jwt/jwt_credentials.c + src/core/lib/security/credentials/jwt/jwt_verifier.c + src/core/lib/security/credentials/oauth2/oauth2_credentials.c + src/core/lib/security/credentials/plugin/plugin_credentials.c + src/core/lib/security/credentials/ssl/ssl_credentials.c + src/core/lib/security/transport/client_auth_filter.c + src/core/lib/security/transport/handshake.c + src/core/lib/security/transport/secure_endpoint.c + src/core/lib/security/transport/security_connector.c + src/core/lib/security/transport/server_auth_filter.c + src/core/lib/security/transport/tsi_error.c + src/core/lib/security/util/b64.c + src/core/lib/security/util/json_util.c + src/core/lib/surface/init_secure.c + src/core/lib/tsi/fake_transport_security.c + src/core/lib/tsi/ssl_transport_security.c + src/core/lib/tsi/transport_security.c + src/core/plugin_registry/grpc_cronet_plugin_registry.c ) -target_include_directories(grpc++_reflection +target_include_directories(grpc_cronet PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1168,45 +1249,19 @@ target_include_directories(grpc++_reflection PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc++_reflection - grpc++ +target_link_libraries(grpc_cronet + ${_gRPC_BASELIB_LIBRARIES} + ${_gRPC_SSL_LIBRARIES} + gpr ) foreach(_hdr - include/grpc++/ext/proto_server_reflection_plugin.h - include/grpc++/ext/reflection.grpc.pb.h - include/grpc++/ext/reflection.pb.h - include/grpc++/impl/codegen/proto_utils.h - include/grpc++/impl/codegen/async_stream.h - include/grpc++/impl/codegen/async_unary_call.h - include/grpc++/impl/codegen/call.h - include/grpc++/impl/codegen/call_hook.h - include/grpc++/impl/codegen/channel_interface.h - include/grpc++/impl/codegen/client_context.h - include/grpc++/impl/codegen/client_unary_call.h - include/grpc++/impl/codegen/completion_queue.h - include/grpc++/impl/codegen/completion_queue_tag.h - include/grpc++/impl/codegen/config.h - include/grpc++/impl/codegen/core_codegen_interface.h - include/grpc++/impl/codegen/create_auth_context.h - include/grpc++/impl/codegen/grpc_library.h - include/grpc++/impl/codegen/method_handler_impl.h - include/grpc++/impl/codegen/rpc_method.h - include/grpc++/impl/codegen/rpc_service_method.h - include/grpc++/impl/codegen/security/auth_context.h - include/grpc++/impl/codegen/serialization_traits.h - include/grpc++/impl/codegen/server_context.h - include/grpc++/impl/codegen/server_interface.h - include/grpc++/impl/codegen/service_type.h - include/grpc++/impl/codegen/status.h - include/grpc++/impl/codegen/status_code_enum.h - include/grpc++/impl/codegen/string_ref.h - include/grpc++/impl/codegen/stub_options.h - include/grpc++/impl/codegen/sync.h - include/grpc++/impl/codegen/sync_cxx11.h - include/grpc++/impl/codegen/sync_no_cxx11.h - include/grpc++/impl/codegen/sync_stream.h - include/grpc++/impl/codegen/time.h + include/grpc/byte_buffer.h + include/grpc/byte_buffer_reader.h + include/grpc/compression.h + include/grpc/grpc.h + include/grpc/grpc_posix.h + include/grpc/status.h include/grpc/impl/codegen/byte_buffer.h include/grpc/impl/codegen/byte_buffer_reader.h include/grpc/impl/codegen/compression_types.h @@ -1228,7 +1283,9 @@ foreach(_hdr include/grpc/impl/codegen/sync_posix.h include/grpc/impl/codegen/sync_windows.h include/grpc/impl/codegen/time.h - include/grpc++/impl/codegen/config_protobuf.h + include/grpc/grpc_cronet.h + include/grpc/grpc_security.h + include/grpc/grpc_security_constants.h ) string(REPLACE "include/" "" _path ${_hdr}) get_filename_component(_path ${_path} PATH) @@ -1238,140 +1295,198 @@ foreach(_hdr endforeach() -install(TARGETS grpc++_reflection EXPORT gRPCTargets +install(TARGETS grpc_cronet EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_library(grpc++_unsecure - src/cpp/common/insecure_create_auth_context.cc - src/cpp/client/channel.cc - src/cpp/client/client_context.cc - src/cpp/client/create_channel.cc - src/cpp/client/create_channel_internal.cc - src/cpp/client/create_channel_posix.cc - src/cpp/client/credentials.cc - src/cpp/client/generic_stub.cc - src/cpp/client/insecure_credentials.cc - src/cpp/common/channel_arguments.cc - src/cpp/common/channel_filter.cc - src/cpp/common/completion_queue.cc - src/cpp/common/core_codegen.cc - src/cpp/common/rpc_method.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/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/server/server_posix.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 - src/cpp/codegen/codegen_init.cc -) - -target_include_directories(grpc++_unsecure - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include - PRIVATE ${BORINGSSL_ROOT_DIR}/include - PRIVATE ${PROTOBUF_ROOT_DIR}/src - PRIVATE ${ZLIB_INCLUDE_DIR} - PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib -) - -target_link_libraries(grpc++_unsecure - ${_gRPC_BASELIB_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - gpr - grpc_unsecure - grpc -) - -foreach(_hdr - include/grpc++/alarm.h - include/grpc++/channel.h - include/grpc++/client_context.h - include/grpc++/completion_queue.h - include/grpc++/create_channel.h - include/grpc++/create_channel_posix.h - include/grpc++/generic/async_generic_service.h - include/grpc++/generic/generic_stub.h - include/grpc++/grpc++.h - include/grpc++/impl/call.h - include/grpc++/impl/client_unary_call.h - include/grpc++/impl/codegen/core_codegen.h - include/grpc++/impl/grpc_library.h - include/grpc++/impl/method_handler_impl.h - include/grpc++/impl/rpc_method.h - include/grpc++/impl/rpc_service_method.h - include/grpc++/impl/serialization_traits.h - include/grpc++/impl/server_builder_option.h - include/grpc++/impl/server_builder_plugin.h - include/grpc++/impl/server_initializer.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++/security/auth_context.h - include/grpc++/security/auth_metadata_processor.h - include/grpc++/security/credentials.h - include/grpc++/security/server_credentials.h - include/grpc++/server.h - include/grpc++/server_builder.h - include/grpc++/server_context.h - include/grpc++/server_posix.h - include/grpc++/support/async_stream.h - include/grpc++/support/async_unary_call.h - include/grpc++/support/byte_buffer.h - include/grpc++/support/channel_arguments.h - include/grpc++/support/config.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 - include/grpc++/impl/codegen/async_stream.h - include/grpc++/impl/codegen/async_unary_call.h - include/grpc++/impl/codegen/call.h - include/grpc++/impl/codegen/call_hook.h - include/grpc++/impl/codegen/channel_interface.h - include/grpc++/impl/codegen/client_context.h - include/grpc++/impl/codegen/client_unary_call.h - include/grpc++/impl/codegen/completion_queue.h - include/grpc++/impl/codegen/completion_queue_tag.h - include/grpc++/impl/codegen/config.h - include/grpc++/impl/codegen/core_codegen_interface.h - include/grpc++/impl/codegen/create_auth_context.h - include/grpc++/impl/codegen/grpc_library.h - include/grpc++/impl/codegen/method_handler_impl.h - include/grpc++/impl/codegen/rpc_method.h - include/grpc++/impl/codegen/rpc_service_method.h - include/grpc++/impl/codegen/security/auth_context.h - include/grpc++/impl/codegen/serialization_traits.h - include/grpc++/impl/codegen/server_context.h - include/grpc++/impl/codegen/server_interface.h - include/grpc++/impl/codegen/service_type.h - include/grpc++/impl/codegen/status.h - include/grpc++/impl/codegen/status_code_enum.h - include/grpc++/impl/codegen/string_ref.h - include/grpc++/impl/codegen/stub_options.h - include/grpc++/impl/codegen/sync.h - include/grpc++/impl/codegen/sync_cxx11.h - include/grpc++/impl/codegen/sync_no_cxx11.h - include/grpc++/impl/codegen/sync_stream.h - include/grpc++/impl/codegen/time.h +add_library(grpc_unsecure + src/core/lib/surface/init.c + src/core/lib/surface/init_unsecure.c + src/core/lib/channel/channel_args.c + src/core/lib/channel/channel_stack.c + src/core/lib/channel/channel_stack_builder.c + src/core/lib/channel/compress_filter.c + src/core/lib/channel/connected_channel.c + src/core/lib/channel/handshaker.c + src/core/lib/channel/http_client_filter.c + src/core/lib/channel/http_server_filter.c + src/core/lib/compression/compression.c + src/core/lib/compression/message_compress.c + src/core/lib/debug/trace.c + src/core/lib/http/format_request.c + src/core/lib/http/httpcli.c + src/core/lib/http/parser.c + src/core/lib/iomgr/closure.c + src/core/lib/iomgr/endpoint.c + src/core/lib/iomgr/endpoint_pair_posix.c + src/core/lib/iomgr/endpoint_pair_windows.c + src/core/lib/iomgr/error.c + src/core/lib/iomgr/ev_epoll_linux.c + src/core/lib/iomgr/ev_poll_and_epoll_posix.c + src/core/lib/iomgr/ev_poll_posix.c + src/core/lib/iomgr/ev_posix.c + src/core/lib/iomgr/exec_ctx.c + src/core/lib/iomgr/executor.c + src/core/lib/iomgr/iocp_windows.c + src/core/lib/iomgr/iomgr.c + src/core/lib/iomgr/iomgr_posix.c + src/core/lib/iomgr/iomgr_windows.c + src/core/lib/iomgr/load_file.c + src/core/lib/iomgr/network_status_tracker.c + src/core/lib/iomgr/polling_entity.c + src/core/lib/iomgr/pollset_set_windows.c + src/core/lib/iomgr/pollset_windows.c + src/core/lib/iomgr/resolve_address_posix.c + src/core/lib/iomgr/resolve_address_windows.c + src/core/lib/iomgr/sockaddr_utils.c + src/core/lib/iomgr/socket_utils_common_posix.c + src/core/lib/iomgr/socket_utils_linux.c + src/core/lib/iomgr/socket_utils_posix.c + src/core/lib/iomgr/socket_windows.c + src/core/lib/iomgr/tcp_client_posix.c + src/core/lib/iomgr/tcp_client_windows.c + src/core/lib/iomgr/tcp_posix.c + src/core/lib/iomgr/tcp_server_posix.c + src/core/lib/iomgr/tcp_server_windows.c + src/core/lib/iomgr/tcp_windows.c + src/core/lib/iomgr/time_averaged_stats.c + src/core/lib/iomgr/timer.c + src/core/lib/iomgr/timer_heap.c + src/core/lib/iomgr/udp_server.c + src/core/lib/iomgr/unix_sockets_posix.c + src/core/lib/iomgr/unix_sockets_posix_noop.c + src/core/lib/iomgr/wakeup_fd_eventfd.c + src/core/lib/iomgr/wakeup_fd_nospecial.c + src/core/lib/iomgr/wakeup_fd_pipe.c + src/core/lib/iomgr/wakeup_fd_posix.c + src/core/lib/iomgr/workqueue_posix.c + src/core/lib/iomgr/workqueue_windows.c + src/core/lib/json/json.c + src/core/lib/json/json_reader.c + src/core/lib/json/json_string.c + src/core/lib/json/json_writer.c + src/core/lib/surface/alarm.c + src/core/lib/surface/api_trace.c + src/core/lib/surface/byte_buffer.c + src/core/lib/surface/byte_buffer_reader.c + src/core/lib/surface/call.c + src/core/lib/surface/call_details.c + src/core/lib/surface/call_log_batch.c + src/core/lib/surface/channel.c + src/core/lib/surface/channel_init.c + src/core/lib/surface/channel_ping.c + src/core/lib/surface/channel_stack_type.c + src/core/lib/surface/completion_queue.c + src/core/lib/surface/event_string.c + src/core/lib/surface/lame_client.c + src/core/lib/surface/metadata_array.c + src/core/lib/surface/server.c + src/core/lib/surface/validate_metadata.c + src/core/lib/surface/version.c + src/core/lib/transport/byte_stream.c + src/core/lib/transport/connectivity_state.c + src/core/lib/transport/metadata.c + src/core/lib/transport/metadata_batch.c + src/core/lib/transport/static_metadata.c + src/core/lib/transport/timeout_encoding.c + src/core/lib/transport/transport.c + src/core/lib/transport/transport_op_string.c + src/core/ext/transport/chttp2/server/insecure/server_chttp2.c + src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c + src/core/ext/transport/chttp2/transport/bin_decoder.c + src/core/ext/transport/chttp2/transport/bin_encoder.c + src/core/ext/transport/chttp2/transport/chttp2_plugin.c + src/core/ext/transport/chttp2/transport/chttp2_transport.c + src/core/ext/transport/chttp2/transport/frame_data.c + src/core/ext/transport/chttp2/transport/frame_goaway.c + src/core/ext/transport/chttp2/transport/frame_ping.c + src/core/ext/transport/chttp2/transport/frame_rst_stream.c + src/core/ext/transport/chttp2/transport/frame_settings.c + src/core/ext/transport/chttp2/transport/frame_window_update.c + src/core/ext/transport/chttp2/transport/hpack_encoder.c + src/core/ext/transport/chttp2/transport/hpack_parser.c + src/core/ext/transport/chttp2/transport/hpack_table.c + src/core/ext/transport/chttp2/transport/huffsyms.c + src/core/ext/transport/chttp2/transport/incoming_metadata.c + src/core/ext/transport/chttp2/transport/parsing.c + src/core/ext/transport/chttp2/transport/status_conversion.c + src/core/ext/transport/chttp2/transport/stream_lists.c + src/core/ext/transport/chttp2/transport/stream_map.c + src/core/ext/transport/chttp2/transport/varint.c + src/core/ext/transport/chttp2/transport/writing.c + src/core/ext/transport/chttp2/alpn/alpn.c + src/core/ext/transport/chttp2/client/insecure/channel_create.c + src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c + src/core/ext/client_config/channel_connectivity.c + src/core/ext/client_config/client_channel.c + src/core/ext/client_config/client_channel_factory.c + src/core/ext/client_config/client_config.c + src/core/ext/client_config/client_config_plugin.c + src/core/ext/client_config/connector.c + src/core/ext/client_config/default_initial_connect_string.c + src/core/ext/client_config/initial_connect_string.c + src/core/ext/client_config/lb_policy.c + src/core/ext/client_config/lb_policy_factory.c + src/core/ext/client_config/lb_policy_registry.c + src/core/ext/client_config/parse_address.c + src/core/ext/client_config/resolver.c + src/core/ext/client_config/resolver_factory.c + src/core/ext/client_config/resolver_registry.c + src/core/ext/client_config/subchannel.c + src/core/ext/client_config/subchannel_call_holder.c + src/core/ext/client_config/subchannel_index.c + src/core/ext/client_config/uri_parser.c + src/core/ext/resolver/dns/native/dns_resolver.c + src/core/ext/resolver/sockaddr/sockaddr_resolver.c + src/core/ext/load_reporting/load_reporting.c + src/core/ext/load_reporting/load_reporting_filter.c + src/core/ext/lb_policy/grpclb/grpclb.c + src/core/ext/lb_policy/grpclb/load_balancer_api.c + src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c + third_party/nanopb/pb_common.c + third_party/nanopb/pb_decode.c + third_party/nanopb/pb_encode.c + src/core/ext/lb_policy/pick_first/pick_first.c + src/core/ext/lb_policy/round_robin/round_robin.c + src/core/ext/census/base_resources.c + src/core/ext/census/context.c + src/core/ext/census/gen/census.pb.c + src/core/ext/census/grpc_context.c + src/core/ext/census/grpc_filter.c + src/core/ext/census/grpc_plugin.c + src/core/ext/census/initialize.c + src/core/ext/census/mlog.c + src/core/ext/census/operation.c + src/core/ext/census/placeholders.c + src/core/ext/census/resource.c + src/core/ext/census/tracing.c + src/core/plugin_registry/grpc_unsecure_plugin_registry.c +) + +target_include_directories(grpc_unsecure + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${BORINGSSL_ROOT_DIR}/include + PRIVATE ${PROTOBUF_ROOT_DIR}/src + PRIVATE ${ZLIB_INCLUDE_DIR} + PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib +) + +target_link_libraries(grpc_unsecure + ${_gRPC_BASELIB_LIBRARIES} + gpr +) + +foreach(_hdr + include/grpc/byte_buffer.h + include/grpc/byte_buffer_reader.h + include/grpc/compression.h + include/grpc/grpc.h + include/grpc/grpc_posix.h + include/grpc/status.h include/grpc/impl/codegen/byte_buffer.h include/grpc/impl/codegen/byte_buffer_reader.h include/grpc/impl/codegen/compression_types.h @@ -1393,6 +1508,7 @@ foreach(_hdr include/grpc/impl/codegen/sync_posix.h include/grpc/impl/codegen/sync_windows.h include/grpc/impl/codegen/time.h + include/grpc/census.h ) string(REPLACE "include/" "" _path ${_hdr}) get_filename_component(_path ${_path} PATH) @@ -1402,23 +1518,18 @@ foreach(_hdr endforeach() -install(TARGETS grpc++_unsecure EXPORT gRPCTargets +install(TARGETS grpc_unsecure EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_library(grpc_plugin_support - src/compiler/cpp_generator.cc - src/compiler/csharp_generator.cc - src/compiler/node_generator.cc - src/compiler/objective_c_generator.cc - src/compiler/python_generator.cc - src/compiler/ruby_generator.cc +add_library(grpc_csharp_ext + src/csharp/ext/grpc_csharp_ext.c ) -target_include_directories(grpc_plugin_support +target_include_directories(grpc_csharp_ext PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1427,61 +1538,52 @@ target_include_directories(grpc_plugin_support PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc_plugin_support - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} +target_link_libraries(grpc_csharp_ext + grpc + gpr ) -foreach(_hdr - include/grpc++/impl/codegen/config_protobuf.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() -install(TARGETS grpc_plugin_support EXPORT gRPCTargets +install(TARGETS grpc_csharp_ext EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) - -add_library(grpc_csharp_ext - src/csharp/ext/grpc_csharp_ext.c + + +add_executable(grpc_c_plugin + src/compiler/c_plugin.cc ) -target_include_directories(grpc_csharp_ext +target_include_directories(grpc_c_plugin PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include PRIVATE ${PROTOBUF_ROOT_DIR}/src - PRIVATE ${ZLIB_INCLUDE_DIR} + PRIVATE ${ZLIB_ROOT_DIR} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc_csharp_ext - grpc - gpr +target_link_libraries(grpc_c_plugin + ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} + grpc_plugin_support ) - -install(TARGETS grpc_csharp_ext EXPORT gRPCTargets +install(TARGETS grpc_c_plugin EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) - -add_executable(gen_hpack_tables - tools/codegen/core/gen_hpack_tables.c +add_executable(grpc_cpp_plugin + src/compiler/cpp_plugin.cc ) -target_include_directories(gen_hpack_tables +target_include_directories(grpc_cpp_plugin PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1490,24 +1592,24 @@ target_include_directories(gen_hpack_tables PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(gen_hpack_tables - gpr - grpc +target_link_libraries(grpc_cpp_plugin + ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} + grpc_plugin_support ) -install(TARGETS gen_hpack_tables EXPORT gRPCTargets +install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_executable(gen_legal_metadata_characters - tools/codegen/core/gen_legal_metadata_characters.c +add_executable(grpc_csharp_plugin + src/compiler/csharp_plugin.cc ) -target_include_directories(gen_legal_metadata_characters +target_include_directories(grpc_csharp_plugin PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1516,20 +1618,24 @@ target_include_directories(gen_legal_metadata_characters PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) +target_link_libraries(grpc_csharp_plugin + ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} + grpc_plugin_support +) -install(TARGETS gen_legal_metadata_characters EXPORT gRPCTargets +install(TARGETS grpc_csharp_plugin EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_executable(grpc_create_jwt - test/core/security/create_jwt.c +add_executable(grpc_node_plugin + src/compiler/node_plugin.cc ) -target_include_directories(grpc_create_jwt +target_include_directories(grpc_node_plugin PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1538,25 +1644,24 @@ target_include_directories(grpc_create_jwt PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc_create_jwt - ${_gRPC_SSL_LIBRARIES} - grpc - gpr +target_link_libraries(grpc_node_plugin + ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} + grpc_plugin_support ) -install(TARGETS grpc_create_jwt EXPORT gRPCTargets +install(TARGETS grpc_node_plugin EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_executable(grpc_print_google_default_creds_token - test/core/security/print_google_default_creds_token.c +add_executable(grpc_objective_c_plugin + src/compiler/objective_c_plugin.cc ) -target_include_directories(grpc_print_google_default_creds_token +target_include_directories(grpc_objective_c_plugin PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1565,24 +1670,24 @@ target_include_directories(grpc_print_google_default_creds_token PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc_print_google_default_creds_token - grpc - gpr +target_link_libraries(grpc_objective_c_plugin + ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} + grpc_plugin_support ) -install(TARGETS grpc_print_google_default_creds_token EXPORT gRPCTargets +install(TARGETS grpc_objective_c_plugin EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_executable(grpc_verify_jwt - test/core/security/verify_jwt.c +add_executable(grpc_python_plugin + src/compiler/python_plugin.cc ) -target_include_directories(grpc_verify_jwt +target_include_directories(grpc_python_plugin PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1591,24 +1696,24 @@ target_include_directories(grpc_verify_jwt PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc_verify_jwt - grpc - gpr +target_link_libraries(grpc_python_plugin + ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} + grpc_plugin_support ) -install(TARGETS grpc_verify_jwt EXPORT gRPCTargets +install(TARGETS grpc_python_plugin EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_executable(grpc_cpp_plugin - src/compiler/cpp_plugin.cc +add_executable(grpc_ruby_plugin + src/compiler/ruby_plugin.cc ) -target_include_directories(grpc_cpp_plugin +target_include_directories(grpc_ruby_plugin PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1617,24 +1722,24 @@ target_include_directories(grpc_cpp_plugin PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc_cpp_plugin +target_link_libraries(grpc_ruby_plugin ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} grpc_plugin_support ) -install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets +install(TARGETS grpc_ruby_plugin EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_executable(grpc_csharp_plugin - src/compiler/csharp_plugin.cc +add_executable(gen_hpack_tables + tools/codegen/core/gen_hpack_tables.c ) -target_include_directories(grpc_csharp_plugin +target_include_directories(gen_hpack_tables PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1643,24 +1748,24 @@ target_include_directories(grpc_csharp_plugin PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc_csharp_plugin - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - grpc_plugin_support +target_link_libraries(gen_hpack_tables + gpr + grpc ) -install(TARGETS grpc_csharp_plugin EXPORT gRPCTargets +install(TARGETS gen_hpack_tables EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_executable(grpc_node_plugin - src/compiler/node_plugin.cc +add_executable(gen_legal_metadata_characters + tools/codegen/core/gen_legal_metadata_characters.c ) -target_include_directories(grpc_node_plugin +target_include_directories(gen_legal_metadata_characters PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1669,24 +1774,20 @@ target_include_directories(grpc_node_plugin PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc_node_plugin - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - grpc_plugin_support -) -install(TARGETS grpc_node_plugin EXPORT gRPCTargets +install(TARGETS gen_legal_metadata_characters EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_executable(grpc_objective_c_plugin - src/compiler/objective_c_plugin.cc +add_executable(grpc_create_jwt + test/core/security/create_jwt.c ) -target_include_directories(grpc_objective_c_plugin +target_include_directories(grpc_create_jwt PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1695,24 +1796,25 @@ target_include_directories(grpc_objective_c_plugin PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc_objective_c_plugin - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - grpc_plugin_support +target_link_libraries(grpc_create_jwt + ${_gRPC_SSL_LIBRARIES} + grpc + gpr ) -install(TARGETS grpc_objective_c_plugin EXPORT gRPCTargets +install(TARGETS grpc_create_jwt EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_executable(grpc_python_plugin - src/compiler/python_plugin.cc +add_executable(grpc_print_google_default_creds_token + test/core/security/print_google_default_creds_token.c ) -target_include_directories(grpc_python_plugin +target_include_directories(grpc_print_google_default_creds_token PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1721,24 +1823,24 @@ target_include_directories(grpc_python_plugin PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc_python_plugin - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - grpc_plugin_support +target_link_libraries(grpc_print_google_default_creds_token + grpc + gpr ) -install(TARGETS grpc_python_plugin EXPORT gRPCTargets +install(TARGETS grpc_print_google_default_creds_token EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -add_executable(grpc_ruby_plugin - src/compiler/ruby_plugin.cc +add_executable(grpc_verify_jwt + test/core/security/verify_jwt.c ) -target_include_directories(grpc_ruby_plugin +target_include_directories(grpc_verify_jwt PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include PRIVATE ${BORINGSSL_ROOT_DIR}/include @@ -1747,13 +1849,13 @@ target_include_directories(grpc_ruby_plugin PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib ) -target_link_libraries(grpc_ruby_plugin - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - grpc_plugin_support +target_link_libraries(grpc_verify_jwt + grpc + gpr ) -install(TARGETS grpc_ruby_plugin EXPORT gRPCTargets +install(TARGETS grpc_verify_jwt EXPORT gRPCTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} diff --git a/Makefile b/Makefile index 0c1f260983e77..8810f3dc65ea2 100644 --- a/Makefile +++ b/Makefile @@ -35,6 +35,8 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# This is the first (default) target +default: all comma := , @@ -257,6 +259,33 @@ DEFINES_gcov = _DEBUG DEBUG GPR_GCOV prefix ?= /usr/local +NANOPB_DIR := $(abspath third_party/nanopb) +NANOPB_CORE = $(NANOPB_DIR)/pb_encode.c $(NANOPB_DIR)/pb_decode.c $(NANOPB_DIR)/pb_common.c +NANOPB_DEP := $(NANOPB_DIR)/generator/proto/nanopb_pb2.py $(NANOPB_DIR)/generator/proto/plugin_pb2.py + + +SYSTEM_PYTHON_PROTOBUF_GOOD := $(shell \ +PYTHONPATH='' version=`python -c 'import google.protobuf; print(google.protobuf.__version__);' 2> /dev/null || true`; \ +major=`echo $$version | sed 's/\([0-9]*\).*/\1/'`; \ +majordef=$${major:-0}; \ +if [ $$majordef -ge 3 ]; then echo true; else echo false; fi;) +SYSTEM_PYTHON_PROTOBUF_FILE := $(shell python -c 'import google.protobuf; print(google.protobuf.__file__);' 2> /dev/null || true) + + +ifeq ($(SYSTEM_PYTHON_PROTOBUF_GOOD), true) +# For systems with built-in python-protobuf +nanopb_protobuf_dep: $(SYSTEM_PYTHON_PROTOBUF_FILE) +NANOPB_ACTIVATE_VENV := +else +# We need to install a local python-protobuf +NANOPB_VENV_DIR := $(abspath third_party/nanopb/nanopb_protobuf_dep/venv) +nanopb_protobuf_dep: $(NANOPB_VENV_DIR)/bin/activate +$(NANOPB_VENV_DIR)/bin/activate: + $(E) "[NANOPB] Installing Nanopb dependencies" + $(Q) virtualenv $(NANOPB_VENV_DIR) >/dev/null; . $(NANOPB_VENV_DIR)/bin/activate; pip install protobuf==3.0.0b2 >/dev/null; +NANOPB_ACTIVATE_VENV := . $(NANOPB_VENV_DIR)/bin/activate; +endif + PROTOC ?= protoc DTRACE ?= dtrace CONFIG ?= opt @@ -732,7 +761,7 @@ PC_LIBS_GRPCXX = CPPFLAGS := -Ithird_party/googletest/include $(CPPFLAGS) -PROTOC_PLUGINS_ALL = $(BINDIR)/$(CONFIG)/grpc_cpp_plugin $(BINDIR)/$(CONFIG)/grpc_csharp_plugin $(BINDIR)/$(CONFIG)/grpc_node_plugin $(BINDIR)/$(CONFIG)/grpc_objective_c_plugin $(BINDIR)/$(CONFIG)/grpc_python_plugin $(BINDIR)/$(CONFIG)/grpc_ruby_plugin +PROTOC_PLUGINS_ALL = $(BINDIR)/$(CONFIG)/grpc_c_plugin $(BINDIR)/$(CONFIG)/grpc_cpp_plugin $(BINDIR)/$(CONFIG)/grpc_csharp_plugin $(BINDIR)/$(CONFIG)/grpc_node_plugin $(BINDIR)/$(CONFIG)/grpc_objective_c_plugin $(BINDIR)/$(CONFIG)/grpc_python_plugin $(BINDIR)/$(CONFIG)/grpc_ruby_plugin PROTOC_PLUGINS_DIR = $(BINDIR)/$(CONFIG) ifeq ($(HAS_SYSTEM_PROTOBUF),true) @@ -756,7 +785,8 @@ PROTOBUF_DEP = $(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a CPPFLAGS := -Ithird_party/protobuf/src $(CPPFLAGS) LDFLAGS := -L$(LIBDIR)/$(CONFIG)/protobuf $(LDFLAGS) ifneq ($(USE_BUILT_PROTOC),false) -PROTOC = $(BINDIR)/$(CONFIG)/protobuf/protoc +PROTOC = $(BINDIR)/opt/protobuf/protoc +PROTOC_DEP = $(PROTOC) PROTOC_PLUGINS = $(PROTOC_PLUGINS_ALL) else PROTOC_PLUGINS = @@ -796,6 +826,31 @@ PC_LIBS_PRIVATE = $(PC_LIBS_GRPCXX) PC_LIB = -lgrpc++ GRPCXX_UNSECURE_PC_FILE := $(PC_TEMPLATE) + + +PC_REQUIRES_GRPC_C = +PC_LIBS_GRPC_C = + +# grpc_c .pc file +PC_NAME = gRPC C +PC_DESCRIPTION = C wrapper for gRPC +PC_CFLAGS = +PC_REQUIRES_PRIVATE = grpc $(PC_REQUIRES_GRPC_C) +PC_LIBS_PRIVATE = $(PC_LIBS_GRPC_C) +PC_LIB = -lgrpc_c +GRPC_C_PC_FILE := $(PC_TEMPLATE) + +# grpc_c_unsecure .pc file +PC_NAME = gRPC C unsecure +PC_DESCRIPTION = C wrapper for gRPC without SSL +PC_CFLAGS = +PC_REQUIRES_PRIVATE = grpc_unsecure $(PC_REQUIRES_GRPC_C) +PC_LIBS_PRIVATE = $(PC_LIBS_GRPC_C) +PC_LIB = -lgrpc_c +GRPC_C_UNSECURE_PC_FILE := $(PC_TEMPLATE) + + + ifeq ($(MAKECMDGOALS),clean) NO_DEPS = true endif @@ -810,7 +865,7 @@ endif .SECONDARY = %.pb.h %.pb.cc ifeq ($(DEP_MISSING),) -all: static shared plugins +all: nanopb_protobuf_dep static shared plugins dep_error: @echo "You shouldn't see this message - all of your dependencies are correct." else @@ -906,6 +961,63 @@ systemtap_dep_error: stop: @false +grpc_c_server_end2end_test: $(BINDIR)/$(CONFIG)/grpc_c_server_end2end_test +alarm_cpp_test: $(BINDIR)/$(CONFIG)/alarm_cpp_test +async_end2end_test: $(BINDIR)/$(CONFIG)/async_end2end_test +auth_property_iterator_test: $(BINDIR)/$(CONFIG)/auth_property_iterator_test +channel_arguments_test: $(BINDIR)/$(CONFIG)/channel_arguments_test +cli_call_test: $(BINDIR)/$(CONFIG)/cli_call_test +client_crash_test: $(BINDIR)/$(CONFIG)/client_crash_test +client_crash_test_server: $(BINDIR)/$(CONFIG)/client_crash_test_server +codegen_test_full: $(BINDIR)/$(CONFIG)/codegen_test_full +codegen_test_minimal: $(BINDIR)/$(CONFIG)/codegen_test_minimal +credentials_test: $(BINDIR)/$(CONFIG)/credentials_test +cxx_byte_buffer_test: $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test +cxx_slice_test: $(BINDIR)/$(CONFIG)/cxx_slice_test +cxx_string_ref_test: $(BINDIR)/$(CONFIG)/cxx_string_ref_test +cxx_time_test: $(BINDIR)/$(CONFIG)/cxx_time_test +end2end_test: $(BINDIR)/$(CONFIG)/end2end_test +filter_end2end_test: $(BINDIR)/$(CONFIG)/filter_end2end_test +generic_end2end_test: $(BINDIR)/$(CONFIG)/generic_end2end_test +golden_file_test: $(BINDIR)/$(CONFIG)/golden_file_test +grpc_c_end2end_test: $(BINDIR)/$(CONFIG)/grpc_c_end2end_test +grpc_c_generic_end2end_test: $(BINDIR)/$(CONFIG)/grpc_c_generic_end2end_test +grpc_c_plugin: $(BINDIR)/$(CONFIG)/grpc_c_plugin +grpc_cli: $(BINDIR)/$(CONFIG)/grpc_cli +grpc_cpp_plugin: $(BINDIR)/$(CONFIG)/grpc_cpp_plugin +grpc_csharp_plugin: $(BINDIR)/$(CONFIG)/grpc_csharp_plugin +grpc_node_plugin: $(BINDIR)/$(CONFIG)/grpc_node_plugin +grpc_objective_c_plugin: $(BINDIR)/$(CONFIG)/grpc_objective_c_plugin +grpc_python_plugin: $(BINDIR)/$(CONFIG)/grpc_python_plugin +grpc_ruby_plugin: $(BINDIR)/$(CONFIG)/grpc_ruby_plugin +grpc_tool_test: $(BINDIR)/$(CONFIG)/grpc_tool_test +grpclb_api_test: $(BINDIR)/$(CONFIG)/grpclb_api_test +grpclb_test: $(BINDIR)/$(CONFIG)/grpclb_test +hybrid_end2end_test: $(BINDIR)/$(CONFIG)/hybrid_end2end_test +interop_client: $(BINDIR)/$(CONFIG)/interop_client +interop_server: $(BINDIR)/$(CONFIG)/interop_server +interop_test: $(BINDIR)/$(CONFIG)/interop_test +json_run_localhost: $(BINDIR)/$(CONFIG)/json_run_localhost +metrics_client: $(BINDIR)/$(CONFIG)/metrics_client +mock_test: $(BINDIR)/$(CONFIG)/mock_test +proto_server_reflection_test: $(BINDIR)/$(CONFIG)/proto_server_reflection_test +qps_interarrival_test: $(BINDIR)/$(CONFIG)/qps_interarrival_test +qps_json_driver: $(BINDIR)/$(CONFIG)/qps_json_driver +qps_openloop_test: $(BINDIR)/$(CONFIG)/qps_openloop_test +qps_worker: $(BINDIR)/$(CONFIG)/qps_worker +reconnect_interop_client: $(BINDIR)/$(CONFIG)/reconnect_interop_client +reconnect_interop_server: $(BINDIR)/$(CONFIG)/reconnect_interop_server +secure_auth_context_test: $(BINDIR)/$(CONFIG)/secure_auth_context_test +secure_sync_unary_ping_pong_test: $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test +server_builder_plugin_test: $(BINDIR)/$(CONFIG)/server_builder_plugin_test +server_crash_test: $(BINDIR)/$(CONFIG)/server_crash_test +server_crash_test_client: $(BINDIR)/$(CONFIG)/server_crash_test_client +shutdown_test: $(BINDIR)/$(CONFIG)/shutdown_test +status_test: $(BINDIR)/$(CONFIG)/status_test +streaming_throughput_test: $(BINDIR)/$(CONFIG)/streaming_throughput_test +stress_test: $(BINDIR)/$(CONFIG)/stress_test +thread_stress_test: $(BINDIR)/$(CONFIG)/thread_stress_test +public_headers_must_be_c89: $(BINDIR)/$(CONFIG)/public_headers_must_be_c89 alarm_test: $(BINDIR)/$(CONFIG)/alarm_test algorithm_test: $(BINDIR)/$(CONFIG)/algorithm_test alloc_test: $(BINDIR)/$(CONFIG)/alloc_test @@ -1024,59 +1136,6 @@ transport_security_test: $(BINDIR)/$(CONFIG)/transport_security_test udp_server_test: $(BINDIR)/$(CONFIG)/udp_server_test uri_fuzzer_test: $(BINDIR)/$(CONFIG)/uri_fuzzer_test uri_parser_test: $(BINDIR)/$(CONFIG)/uri_parser_test -alarm_cpp_test: $(BINDIR)/$(CONFIG)/alarm_cpp_test -async_end2end_test: $(BINDIR)/$(CONFIG)/async_end2end_test -auth_property_iterator_test: $(BINDIR)/$(CONFIG)/auth_property_iterator_test -channel_arguments_test: $(BINDIR)/$(CONFIG)/channel_arguments_test -cli_call_test: $(BINDIR)/$(CONFIG)/cli_call_test -client_crash_test: $(BINDIR)/$(CONFIG)/client_crash_test -client_crash_test_server: $(BINDIR)/$(CONFIG)/client_crash_test_server -codegen_test_full: $(BINDIR)/$(CONFIG)/codegen_test_full -codegen_test_minimal: $(BINDIR)/$(CONFIG)/codegen_test_minimal -credentials_test: $(BINDIR)/$(CONFIG)/credentials_test -cxx_byte_buffer_test: $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test -cxx_slice_test: $(BINDIR)/$(CONFIG)/cxx_slice_test -cxx_string_ref_test: $(BINDIR)/$(CONFIG)/cxx_string_ref_test -cxx_time_test: $(BINDIR)/$(CONFIG)/cxx_time_test -end2end_test: $(BINDIR)/$(CONFIG)/end2end_test -filter_end2end_test: $(BINDIR)/$(CONFIG)/filter_end2end_test -generic_end2end_test: $(BINDIR)/$(CONFIG)/generic_end2end_test -golden_file_test: $(BINDIR)/$(CONFIG)/golden_file_test -grpc_cli: $(BINDIR)/$(CONFIG)/grpc_cli -grpc_cpp_plugin: $(BINDIR)/$(CONFIG)/grpc_cpp_plugin -grpc_csharp_plugin: $(BINDIR)/$(CONFIG)/grpc_csharp_plugin -grpc_node_plugin: $(BINDIR)/$(CONFIG)/grpc_node_plugin -grpc_objective_c_plugin: $(BINDIR)/$(CONFIG)/grpc_objective_c_plugin -grpc_python_plugin: $(BINDIR)/$(CONFIG)/grpc_python_plugin -grpc_ruby_plugin: $(BINDIR)/$(CONFIG)/grpc_ruby_plugin -grpc_tool_test: $(BINDIR)/$(CONFIG)/grpc_tool_test -grpclb_api_test: $(BINDIR)/$(CONFIG)/grpclb_api_test -grpclb_test: $(BINDIR)/$(CONFIG)/grpclb_test -hybrid_end2end_test: $(BINDIR)/$(CONFIG)/hybrid_end2end_test -interop_client: $(BINDIR)/$(CONFIG)/interop_client -interop_server: $(BINDIR)/$(CONFIG)/interop_server -interop_test: $(BINDIR)/$(CONFIG)/interop_test -json_run_localhost: $(BINDIR)/$(CONFIG)/json_run_localhost -metrics_client: $(BINDIR)/$(CONFIG)/metrics_client -mock_test: $(BINDIR)/$(CONFIG)/mock_test -proto_server_reflection_test: $(BINDIR)/$(CONFIG)/proto_server_reflection_test -qps_interarrival_test: $(BINDIR)/$(CONFIG)/qps_interarrival_test -qps_json_driver: $(BINDIR)/$(CONFIG)/qps_json_driver -qps_openloop_test: $(BINDIR)/$(CONFIG)/qps_openloop_test -qps_worker: $(BINDIR)/$(CONFIG)/qps_worker -reconnect_interop_client: $(BINDIR)/$(CONFIG)/reconnect_interop_client -reconnect_interop_server: $(BINDIR)/$(CONFIG)/reconnect_interop_server -secure_auth_context_test: $(BINDIR)/$(CONFIG)/secure_auth_context_test -secure_sync_unary_ping_pong_test: $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test -server_builder_plugin_test: $(BINDIR)/$(CONFIG)/server_builder_plugin_test -server_crash_test: $(BINDIR)/$(CONFIG)/server_crash_test -server_crash_test_client: $(BINDIR)/$(CONFIG)/server_crash_test_client -shutdown_test: $(BINDIR)/$(CONFIG)/shutdown_test -status_test: $(BINDIR)/$(CONFIG)/status_test -streaming_throughput_test: $(BINDIR)/$(CONFIG)/streaming_throughput_test -stress_test: $(BINDIR)/$(CONFIG)/stress_test -thread_stress_test: $(BINDIR)/$(CONFIG)/thread_stress_test -public_headers_must_be_c89: $(BINDIR)/$(CONFIG)/public_headers_must_be_c89 boringssl_aes_test: $(BINDIR)/$(CONFIG)/boringssl_aes_test boringssl_asn1_test: $(BINDIR)/$(CONFIG)/boringssl_asn1_test boringssl_base64_test: $(BINDIR)/$(CONFIG)/boringssl_base64_test @@ -1181,39 +1240,51 @@ third_party/protobuf/configure: $(E) "[AUTOGEN] Preparing protobuf" $(Q)(cd third_party/protobuf ; autoreconf -f -i -Wall,no-obsolete) -$(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a: third_party/protobuf/configure +$(BINDIR)/opt/protobuf/protoc: third_party/protobuf/configure + $(E) "[MAKE] Building protoc" + $(Q)(cd third_party/protobuf ; CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS_opt) -g $(PROTOBUF_LDFLAGS_EXTRA)" CPPFLAGS="$(PIC_CPPFLAGS) $(CPPFLAGS_opt) -g $(PROTOBUF_CPPFLAGS_EXTRA)" ./configure --disable-shared --enable-static $(PROTOBUF_CONFIG_OPTS)) + $(Q)$(MAKE) -C third_party/protobuf clean + $(Q)$(MAKE) -C third_party/protobuf + $(Q)mkdir -p $(BINDIR)/opt/protobuf + $(Q)cp third_party/protobuf/src/protoc $(BINDIR)/opt/protobuf + +$(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a: third_party/protobuf/configure $(BINDIR)/opt/protobuf/protoc $(E) "[MAKE] Building protobuf" - $(Q)(cd third_party/protobuf ; CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS_$(CONFIG)) -g $(PROTOBUF_LDFLAGS_EXTRA)" CPPFLAGS="$(PIC_CPPFLAGS) $(CPPFLAGS_$(CONFIG)) -g $(PROTOBUF_CPPFLAGS_EXTRA)" ./configure --disable-shared --enable-static $(PROTOBUF_CONFIG_OPTS)) + $(Q)(cd third_party/protobuf ; CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS_$(CONFIG)) -g $(PROTOBUF_LDFLAGS_EXTRA)" CPPFLAGS="$(PIC_CPPFLAGS) $(CPPFLAGS_$(CONFIG)) -g $(PROTOBUF_CPPFLAGS_EXTRA)" ./configure --disable-shared --enable-static --with-protoc=$(BINDIR)/opt/protobuf/protoc $(PROTOBUF_CONFIG_OPTS)) $(Q)$(MAKE) -C third_party/protobuf clean $(Q)$(MAKE) -C third_party/protobuf $(Q)mkdir -p $(LIBDIR)/$(CONFIG)/protobuf - $(Q)mkdir -p $(BINDIR)/$(CONFIG)/protobuf - $(Q)cp third_party/protobuf/src/.libs/libprotoc.a $(LIBDIR)/$(CONFIG)/protobuf $(Q)cp third_party/protobuf/src/.libs/libprotobuf.a $(LIBDIR)/$(CONFIG)/protobuf - $(Q)cp third_party/protobuf/src/protoc $(BINDIR)/$(CONFIG)/protobuf - -static: static_c static_cxx + $(Q)cp third_party/protobuf/src/.libs/libprotoc.a $(LIBDIR)/$(CONFIG)/protobuf -static_c: pc_c pc_c_unsecure cache.mk $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a +static: static_c static_core static_cxx +static_c: pc_c pc_c_unsecure cache.mk $(LIBDIR)/$(CONFIG)/libgrpc_c.a +static_core: pc_core pc_core_unsecure cache.mk $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a static_cxx: pc_cxx pc_cxx_unsecure cache.mk $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a -shared: shared_c shared_cxx +shared: shared_c shared_core shared_cxx -shared_c: pc_c pc_c_unsecure cache.mk $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) +shared_c: pc_c pc_c_unsecure cache.mk $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_c$(SHARED_VERSION).$(SHARED_EXT) +shared_core: pc_core pc_core_unsecure cache.mk $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) shared_cxx: pc_cxx pc_cxx_unsecure cache.mk $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) -shared_csharp: shared_c $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION).$(SHARED_EXT) +shared_csharp: shared_core $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION).$(SHARED_EXT) grpc_csharp_ext: shared_csharp plugins: $(PROTOC_PLUGINS) -privatelibs: privatelibs_c privatelibs_cxx +privatelibs: privatelibs_c privatelibs_core privatelibs_cxx + +privatelibs_c: $(LIBDIR)/$(CONFIG)/libgrpc_c_end2end_client_lib.a +privatelibs_core: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libz.a $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a +pc_c: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_c.pc -privatelibs_c: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libz.a $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a -pc_c: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc +pc_c_unsecure: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_c_unsecure.pc -pc_c_unsecure: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc +pc_core: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc + +pc_core_unsecure: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc pc_cxx: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++.pc @@ -1226,9 +1297,12 @@ privatelibs_cxx: $(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a $(LIBDIR)/$ endif -buildtests: buildtests_c buildtests_cxx +buildtests: buildtests_c buildtests_core buildtests_cxx buildtests_c: privatelibs_c \ + $(BINDIR)/$(CONFIG)/grpc_c_server_end2end_test \ + +buildtests_core: privatelibs_core \ $(BINDIR)/$(CONFIG)/alarm_test \ $(BINDIR)/$(CONFIG)/algorithm_test \ $(BINDIR)/$(CONFIG)/alloc_test \ @@ -1331,7 +1405,6 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/transport_security_test \ $(BINDIR)/$(CONFIG)/udp_server_test \ $(BINDIR)/$(CONFIG)/uri_parser_test \ - $(BINDIR)/$(CONFIG)/public_headers_must_be_c89 \ $(BINDIR)/$(CONFIG)/badreq_bad_client_test \ $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test \ $(BINDIR)/$(CONFIG)/head_of_line_blocking_bad_client_test \ @@ -1386,7 +1459,6 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/server_fuzzer_one_entry \ $(BINDIR)/$(CONFIG)/uri_fuzzer_test_one_entry \ - ifeq ($(EMBED_OPENSSL),true) buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/alarm_cpp_test \ @@ -1407,6 +1479,8 @@ buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/filter_end2end_test \ $(BINDIR)/$(CONFIG)/generic_end2end_test \ $(BINDIR)/$(CONFIG)/golden_file_test \ + $(BINDIR)/$(CONFIG)/grpc_c_end2end_test \ + $(BINDIR)/$(CONFIG)/grpc_c_generic_end2end_test \ $(BINDIR)/$(CONFIG)/grpc_cli \ $(BINDIR)/$(CONFIG)/grpc_tool_test \ $(BINDIR)/$(CONFIG)/grpclb_api_test \ @@ -1494,6 +1568,8 @@ buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/filter_end2end_test \ $(BINDIR)/$(CONFIG)/generic_end2end_test \ $(BINDIR)/$(CONFIG)/golden_file_test \ + $(BINDIR)/$(CONFIG)/grpc_c_end2end_test \ + $(BINDIR)/$(CONFIG)/grpc_c_generic_end2end_test \ $(BINDIR)/$(CONFIG)/grpc_cli \ $(BINDIR)/$(CONFIG)/grpc_tool_test \ $(BINDIR)/$(CONFIG)/grpclb_api_test \ @@ -1525,12 +1601,91 @@ buildtests_cxx: privatelibs_cxx \ endif +test: test_c test_core test_cxx -test: test_c test_cxx - -flaky_test: flaky_test_c flaky_test_cxx +flaky_test: flaky_test_c flaky_test_core flaky_test_cxx test_c: buildtests_c + $(E) "[RUN] Testing grpc_c_server_end2end_test" + $(Q) $(BINDIR)/$(CONFIG)/grpc_c_server_end2end_test || ( echo test grpc_c_server_end2end_test failed ; exit 1 ) + +flaky_test_c: buildtests_c + +test_cxx: buildtests_cxx + $(E) "[RUN] Testing alarm_cpp_test" + $(Q) $(BINDIR)/$(CONFIG)/alarm_cpp_test || ( echo test alarm_cpp_test failed ; exit 1 ) + $(E) "[RUN] Testing async_end2end_test" + $(Q) $(BINDIR)/$(CONFIG)/async_end2end_test || ( echo test async_end2end_test failed ; exit 1 ) + $(E) "[RUN] Testing auth_property_iterator_test" + $(Q) $(BINDIR)/$(CONFIG)/auth_property_iterator_test || ( echo test auth_property_iterator_test failed ; exit 1 ) + $(E) "[RUN] Testing channel_arguments_test" + $(Q) $(BINDIR)/$(CONFIG)/channel_arguments_test || ( echo test channel_arguments_test failed ; exit 1 ) + $(E) "[RUN] Testing cli_call_test" + $(Q) $(BINDIR)/$(CONFIG)/cli_call_test || ( echo test cli_call_test failed ; exit 1 ) + $(E) "[RUN] Testing client_crash_test" + $(Q) $(BINDIR)/$(CONFIG)/client_crash_test || ( echo test client_crash_test failed ; exit 1 ) + $(E) "[RUN] Testing codegen_test_full" + $(Q) $(BINDIR)/$(CONFIG)/codegen_test_full || ( echo test codegen_test_full failed ; exit 1 ) + $(E) "[RUN] Testing codegen_test_minimal" + $(Q) $(BINDIR)/$(CONFIG)/codegen_test_minimal || ( echo test codegen_test_minimal failed ; exit 1 ) + $(E) "[RUN] Testing credentials_test" + $(Q) $(BINDIR)/$(CONFIG)/credentials_test || ( echo test credentials_test failed ; exit 1 ) + $(E) "[RUN] Testing cxx_byte_buffer_test" + $(Q) $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test || ( echo test cxx_byte_buffer_test failed ; exit 1 ) + $(E) "[RUN] Testing cxx_slice_test" + $(Q) $(BINDIR)/$(CONFIG)/cxx_slice_test || ( echo test cxx_slice_test failed ; exit 1 ) + $(E) "[RUN] Testing cxx_string_ref_test" + $(Q) $(BINDIR)/$(CONFIG)/cxx_string_ref_test || ( echo test cxx_string_ref_test failed ; exit 1 ) + $(E) "[RUN] Testing cxx_time_test" + $(Q) $(BINDIR)/$(CONFIG)/cxx_time_test || ( echo test cxx_time_test failed ; exit 1 ) + $(E) "[RUN] Testing end2end_test" + $(Q) $(BINDIR)/$(CONFIG)/end2end_test || ( echo test end2end_test failed ; exit 1 ) + $(E) "[RUN] Testing filter_end2end_test" + $(Q) $(BINDIR)/$(CONFIG)/filter_end2end_test || ( echo test filter_end2end_test failed ; exit 1 ) + $(E) "[RUN] Testing generic_end2end_test" + $(Q) $(BINDIR)/$(CONFIG)/generic_end2end_test || ( echo test generic_end2end_test failed ; exit 1 ) + $(E) "[RUN] Testing golden_file_test" + $(Q) $(BINDIR)/$(CONFIG)/golden_file_test || ( echo test golden_file_test failed ; exit 1 ) + $(E) "[RUN] Testing grpc_c_end2end_test" + $(Q) $(BINDIR)/$(CONFIG)/grpc_c_end2end_test || ( echo test grpc_c_end2end_test failed ; exit 1 ) + $(E) "[RUN] Testing grpc_c_generic_end2end_test" + $(Q) $(BINDIR)/$(CONFIG)/grpc_c_generic_end2end_test || ( echo test grpc_c_generic_end2end_test failed ; exit 1 ) + $(E) "[RUN] Testing grpc_tool_test" + $(Q) $(BINDIR)/$(CONFIG)/grpc_tool_test || ( echo test grpc_tool_test failed ; exit 1 ) + $(E) "[RUN] Testing grpclb_api_test" + $(Q) $(BINDIR)/$(CONFIG)/grpclb_api_test || ( echo test grpclb_api_test failed ; exit 1 ) + $(E) "[RUN] Testing grpclb_test" + $(Q) $(BINDIR)/$(CONFIG)/grpclb_test || ( echo test grpclb_test failed ; exit 1 ) + $(E) "[RUN] Testing hybrid_end2end_test" + $(Q) $(BINDIR)/$(CONFIG)/hybrid_end2end_test || ( echo test hybrid_end2end_test failed ; exit 1 ) + $(E) "[RUN] Testing interop_test" + $(Q) $(BINDIR)/$(CONFIG)/interop_test || ( echo test interop_test failed ; exit 1 ) + $(E) "[RUN] Testing mock_test" + $(Q) $(BINDIR)/$(CONFIG)/mock_test || ( echo test mock_test failed ; exit 1 ) + $(E) "[RUN] Testing proto_server_reflection_test" + $(Q) $(BINDIR)/$(CONFIG)/proto_server_reflection_test || ( echo test proto_server_reflection_test failed ; exit 1 ) + $(E) "[RUN] Testing qps_openloop_test" + $(Q) $(BINDIR)/$(CONFIG)/qps_openloop_test || ( echo test qps_openloop_test failed ; exit 1 ) + $(E) "[RUN] Testing secure_auth_context_test" + $(Q) $(BINDIR)/$(CONFIG)/secure_auth_context_test || ( echo test secure_auth_context_test failed ; exit 1 ) + $(E) "[RUN] Testing secure_sync_unary_ping_pong_test" + $(Q) $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test || ( echo test secure_sync_unary_ping_pong_test failed ; exit 1 ) + $(E) "[RUN] Testing server_builder_plugin_test" + $(Q) $(BINDIR)/$(CONFIG)/server_builder_plugin_test || ( echo test server_builder_plugin_test failed ; exit 1 ) + $(E) "[RUN] Testing server_crash_test" + $(Q) $(BINDIR)/$(CONFIG)/server_crash_test || ( echo test server_crash_test failed ; exit 1 ) + $(E) "[RUN] Testing shutdown_test" + $(Q) $(BINDIR)/$(CONFIG)/shutdown_test || ( echo test shutdown_test failed ; exit 1 ) + $(E) "[RUN] Testing status_test" + $(Q) $(BINDIR)/$(CONFIG)/status_test || ( echo test status_test failed ; exit 1 ) + $(E) "[RUN] Testing streaming_throughput_test" + $(Q) $(BINDIR)/$(CONFIG)/streaming_throughput_test || ( echo test streaming_throughput_test failed ; exit 1 ) + $(E) "[RUN] Testing thread_stress_test" + $(Q) $(BINDIR)/$(CONFIG)/thread_stress_test || ( echo test thread_stress_test failed ; exit 1 ) + +flaky_test_cxx: buildtests_cxx + +test_core: buildtests_core $(E) "[RUN] Testing alarm_test" $(Q) $(BINDIR)/$(CONFIG)/alarm_test || ( echo test alarm_test failed ; exit 1 ) $(E) "[RUN] Testing algorithm_test" @@ -1717,8 +1872,6 @@ test_c: buildtests_c $(Q) $(BINDIR)/$(CONFIG)/udp_server_test || ( echo test udp_server_test failed ; exit 1 ) $(E) "[RUN] Testing uri_parser_test" $(Q) $(BINDIR)/$(CONFIG)/uri_parser_test || ( echo test uri_parser_test failed ; exit 1 ) - $(E) "[RUN] Testing public_headers_must_be_c89" - $(Q) $(BINDIR)/$(CONFIG)/public_headers_must_be_c89 || ( echo test public_headers_must_be_c89 failed ; exit 1 ) $(E) "[RUN] Testing badreq_bad_client_test" $(Q) $(BINDIR)/$(CONFIG)/badreq_bad_client_test || ( echo test badreq_bad_client_test failed ; exit 1 ) $(E) "[RUN] Testing connection_prefix_bad_client_test" @@ -1744,96 +1897,22 @@ test_c: buildtests_c $(E) "[RUN] Testing bad_ssl_cert_test" $(Q) $(BINDIR)/$(CONFIG)/bad_ssl_cert_test || ( echo test bad_ssl_cert_test failed ; exit 1 ) - -flaky_test_c: buildtests_c +flaky_test_core: buildtests_core $(E) "[RUN] Testing lb_policies_test" $(Q) $(BINDIR)/$(CONFIG)/lb_policies_test || ( echo test lb_policies_test failed ; exit 1 ) $(E) "[RUN] Testing mlog_test" $(Q) $(BINDIR)/$(CONFIG)/mlog_test || ( echo test mlog_test failed ; exit 1 ) - -test_cxx: buildtests_cxx - $(E) "[RUN] Testing alarm_cpp_test" - $(Q) $(BINDIR)/$(CONFIG)/alarm_cpp_test || ( echo test alarm_cpp_test failed ; exit 1 ) - $(E) "[RUN] Testing async_end2end_test" - $(Q) $(BINDIR)/$(CONFIG)/async_end2end_test || ( echo test async_end2end_test failed ; exit 1 ) - $(E) "[RUN] Testing auth_property_iterator_test" - $(Q) $(BINDIR)/$(CONFIG)/auth_property_iterator_test || ( echo test auth_property_iterator_test failed ; exit 1 ) - $(E) "[RUN] Testing channel_arguments_test" - $(Q) $(BINDIR)/$(CONFIG)/channel_arguments_test || ( echo test channel_arguments_test failed ; exit 1 ) - $(E) "[RUN] Testing cli_call_test" - $(Q) $(BINDIR)/$(CONFIG)/cli_call_test || ( echo test cli_call_test failed ; exit 1 ) - $(E) "[RUN] Testing client_crash_test" - $(Q) $(BINDIR)/$(CONFIG)/client_crash_test || ( echo test client_crash_test failed ; exit 1 ) - $(E) "[RUN] Testing codegen_test_full" - $(Q) $(BINDIR)/$(CONFIG)/codegen_test_full || ( echo test codegen_test_full failed ; exit 1 ) - $(E) "[RUN] Testing codegen_test_minimal" - $(Q) $(BINDIR)/$(CONFIG)/codegen_test_minimal || ( echo test codegen_test_minimal failed ; exit 1 ) - $(E) "[RUN] Testing credentials_test" - $(Q) $(BINDIR)/$(CONFIG)/credentials_test || ( echo test credentials_test failed ; exit 1 ) - $(E) "[RUN] Testing cxx_byte_buffer_test" - $(Q) $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test || ( echo test cxx_byte_buffer_test failed ; exit 1 ) - $(E) "[RUN] Testing cxx_slice_test" - $(Q) $(BINDIR)/$(CONFIG)/cxx_slice_test || ( echo test cxx_slice_test failed ; exit 1 ) - $(E) "[RUN] Testing cxx_string_ref_test" - $(Q) $(BINDIR)/$(CONFIG)/cxx_string_ref_test || ( echo test cxx_string_ref_test failed ; exit 1 ) - $(E) "[RUN] Testing cxx_time_test" - $(Q) $(BINDIR)/$(CONFIG)/cxx_time_test || ( echo test cxx_time_test failed ; exit 1 ) - $(E) "[RUN] Testing end2end_test" - $(Q) $(BINDIR)/$(CONFIG)/end2end_test || ( echo test end2end_test failed ; exit 1 ) - $(E) "[RUN] Testing filter_end2end_test" - $(Q) $(BINDIR)/$(CONFIG)/filter_end2end_test || ( echo test filter_end2end_test failed ; exit 1 ) - $(E) "[RUN] Testing generic_end2end_test" - $(Q) $(BINDIR)/$(CONFIG)/generic_end2end_test || ( echo test generic_end2end_test failed ; exit 1 ) - $(E) "[RUN] Testing golden_file_test" - $(Q) $(BINDIR)/$(CONFIG)/golden_file_test || ( echo test golden_file_test failed ; exit 1 ) - $(E) "[RUN] Testing grpc_tool_test" - $(Q) $(BINDIR)/$(CONFIG)/grpc_tool_test || ( echo test grpc_tool_test failed ; exit 1 ) - $(E) "[RUN] Testing grpclb_api_test" - $(Q) $(BINDIR)/$(CONFIG)/grpclb_api_test || ( echo test grpclb_api_test failed ; exit 1 ) - $(E) "[RUN] Testing grpclb_test" - $(Q) $(BINDIR)/$(CONFIG)/grpclb_test || ( echo test grpclb_test failed ; exit 1 ) - $(E) "[RUN] Testing hybrid_end2end_test" - $(Q) $(BINDIR)/$(CONFIG)/hybrid_end2end_test || ( echo test hybrid_end2end_test failed ; exit 1 ) - $(E) "[RUN] Testing interop_test" - $(Q) $(BINDIR)/$(CONFIG)/interop_test || ( echo test interop_test failed ; exit 1 ) - $(E) "[RUN] Testing mock_test" - $(Q) $(BINDIR)/$(CONFIG)/mock_test || ( echo test mock_test failed ; exit 1 ) - $(E) "[RUN] Testing proto_server_reflection_test" - $(Q) $(BINDIR)/$(CONFIG)/proto_server_reflection_test || ( echo test proto_server_reflection_test failed ; exit 1 ) - $(E) "[RUN] Testing qps_openloop_test" - $(Q) $(BINDIR)/$(CONFIG)/qps_openloop_test || ( echo test qps_openloop_test failed ; exit 1 ) - $(E) "[RUN] Testing secure_auth_context_test" - $(Q) $(BINDIR)/$(CONFIG)/secure_auth_context_test || ( echo test secure_auth_context_test failed ; exit 1 ) - $(E) "[RUN] Testing secure_sync_unary_ping_pong_test" - $(Q) $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test || ( echo test secure_sync_unary_ping_pong_test failed ; exit 1 ) - $(E) "[RUN] Testing server_builder_plugin_test" - $(Q) $(BINDIR)/$(CONFIG)/server_builder_plugin_test || ( echo test server_builder_plugin_test failed ; exit 1 ) - $(E) "[RUN] Testing server_crash_test" - $(Q) $(BINDIR)/$(CONFIG)/server_crash_test || ( echo test server_crash_test failed ; exit 1 ) - $(E) "[RUN] Testing shutdown_test" - $(Q) $(BINDIR)/$(CONFIG)/shutdown_test || ( echo test shutdown_test failed ; exit 1 ) - $(E) "[RUN] Testing status_test" - $(Q) $(BINDIR)/$(CONFIG)/status_test || ( echo test status_test failed ; exit 1 ) - $(E) "[RUN] Testing streaming_throughput_test" - $(Q) $(BINDIR)/$(CONFIG)/streaming_throughput_test || ( echo test streaming_throughput_test failed ; exit 1 ) - $(E) "[RUN] Testing thread_stress_test" - $(Q) $(BINDIR)/$(CONFIG)/thread_stress_test || ( echo test thread_stress_test failed ; exit 1 ) - - -flaky_test_cxx: buildtests_cxx +test_python: static_core + $(E) "[RUN] Testing python code" + $(Q) tools/run_tests/run_tests.py -lpython -c$(CONFIG) -test_python: static_c - $(E) "[RUN] Testing python code" - $(Q) tools/run_tests/run_tests.py -lpython -c$(CONFIG) - - -tools: tools_c tools_cxx +tools: tools_c tools_core tools_cxx -tools_c: privatelibs_c $(BINDIR)/$(CONFIG)/gen_hpack_tables $(BINDIR)/$(CONFIG)/gen_legal_metadata_characters $(BINDIR)/$(CONFIG)/grpc_create_jwt $(BINDIR)/$(CONFIG)/grpc_print_google_default_creds_token $(BINDIR)/$(CONFIG)/grpc_verify_jwt - +tools_c: privatelibs_c +tools_core: privatelibs_core tools_cxx: privatelibs_cxx buildbenchmarks: privatelibs $(BINDIR)/$(CONFIG)/low_level_ping_pong_benchmark @@ -1842,9 +1921,9 @@ benchmarks: buildbenchmarks strip: strip-static strip-shared -strip-static: strip-static_c strip-static_cxx +strip-static: strip-static_c strip-static_core strip-static_cxx -strip-shared: strip-shared_c strip-shared_cxx +strip-shared: strip-shared_c strip-static_core strip-shared_cxx # TODO(nnoble): the strip target is stripping in-place, instead @@ -1852,6 +1931,12 @@ strip-shared: strip-shared_c strip-shared_cxx # This prevents proper debugging after running make install. strip-static_c: static_c +ifeq ($(CONFIG),opt) + $(E) "[STRIP] Stripping libgrpc_c.a" + $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/libgrpc_c.a +endif + +strip-static_core: static_core ifeq ($(CONFIG),opt) $(E) "[STRIP] Stripping libgpr.a" $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/libgpr.a @@ -1874,6 +1959,12 @@ ifeq ($(CONFIG),opt) endif strip-shared_c: shared_c +ifeq ($(CONFIG),opt) + $(E) "[STRIP] Stripping $(SHARED_PREFIX)grpc_c$(SHARED_VERSION).$(SHARED_EXT)" + $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_c$(SHARED_VERSION).$(SHARED_EXT) +endif + +strip-shared_core: shared_core ifeq ($(CONFIG),opt) $(E) "[STRIP] Stripping $(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT)" $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT) @@ -1915,6 +2006,16 @@ $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc: $(Q) mkdir -p $(@D) $(Q) echo "$(GRPC_UNSECURE_PC_FILE)" | tr , '\n' >$@ +$(LIBDIR)/$(CONFIG)/pkgconfig/grpc_c.pc: + $(E) "[MAKE] Generating $@" + $(Q) mkdir -p $(@D) + $(Q) echo "$(GRPC_C_PC_FILE)" | tr , '\n' >$@ + +$(LIBDIR)/$(CONFIG)/pkgconfig/grpc_c_unsecure.pc: + $(E) "[MAKE] Generating $@" + $(Q) mkdir -p $(@D) + $(Q) echo "$(GRPC_C_UNSECURE_PC_FILE)" | tr , '\n' >$@ + $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++.pc: $(E) "[MAKE] Generating $@" $(Q) mkdir -p $(@D) @@ -1929,210 +2030,350 @@ ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc: src/proto/grpc/lb/v1/load_balancer.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc: src/proto/grpc/lb/v1/load_balancer.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc: src/proto/grpc/lb/v1/load_balancer.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pbc.c: src/proto/grpc/lb/v1/load_balancer.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc: src/proto/grpc/lb/v1/load_balancer.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pbc.c: src/proto/grpc/lb/v1/load_balancer.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.pb.cc: src/proto/grpc/reflection/v1alpha/reflection.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.pb.cc: src/proto/grpc/reflection/v1alpha/reflection.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc: src/proto/grpc/reflection/v1alpha/reflection.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.pbc.c: src/proto/grpc/reflection/v1alpha/reflection.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc: src/proto/grpc/reflection/v1alpha/reflection.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.grpc.pbc.c: src/proto/grpc/reflection/v1alpha/reflection.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/testing/compiler_test.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/testing/compiler_test.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/testing/compiler_test.pb.cc: src/proto/grpc/testing/compiler_test.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/compiler_test.pb.cc: src/proto/grpc/testing/compiler_test.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/testing/compiler_test.grpc.pb.cc: src/proto/grpc/testing/compiler_test.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/compiler_test.pbc.c: src/proto/grpc/testing/compiler_test.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/testing/compiler_test.grpc.pb.cc: src/proto/grpc/testing/compiler_test.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/testing/compiler_test.grpc.pbc.c: src/proto/grpc/testing/compiler_test.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/compiler_test.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/testing/control.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/testing/control.pb.cc: src/proto/grpc/testing/control.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc +$(GENDIR)/src/proto/grpc/testing/control.pb.cc: src/proto/grpc/testing/control.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc: src/proto/grpc/testing/control.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc +$(GENDIR)/src/proto/grpc/testing/control.pbc.c: src/proto/grpc/testing/control.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep $(GENDIR)/src/proto/grpc/testing/payloads.pbc.c $(GENDIR)/src/proto/grpc/testing/stats.pbc.c + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc: src/proto/grpc/testing/control.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/testing/control.grpc.pbc.c: src/proto/grpc/testing/control.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/control.pbc.c $(GENDIR)/src/proto/grpc/testing/payloads.pbc.c $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pbc.c $(GENDIR)/src/proto/grpc/testing/stats.pbc.c $(GENDIR)/src/proto/grpc/testing/stats.grpc.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc: src/proto/grpc/testing/duplicate/echo_duplicate.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc +$(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc: src/proto/grpc/testing/duplicate/echo_duplicate.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc: src/proto/grpc/testing/duplicate/echo_duplicate.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc +$(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pbc.c: src/proto/grpc/testing/duplicate/echo_duplicate.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep $(GENDIR)/src/proto/grpc/testing/echo_messages.pbc.c + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc: src/proto/grpc/testing/duplicate/echo_duplicate.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pbc.c: src/proto/grpc/testing/duplicate/echo_duplicate.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pbc.c $(GENDIR)/src/proto/grpc/testing/echo_messages.pbc.c $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/testing/echo.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/testing/echo.pb.cc: src/proto/grpc/testing/echo.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc +$(GENDIR)/src/proto/grpc/testing/echo.pb.cc: src/proto/grpc/testing/echo.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc: src/proto/grpc/testing/echo.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc +$(GENDIR)/src/proto/grpc/testing/echo.pbc.c: src/proto/grpc/testing/echo.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep $(GENDIR)/src/proto/grpc/testing/echo_messages.pbc.c + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc: src/proto/grpc/testing/echo.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/testing/echo.grpc.pbc.c: src/proto/grpc/testing/echo.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/echo.pbc.c $(GENDIR)/src/proto/grpc/testing/echo_messages.pbc.c $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc: src/proto/grpc/testing/echo_messages.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc: src/proto/grpc/testing/echo_messages.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc: src/proto/grpc/testing/echo_messages.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/echo_messages.pbc.c: src/proto/grpc/testing/echo_messages.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc: src/proto/grpc/testing/echo_messages.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pbc.c: src/proto/grpc/testing/echo_messages.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/echo_messages.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/testing/empty.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/testing/empty.pb.cc: src/proto/grpc/testing/empty.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/empty.pb.cc: src/proto/grpc/testing/empty.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc: src/proto/grpc/testing/empty.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/empty.pbc.c: src/proto/grpc/testing/empty.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc: src/proto/grpc/testing/empty.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/testing/empty.grpc.pbc.c: src/proto/grpc/testing/empty.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/empty.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/testing/messages.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/testing/messages.pb.cc: src/proto/grpc/testing/messages.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/messages.pb.cc: src/proto/grpc/testing/messages.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc: src/proto/grpc/testing/messages.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/messages.pbc.c: src/proto/grpc/testing/messages.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc: src/proto/grpc/testing/messages.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/testing/messages.grpc.pbc.c: src/proto/grpc/testing/messages.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/messages.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/testing/metrics.pb.cc: src/proto/grpc/testing/metrics.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/metrics.pb.cc: src/proto/grpc/testing/metrics.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc: src/proto/grpc/testing/metrics.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/metrics.pbc.c: src/proto/grpc/testing/metrics.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc: src/proto/grpc/testing/metrics.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/testing/metrics.grpc.pbc.c: src/proto/grpc/testing/metrics.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/metrics.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/testing/payloads.pb.cc: src/proto/grpc/testing/payloads.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/payloads.pb.cc: src/proto/grpc/testing/payloads.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc: src/proto/grpc/testing/payloads.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/payloads.pbc.c: src/proto/grpc/testing/payloads.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc: src/proto/grpc/testing/payloads.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/testing/payloads.grpc.pbc.c: src/proto/grpc/testing/payloads.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/payloads.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/testing/services.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/testing/services.pb.cc: src/proto/grpc/testing/services.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc +$(GENDIR)/src/proto/grpc/testing/services.pb.cc: src/proto/grpc/testing/services.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc: src/proto/grpc/testing/services.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc +$(GENDIR)/src/proto/grpc/testing/services.pbc.c: src/proto/grpc/testing/services.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep $(GENDIR)/src/proto/grpc/testing/messages.pbc.c $(GENDIR)/src/proto/grpc/testing/control.pbc.c + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc: src/proto/grpc/testing/services.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/testing/services.grpc.pbc.c: src/proto/grpc/testing/services.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/services.pbc.c $(GENDIR)/src/proto/grpc/testing/messages.pbc.c $(GENDIR)/src/proto/grpc/testing/messages.grpc.pbc.c $(GENDIR)/src/proto/grpc/testing/control.pbc.c $(GENDIR)/src/proto/grpc/testing/control.grpc.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/testing/stats.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/testing/stats.pb.cc: src/proto/grpc/testing/stats.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/stats.pb.cc: src/proto/grpc/testing/stats.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc: src/proto/grpc/testing/stats.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) +$(GENDIR)/src/proto/grpc/testing/stats.pbc.c: src/proto/grpc/testing/stats.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc: src/proto/grpc/testing/stats.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/testing/stats.grpc.pbc.c: src/proto/grpc/testing/stats.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/stats.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif ifeq ($(NO_PROTOC),true) $(GENDIR)/src/proto/grpc/testing/test.pb.cc: protoc_dep_error $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc: protoc_dep_error else -$(GENDIR)/src/proto/grpc/testing/test.pb.cc: src/proto/grpc/testing/test.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc +$(GENDIR)/src/proto/grpc/testing/test.pb.cc: src/proto/grpc/testing/test.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< -$(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc: src/proto/grpc/testing/test.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc +$(GENDIR)/src/proto/grpc/testing/test.pbc.c: src/proto/grpc/testing/test.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep $(GENDIR)/src/proto/grpc/testing/empty.pbc.c $(GENDIR)/src/proto/grpc/testing/messages.pbc.c + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + +$(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc: src/proto/grpc/testing/test.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + +$(GENDIR)/src/proto/grpc/testing/test.grpc.pbc.c: src/proto/grpc/testing/test.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/test.pbc.c $(GENDIR)/src/proto/grpc/testing/empty.pbc.c $(GENDIR)/src/proto/grpc/testing/empty.grpc.pbc.c $(GENDIR)/src/proto/grpc/testing/messages.pbc.c $(GENDIR)/src/proto/grpc/testing/messages.grpc.pbc.c + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif @@ -2168,31 +2409,43 @@ $(OBJDIR)/$(CONFIG)/%.o : %.cc $(Q) mkdir -p `dirname $@` $(Q) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< -install: install_c install_cxx install-plugins install-certs verify-install +install: install_c install_core install_cxx install-plugins install-certs verify-install install_c: install-headers_c install-static_c install-shared_c +install_core: install-headers_core install-static_core install-shared_core + install_cxx: install-headers_cxx install-static_cxx install-shared_cxx -install_csharp: install-shared_csharp install_c +install_csharp: install-shared_csharp install_core install_grpc_csharp_ext: install_csharp -install-headers: install-headers_c install-headers_cxx +install-headers: install-headers_c install-headers_core install-headers_cxx install-headers_c: $(E) "[INSTALL] Installing public C headers" $(Q) $(foreach h, $(PUBLIC_HEADERS_C), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1 $(Q) $(foreach h, $(PUBLIC_HEADERS_C), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1 +install-headers_core: + $(E) "[INSTALL] Installing public C core headers" + $(Q) $(foreach h, $(PUBLIC_HEADERS_CORE), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1 + $(Q) $(foreach h, $(PUBLIC_HEADERS_CORE), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1 + install-headers_cxx: $(E) "[INSTALL] Installing public C++ headers" $(Q) $(foreach h, $(PUBLIC_HEADERS_CXX), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1 $(Q) $(foreach h, $(PUBLIC_HEADERS_CXX), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1 -install-static: install-static_c install-static_cxx +install-static: install-static_c install-static_core install-static_cxx install-static_c: static_c strip-static_c install-pkg-config_c + $(E) "[INSTALL] Installing libgrpc_c.a" + $(Q) $(INSTALL) -d $(prefix)/lib + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(prefix)/lib/libgrpc_c.a + +install-static_core: static_core strip-static_core install-pkg-config_core $(E) "[INSTALL] Installing libgpr.a" $(Q) $(INSTALL) -d $(prefix)/lib $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgpr.a $(prefix)/lib/libgpr.a @@ -2220,6 +2473,23 @@ install-static_cxx: static_cxx strip-static_cxx install-pkg-config_cxx install-shared_c: shared_c strip-shared_c install-pkg-config_c + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc_c$(SHARED_VERSION).$(SHARED_EXT)" + $(Q) $(INSTALL) -d $(prefix)/lib + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_c$(SHARED_VERSION).$(SHARED_EXT) $(prefix)/lib/$(SHARED_PREFIX)grpc_c$(SHARED_VERSION).$(SHARED_EXT) +ifeq ($(SYSTEM),MINGW32) + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_c-imp.a $(prefix)/lib/libgrpc_c-imp.a +else ifneq ($(SYSTEM),Darwin) + $(Q) ln -sf $(SHARED_PREFIX)grpc_c$(SHARED_VERSION).$(SHARED_EXT) $(prefix)/lib/libgrpc_c.so.1 + $(Q) ln -sf $(SHARED_PREFIX)grpc_c$(SHARED_VERSION).$(SHARED_EXT) $(prefix)/lib/libgrpc_c.so +endif +ifneq ($(SYSTEM),MINGW32) +ifneq ($(SYSTEM),Darwin) + $(Q) ldconfig || true +endif +endif + + +install-shared_core: shared_core strip-shared_core install-pkg-config_core $(E) "[INSTALL] Installing $(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT)" $(Q) $(INSTALL) -d $(prefix)/lib $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT) $(prefix)/lib/$(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT) @@ -2321,6 +2591,8 @@ ifeq ($(SYSTEM),MINGW32) else $(E) "[INSTALL] Installing grpc protoc plugins" $(Q) $(INSTALL) -d $(prefix)/bin + $(Q) $(INSTALL) $(BINDIR)/$(CONFIG)/grpc_c_plugin $(prefix)/bin/grpc_c_plugin + $(Q) $(INSTALL) -d $(prefix)/bin $(Q) $(INSTALL) $(BINDIR)/$(CONFIG)/grpc_cpp_plugin $(prefix)/bin/grpc_cpp_plugin $(Q) $(INSTALL) -d $(prefix)/bin $(Q) $(INSTALL) $(BINDIR)/$(CONFIG)/grpc_csharp_plugin $(prefix)/bin/grpc_csharp_plugin @@ -2337,6 +2609,12 @@ endif install-pkg-config_c: pc_c pc_c_unsecure $(E) "[INSTALL] Installing C pkg-config files" $(Q) $(INSTALL) -d $(prefix)/lib/pkgconfig + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_c.pc $(prefix)/lib/pkgconfig/grpc_c.pc + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_c_unsecure.pc $(prefix)/lib/pkgconfig/grpc_c_unsecure.pc + +install-pkg-config_core: pc_core pc_core_unsecure + $(E) "[INSTALL] Installing C core pkg-config files" + $(Q) $(INSTALL) -d $(prefix)/lib/pkgconfig $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc $(prefix)/lib/pkgconfig/grpc.pc $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc $(prefix)/lib/pkgconfig/grpc_unsecure.pc @@ -2381,358 +2659,263 @@ clean: # The various libraries -LIBGPR_SRC = \ - src/core/lib/profiling/basic_timers.c \ - src/core/lib/profiling/stap_timers.c \ - src/core/lib/support/alloc.c \ - src/core/lib/support/avl.c \ - src/core/lib/support/backoff.c \ - src/core/lib/support/cmdline.c \ - src/core/lib/support/cpu_iphone.c \ - src/core/lib/support/cpu_linux.c \ - src/core/lib/support/cpu_posix.c \ - src/core/lib/support/cpu_windows.c \ - src/core/lib/support/env_linux.c \ - src/core/lib/support/env_posix.c \ - src/core/lib/support/env_windows.c \ - src/core/lib/support/histogram.c \ - src/core/lib/support/host_port.c \ - src/core/lib/support/log.c \ - src/core/lib/support/log_android.c \ - src/core/lib/support/log_linux.c \ - src/core/lib/support/log_posix.c \ - src/core/lib/support/log_windows.c \ - src/core/lib/support/murmur_hash.c \ - src/core/lib/support/slice.c \ - src/core/lib/support/slice_buffer.c \ - src/core/lib/support/stack_lockfree.c \ - src/core/lib/support/string.c \ - src/core/lib/support/string_posix.c \ - src/core/lib/support/string_util_windows.c \ - src/core/lib/support/string_windows.c \ - src/core/lib/support/subprocess_posix.c \ - src/core/lib/support/subprocess_windows.c \ - src/core/lib/support/sync.c \ - src/core/lib/support/sync_posix.c \ - src/core/lib/support/sync_windows.c \ - src/core/lib/support/thd.c \ - src/core/lib/support/thd_posix.c \ - src/core/lib/support/thd_windows.c \ - src/core/lib/support/time.c \ - src/core/lib/support/time_posix.c \ - src/core/lib/support/time_precise.c \ - src/core/lib/support/time_windows.c \ - src/core/lib/support/tls_pthread.c \ - src/core/lib/support/tmpfile_msys.c \ - src/core/lib/support/tmpfile_posix.c \ - src/core/lib/support/tmpfile_windows.c \ - src/core/lib/support/wrap_memcpy.c \ +# Using nanopb for C files right now +LIBGRPC_C_SRC = \ + src/c/alloc.c \ + src/c/array.c \ + src/c/bidi_streaming_blocking_call.c \ + src/c/call_ops.c \ + src/c/channel.c \ + src/c/client_context.c \ + src/c/client_streaming_blocking_call.c \ + src/c/completion_queue.c \ + src/c/context.c \ + src/c/init_shutdown.c \ + src/c/message.c \ + src/c/pb_compat.c \ + src/c/server.c \ + src/c/server_context.c \ + src/c/server_incoming_queue.c \ + src/c/server_streaming_blocking_call.c \ + src/c/unary_async_call.c \ + src/c/unary_blocking_call.c \ PUBLIC_HEADERS_C += \ - 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_windows.h \ - include/grpc/support/avl.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_windows.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_windows.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 \ - include/grpc/impl/codegen/alloc.h \ - include/grpc/impl/codegen/atm.h \ - include/grpc/impl/codegen/atm_gcc_atomic.h \ - include/grpc/impl/codegen/atm_gcc_sync.h \ - include/grpc/impl/codegen/atm_windows.h \ - include/grpc/impl/codegen/log.h \ - include/grpc/impl/codegen/port_platform.h \ - include/grpc/impl/codegen/slice.h \ - include/grpc/impl/codegen/slice_buffer.h \ - include/grpc/impl/codegen/sync.h \ - include/grpc/impl/codegen/sync_generic.h \ - include/grpc/impl/codegen/sync_posix.h \ - include/grpc/impl/codegen/sync_windows.h \ - include/grpc/impl/codegen/time.h \ + include/grpc_c/channel.h \ + include/grpc_c/client_context.h \ + include/grpc_c/codegen/bidi_streaming_blocking_call.h \ + include/grpc_c/codegen/client_streaming_blocking_call.h \ + include/grpc_c/codegen/context.h \ + include/grpc_c/codegen/message.h \ + include/grpc_c/codegen/method.h \ + include/grpc_c/codegen/pb_compat.h \ + include/grpc_c/codegen/serialization.h \ + include/grpc_c/codegen/server.h \ + include/grpc_c/codegen/server_streaming_blocking_call.h \ + include/grpc_c/codegen/unary_async_call.h \ + include/grpc_c/codegen/unary_blocking_call.h \ + include/grpc_c/completion_queue.h \ + include/grpc_c/declare_serializer.h \ + include/grpc_c/grpc_c.h \ + include/grpc_c/server.h \ + include/grpc_c/server_context.h \ + include/grpc_c/server_incoming_queue.h \ + include/grpc_c/status.h \ + +LIBGRPC_C_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_C_SRC)))) -LIBGPR_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_SRC)))) +ifeq ($(NO_SECURE),true) -$(LIBDIR)/$(CONFIG)/libgpr.a: $(ZLIB_DEP) $(LIBGPR_OBJS) +# You can't build secure libraries if you don't have OpenSSL. + +$(LIBDIR)/$(CONFIG)/libgrpc_c.a: openssl_dep_error + +$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_c$(SHARED_VERSION).$(SHARED_EXT): openssl_dep_error + +else + + +$(LIBDIR)/$(CONFIG)/libgrpc_c.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_C_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgpr.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBGPR_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_c.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBGRPC_C_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgpr.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_c.a endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION).$(SHARED_EXT): $(LIBGPR_OBJS) $(ZLIB_DEP) +$(LIBDIR)/$(CONFIG)/grpc_c$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_C_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/grpc.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/gpr.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared gpr.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBGPR_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc_c.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_c$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_c$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_c$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_C_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) -lgrpc-imp -lgpr-imp else -$(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION).$(SHARED_EXT): $(LIBGPR_OBJS) $(ZLIB_DEP) +$(LIBDIR)/$(CONFIG)/libgrpc_c$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_C_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgpr.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBGPR_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_c$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_c$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_C_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) -lgrpc -lgpr else - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.1 -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBGPR_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) - $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION).so.1 - $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION).so + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_c.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc_c$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_C_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) -lgrpc -lgpr + $(Q) ln -sf $(SHARED_PREFIX)grpc_c$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_c$(SHARED_VERSION).so.1 + $(Q) ln -sf $(SHARED_PREFIX)grpc_c$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_c$(SHARED_VERSION).so +endif endif + endif +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGPR_OBJS:.o=.dep) +-include $(LIBGRPC_C_OBJS:.o=.dep) +endif endif +# Force compilation of proto files before building code that could potentially depend on them -LIBGPR_TEST_UTIL_SRC = \ - test/core/util/test_config.c \ + +# Using nanopb for C files right now +LIBGRPC_C_END2END_CLIENT_LIB_SRC = \ + $(GENDIR)/src/proto/grpc/testing/echo_messages.pbc.c $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pbc.c \ + $(GENDIR)/src/proto/grpc/testing/echo.pbc.c $(GENDIR)/src/proto/grpc/testing/echo.grpc.pbc.c \ + test/c/end2end/end2end_test_client.c \ PUBLIC_HEADERS_C += \ -LIBGPR_TEST_UTIL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_TEST_UTIL_SRC)))) +LIBGRPC_C_END2END_CLIENT_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_C_END2END_CLIENT_LIB_SRC)))) -$(LIBDIR)/$(CONFIG)/libgpr_test_util.a: $(ZLIB_DEP) $(LIBGPR_TEST_UTIL_OBJS) +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL. + +$(LIBDIR)/$(CONFIG)/libgrpc_c_end2end_client_lib.a: openssl_dep_error + + +else + + +$(LIBDIR)/$(CONFIG)/libgrpc_c_end2end_client_lib.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_C_END2END_CLIENT_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgpr_test_util.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBGPR_TEST_UTIL_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_c_end2end_client_lib.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_c_end2end_client_lib.a $(LIBGRPC_C_END2END_CLIENT_LIB_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgpr_test_util.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_c_end2end_client_lib.a endif +endif + +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGPR_TEST_UTIL_OBJS:.o=.dep) +-include $(LIBGRPC_C_END2END_CLIENT_LIB_OBJS:.o=.dep) +endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/c/end2end/end2end_test_client.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pbc.c $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pbc.c $(GENDIR)/src/proto/grpc/testing/echo.pbc.c $(GENDIR)/src/proto/grpc/testing/echo.grpc.pbc.c -LIBGRPC_SRC = \ - src/core/lib/surface/init.c \ - src/core/lib/channel/channel_args.c \ - src/core/lib/channel/channel_stack.c \ - src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/compress_filter.c \ - src/core/lib/channel/connected_channel.c \ - src/core/lib/channel/handshaker.c \ - src/core/lib/channel/http_client_filter.c \ - src/core/lib/channel/http_server_filter.c \ - src/core/lib/compression/compression.c \ - src/core/lib/compression/message_compress.c \ - src/core/lib/debug/trace.c \ - src/core/lib/http/format_request.c \ - src/core/lib/http/httpcli.c \ - src/core/lib/http/parser.c \ - src/core/lib/iomgr/closure.c \ - src/core/lib/iomgr/endpoint.c \ - src/core/lib/iomgr/endpoint_pair_posix.c \ - src/core/lib/iomgr/endpoint_pair_windows.c \ - src/core/lib/iomgr/error.c \ - src/core/lib/iomgr/ev_epoll_linux.c \ - src/core/lib/iomgr/ev_poll_and_epoll_posix.c \ - src/core/lib/iomgr/ev_poll_posix.c \ - src/core/lib/iomgr/ev_posix.c \ - src/core/lib/iomgr/exec_ctx.c \ - src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/iocp_windows.c \ - src/core/lib/iomgr/iomgr.c \ - src/core/lib/iomgr/iomgr_posix.c \ - src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/load_file.c \ - src/core/lib/iomgr/network_status_tracker.c \ - src/core/lib/iomgr/polling_entity.c \ - src/core/lib/iomgr/pollset_set_windows.c \ - src/core/lib/iomgr/pollset_windows.c \ - src/core/lib/iomgr/resolve_address_posix.c \ - src/core/lib/iomgr/resolve_address_windows.c \ - src/core/lib/iomgr/sockaddr_utils.c \ - src/core/lib/iomgr/socket_utils_common_posix.c \ - src/core/lib/iomgr/socket_utils_linux.c \ - src/core/lib/iomgr/socket_utils_posix.c \ - src/core/lib/iomgr/socket_windows.c \ - src/core/lib/iomgr/tcp_client_posix.c \ - src/core/lib/iomgr/tcp_client_windows.c \ - src/core/lib/iomgr/tcp_posix.c \ - src/core/lib/iomgr/tcp_server_posix.c \ - src/core/lib/iomgr/tcp_server_windows.c \ - src/core/lib/iomgr/tcp_windows.c \ - src/core/lib/iomgr/time_averaged_stats.c \ - src/core/lib/iomgr/timer.c \ - src/core/lib/iomgr/timer_heap.c \ - src/core/lib/iomgr/udp_server.c \ - src/core/lib/iomgr/unix_sockets_posix.c \ - src/core/lib/iomgr/unix_sockets_posix_noop.c \ - src/core/lib/iomgr/wakeup_fd_eventfd.c \ - src/core/lib/iomgr/wakeup_fd_nospecial.c \ - src/core/lib/iomgr/wakeup_fd_pipe.c \ - src/core/lib/iomgr/wakeup_fd_posix.c \ - src/core/lib/iomgr/workqueue_posix.c \ - src/core/lib/iomgr/workqueue_windows.c \ - src/core/lib/json/json.c \ - src/core/lib/json/json_reader.c \ - src/core/lib/json/json_string.c \ - src/core/lib/json/json_writer.c \ - src/core/lib/surface/alarm.c \ - src/core/lib/surface/api_trace.c \ - src/core/lib/surface/byte_buffer.c \ - src/core/lib/surface/byte_buffer_reader.c \ - src/core/lib/surface/call.c \ - src/core/lib/surface/call_details.c \ - src/core/lib/surface/call_log_batch.c \ - src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_init.c \ - src/core/lib/surface/channel_ping.c \ - src/core/lib/surface/channel_stack_type.c \ - src/core/lib/surface/completion_queue.c \ - src/core/lib/surface/event_string.c \ - src/core/lib/surface/lame_client.c \ - src/core/lib/surface/metadata_array.c \ - src/core/lib/surface/server.c \ - src/core/lib/surface/validate_metadata.c \ - src/core/lib/surface/version.c \ - src/core/lib/transport/byte_stream.c \ - src/core/lib/transport/connectivity_state.c \ - src/core/lib/transport/metadata.c \ - src/core/lib/transport/metadata_batch.c \ - src/core/lib/transport/static_metadata.c \ - src/core/lib/transport/timeout_encoding.c \ - src/core/lib/transport/transport.c \ - src/core/lib/transport/transport_op_string.c \ - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c \ - src/core/ext/transport/chttp2/transport/bin_decoder.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/status_conversion.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/ext/transport/chttp2/alpn/alpn.c \ - src/core/lib/http/httpcli_security_connector.c \ - src/core/lib/security/context/security_context.c \ - src/core/lib/security/credentials/composite/composite_credentials.c \ - src/core/lib/security/credentials/credentials.c \ - src/core/lib/security/credentials/credentials_metadata.c \ - src/core/lib/security/credentials/fake/fake_credentials.c \ - src/core/lib/security/credentials/google_default/credentials_posix.c \ - src/core/lib/security/credentials/google_default/credentials_windows.c \ - src/core/lib/security/credentials/google_default/google_default_credentials.c \ - src/core/lib/security/credentials/iam/iam_credentials.c \ - src/core/lib/security/credentials/jwt/json_token.c \ - src/core/lib/security/credentials/jwt/jwt_credentials.c \ - src/core/lib/security/credentials/jwt/jwt_verifier.c \ - src/core/lib/security/credentials/oauth2/oauth2_credentials.c \ - src/core/lib/security/credentials/plugin/plugin_credentials.c \ - src/core/lib/security/credentials/ssl/ssl_credentials.c \ - src/core/lib/security/transport/client_auth_filter.c \ - src/core/lib/security/transport/handshake.c \ - src/core/lib/security/transport/secure_endpoint.c \ - src/core/lib/security/transport/security_connector.c \ - src/core/lib/security/transport/server_auth_filter.c \ - src/core/lib/security/transport/tsi_error.c \ - src/core/lib/security/util/b64.c \ - src/core/lib/security/util/json_util.c \ - src/core/lib/surface/init_secure.c \ - src/core/lib/tsi/fake_transport_security.c \ - src/core/lib/tsi/ssl_transport_security.c \ - src/core/lib/tsi/transport_security.c \ - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ - src/core/ext/client_config/channel_connectivity.c \ - src/core/ext/client_config/client_channel.c \ - src/core/ext/client_config/client_channel_factory.c \ - src/core/ext/client_config/client_config.c \ - src/core/ext/client_config/client_config_plugin.c \ - src/core/ext/client_config/connector.c \ - src/core/ext/client_config/default_initial_connect_string.c \ - src/core/ext/client_config/initial_connect_string.c \ - src/core/ext/client_config/lb_policy.c \ - src/core/ext/client_config/lb_policy_factory.c \ - src/core/ext/client_config/lb_policy_registry.c \ - src/core/ext/client_config/parse_address.c \ - src/core/ext/client_config/resolver.c \ - src/core/ext/client_config/resolver_factory.c \ - src/core/ext/client_config/resolver_registry.c \ - src/core/ext/client_config/subchannel.c \ - src/core/ext/client_config/subchannel_call_holder.c \ - src/core/ext/client_config/subchannel_index.c \ - src/core/ext/client_config/uri_parser.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c \ - src/core/ext/transport/chttp2/client/insecure/channel_create.c \ - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c \ - src/core/ext/lb_policy/grpclb/grpclb.c \ - src/core/ext/lb_policy/grpclb/load_balancer_api.c \ - src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \ - third_party/nanopb/pb_common.c \ - third_party/nanopb/pb_decode.c \ - third_party/nanopb/pb_encode.c \ - src/core/ext/lb_policy/pick_first/pick_first.c \ - src/core/ext/lb_policy/round_robin/round_robin.c \ - src/core/ext/resolver/dns/native/dns_resolver.c \ - src/core/ext/resolver/sockaddr/sockaddr_resolver.c \ - src/core/ext/load_reporting/load_reporting.c \ - src/core/ext/load_reporting/load_reporting_filter.c \ - src/core/ext/census/base_resources.c \ - src/core/ext/census/context.c \ - src/core/ext/census/gen/census.pb.c \ - src/core/ext/census/grpc_context.c \ - src/core/ext/census/grpc_filter.c \ - src/core/ext/census/grpc_plugin.c \ - src/core/ext/census/initialize.c \ - src/core/ext/census/mlog.c \ - src/core/ext/census/operation.c \ - src/core/ext/census/placeholders.c \ - src/core/ext/census/resource.c \ - src/core/ext/census/tracing.c \ - src/core/plugin_registry/grpc_plugin_registry.c \ -PUBLIC_HEADERS_C += \ - include/grpc/byte_buffer.h \ - include/grpc/byte_buffer_reader.h \ - include/grpc/compression.h \ - include/grpc/grpc.h \ - include/grpc/grpc_posix.h \ - include/grpc/status.h \ +# Using nanopb for C files right now +LIBGRPC++_SRC = \ + src/cpp/client/secure_credentials.cc \ + src/cpp/common/auth_property_iterator.cc \ + src/cpp/common/secure_auth_context.cc \ + src/cpp/common/secure_channel_arguments.cc \ + src/cpp/common/secure_create_auth_context.cc \ + src/cpp/server/secure_server_credentials.cc \ + src/cpp/client/channel.cc \ + src/cpp/client/client_context.cc \ + src/cpp/client/create_channel.cc \ + src/cpp/client/create_channel_internal.cc \ + src/cpp/client/create_channel_posix.cc \ + src/cpp/client/credentials.cc \ + src/cpp/client/generic_stub.cc \ + src/cpp/client/insecure_credentials.cc \ + src/cpp/common/channel_arguments.cc \ + src/cpp/common/channel_filter.cc \ + src/cpp/common/completion_queue.cc \ + src/cpp/common/core_codegen.cc \ + src/cpp/common/rpc_method.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/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/server/server_posix.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 \ + src/cpp/codegen/codegen_init.cc \ + +PUBLIC_HEADERS_CXX += \ + include/grpc++/alarm.h \ + include/grpc++/channel.h \ + include/grpc++/client_context.h \ + include/grpc++/completion_queue.h \ + include/grpc++/create_channel.h \ + include/grpc++/create_channel_posix.h \ + include/grpc++/generic/async_generic_service.h \ + include/grpc++/generic/generic_stub.h \ + include/grpc++/grpc++.h \ + include/grpc++/impl/call.h \ + include/grpc++/impl/client_unary_call.h \ + include/grpc++/impl/codegen/core_codegen.h \ + include/grpc++/impl/grpc_library.h \ + include/grpc++/impl/method_handler_impl.h \ + include/grpc++/impl/rpc_method.h \ + include/grpc++/impl/rpc_service_method.h \ + include/grpc++/impl/serialization_traits.h \ + include/grpc++/impl/server_builder_option.h \ + include/grpc++/impl/server_builder_plugin.h \ + include/grpc++/impl/server_initializer.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++/security/auth_context.h \ + include/grpc++/security/auth_metadata_processor.h \ + include/grpc++/security/credentials.h \ + include/grpc++/security/server_credentials.h \ + include/grpc++/server.h \ + include/grpc++/server_builder.h \ + include/grpc++/server_context.h \ + include/grpc++/server_posix.h \ + include/grpc++/support/async_stream.h \ + include/grpc++/support/async_unary_call.h \ + include/grpc++/support/byte_buffer.h \ + include/grpc++/support/channel_arguments.h \ + include/grpc++/support/config.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 \ + include/grpc++/impl/codegen/async_stream.h \ + include/grpc++/impl/codegen/async_unary_call.h \ + include/grpc++/impl/codegen/call.h \ + include/grpc++/impl/codegen/call_hook.h \ + include/grpc++/impl/codegen/channel_interface.h \ + include/grpc++/impl/codegen/client_context.h \ + include/grpc++/impl/codegen/client_unary_call.h \ + include/grpc++/impl/codegen/completion_queue.h \ + include/grpc++/impl/codegen/completion_queue_tag.h \ + include/grpc++/impl/codegen/config.h \ + include/grpc++/impl/codegen/core_codegen_interface.h \ + include/grpc++/impl/codegen/create_auth_context.h \ + include/grpc++/impl/codegen/grpc_library.h \ + include/grpc++/impl/codegen/method_handler_impl.h \ + include/grpc++/impl/codegen/rpc_method.h \ + include/grpc++/impl/codegen/rpc_service_method.h \ + include/grpc++/impl/codegen/security/auth_context.h \ + include/grpc++/impl/codegen/serialization_traits.h \ + include/grpc++/impl/codegen/server_context.h \ + include/grpc++/impl/codegen/server_interface.h \ + include/grpc++/impl/codegen/service_type.h \ + include/grpc++/impl/codegen/status.h \ + include/grpc++/impl/codegen/status_code_enum.h \ + include/grpc++/impl/codegen/string_ref.h \ + include/grpc++/impl/codegen/stub_options.h \ + include/grpc++/impl/codegen/sync.h \ + include/grpc++/impl/codegen/sync_cxx11.h \ + include/grpc++/impl/codegen/sync_no_cxx11.h \ + include/grpc++/impl/codegen/sync_stream.h \ + include/grpc++/impl/codegen/time.h \ include/grpc/impl/codegen/byte_buffer.h \ include/grpc/impl/codegen/byte_buffer_reader.h \ include/grpc/impl/codegen/compression_types.h \ @@ -2754,427 +2937,350 @@ PUBLIC_HEADERS_C += \ include/grpc/impl/codegen/sync_posix.h \ include/grpc/impl/codegen/sync_windows.h \ include/grpc/impl/codegen/time.h \ - include/grpc/grpc_security.h \ - include/grpc/grpc_security_constants.h \ - include/grpc/census.h \ -LIBGRPC_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_SRC)))) +LIBGRPC++_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_SRC)))) + + +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL. + +$(LIBDIR)/$(CONFIG)/libgrpc++.a: openssl_dep_error + +$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT): openssl_dep_error + +else + +ifeq ($(NO_PROTOBUF),true) + +# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. + +$(LIBDIR)/$(CONFIG)/libgrpc++.a: protobuf_dep_error + +$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT): protobuf_dep_error + +else + +$(LIBDIR)/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBGRPC++_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++.a +endif + + + +ifeq ($(SYSTEM),MINGW32) +$(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/grpc.$(SHARED_EXT) $(OPENSSL_DEP) + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc++.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc-imp +else +$(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT) $(OPENSSL_DEP) + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` +ifeq ($(SYSTEM),Darwin) + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc +else + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc + $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).so.1 + $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).so +endif +endif + +endif + +endif + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(LIBGRPC++_OBJS:.o=.dep) +endif +endif + +# Force compilation of proto files before building code that could potentially depend on them + + +# Using nanopb for C files right now +LIBGRPC++_REFLECTION_SRC = \ + src/cpp/ext/proto_server_reflection.cc \ + src/cpp/ext/proto_server_reflection_plugin.cc \ + src/cpp/ext/reflection.grpc.pb.cc \ + src/cpp/ext/reflection.pb.cc \ + +PUBLIC_HEADERS_CXX += \ + include/grpc++/ext/proto_server_reflection_plugin.h \ + include/grpc++/ext/reflection.grpc.pb.h \ + include/grpc++/ext/reflection.pb.h \ + include/grpc++/impl/codegen/proto_utils.h \ + include/grpc++/impl/codegen/async_stream.h \ + include/grpc++/impl/codegen/async_unary_call.h \ + include/grpc++/impl/codegen/call.h \ + include/grpc++/impl/codegen/call_hook.h \ + include/grpc++/impl/codegen/channel_interface.h \ + include/grpc++/impl/codegen/client_context.h \ + include/grpc++/impl/codegen/client_unary_call.h \ + include/grpc++/impl/codegen/completion_queue.h \ + include/grpc++/impl/codegen/completion_queue_tag.h \ + include/grpc++/impl/codegen/config.h \ + include/grpc++/impl/codegen/core_codegen_interface.h \ + include/grpc++/impl/codegen/create_auth_context.h \ + include/grpc++/impl/codegen/grpc_library.h \ + include/grpc++/impl/codegen/method_handler_impl.h \ + include/grpc++/impl/codegen/rpc_method.h \ + include/grpc++/impl/codegen/rpc_service_method.h \ + include/grpc++/impl/codegen/security/auth_context.h \ + include/grpc++/impl/codegen/serialization_traits.h \ + include/grpc++/impl/codegen/server_context.h \ + include/grpc++/impl/codegen/server_interface.h \ + include/grpc++/impl/codegen/service_type.h \ + include/grpc++/impl/codegen/status.h \ + include/grpc++/impl/codegen/status_code_enum.h \ + include/grpc++/impl/codegen/string_ref.h \ + include/grpc++/impl/codegen/stub_options.h \ + include/grpc++/impl/codegen/sync.h \ + include/grpc++/impl/codegen/sync_cxx11.h \ + include/grpc++/impl/codegen/sync_no_cxx11.h \ + include/grpc++/impl/codegen/sync_stream.h \ + include/grpc++/impl/codegen/time.h \ + include/grpc/impl/codegen/byte_buffer.h \ + include/grpc/impl/codegen/byte_buffer_reader.h \ + include/grpc/impl/codegen/compression_types.h \ + include/grpc/impl/codegen/connectivity_state.h \ + include/grpc/impl/codegen/grpc_types.h \ + include/grpc/impl/codegen/propagation_bits.h \ + include/grpc/impl/codegen/status.h \ + include/grpc/impl/codegen/alloc.h \ + include/grpc/impl/codegen/atm.h \ + include/grpc/impl/codegen/atm_gcc_atomic.h \ + include/grpc/impl/codegen/atm_gcc_sync.h \ + include/grpc/impl/codegen/atm_windows.h \ + include/grpc/impl/codegen/log.h \ + include/grpc/impl/codegen/port_platform.h \ + include/grpc/impl/codegen/slice.h \ + include/grpc/impl/codegen/slice_buffer.h \ + include/grpc/impl/codegen/sync.h \ + include/grpc/impl/codegen/sync_generic.h \ + include/grpc/impl/codegen/sync_posix.h \ + include/grpc/impl/codegen/sync_windows.h \ + include/grpc/impl/codegen/time.h \ + include/grpc++/impl/codegen/config_protobuf.h \ + +LIBGRPC++_REFLECTION_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_REFLECTION_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure libraries if you don't have OpenSSL. -$(LIBDIR)/$(CONFIG)/libgrpc.a: openssl_dep_error +$(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a: openssl_dep_error -$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION).$(SHARED_EXT): openssl_dep_error +$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT): openssl_dep_error else +ifeq ($(NO_PROTOBUF),true) -$(LIBDIR)/$(CONFIG)/libgrpc.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) +# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. + +$(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a: protobuf_dep_error + +$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT): protobuf_dep_error + +else + +$(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_REFLECTION_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBGRPC_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBGRPC++_REFLECTION_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/grpc++.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc++_reflection.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_reflection$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_REFLECTION_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc++-imp else -$(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) +$(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgrpc++.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_REFLECTION_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc++ else - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) - $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION).so.1 - $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION).so + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_reflection.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_REFLECTION_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc++ + $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION).so.1 + $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION).so endif endif endif +endif + ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC_OBJS:.o=.dep) +-include $(LIBGRPC++_REFLECTION_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -LIBGRPC_CRONET_SRC = \ - src/core/lib/surface/init.c \ - src/core/lib/channel/channel_args.c \ - src/core/lib/channel/channel_stack.c \ - src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/compress_filter.c \ - src/core/lib/channel/connected_channel.c \ - src/core/lib/channel/handshaker.c \ - src/core/lib/channel/http_client_filter.c \ - src/core/lib/channel/http_server_filter.c \ - src/core/lib/compression/compression.c \ - src/core/lib/compression/message_compress.c \ - src/core/lib/debug/trace.c \ - src/core/lib/http/format_request.c \ - src/core/lib/http/httpcli.c \ - src/core/lib/http/parser.c \ - src/core/lib/iomgr/closure.c \ - src/core/lib/iomgr/endpoint.c \ - src/core/lib/iomgr/endpoint_pair_posix.c \ - src/core/lib/iomgr/endpoint_pair_windows.c \ - src/core/lib/iomgr/error.c \ - src/core/lib/iomgr/ev_epoll_linux.c \ - src/core/lib/iomgr/ev_poll_and_epoll_posix.c \ - src/core/lib/iomgr/ev_poll_posix.c \ - src/core/lib/iomgr/ev_posix.c \ - src/core/lib/iomgr/exec_ctx.c \ - src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/iocp_windows.c \ - src/core/lib/iomgr/iomgr.c \ - src/core/lib/iomgr/iomgr_posix.c \ - src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/load_file.c \ - src/core/lib/iomgr/network_status_tracker.c \ - src/core/lib/iomgr/polling_entity.c \ - src/core/lib/iomgr/pollset_set_windows.c \ - src/core/lib/iomgr/pollset_windows.c \ - src/core/lib/iomgr/resolve_address_posix.c \ - src/core/lib/iomgr/resolve_address_windows.c \ - src/core/lib/iomgr/sockaddr_utils.c \ - src/core/lib/iomgr/socket_utils_common_posix.c \ - src/core/lib/iomgr/socket_utils_linux.c \ - src/core/lib/iomgr/socket_utils_posix.c \ - src/core/lib/iomgr/socket_windows.c \ - src/core/lib/iomgr/tcp_client_posix.c \ - src/core/lib/iomgr/tcp_client_windows.c \ - src/core/lib/iomgr/tcp_posix.c \ - src/core/lib/iomgr/tcp_server_posix.c \ - src/core/lib/iomgr/tcp_server_windows.c \ - src/core/lib/iomgr/tcp_windows.c \ - src/core/lib/iomgr/time_averaged_stats.c \ - src/core/lib/iomgr/timer.c \ - src/core/lib/iomgr/timer_heap.c \ - src/core/lib/iomgr/udp_server.c \ - src/core/lib/iomgr/unix_sockets_posix.c \ - src/core/lib/iomgr/unix_sockets_posix_noop.c \ - src/core/lib/iomgr/wakeup_fd_eventfd.c \ - src/core/lib/iomgr/wakeup_fd_nospecial.c \ - src/core/lib/iomgr/wakeup_fd_pipe.c \ - src/core/lib/iomgr/wakeup_fd_posix.c \ - src/core/lib/iomgr/workqueue_posix.c \ - src/core/lib/iomgr/workqueue_windows.c \ - src/core/lib/json/json.c \ - src/core/lib/json/json_reader.c \ - src/core/lib/json/json_string.c \ - src/core/lib/json/json_writer.c \ - src/core/lib/surface/alarm.c \ - src/core/lib/surface/api_trace.c \ - src/core/lib/surface/byte_buffer.c \ - src/core/lib/surface/byte_buffer_reader.c \ - src/core/lib/surface/call.c \ - src/core/lib/surface/call_details.c \ - src/core/lib/surface/call_log_batch.c \ - src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_init.c \ - src/core/lib/surface/channel_ping.c \ - src/core/lib/surface/channel_stack_type.c \ - src/core/lib/surface/completion_queue.c \ - src/core/lib/surface/event_string.c \ - src/core/lib/surface/lame_client.c \ - src/core/lib/surface/metadata_array.c \ - src/core/lib/surface/server.c \ - src/core/lib/surface/validate_metadata.c \ - src/core/lib/surface/version.c \ - src/core/lib/transport/byte_stream.c \ - src/core/lib/transport/connectivity_state.c \ - src/core/lib/transport/metadata.c \ - src/core/lib/transport/metadata_batch.c \ - src/core/lib/transport/static_metadata.c \ - src/core/lib/transport/timeout_encoding.c \ - src/core/lib/transport/transport.c \ - src/core/lib/transport/transport_op_string.c \ - src/core/ext/transport/cronet/client/secure/cronet_channel_create.c \ - src/core/ext/transport/cronet/transport/cronet_api_dummy.c \ - src/core/ext/transport/cronet/transport/cronet_transport.c \ - src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ - src/core/ext/transport/chttp2/transport/bin_decoder.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/status_conversion.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/ext/transport/chttp2/alpn/alpn.c \ - src/core/ext/client_config/channel_connectivity.c \ - src/core/ext/client_config/client_channel.c \ - src/core/ext/client_config/client_channel_factory.c \ - src/core/ext/client_config/client_config.c \ - src/core/ext/client_config/client_config_plugin.c \ - src/core/ext/client_config/connector.c \ - src/core/ext/client_config/default_initial_connect_string.c \ - src/core/ext/client_config/initial_connect_string.c \ - src/core/ext/client_config/lb_policy.c \ - src/core/ext/client_config/lb_policy_factory.c \ - src/core/ext/client_config/lb_policy_registry.c \ - src/core/ext/client_config/parse_address.c \ - src/core/ext/client_config/resolver.c \ - src/core/ext/client_config/resolver_factory.c \ - src/core/ext/client_config/resolver_registry.c \ - src/core/ext/client_config/subchannel.c \ - src/core/ext/client_config/subchannel_call_holder.c \ - src/core/ext/client_config/subchannel_index.c \ - src/core/ext/client_config/uri_parser.c \ - src/core/lib/http/httpcli_security_connector.c \ - src/core/lib/security/context/security_context.c \ - src/core/lib/security/credentials/composite/composite_credentials.c \ - src/core/lib/security/credentials/credentials.c \ - src/core/lib/security/credentials/credentials_metadata.c \ - src/core/lib/security/credentials/fake/fake_credentials.c \ - src/core/lib/security/credentials/google_default/credentials_posix.c \ - src/core/lib/security/credentials/google_default/credentials_windows.c \ - src/core/lib/security/credentials/google_default/google_default_credentials.c \ - src/core/lib/security/credentials/iam/iam_credentials.c \ - src/core/lib/security/credentials/jwt/json_token.c \ - src/core/lib/security/credentials/jwt/jwt_credentials.c \ - src/core/lib/security/credentials/jwt/jwt_verifier.c \ - src/core/lib/security/credentials/oauth2/oauth2_credentials.c \ - src/core/lib/security/credentials/plugin/plugin_credentials.c \ - src/core/lib/security/credentials/ssl/ssl_credentials.c \ - src/core/lib/security/transport/client_auth_filter.c \ - src/core/lib/security/transport/handshake.c \ - src/core/lib/security/transport/secure_endpoint.c \ - src/core/lib/security/transport/security_connector.c \ - src/core/lib/security/transport/server_auth_filter.c \ - src/core/lib/security/transport/tsi_error.c \ - src/core/lib/security/util/b64.c \ - src/core/lib/security/util/json_util.c \ - src/core/lib/surface/init_secure.c \ - src/core/lib/tsi/fake_transport_security.c \ - src/core/lib/tsi/ssl_transport_security.c \ - src/core/lib/tsi/transport_security.c \ - src/core/plugin_registry/grpc_cronet_plugin_registry.c \ -PUBLIC_HEADERS_C += \ - include/grpc/byte_buffer.h \ - include/grpc/byte_buffer_reader.h \ - include/grpc/compression.h \ - include/grpc/grpc.h \ - include/grpc/grpc_posix.h \ - include/grpc/status.h \ - include/grpc/impl/codegen/byte_buffer.h \ - include/grpc/impl/codegen/byte_buffer_reader.h \ - include/grpc/impl/codegen/compression_types.h \ - include/grpc/impl/codegen/connectivity_state.h \ - include/grpc/impl/codegen/grpc_types.h \ - include/grpc/impl/codegen/propagation_bits.h \ - include/grpc/impl/codegen/status.h \ - include/grpc/impl/codegen/alloc.h \ - include/grpc/impl/codegen/atm.h \ - include/grpc/impl/codegen/atm_gcc_atomic.h \ - include/grpc/impl/codegen/atm_gcc_sync.h \ - include/grpc/impl/codegen/atm_windows.h \ - include/grpc/impl/codegen/log.h \ - include/grpc/impl/codegen/port_platform.h \ - include/grpc/impl/codegen/slice.h \ - include/grpc/impl/codegen/slice_buffer.h \ - include/grpc/impl/codegen/sync.h \ - include/grpc/impl/codegen/sync_generic.h \ - include/grpc/impl/codegen/sync_posix.h \ - include/grpc/impl/codegen/sync_windows.h \ - include/grpc/impl/codegen/time.h \ - include/grpc/grpc_cronet.h \ - include/grpc/grpc_security.h \ - include/grpc/grpc_security_constants.h \ +# Using nanopb for C files right now +LIBGRPC++_REFLECTION_CODEGEN_SRC = \ + $(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.pb.cc $(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc \ + +PUBLIC_HEADERS_CXX += \ + +LIBGRPC++_REFLECTION_CODEGEN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_REFLECTION_CODEGEN_SRC)))) + + +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL. + +$(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a: openssl_dep_error + + +else + +ifeq ($(NO_PROTOBUF),true) + +# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. + +$(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a: protobuf_dep_error + + +else + +$(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_REFLECTION_CODEGEN_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a $(LIBGRPC++_REFLECTION_CODEGEN_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a +endif + + + + +endif + +endif + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(LIBGRPC++_REFLECTION_CODEGEN_OBJS:.o=.dep) +endif +endif + +# Force compilation of proto files before building code that could potentially depend on them + + +# Using nanopb for C files right now +LIBGRPC++_TEST_CONFIG_SRC = \ + test/cpp/util/test_config.cc \ + +PUBLIC_HEADERS_CXX += \ -LIBGRPC_CRONET_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_CRONET_SRC)))) +LIBGRPC++_TEST_CONFIG_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_TEST_CONFIG_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure libraries if you don't have OpenSSL. -$(LIBDIR)/$(CONFIG)/libgrpc_cronet.a: openssl_dep_error +$(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a: openssl_dep_error -$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION).$(SHARED_EXT): openssl_dep_error else +ifeq ($(NO_PROTOBUF),true) -$(LIBDIR)/$(CONFIG)/libgrpc_cronet.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_CRONET_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) - $(E) "[AR] Creating $@" - $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a $(LIBGRPC_CRONET_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) -ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a -endif +# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. +$(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a: protobuf_dep_error -ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_CRONET_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc_cronet.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_CRONET_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) else -$(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_CRONET_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) - $(E) "[LD] Linking $@" + +$(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_TEST_CONFIG_OBJS) + $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBGRPC++_TEST_CONFIG_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_CRONET_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) -else - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_cronet.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_CRONET_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) - $(Q) ln -sf $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION).so.1 - $(Q) ln -sf $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION).so + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a endif + + + + endif endif ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC_CRONET_OBJS:.o=.dep) +-include $(LIBGRPC++_TEST_CONFIG_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -LIBGRPC_TEST_UTIL_SRC = \ - test/core/end2end/data/client_certs.c \ - test/core/end2end/data/server1_cert.c \ - test/core/end2end/data/server1_key.c \ - test/core/end2end/data/test_root_cert.c \ - test/core/security/oauth2_utils.c \ - test/core/end2end/cq_verifier.c \ - test/core/end2end/fixtures/proxy.c \ - test/core/iomgr/endpoint_tests.c \ - test/core/util/grpc_profiler.c \ - test/core/util/memory_counters.c \ - test/core/util/mock_endpoint.c \ - test/core/util/parse_hexstring.c \ - test/core/util/passthru_endpoint.c \ - test/core/util/port_posix.c \ - test/core/util/port_server_client.c \ - test/core/util/port_windows.c \ - test/core/util/slice_splitter.c \ - src/core/lib/channel/channel_args.c \ - src/core/lib/channel/channel_stack.c \ - src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/compress_filter.c \ - src/core/lib/channel/connected_channel.c \ - src/core/lib/channel/handshaker.c \ - src/core/lib/channel/http_client_filter.c \ - src/core/lib/channel/http_server_filter.c \ - src/core/lib/compression/compression.c \ - src/core/lib/compression/message_compress.c \ - src/core/lib/debug/trace.c \ - src/core/lib/http/format_request.c \ - src/core/lib/http/httpcli.c \ - src/core/lib/http/parser.c \ - src/core/lib/iomgr/closure.c \ - src/core/lib/iomgr/endpoint.c \ - src/core/lib/iomgr/endpoint_pair_posix.c \ - src/core/lib/iomgr/endpoint_pair_windows.c \ - src/core/lib/iomgr/error.c \ - src/core/lib/iomgr/ev_epoll_linux.c \ - src/core/lib/iomgr/ev_poll_and_epoll_posix.c \ - src/core/lib/iomgr/ev_poll_posix.c \ - src/core/lib/iomgr/ev_posix.c \ - src/core/lib/iomgr/exec_ctx.c \ - src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/iocp_windows.c \ - src/core/lib/iomgr/iomgr.c \ - src/core/lib/iomgr/iomgr_posix.c \ - src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/load_file.c \ - src/core/lib/iomgr/network_status_tracker.c \ - src/core/lib/iomgr/polling_entity.c \ - src/core/lib/iomgr/pollset_set_windows.c \ - src/core/lib/iomgr/pollset_windows.c \ - src/core/lib/iomgr/resolve_address_posix.c \ - src/core/lib/iomgr/resolve_address_windows.c \ - src/core/lib/iomgr/sockaddr_utils.c \ - src/core/lib/iomgr/socket_utils_common_posix.c \ - src/core/lib/iomgr/socket_utils_linux.c \ - src/core/lib/iomgr/socket_utils_posix.c \ - src/core/lib/iomgr/socket_windows.c \ - src/core/lib/iomgr/tcp_client_posix.c \ - src/core/lib/iomgr/tcp_client_windows.c \ - src/core/lib/iomgr/tcp_posix.c \ - src/core/lib/iomgr/tcp_server_posix.c \ - src/core/lib/iomgr/tcp_server_windows.c \ - src/core/lib/iomgr/tcp_windows.c \ - src/core/lib/iomgr/time_averaged_stats.c \ - src/core/lib/iomgr/timer.c \ - src/core/lib/iomgr/timer_heap.c \ - src/core/lib/iomgr/udp_server.c \ - src/core/lib/iomgr/unix_sockets_posix.c \ - src/core/lib/iomgr/unix_sockets_posix_noop.c \ - src/core/lib/iomgr/wakeup_fd_eventfd.c \ - src/core/lib/iomgr/wakeup_fd_nospecial.c \ - src/core/lib/iomgr/wakeup_fd_pipe.c \ - src/core/lib/iomgr/wakeup_fd_posix.c \ - src/core/lib/iomgr/workqueue_posix.c \ - src/core/lib/iomgr/workqueue_windows.c \ - src/core/lib/json/json.c \ - src/core/lib/json/json_reader.c \ - src/core/lib/json/json_string.c \ - src/core/lib/json/json_writer.c \ - src/core/lib/surface/alarm.c \ - src/core/lib/surface/api_trace.c \ - src/core/lib/surface/byte_buffer.c \ - src/core/lib/surface/byte_buffer_reader.c \ - src/core/lib/surface/call.c \ - src/core/lib/surface/call_details.c \ - src/core/lib/surface/call_log_batch.c \ - src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_init.c \ - src/core/lib/surface/channel_ping.c \ - src/core/lib/surface/channel_stack_type.c \ - src/core/lib/surface/completion_queue.c \ - src/core/lib/surface/event_string.c \ - src/core/lib/surface/lame_client.c \ - src/core/lib/surface/metadata_array.c \ - src/core/lib/surface/server.c \ - src/core/lib/surface/validate_metadata.c \ - src/core/lib/surface/version.c \ - src/core/lib/transport/byte_stream.c \ - src/core/lib/transport/connectivity_state.c \ - src/core/lib/transport/metadata.c \ - src/core/lib/transport/metadata_batch.c \ - src/core/lib/transport/static_metadata.c \ - src/core/lib/transport/timeout_encoding.c \ - src/core/lib/transport/transport.c \ - src/core/lib/transport/transport_op_string.c \ -PUBLIC_HEADERS_C += \ - include/grpc/byte_buffer.h \ - include/grpc/byte_buffer_reader.h \ - include/grpc/compression.h \ - include/grpc/grpc.h \ - include/grpc/grpc_posix.h \ - include/grpc/status.h \ +# Using nanopb for C files right now +LIBGRPC++_TEST_UTIL_SRC = \ + $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc \ + test/cpp/end2end/test_service_impl.cc \ + test/cpp/util/byte_buffer_proto_helper.cc \ + test/cpp/util/create_test_channel.cc \ + test/cpp/util/string_ref_helper.cc \ + test/cpp/util/subprocess.cc \ + test/cpp/util/test_credentials_provider.cc \ + src/cpp/codegen/codegen_init.cc \ + +PUBLIC_HEADERS_CXX += \ + include/grpc++/impl/codegen/async_stream.h \ + include/grpc++/impl/codegen/async_unary_call.h \ + include/grpc++/impl/codegen/call.h \ + include/grpc++/impl/codegen/call_hook.h \ + include/grpc++/impl/codegen/channel_interface.h \ + include/grpc++/impl/codegen/client_context.h \ + include/grpc++/impl/codegen/client_unary_call.h \ + include/grpc++/impl/codegen/completion_queue.h \ + include/grpc++/impl/codegen/completion_queue_tag.h \ + include/grpc++/impl/codegen/config.h \ + include/grpc++/impl/codegen/core_codegen_interface.h \ + include/grpc++/impl/codegen/create_auth_context.h \ + include/grpc++/impl/codegen/grpc_library.h \ + include/grpc++/impl/codegen/method_handler_impl.h \ + include/grpc++/impl/codegen/rpc_method.h \ + include/grpc++/impl/codegen/rpc_service_method.h \ + include/grpc++/impl/codegen/security/auth_context.h \ + include/grpc++/impl/codegen/serialization_traits.h \ + include/grpc++/impl/codegen/server_context.h \ + include/grpc++/impl/codegen/server_interface.h \ + include/grpc++/impl/codegen/service_type.h \ + include/grpc++/impl/codegen/status.h \ + include/grpc++/impl/codegen/status_code_enum.h \ + include/grpc++/impl/codegen/string_ref.h \ + include/grpc++/impl/codegen/stub_options.h \ + include/grpc++/impl/codegen/sync.h \ + include/grpc++/impl/codegen/sync_cxx11.h \ + include/grpc++/impl/codegen/sync_no_cxx11.h \ + include/grpc++/impl/codegen/sync_stream.h \ + include/grpc++/impl/codegen/time.h \ include/grpc/impl/codegen/byte_buffer.h \ include/grpc/impl/codegen/byte_buffer_reader.h \ include/grpc/impl/codegen/compression_types.h \ @@ -3196,247 +3302,174 @@ PUBLIC_HEADERS_C += \ include/grpc/impl/codegen/sync_posix.h \ include/grpc/impl/codegen/sync_windows.h \ include/grpc/impl/codegen/time.h \ + include/grpc++/impl/codegen/proto_utils.h \ + include/grpc++/impl/codegen/config_protobuf.h \ + include/grpc++/impl/codegen/thrift_serializer.h \ + include/grpc++/impl/codegen/thrift_utils.h \ -LIBGRPC_TEST_UTIL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_TEST_UTIL_SRC)))) - - -ifeq ($(NO_SECURE),true) - -# You can't build secure libraries if you don't have OpenSSL. - -$(LIBDIR)/$(CONFIG)/libgrpc_test_util.a: openssl_dep_error - - -else - +LIBGRPC++_TEST_UTIL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_TEST_UTIL_SRC)))) -$(LIBDIR)/$(CONFIG)/libgrpc_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_TEST_UTIL_OBJS) - $(E) "[AR] Creating $@" - $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBGRPC_TEST_UTIL_OBJS) -ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a -endif +ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL. +$(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a: openssl_dep_error -endif -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(LIBGRPC_TEST_UTIL_OBJS:.o=.dep) -endif -endif +else +ifeq ($(NO_PROTOBUF),true) -LIBGRPC_TEST_UTIL_UNSECURE_SRC = \ - test/core/end2end/cq_verifier.c \ - test/core/end2end/fixtures/proxy.c \ - test/core/iomgr/endpoint_tests.c \ - test/core/util/grpc_profiler.c \ - test/core/util/memory_counters.c \ - test/core/util/mock_endpoint.c \ - test/core/util/parse_hexstring.c \ - test/core/util/passthru_endpoint.c \ - test/core/util/port_posix.c \ - test/core/util/port_server_client.c \ - test/core/util/port_windows.c \ - test/core/util/slice_splitter.c \ +# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. -PUBLIC_HEADERS_C += \ +$(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a: protobuf_dep_error -LIBGRPC_TEST_UTIL_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_TEST_UTIL_UNSECURE_SRC)))) +else -$(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a: $(ZLIB_DEP) $(LIBGRPC_TEST_UTIL_UNSECURE_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBGRPC_TEST_UTIL_UNSECURE_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBGRPC++_TEST_UTIL_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a endif +endif + +endif + +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC_TEST_UTIL_UNSECURE_OBJS:.o=.dep) +-include $(LIBGRPC++_TEST_UTIL_OBJS:.o=.dep) +endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/end2end/test_service_impl.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/util/byte_buffer_proto_helper.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/util/create_test_channel.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/util/string_ref_helper.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/util/subprocess.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/util/test_credentials_provider.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc -LIBGRPC_UNSECURE_SRC = \ - src/core/lib/surface/init.c \ - src/core/lib/surface/init_unsecure.c \ - src/core/lib/channel/channel_args.c \ - src/core/lib/channel/channel_stack.c \ - src/core/lib/channel/channel_stack_builder.c \ - src/core/lib/channel/compress_filter.c \ - src/core/lib/channel/connected_channel.c \ - src/core/lib/channel/handshaker.c \ - src/core/lib/channel/http_client_filter.c \ - src/core/lib/channel/http_server_filter.c \ - src/core/lib/compression/compression.c \ - src/core/lib/compression/message_compress.c \ - src/core/lib/debug/trace.c \ - src/core/lib/http/format_request.c \ - src/core/lib/http/httpcli.c \ - src/core/lib/http/parser.c \ - src/core/lib/iomgr/closure.c \ - src/core/lib/iomgr/endpoint.c \ - src/core/lib/iomgr/endpoint_pair_posix.c \ - src/core/lib/iomgr/endpoint_pair_windows.c \ - src/core/lib/iomgr/error.c \ - src/core/lib/iomgr/ev_epoll_linux.c \ - src/core/lib/iomgr/ev_poll_and_epoll_posix.c \ - src/core/lib/iomgr/ev_poll_posix.c \ - src/core/lib/iomgr/ev_posix.c \ - src/core/lib/iomgr/exec_ctx.c \ - src/core/lib/iomgr/executor.c \ - src/core/lib/iomgr/iocp_windows.c \ - src/core/lib/iomgr/iomgr.c \ - src/core/lib/iomgr/iomgr_posix.c \ - src/core/lib/iomgr/iomgr_windows.c \ - src/core/lib/iomgr/load_file.c \ - src/core/lib/iomgr/network_status_tracker.c \ - src/core/lib/iomgr/polling_entity.c \ - src/core/lib/iomgr/pollset_set_windows.c \ - src/core/lib/iomgr/pollset_windows.c \ - src/core/lib/iomgr/resolve_address_posix.c \ - src/core/lib/iomgr/resolve_address_windows.c \ - src/core/lib/iomgr/sockaddr_utils.c \ - src/core/lib/iomgr/socket_utils_common_posix.c \ - src/core/lib/iomgr/socket_utils_linux.c \ - src/core/lib/iomgr/socket_utils_posix.c \ - src/core/lib/iomgr/socket_windows.c \ - src/core/lib/iomgr/tcp_client_posix.c \ - src/core/lib/iomgr/tcp_client_windows.c \ - src/core/lib/iomgr/tcp_posix.c \ - src/core/lib/iomgr/tcp_server_posix.c \ - src/core/lib/iomgr/tcp_server_windows.c \ - src/core/lib/iomgr/tcp_windows.c \ - src/core/lib/iomgr/time_averaged_stats.c \ - src/core/lib/iomgr/timer.c \ - src/core/lib/iomgr/timer_heap.c \ - src/core/lib/iomgr/udp_server.c \ - src/core/lib/iomgr/unix_sockets_posix.c \ - src/core/lib/iomgr/unix_sockets_posix_noop.c \ - src/core/lib/iomgr/wakeup_fd_eventfd.c \ - src/core/lib/iomgr/wakeup_fd_nospecial.c \ - src/core/lib/iomgr/wakeup_fd_pipe.c \ - src/core/lib/iomgr/wakeup_fd_posix.c \ - src/core/lib/iomgr/workqueue_posix.c \ - src/core/lib/iomgr/workqueue_windows.c \ - src/core/lib/json/json.c \ - src/core/lib/json/json_reader.c \ - src/core/lib/json/json_string.c \ - src/core/lib/json/json_writer.c \ - src/core/lib/surface/alarm.c \ - src/core/lib/surface/api_trace.c \ - src/core/lib/surface/byte_buffer.c \ - src/core/lib/surface/byte_buffer_reader.c \ - src/core/lib/surface/call.c \ - src/core/lib/surface/call_details.c \ - src/core/lib/surface/call_log_batch.c \ - src/core/lib/surface/channel.c \ - src/core/lib/surface/channel_init.c \ - src/core/lib/surface/channel_ping.c \ - src/core/lib/surface/channel_stack_type.c \ - src/core/lib/surface/completion_queue.c \ - src/core/lib/surface/event_string.c \ - src/core/lib/surface/lame_client.c \ - src/core/lib/surface/metadata_array.c \ - src/core/lib/surface/server.c \ - src/core/lib/surface/validate_metadata.c \ - src/core/lib/surface/version.c \ - src/core/lib/transport/byte_stream.c \ - src/core/lib/transport/connectivity_state.c \ - src/core/lib/transport/metadata.c \ - src/core/lib/transport/metadata_batch.c \ - src/core/lib/transport/static_metadata.c \ - src/core/lib/transport/timeout_encoding.c \ - src/core/lib/transport/transport.c \ - src/core/lib/transport/transport_op_string.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c \ - src/core/ext/transport/chttp2/transport/bin_decoder.c \ - src/core/ext/transport/chttp2/transport/bin_encoder.c \ - src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ - src/core/ext/transport/chttp2/transport/chttp2_transport.c \ - src/core/ext/transport/chttp2/transport/frame_data.c \ - src/core/ext/transport/chttp2/transport/frame_goaway.c \ - src/core/ext/transport/chttp2/transport/frame_ping.c \ - src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ - src/core/ext/transport/chttp2/transport/frame_settings.c \ - src/core/ext/transport/chttp2/transport/frame_window_update.c \ - src/core/ext/transport/chttp2/transport/hpack_encoder.c \ - src/core/ext/transport/chttp2/transport/hpack_parser.c \ - src/core/ext/transport/chttp2/transport/hpack_table.c \ - src/core/ext/transport/chttp2/transport/huffsyms.c \ - src/core/ext/transport/chttp2/transport/incoming_metadata.c \ - src/core/ext/transport/chttp2/transport/parsing.c \ - src/core/ext/transport/chttp2/transport/status_conversion.c \ - src/core/ext/transport/chttp2/transport/stream_lists.c \ - src/core/ext/transport/chttp2/transport/stream_map.c \ - src/core/ext/transport/chttp2/transport/varint.c \ - src/core/ext/transport/chttp2/transport/writing.c \ - src/core/ext/transport/chttp2/alpn/alpn.c \ - src/core/ext/transport/chttp2/client/insecure/channel_create.c \ - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c \ - src/core/ext/client_config/channel_connectivity.c \ - src/core/ext/client_config/client_channel.c \ - src/core/ext/client_config/client_channel_factory.c \ - src/core/ext/client_config/client_config.c \ - src/core/ext/client_config/client_config_plugin.c \ - src/core/ext/client_config/connector.c \ - src/core/ext/client_config/default_initial_connect_string.c \ - src/core/ext/client_config/initial_connect_string.c \ - src/core/ext/client_config/lb_policy.c \ - src/core/ext/client_config/lb_policy_factory.c \ - src/core/ext/client_config/lb_policy_registry.c \ - src/core/ext/client_config/parse_address.c \ - src/core/ext/client_config/resolver.c \ - src/core/ext/client_config/resolver_factory.c \ - src/core/ext/client_config/resolver_registry.c \ - src/core/ext/client_config/subchannel.c \ - src/core/ext/client_config/subchannel_call_holder.c \ - src/core/ext/client_config/subchannel_index.c \ - src/core/ext/client_config/uri_parser.c \ - src/core/ext/resolver/dns/native/dns_resolver.c \ - src/core/ext/resolver/sockaddr/sockaddr_resolver.c \ - src/core/ext/load_reporting/load_reporting.c \ - src/core/ext/load_reporting/load_reporting_filter.c \ - src/core/ext/lb_policy/grpclb/grpclb.c \ - src/core/ext/lb_policy/grpclb/load_balancer_api.c \ - src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \ - third_party/nanopb/pb_common.c \ - third_party/nanopb/pb_decode.c \ - third_party/nanopb/pb_encode.c \ - src/core/ext/lb_policy/pick_first/pick_first.c \ - src/core/ext/lb_policy/round_robin/round_robin.c \ - src/core/ext/census/base_resources.c \ - src/core/ext/census/context.c \ - src/core/ext/census/gen/census.pb.c \ - src/core/ext/census/grpc_context.c \ - src/core/ext/census/grpc_filter.c \ - src/core/ext/census/grpc_plugin.c \ - src/core/ext/census/initialize.c \ - src/core/ext/census/mlog.c \ - src/core/ext/census/operation.c \ - src/core/ext/census/placeholders.c \ - src/core/ext/census/resource.c \ - src/core/ext/census/tracing.c \ - src/core/plugin_registry/grpc_unsecure_plugin_registry.c \ -PUBLIC_HEADERS_C += \ - include/grpc/byte_buffer.h \ - include/grpc/byte_buffer_reader.h \ - include/grpc/compression.h \ - include/grpc/grpc.h \ - include/grpc/grpc_posix.h \ - include/grpc/status.h \ +# Using nanopb for C files right now +LIBGRPC++_UNSECURE_SRC = \ + src/cpp/common/insecure_create_auth_context.cc \ + src/cpp/client/channel.cc \ + src/cpp/client/client_context.cc \ + src/cpp/client/create_channel.cc \ + src/cpp/client/create_channel_internal.cc \ + src/cpp/client/create_channel_posix.cc \ + src/cpp/client/credentials.cc \ + src/cpp/client/generic_stub.cc \ + src/cpp/client/insecure_credentials.cc \ + src/cpp/common/channel_arguments.cc \ + src/cpp/common/channel_filter.cc \ + src/cpp/common/completion_queue.cc \ + src/cpp/common/core_codegen.cc \ + src/cpp/common/rpc_method.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/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/server/server_posix.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 \ + src/cpp/codegen/codegen_init.cc \ + +PUBLIC_HEADERS_CXX += \ + include/grpc++/alarm.h \ + include/grpc++/channel.h \ + include/grpc++/client_context.h \ + include/grpc++/completion_queue.h \ + include/grpc++/create_channel.h \ + include/grpc++/create_channel_posix.h \ + include/grpc++/generic/async_generic_service.h \ + include/grpc++/generic/generic_stub.h \ + include/grpc++/grpc++.h \ + include/grpc++/impl/call.h \ + include/grpc++/impl/client_unary_call.h \ + include/grpc++/impl/codegen/core_codegen.h \ + include/grpc++/impl/grpc_library.h \ + include/grpc++/impl/method_handler_impl.h \ + include/grpc++/impl/rpc_method.h \ + include/grpc++/impl/rpc_service_method.h \ + include/grpc++/impl/serialization_traits.h \ + include/grpc++/impl/server_builder_option.h \ + include/grpc++/impl/server_builder_plugin.h \ + include/grpc++/impl/server_initializer.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++/security/auth_context.h \ + include/grpc++/security/auth_metadata_processor.h \ + include/grpc++/security/credentials.h \ + include/grpc++/security/server_credentials.h \ + include/grpc++/server.h \ + include/grpc++/server_builder.h \ + include/grpc++/server_context.h \ + include/grpc++/server_posix.h \ + include/grpc++/support/async_stream.h \ + include/grpc++/support/async_unary_call.h \ + include/grpc++/support/byte_buffer.h \ + include/grpc++/support/channel_arguments.h \ + include/grpc++/support/config.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 \ + include/grpc++/impl/codegen/async_stream.h \ + include/grpc++/impl/codegen/async_unary_call.h \ + include/grpc++/impl/codegen/call.h \ + include/grpc++/impl/codegen/call_hook.h \ + include/grpc++/impl/codegen/channel_interface.h \ + include/grpc++/impl/codegen/client_context.h \ + include/grpc++/impl/codegen/client_unary_call.h \ + include/grpc++/impl/codegen/completion_queue.h \ + include/grpc++/impl/codegen/completion_queue_tag.h \ + include/grpc++/impl/codegen/config.h \ + include/grpc++/impl/codegen/core_codegen_interface.h \ + include/grpc++/impl/codegen/create_auth_context.h \ + include/grpc++/impl/codegen/grpc_library.h \ + include/grpc++/impl/codegen/method_handler_impl.h \ + include/grpc++/impl/codegen/rpc_method.h \ + include/grpc++/impl/codegen/rpc_service_method.h \ + include/grpc++/impl/codegen/security/auth_context.h \ + include/grpc++/impl/codegen/serialization_traits.h \ + include/grpc++/impl/codegen/server_context.h \ + include/grpc++/impl/codegen/server_interface.h \ + include/grpc++/impl/codegen/service_type.h \ + include/grpc++/impl/codegen/status.h \ + include/grpc++/impl/codegen/status_code_enum.h \ + include/grpc++/impl/codegen/string_ref.h \ + include/grpc++/impl/codegen/stub_options.h \ + include/grpc++/impl/codegen/sync.h \ + include/grpc++/impl/codegen/sync_cxx11.h \ + include/grpc++/impl/codegen/sync_no_cxx11.h \ + include/grpc++/impl/codegen/sync_stream.h \ + include/grpc++/impl/codegen/time.h \ include/grpc/impl/codegen/byte_buffer.h \ include/grpc/impl/codegen/byte_buffer_reader.h \ include/grpc/impl/codegen/compression_types.h \ @@ -3458,269 +3491,287 @@ PUBLIC_HEADERS_C += \ include/grpc/impl/codegen/sync_posix.h \ include/grpc/impl/codegen/sync_windows.h \ include/grpc/impl/codegen/time.h \ - include/grpc/census.h \ -LIBGRPC_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_UNSECURE_SRC)))) +LIBGRPC++_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_UNSECURE_SRC)))) -$(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a: $(ZLIB_DEP) $(LIBGRPC_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) +ifeq ($(NO_PROTOBUF),true) + +# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. + +$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a: protobuf_dep_error + +$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT): protobuf_dep_error + +else + +$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a: $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBGRPC_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBGRPC++_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a +$(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/gpr.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/grpc_unsecure.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/grpc.$(SHARED_EXT) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc_unsecure.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc++_unsecure.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_UNSECURE_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgpr-imp -lgrpc_unsecure-imp -lgrpc-imp else -$(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a +$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgpr.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_UNSECURE_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgpr -lgrpc_unsecure -lgrpc else - $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) - $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION).so.1 - $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION).so + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_unsecure.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_UNSECURE_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgpr -lgrpc_unsecure -lgrpc + $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).so.1 + $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).so endif endif +endif + ifneq ($(NO_DEPS),true) --include $(LIBGRPC_UNSECURE_OBJS:.o=.dep) +-include $(LIBGRPC++_UNSECURE_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them -LIBRECONNECT_SERVER_SRC = \ - test/core/util/reconnect_server.c \ -PUBLIC_HEADERS_C += \ +# Using nanopb for C files right now +LIBGRPC_CLI_LIBS_SRC = \ + test/cpp/util/cli_call.cc \ + test/cpp/util/cli_credentials.cc \ + test/cpp/util/grpc_tool.cc \ + test/cpp/util/proto_file_parser.cc \ + test/cpp/util/proto_reflection_descriptor_database.cc \ -LIBRECONNECT_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBRECONNECT_SERVER_SRC)))) +PUBLIC_HEADERS_CXX += \ + +LIBGRPC_CLI_LIBS_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_CLI_LIBS_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure libraries if you don't have OpenSSL. -$(LIBDIR)/$(CONFIG)/libreconnect_server.a: openssl_dep_error +$(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a: openssl_dep_error else +ifeq ($(NO_PROTOBUF),true) -$(LIBDIR)/$(CONFIG)/libreconnect_server.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBRECONNECT_SERVER_OBJS) +# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. + +$(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a: protobuf_dep_error + + +else + +$(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC_CLI_LIBS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libreconnect_server.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBRECONNECT_SERVER_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBGRPC_CLI_LIBS_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libreconnect_server.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a endif +endif + endif ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBRECONNECT_SERVER_OBJS:.o=.dep) +-include $(LIBGRPC_CLI_LIBS_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -LIBTEST_TCP_SERVER_SRC = \ - test/core/util/test_tcp_server.c \ -PUBLIC_HEADERS_C += \ +# Using nanopb for C files right now +LIBGRPC_PLUGIN_SUPPORT_SRC = \ + src/compiler/c_generator.cc \ + src/compiler/cpp_generator.cc \ + src/compiler/csharp_generator.cc \ + src/compiler/node_generator.cc \ + src/compiler/objective_c_generator.cc \ + src/compiler/python_generator.cc \ + src/compiler/ruby_generator.cc \ + +PUBLIC_HEADERS_CXX += \ + include/grpc++/impl/codegen/config_protobuf.h \ + +LIBGRPC_PLUGIN_SUPPORT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_PLUGIN_SUPPORT_SRC)))) + + +ifeq ($(NO_PROTOBUF),true) + +# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. + +$(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a: protobuf_dep_error + + +else + +$(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a: $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBGRPC_PLUGIN_SUPPORT_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(LIBGRPC_PLUGIN_SUPPORT_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a +endif + + + + +endif + +ifneq ($(NO_DEPS),true) +-include $(LIBGRPC_PLUGIN_SUPPORT_OBJS:.o=.dep) +endif + +# Force compilation of proto files before building code that could potentially depend on them + + +# Using nanopb for C files right now +LIBINTEROP_CLIENT_HELPER_SRC = \ + $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ + test/cpp/interop/client_helper.cc \ + +PUBLIC_HEADERS_CXX += \ + +LIBINTEROP_CLIENT_HELPER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBINTEROP_CLIENT_HELPER_SRC)))) + + +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL. + +$(LIBDIR)/$(CONFIG)/libinterop_client_helper.a: openssl_dep_error + + +else + +ifeq ($(NO_PROTOBUF),true) + +# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. + +$(LIBDIR)/$(CONFIG)/libinterop_client_helper.a: protobuf_dep_error + + +else + +$(LIBDIR)/$(CONFIG)/libinterop_client_helper.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_CLIENT_HELPER_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a $(LIBINTEROP_CLIENT_HELPER_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a +endif + + + + +endif + +endif + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(LIBINTEROP_CLIENT_HELPER_OBJS:.o=.dep) +endif +endif + +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/interop/client_helper.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc + + +# Using nanopb for C files right now +LIBINTEROP_CLIENT_MAIN_SRC = \ + $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc \ + test/cpp/interop/client.cc \ + test/cpp/interop/interop_client.cc \ + +PUBLIC_HEADERS_CXX += \ + +LIBINTEROP_CLIENT_MAIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBINTEROP_CLIENT_MAIN_SRC)))) + + +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL. + +$(LIBDIR)/$(CONFIG)/libinterop_client_main.a: openssl_dep_error -LIBTEST_TCP_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBTEST_TCP_SERVER_SRC)))) +else -ifeq ($(NO_SECURE),true) +ifeq ($(NO_PROTOBUF),true) -# You can't build secure libraries if you don't have OpenSSL. +# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. -$(LIBDIR)/$(CONFIG)/libtest_tcp_server.a: openssl_dep_error +$(LIBDIR)/$(CONFIG)/libinterop_client_main.a: protobuf_dep_error else - -$(LIBDIR)/$(CONFIG)/libtest_tcp_server.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBTEST_TCP_SERVER_OBJS) +$(LIBDIR)/$(CONFIG)/libinterop_client_main.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_CLIENT_MAIN_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBTEST_TCP_SERVER_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_client_main.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libinterop_client_main.a $(LIBINTEROP_CLIENT_MAIN_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libinterop_client_main.a endif +endif + endif ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBTEST_TCP_SERVER_OBJS:.o=.dep) +-include $(LIBINTEROP_CLIENT_MAIN_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/interop/client.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/interop/interop_client.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc -LIBGRPC++_SRC = \ - src/cpp/client/secure_credentials.cc \ - src/cpp/common/auth_property_iterator.cc \ - src/cpp/common/secure_auth_context.cc \ - src/cpp/common/secure_channel_arguments.cc \ - src/cpp/common/secure_create_auth_context.cc \ - src/cpp/server/secure_server_credentials.cc \ - src/cpp/client/channel.cc \ - src/cpp/client/client_context.cc \ - src/cpp/client/create_channel.cc \ - src/cpp/client/create_channel_internal.cc \ - src/cpp/client/create_channel_posix.cc \ - src/cpp/client/credentials.cc \ - src/cpp/client/generic_stub.cc \ - src/cpp/client/insecure_credentials.cc \ - src/cpp/common/channel_arguments.cc \ - src/cpp/common/channel_filter.cc \ - src/cpp/common/completion_queue.cc \ - src/cpp/common/core_codegen.cc \ - src/cpp/common/rpc_method.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/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/server/server_posix.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 \ - src/cpp/codegen/codegen_init.cc \ + +# Using nanopb for C files right now +LIBINTEROP_SERVER_HELPER_SRC = \ + test/cpp/interop/server_helper.cc \ PUBLIC_HEADERS_CXX += \ - include/grpc++/alarm.h \ - include/grpc++/channel.h \ - include/grpc++/client_context.h \ - include/grpc++/completion_queue.h \ - include/grpc++/create_channel.h \ - include/grpc++/create_channel_posix.h \ - include/grpc++/generic/async_generic_service.h \ - include/grpc++/generic/generic_stub.h \ - include/grpc++/grpc++.h \ - include/grpc++/impl/call.h \ - include/grpc++/impl/client_unary_call.h \ - include/grpc++/impl/codegen/core_codegen.h \ - include/grpc++/impl/grpc_library.h \ - include/grpc++/impl/method_handler_impl.h \ - include/grpc++/impl/rpc_method.h \ - include/grpc++/impl/rpc_service_method.h \ - include/grpc++/impl/serialization_traits.h \ - include/grpc++/impl/server_builder_option.h \ - include/grpc++/impl/server_builder_plugin.h \ - include/grpc++/impl/server_initializer.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++/security/auth_context.h \ - include/grpc++/security/auth_metadata_processor.h \ - include/grpc++/security/credentials.h \ - include/grpc++/security/server_credentials.h \ - include/grpc++/server.h \ - include/grpc++/server_builder.h \ - include/grpc++/server_context.h \ - include/grpc++/server_posix.h \ - include/grpc++/support/async_stream.h \ - include/grpc++/support/async_unary_call.h \ - include/grpc++/support/byte_buffer.h \ - include/grpc++/support/channel_arguments.h \ - include/grpc++/support/config.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 \ - include/grpc++/impl/codegen/async_stream.h \ - include/grpc++/impl/codegen/async_unary_call.h \ - include/grpc++/impl/codegen/call.h \ - include/grpc++/impl/codegen/call_hook.h \ - include/grpc++/impl/codegen/channel_interface.h \ - include/grpc++/impl/codegen/client_context.h \ - include/grpc++/impl/codegen/client_unary_call.h \ - include/grpc++/impl/codegen/completion_queue.h \ - include/grpc++/impl/codegen/completion_queue_tag.h \ - include/grpc++/impl/codegen/config.h \ - include/grpc++/impl/codegen/core_codegen_interface.h \ - include/grpc++/impl/codegen/create_auth_context.h \ - include/grpc++/impl/codegen/grpc_library.h \ - include/grpc++/impl/codegen/method_handler_impl.h \ - include/grpc++/impl/codegen/rpc_method.h \ - include/grpc++/impl/codegen/rpc_service_method.h \ - include/grpc++/impl/codegen/security/auth_context.h \ - include/grpc++/impl/codegen/serialization_traits.h \ - include/grpc++/impl/codegen/server_context.h \ - include/grpc++/impl/codegen/server_interface.h \ - include/grpc++/impl/codegen/service_type.h \ - include/grpc++/impl/codegen/status.h \ - include/grpc++/impl/codegen/status_code_enum.h \ - include/grpc++/impl/codegen/string_ref.h \ - include/grpc++/impl/codegen/stub_options.h \ - include/grpc++/impl/codegen/sync.h \ - include/grpc++/impl/codegen/sync_cxx11.h \ - include/grpc++/impl/codegen/sync_no_cxx11.h \ - include/grpc++/impl/codegen/sync_stream.h \ - include/grpc++/impl/codegen/time.h \ - include/grpc/impl/codegen/byte_buffer.h \ - include/grpc/impl/codegen/byte_buffer_reader.h \ - include/grpc/impl/codegen/compression_types.h \ - include/grpc/impl/codegen/connectivity_state.h \ - include/grpc/impl/codegen/grpc_types.h \ - include/grpc/impl/codegen/propagation_bits.h \ - include/grpc/impl/codegen/status.h \ - include/grpc/impl/codegen/alloc.h \ - include/grpc/impl/codegen/atm.h \ - include/grpc/impl/codegen/atm_gcc_atomic.h \ - include/grpc/impl/codegen/atm_gcc_sync.h \ - include/grpc/impl/codegen/atm_windows.h \ - include/grpc/impl/codegen/log.h \ - include/grpc/impl/codegen/port_platform.h \ - include/grpc/impl/codegen/slice.h \ - include/grpc/impl/codegen/slice_buffer.h \ - include/grpc/impl/codegen/sync.h \ - include/grpc/impl/codegen/sync_generic.h \ - include/grpc/impl/codegen/sync_posix.h \ - include/grpc/impl/codegen/sync_windows.h \ - include/grpc/impl/codegen/time.h \ -LIBGRPC++_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_SRC)))) +LIBINTEROP_SERVER_HELPER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBINTEROP_SERVER_HELPER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure libraries if you don't have OpenSSL. -$(LIBDIR)/$(CONFIG)/libgrpc++.a: openssl_dep_error +$(LIBDIR)/$(CONFIG)/libinterop_server_helper.a: openssl_dep_error -$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT): openssl_dep_error else @@ -3728,40 +3779,22 @@ ifeq ($(NO_PROTOBUF),true) # You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. -$(LIBDIR)/$(CONFIG)/libgrpc++.a: protobuf_dep_error +$(LIBDIR)/$(CONFIG)/libinterop_server_helper.a: protobuf_dep_error -$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT): protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) +$(LIBDIR)/$(CONFIG)/libinterop_server_helper.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_SERVER_HELPER_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBGRPC++_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a $(LIBINTEROP_SERVER_HELPER_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a endif -ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/grpc.$(SHARED_EXT) $(OPENSSL_DEP) - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc++.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc-imp -else -$(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT) $(OPENSSL_DEP) - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` -ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc -else - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc - $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).so.1 - $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION).so -endif -endif endif @@ -3769,85 +3802,31 @@ endif ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_OBJS:.o=.dep) +-include $(LIBINTEROP_SERVER_HELPER_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + + +# Using nanopb for C files right now +LIBINTEROP_SERVER_LIB_SRC = \ + $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc \ + test/cpp/interop/interop_server.cc \ + +PUBLIC_HEADERS_CXX += \ + +LIBINTEROP_SERVER_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBINTEROP_SERVER_LIB_SRC)))) -LIBGRPC++_REFLECTION_SRC = \ - src/cpp/ext/proto_server_reflection.cc \ - src/cpp/ext/proto_server_reflection_plugin.cc \ - src/cpp/ext/reflection.grpc.pb.cc \ - src/cpp/ext/reflection.pb.cc \ - -PUBLIC_HEADERS_CXX += \ - include/grpc++/ext/proto_server_reflection_plugin.h \ - include/grpc++/ext/reflection.grpc.pb.h \ - include/grpc++/ext/reflection.pb.h \ - include/grpc++/impl/codegen/proto_utils.h \ - include/grpc++/impl/codegen/async_stream.h \ - include/grpc++/impl/codegen/async_unary_call.h \ - include/grpc++/impl/codegen/call.h \ - include/grpc++/impl/codegen/call_hook.h \ - include/grpc++/impl/codegen/channel_interface.h \ - include/grpc++/impl/codegen/client_context.h \ - include/grpc++/impl/codegen/client_unary_call.h \ - include/grpc++/impl/codegen/completion_queue.h \ - include/grpc++/impl/codegen/completion_queue_tag.h \ - include/grpc++/impl/codegen/config.h \ - include/grpc++/impl/codegen/core_codegen_interface.h \ - include/grpc++/impl/codegen/create_auth_context.h \ - include/grpc++/impl/codegen/grpc_library.h \ - include/grpc++/impl/codegen/method_handler_impl.h \ - include/grpc++/impl/codegen/rpc_method.h \ - include/grpc++/impl/codegen/rpc_service_method.h \ - include/grpc++/impl/codegen/security/auth_context.h \ - include/grpc++/impl/codegen/serialization_traits.h \ - include/grpc++/impl/codegen/server_context.h \ - include/grpc++/impl/codegen/server_interface.h \ - include/grpc++/impl/codegen/service_type.h \ - include/grpc++/impl/codegen/status.h \ - include/grpc++/impl/codegen/status_code_enum.h \ - include/grpc++/impl/codegen/string_ref.h \ - include/grpc++/impl/codegen/stub_options.h \ - include/grpc++/impl/codegen/sync.h \ - include/grpc++/impl/codegen/sync_cxx11.h \ - include/grpc++/impl/codegen/sync_no_cxx11.h \ - include/grpc++/impl/codegen/sync_stream.h \ - include/grpc++/impl/codegen/time.h \ - include/grpc/impl/codegen/byte_buffer.h \ - include/grpc/impl/codegen/byte_buffer_reader.h \ - include/grpc/impl/codegen/compression_types.h \ - include/grpc/impl/codegen/connectivity_state.h \ - include/grpc/impl/codegen/grpc_types.h \ - include/grpc/impl/codegen/propagation_bits.h \ - include/grpc/impl/codegen/status.h \ - include/grpc/impl/codegen/alloc.h \ - include/grpc/impl/codegen/atm.h \ - include/grpc/impl/codegen/atm_gcc_atomic.h \ - include/grpc/impl/codegen/atm_gcc_sync.h \ - include/grpc/impl/codegen/atm_windows.h \ - include/grpc/impl/codegen/log.h \ - include/grpc/impl/codegen/port_platform.h \ - include/grpc/impl/codegen/slice.h \ - include/grpc/impl/codegen/slice_buffer.h \ - include/grpc/impl/codegen/sync.h \ - include/grpc/impl/codegen/sync_generic.h \ - include/grpc/impl/codegen/sync_posix.h \ - include/grpc/impl/codegen/sync_windows.h \ - include/grpc/impl/codegen/time.h \ - include/grpc++/impl/codegen/config_protobuf.h \ - -LIBGRPC++_REFLECTION_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_REFLECTION_SRC)))) - ifeq ($(NO_SECURE),true) # You can't build secure libraries if you don't have OpenSSL. -$(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a: openssl_dep_error +$(LIBDIR)/$(CONFIG)/libinterop_server_lib.a: openssl_dep_error -$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT): openssl_dep_error else @@ -3855,40 +3834,22 @@ ifeq ($(NO_PROTOBUF),true) # You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. -$(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a: protobuf_dep_error +$(LIBDIR)/$(CONFIG)/libinterop_server_lib.a: protobuf_dep_error -$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT): protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_REFLECTION_OBJS) +$(LIBDIR)/$(CONFIG)/libinterop_server_lib.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_SERVER_LIB_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBGRPC++_REFLECTION_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a $(LIBINTEROP_SERVER_LIB_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a endif -ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/grpc++.$(SHARED_EXT) $(OPENSSL_DEP) - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc++_reflection.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_reflection$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_REFLECTION_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc++-imp -else -$(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_REFLECTION_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgrpc++.$(SHARED_EXT) $(OPENSSL_DEP) - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` -ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_REFLECTION_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc++ -else - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_reflection.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_REFLECTION_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgrpc++ - $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION).so.1 - $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION).so -endif -endif endif @@ -3896,24 +3857,28 @@ endif ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_REFLECTION_OBJS:.o=.dep) +-include $(LIBINTEROP_SERVER_LIB_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/interop/interop_server.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc -LIBGRPC++_REFLECTION_CODEGEN_SRC = \ - $(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.pb.cc $(GENDIR)/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc \ + +# Using nanopb for C files right now +LIBINTEROP_SERVER_MAIN_SRC = \ + test/cpp/interop/interop_server_bootstrap.cc \ PUBLIC_HEADERS_CXX += \ -LIBGRPC++_REFLECTION_CODEGEN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_REFLECTION_CODEGEN_SRC)))) +LIBINTEROP_SERVER_MAIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBINTEROP_SERVER_MAIN_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure libraries if you don't have OpenSSL. -$(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a: openssl_dep_error +$(LIBDIR)/$(CONFIG)/libinterop_server_main.a: openssl_dep_error else @@ -3922,18 +3887,18 @@ ifeq ($(NO_PROTOBUF),true) # You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. -$(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a: protobuf_dep_error +$(LIBDIR)/$(CONFIG)/libinterop_server_main.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_REFLECTION_CODEGEN_OBJS) +$(LIBDIR)/$(CONFIG)/libinterop_server_main.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_SERVER_MAIN_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a $(LIBGRPC++_REFLECTION_CODEGEN_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_server_main.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libinterop_server_main.a $(LIBINTEROP_SERVER_MAIN_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_reflection_codegen.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libinterop_server_main.a endif @@ -3945,24 +3910,42 @@ endif ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_REFLECTION_CODEGEN_OBJS:.o=.dep) +-include $(LIBINTEROP_SERVER_MAIN_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -LIBGRPC++_TEST_CONFIG_SRC = \ - test/cpp/util/test_config.cc \ + +# Using nanopb for C files right now +LIBQPS_SRC = \ + $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc \ + test/cpp/qps/client_async.cc \ + test/cpp/qps/client_sync.cc \ + test/cpp/qps/driver.cc \ + test/cpp/qps/limit_cores.cc \ + test/cpp/qps/parse_json.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/usage_timer.cc \ + test/cpp/util/benchmark_config.cc \ PUBLIC_HEADERS_CXX += \ -LIBGRPC++_TEST_CONFIG_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_TEST_CONFIG_SRC)))) +LIBQPS_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBQPS_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure libraries if you don't have OpenSSL. -$(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a: openssl_dep_error +$(LIBDIR)/$(CONFIG)/libqps.a: openssl_dep_error else @@ -3971,77 +3954,406 @@ ifeq ($(NO_PROTOBUF),true) # You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. -$(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a: protobuf_dep_error +$(LIBDIR)/$(CONFIG)/libqps.a: protobuf_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_TEST_CONFIG_OBJS) +$(LIBDIR)/$(CONFIG)/libqps.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBQPS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBGRPC++_TEST_CONFIG_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libqps.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBQPS_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libqps.a +endif + + + + +endif + +endif + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(LIBQPS_OBJS:.o=.dep) +endif +endif + +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/qps/client_async.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/qps/client_sync.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/qps/driver.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/qps/limit_cores.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/qps/parse_json.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_worker.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/qps/report.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/qps/server_async.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/qps/server_sync.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/qps/usage_timer.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/util/benchmark_config.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc + + +# Using nanopb for C files right now +LIBGPR_SRC = \ + src/core/lib/profiling/basic_timers.c \ + src/core/lib/profiling/stap_timers.c \ + src/core/lib/support/alloc.c \ + src/core/lib/support/avl.c \ + src/core/lib/support/backoff.c \ + src/core/lib/support/cmdline.c \ + src/core/lib/support/cpu_iphone.c \ + src/core/lib/support/cpu_linux.c \ + src/core/lib/support/cpu_posix.c \ + src/core/lib/support/cpu_windows.c \ + src/core/lib/support/env_linux.c \ + src/core/lib/support/env_posix.c \ + src/core/lib/support/env_windows.c \ + src/core/lib/support/histogram.c \ + src/core/lib/support/host_port.c \ + src/core/lib/support/log.c \ + src/core/lib/support/log_android.c \ + src/core/lib/support/log_linux.c \ + src/core/lib/support/log_posix.c \ + src/core/lib/support/log_windows.c \ + src/core/lib/support/murmur_hash.c \ + src/core/lib/support/slice.c \ + src/core/lib/support/slice_buffer.c \ + src/core/lib/support/stack_lockfree.c \ + src/core/lib/support/string.c \ + src/core/lib/support/string_posix.c \ + src/core/lib/support/string_util_windows.c \ + src/core/lib/support/string_windows.c \ + src/core/lib/support/subprocess_posix.c \ + src/core/lib/support/subprocess_windows.c \ + src/core/lib/support/sync.c \ + src/core/lib/support/sync_posix.c \ + src/core/lib/support/sync_windows.c \ + src/core/lib/support/thd.c \ + src/core/lib/support/thd_posix.c \ + src/core/lib/support/thd_windows.c \ + src/core/lib/support/time.c \ + src/core/lib/support/time_posix.c \ + src/core/lib/support/time_precise.c \ + src/core/lib/support/time_windows.c \ + src/core/lib/support/tls_pthread.c \ + src/core/lib/support/tmpfile_msys.c \ + src/core/lib/support/tmpfile_posix.c \ + src/core/lib/support/tmpfile_windows.c \ + src/core/lib/support/wrap_memcpy.c \ + +PUBLIC_HEADERS_CORE += \ + 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_windows.h \ + include/grpc/support/avl.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_windows.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_windows.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 \ + include/grpc/impl/codegen/alloc.h \ + include/grpc/impl/codegen/atm.h \ + include/grpc/impl/codegen/atm_gcc_atomic.h \ + include/grpc/impl/codegen/atm_gcc_sync.h \ + include/grpc/impl/codegen/atm_windows.h \ + include/grpc/impl/codegen/log.h \ + include/grpc/impl/codegen/port_platform.h \ + include/grpc/impl/codegen/slice.h \ + include/grpc/impl/codegen/slice_buffer.h \ + include/grpc/impl/codegen/sync.h \ + include/grpc/impl/codegen/sync_generic.h \ + include/grpc/impl/codegen/sync_posix.h \ + include/grpc/impl/codegen/sync_windows.h \ + include/grpc/impl/codegen/time.h \ + +LIBGPR_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_SRC)))) + + +$(LIBDIR)/$(CONFIG)/libgpr.a: $(ZLIB_DEP) $(LIBGPR_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgpr.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBGPR_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgpr.a +endif + + + +ifeq ($(SYSTEM),MINGW32) +$(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION).$(SHARED_EXT): $(LIBGPR_OBJS) $(ZLIB_DEP) + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared gpr.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/gpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBGPR_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) +else +$(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION).$(SHARED_EXT): $(LIBGPR_OBJS) $(ZLIB_DEP) + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` +ifeq ($(SYSTEM),Darwin) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBGPR_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) +else + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgpr.so.1 -o $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBGPR_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) + $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION).so.1 + $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION).so +endif +endif + +ifneq ($(NO_DEPS),true) +-include $(LIBGPR_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + + +# Using nanopb for C files right now +LIBGPR_TEST_UTIL_SRC = \ + test/core/util/test_config.c \ + +PUBLIC_HEADERS_CORE += \ + +LIBGPR_TEST_UTIL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_TEST_UTIL_SRC)))) + +$(LIBDIR)/$(CONFIG)/libgpr_test_util.a: $(ZLIB_DEP) $(LIBGPR_TEST_UTIL_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgpr_test_util.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBGPR_TEST_UTIL_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgpr_test_util.a +endif -endif -endif -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_TEST_CONFIG_OBJS:.o=.dep) -endif +-include $(LIBGPR_TEST_UTIL_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them -LIBGRPC++_TEST_UTIL_SRC = \ - $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc \ - test/cpp/end2end/test_service_impl.cc \ - test/cpp/util/byte_buffer_proto_helper.cc \ - test/cpp/util/create_test_channel.cc \ - test/cpp/util/string_ref_helper.cc \ - test/cpp/util/subprocess.cc \ - test/cpp/util/test_credentials_provider.cc \ - src/cpp/codegen/codegen_init.cc \ -PUBLIC_HEADERS_CXX += \ - include/grpc++/impl/codegen/async_stream.h \ - include/grpc++/impl/codegen/async_unary_call.h \ - include/grpc++/impl/codegen/call.h \ - include/grpc++/impl/codegen/call_hook.h \ - include/grpc++/impl/codegen/channel_interface.h \ - include/grpc++/impl/codegen/client_context.h \ - include/grpc++/impl/codegen/client_unary_call.h \ - include/grpc++/impl/codegen/completion_queue.h \ - include/grpc++/impl/codegen/completion_queue_tag.h \ - include/grpc++/impl/codegen/config.h \ - include/grpc++/impl/codegen/core_codegen_interface.h \ - include/grpc++/impl/codegen/create_auth_context.h \ - include/grpc++/impl/codegen/grpc_library.h \ - include/grpc++/impl/codegen/method_handler_impl.h \ - include/grpc++/impl/codegen/rpc_method.h \ - include/grpc++/impl/codegen/rpc_service_method.h \ - include/grpc++/impl/codegen/security/auth_context.h \ - include/grpc++/impl/codegen/serialization_traits.h \ - include/grpc++/impl/codegen/server_context.h \ - include/grpc++/impl/codegen/server_interface.h \ - include/grpc++/impl/codegen/service_type.h \ - include/grpc++/impl/codegen/status.h \ - include/grpc++/impl/codegen/status_code_enum.h \ - include/grpc++/impl/codegen/string_ref.h \ - include/grpc++/impl/codegen/stub_options.h \ - include/grpc++/impl/codegen/sync.h \ - include/grpc++/impl/codegen/sync_cxx11.h \ - include/grpc++/impl/codegen/sync_no_cxx11.h \ - include/grpc++/impl/codegen/sync_stream.h \ - include/grpc++/impl/codegen/time.h \ +# Using nanopb for C files right now +LIBGRPC_SRC = \ + src/core/lib/surface/init.c \ + src/core/lib/channel/channel_args.c \ + src/core/lib/channel/channel_stack.c \ + src/core/lib/channel/channel_stack_builder.c \ + src/core/lib/channel/compress_filter.c \ + src/core/lib/channel/connected_channel.c \ + src/core/lib/channel/handshaker.c \ + src/core/lib/channel/http_client_filter.c \ + src/core/lib/channel/http_server_filter.c \ + src/core/lib/compression/compression.c \ + src/core/lib/compression/message_compress.c \ + src/core/lib/debug/trace.c \ + src/core/lib/http/format_request.c \ + src/core/lib/http/httpcli.c \ + src/core/lib/http/parser.c \ + src/core/lib/iomgr/closure.c \ + src/core/lib/iomgr/endpoint.c \ + src/core/lib/iomgr/endpoint_pair_posix.c \ + src/core/lib/iomgr/endpoint_pair_windows.c \ + src/core/lib/iomgr/error.c \ + src/core/lib/iomgr/ev_epoll_linux.c \ + src/core/lib/iomgr/ev_poll_and_epoll_posix.c \ + src/core/lib/iomgr/ev_poll_posix.c \ + src/core/lib/iomgr/ev_posix.c \ + src/core/lib/iomgr/exec_ctx.c \ + src/core/lib/iomgr/executor.c \ + src/core/lib/iomgr/iocp_windows.c \ + src/core/lib/iomgr/iomgr.c \ + src/core/lib/iomgr/iomgr_posix.c \ + src/core/lib/iomgr/iomgr_windows.c \ + src/core/lib/iomgr/load_file.c \ + src/core/lib/iomgr/network_status_tracker.c \ + src/core/lib/iomgr/polling_entity.c \ + src/core/lib/iomgr/pollset_set_windows.c \ + src/core/lib/iomgr/pollset_windows.c \ + src/core/lib/iomgr/resolve_address_posix.c \ + src/core/lib/iomgr/resolve_address_windows.c \ + src/core/lib/iomgr/sockaddr_utils.c \ + src/core/lib/iomgr/socket_utils_common_posix.c \ + src/core/lib/iomgr/socket_utils_linux.c \ + src/core/lib/iomgr/socket_utils_posix.c \ + src/core/lib/iomgr/socket_windows.c \ + src/core/lib/iomgr/tcp_client_posix.c \ + src/core/lib/iomgr/tcp_client_windows.c \ + src/core/lib/iomgr/tcp_posix.c \ + src/core/lib/iomgr/tcp_server_posix.c \ + src/core/lib/iomgr/tcp_server_windows.c \ + src/core/lib/iomgr/tcp_windows.c \ + src/core/lib/iomgr/time_averaged_stats.c \ + src/core/lib/iomgr/timer.c \ + src/core/lib/iomgr/timer_heap.c \ + src/core/lib/iomgr/udp_server.c \ + src/core/lib/iomgr/unix_sockets_posix.c \ + src/core/lib/iomgr/unix_sockets_posix_noop.c \ + src/core/lib/iomgr/wakeup_fd_eventfd.c \ + src/core/lib/iomgr/wakeup_fd_nospecial.c \ + src/core/lib/iomgr/wakeup_fd_pipe.c \ + src/core/lib/iomgr/wakeup_fd_posix.c \ + src/core/lib/iomgr/workqueue_posix.c \ + src/core/lib/iomgr/workqueue_windows.c \ + src/core/lib/json/json.c \ + src/core/lib/json/json_reader.c \ + src/core/lib/json/json_string.c \ + src/core/lib/json/json_writer.c \ + src/core/lib/surface/alarm.c \ + src/core/lib/surface/api_trace.c \ + src/core/lib/surface/byte_buffer.c \ + src/core/lib/surface/byte_buffer_reader.c \ + src/core/lib/surface/call.c \ + src/core/lib/surface/call_details.c \ + src/core/lib/surface/call_log_batch.c \ + src/core/lib/surface/channel.c \ + src/core/lib/surface/channel_init.c \ + src/core/lib/surface/channel_ping.c \ + src/core/lib/surface/channel_stack_type.c \ + src/core/lib/surface/completion_queue.c \ + src/core/lib/surface/event_string.c \ + src/core/lib/surface/lame_client.c \ + src/core/lib/surface/metadata_array.c \ + src/core/lib/surface/server.c \ + src/core/lib/surface/validate_metadata.c \ + src/core/lib/surface/version.c \ + src/core/lib/transport/byte_stream.c \ + src/core/lib/transport/connectivity_state.c \ + src/core/lib/transport/metadata.c \ + src/core/lib/transport/metadata_batch.c \ + src/core/lib/transport/static_metadata.c \ + src/core/lib/transport/timeout_encoding.c \ + src/core/lib/transport/transport.c \ + src/core/lib/transport/transport_op_string.c \ + src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c \ + src/core/ext/transport/chttp2/transport/bin_decoder.c \ + src/core/ext/transport/chttp2/transport/bin_encoder.c \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ + src/core/ext/transport/chttp2/transport/chttp2_transport.c \ + src/core/ext/transport/chttp2/transport/frame_data.c \ + src/core/ext/transport/chttp2/transport/frame_goaway.c \ + src/core/ext/transport/chttp2/transport/frame_ping.c \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ + src/core/ext/transport/chttp2/transport/frame_settings.c \ + src/core/ext/transport/chttp2/transport/frame_window_update.c \ + src/core/ext/transport/chttp2/transport/hpack_encoder.c \ + src/core/ext/transport/chttp2/transport/hpack_parser.c \ + src/core/ext/transport/chttp2/transport/hpack_table.c \ + src/core/ext/transport/chttp2/transport/huffsyms.c \ + src/core/ext/transport/chttp2/transport/incoming_metadata.c \ + src/core/ext/transport/chttp2/transport/parsing.c \ + src/core/ext/transport/chttp2/transport/status_conversion.c \ + src/core/ext/transport/chttp2/transport/stream_lists.c \ + src/core/ext/transport/chttp2/transport/stream_map.c \ + src/core/ext/transport/chttp2/transport/varint.c \ + src/core/ext/transport/chttp2/transport/writing.c \ + src/core/ext/transport/chttp2/alpn/alpn.c \ + src/core/lib/http/httpcli_security_connector.c \ + src/core/lib/security/context/security_context.c \ + src/core/lib/security/credentials/composite/composite_credentials.c \ + src/core/lib/security/credentials/credentials.c \ + src/core/lib/security/credentials/credentials_metadata.c \ + src/core/lib/security/credentials/fake/fake_credentials.c \ + src/core/lib/security/credentials/google_default/credentials_posix.c \ + src/core/lib/security/credentials/google_default/credentials_windows.c \ + src/core/lib/security/credentials/google_default/google_default_credentials.c \ + src/core/lib/security/credentials/iam/iam_credentials.c \ + src/core/lib/security/credentials/jwt/json_token.c \ + src/core/lib/security/credentials/jwt/jwt_credentials.c \ + src/core/lib/security/credentials/jwt/jwt_verifier.c \ + src/core/lib/security/credentials/oauth2/oauth2_credentials.c \ + src/core/lib/security/credentials/plugin/plugin_credentials.c \ + src/core/lib/security/credentials/ssl/ssl_credentials.c \ + src/core/lib/security/transport/client_auth_filter.c \ + src/core/lib/security/transport/handshake.c \ + src/core/lib/security/transport/secure_endpoint.c \ + src/core/lib/security/transport/security_connector.c \ + src/core/lib/security/transport/server_auth_filter.c \ + src/core/lib/security/transport/tsi_error.c \ + src/core/lib/security/util/b64.c \ + src/core/lib/security/util/json_util.c \ + src/core/lib/surface/init_secure.c \ + src/core/lib/tsi/fake_transport_security.c \ + src/core/lib/tsi/ssl_transport_security.c \ + src/core/lib/tsi/transport_security.c \ + src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ + src/core/ext/client_config/channel_connectivity.c \ + src/core/ext/client_config/client_channel.c \ + src/core/ext/client_config/client_channel_factory.c \ + src/core/ext/client_config/client_config.c \ + src/core/ext/client_config/client_config_plugin.c \ + src/core/ext/client_config/connector.c \ + src/core/ext/client_config/default_initial_connect_string.c \ + src/core/ext/client_config/initial_connect_string.c \ + src/core/ext/client_config/lb_policy.c \ + src/core/ext/client_config/lb_policy_factory.c \ + src/core/ext/client_config/lb_policy_registry.c \ + src/core/ext/client_config/parse_address.c \ + src/core/ext/client_config/resolver.c \ + src/core/ext/client_config/resolver_factory.c \ + src/core/ext/client_config/resolver_registry.c \ + src/core/ext/client_config/subchannel.c \ + src/core/ext/client_config/subchannel_call_holder.c \ + src/core/ext/client_config/subchannel_index.c \ + src/core/ext/client_config/uri_parser.c \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c \ + src/core/ext/transport/chttp2/client/insecure/channel_create.c \ + src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c \ + src/core/ext/lb_policy/grpclb/grpclb.c \ + src/core/ext/lb_policy/grpclb/load_balancer_api.c \ + src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \ + third_party/nanopb/pb_common.c \ + third_party/nanopb/pb_decode.c \ + third_party/nanopb/pb_encode.c \ + src/core/ext/lb_policy/pick_first/pick_first.c \ + src/core/ext/lb_policy/round_robin/round_robin.c \ + src/core/ext/resolver/dns/native/dns_resolver.c \ + src/core/ext/resolver/sockaddr/sockaddr_resolver.c \ + src/core/ext/load_reporting/load_reporting.c \ + src/core/ext/load_reporting/load_reporting_filter.c \ + src/core/ext/census/base_resources.c \ + src/core/ext/census/context.c \ + src/core/ext/census/gen/census.pb.c \ + src/core/ext/census/grpc_context.c \ + src/core/ext/census/grpc_filter.c \ + src/core/ext/census/grpc_plugin.c \ + src/core/ext/census/initialize.c \ + src/core/ext/census/mlog.c \ + src/core/ext/census/operation.c \ + src/core/ext/census/placeholders.c \ + src/core/ext/census/resource.c \ + src/core/ext/census/tracing.c \ + src/core/plugin_registry/grpc_plugin_registry.c \ + +PUBLIC_HEADERS_CORE += \ + include/grpc/byte_buffer.h \ + include/grpc/byte_buffer_reader.h \ + include/grpc/compression.h \ + include/grpc/grpc.h \ + include/grpc/grpc_posix.h \ + include/grpc/status.h \ include/grpc/impl/codegen/byte_buffer.h \ include/grpc/impl/codegen/byte_buffer_reader.h \ include/grpc/impl/codegen/compression_types.h \ @@ -4063,171 +4375,238 @@ PUBLIC_HEADERS_CXX += \ include/grpc/impl/codegen/sync_posix.h \ include/grpc/impl/codegen/sync_windows.h \ include/grpc/impl/codegen/time.h \ - include/grpc++/impl/codegen/proto_utils.h \ - include/grpc++/impl/codegen/config_protobuf.h \ - include/grpc++/impl/codegen/thrift_serializer.h \ - include/grpc++/impl/codegen/thrift_utils.h \ + include/grpc/grpc_security.h \ + include/grpc/grpc_security_constants.h \ + include/grpc/census.h \ -LIBGRPC++_TEST_UTIL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_TEST_UTIL_SRC)))) +LIBGRPC_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure libraries if you don't have OpenSSL. -$(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a: openssl_dep_error +$(LIBDIR)/$(CONFIG)/libgrpc.a: openssl_dep_error +$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION).$(SHARED_EXT): openssl_dep_error else -ifeq ($(NO_PROTOBUF),true) - -# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. - -$(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a: protobuf_dep_error - - -else -$(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBGRPC++_TEST_UTIL_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBGRPC_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc.a endif - +ifeq ($(SYSTEM),MINGW32) +$(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) +else +$(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` +ifeq ($(SYSTEM),Darwin) + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) +else + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) + $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION).so.1 + $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION).so +endif endif endif ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_TEST_UTIL_OBJS:.o=.dep) +-include $(LIBGRPC_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/test_service_impl.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/byte_buffer_proto_helper.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/create_test_channel.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/string_ref_helper.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/subprocess.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/test_credentials_provider.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc +# Force compilation of proto files before building code that could potentially depend on them -LIBGRPC++_UNSECURE_SRC = \ - src/cpp/common/insecure_create_auth_context.cc \ - src/cpp/client/channel.cc \ - src/cpp/client/client_context.cc \ - src/cpp/client/create_channel.cc \ - src/cpp/client/create_channel_internal.cc \ - src/cpp/client/create_channel_posix.cc \ - src/cpp/client/credentials.cc \ - src/cpp/client/generic_stub.cc \ - src/cpp/client/insecure_credentials.cc \ - src/cpp/common/channel_arguments.cc \ - src/cpp/common/channel_filter.cc \ - src/cpp/common/completion_queue.cc \ - src/cpp/common/core_codegen.cc \ - src/cpp/common/rpc_method.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/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/server/server_posix.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 \ - src/cpp/codegen/codegen_init.cc \ -PUBLIC_HEADERS_CXX += \ - include/grpc++/alarm.h \ - include/grpc++/channel.h \ - include/grpc++/client_context.h \ - include/grpc++/completion_queue.h \ - include/grpc++/create_channel.h \ - include/grpc++/create_channel_posix.h \ - include/grpc++/generic/async_generic_service.h \ - include/grpc++/generic/generic_stub.h \ - include/grpc++/grpc++.h \ - include/grpc++/impl/call.h \ - include/grpc++/impl/client_unary_call.h \ - include/grpc++/impl/codegen/core_codegen.h \ - include/grpc++/impl/grpc_library.h \ - include/grpc++/impl/method_handler_impl.h \ - include/grpc++/impl/rpc_method.h \ - include/grpc++/impl/rpc_service_method.h \ - include/grpc++/impl/serialization_traits.h \ - include/grpc++/impl/server_builder_option.h \ - include/grpc++/impl/server_builder_plugin.h \ - include/grpc++/impl/server_initializer.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++/security/auth_context.h \ - include/grpc++/security/auth_metadata_processor.h \ - include/grpc++/security/credentials.h \ - include/grpc++/security/server_credentials.h \ - include/grpc++/server.h \ - include/grpc++/server_builder.h \ - include/grpc++/server_context.h \ - include/grpc++/server_posix.h \ - include/grpc++/support/async_stream.h \ - include/grpc++/support/async_unary_call.h \ - include/grpc++/support/byte_buffer.h \ - include/grpc++/support/channel_arguments.h \ - include/grpc++/support/config.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 \ - include/grpc++/impl/codegen/async_stream.h \ - include/grpc++/impl/codegen/async_unary_call.h \ - include/grpc++/impl/codegen/call.h \ - include/grpc++/impl/codegen/call_hook.h \ - include/grpc++/impl/codegen/channel_interface.h \ - include/grpc++/impl/codegen/client_context.h \ - include/grpc++/impl/codegen/client_unary_call.h \ - include/grpc++/impl/codegen/completion_queue.h \ - include/grpc++/impl/codegen/completion_queue_tag.h \ - include/grpc++/impl/codegen/config.h \ - include/grpc++/impl/codegen/core_codegen_interface.h \ - include/grpc++/impl/codegen/create_auth_context.h \ - include/grpc++/impl/codegen/grpc_library.h \ - include/grpc++/impl/codegen/method_handler_impl.h \ - include/grpc++/impl/codegen/rpc_method.h \ - include/grpc++/impl/codegen/rpc_service_method.h \ - include/grpc++/impl/codegen/security/auth_context.h \ - include/grpc++/impl/codegen/serialization_traits.h \ - include/grpc++/impl/codegen/server_context.h \ - include/grpc++/impl/codegen/server_interface.h \ - include/grpc++/impl/codegen/service_type.h \ - include/grpc++/impl/codegen/status.h \ - include/grpc++/impl/codegen/status_code_enum.h \ - include/grpc++/impl/codegen/string_ref.h \ - include/grpc++/impl/codegen/stub_options.h \ - include/grpc++/impl/codegen/sync.h \ - include/grpc++/impl/codegen/sync_cxx11.h \ - include/grpc++/impl/codegen/sync_no_cxx11.h \ - include/grpc++/impl/codegen/sync_stream.h \ - include/grpc++/impl/codegen/time.h \ +# Using nanopb for C files right now +LIBGRPC_CRONET_SRC = \ + src/core/lib/surface/init.c \ + src/core/lib/channel/channel_args.c \ + src/core/lib/channel/channel_stack.c \ + src/core/lib/channel/channel_stack_builder.c \ + src/core/lib/channel/compress_filter.c \ + src/core/lib/channel/connected_channel.c \ + src/core/lib/channel/handshaker.c \ + src/core/lib/channel/http_client_filter.c \ + src/core/lib/channel/http_server_filter.c \ + src/core/lib/compression/compression.c \ + src/core/lib/compression/message_compress.c \ + src/core/lib/debug/trace.c \ + src/core/lib/http/format_request.c \ + src/core/lib/http/httpcli.c \ + src/core/lib/http/parser.c \ + src/core/lib/iomgr/closure.c \ + src/core/lib/iomgr/endpoint.c \ + src/core/lib/iomgr/endpoint_pair_posix.c \ + src/core/lib/iomgr/endpoint_pair_windows.c \ + src/core/lib/iomgr/error.c \ + src/core/lib/iomgr/ev_epoll_linux.c \ + src/core/lib/iomgr/ev_poll_and_epoll_posix.c \ + src/core/lib/iomgr/ev_poll_posix.c \ + src/core/lib/iomgr/ev_posix.c \ + src/core/lib/iomgr/exec_ctx.c \ + src/core/lib/iomgr/executor.c \ + src/core/lib/iomgr/iocp_windows.c \ + src/core/lib/iomgr/iomgr.c \ + src/core/lib/iomgr/iomgr_posix.c \ + src/core/lib/iomgr/iomgr_windows.c \ + src/core/lib/iomgr/load_file.c \ + src/core/lib/iomgr/network_status_tracker.c \ + src/core/lib/iomgr/polling_entity.c \ + src/core/lib/iomgr/pollset_set_windows.c \ + src/core/lib/iomgr/pollset_windows.c \ + src/core/lib/iomgr/resolve_address_posix.c \ + src/core/lib/iomgr/resolve_address_windows.c \ + src/core/lib/iomgr/sockaddr_utils.c \ + src/core/lib/iomgr/socket_utils_common_posix.c \ + src/core/lib/iomgr/socket_utils_linux.c \ + src/core/lib/iomgr/socket_utils_posix.c \ + src/core/lib/iomgr/socket_windows.c \ + src/core/lib/iomgr/tcp_client_posix.c \ + src/core/lib/iomgr/tcp_client_windows.c \ + src/core/lib/iomgr/tcp_posix.c \ + src/core/lib/iomgr/tcp_server_posix.c \ + src/core/lib/iomgr/tcp_server_windows.c \ + src/core/lib/iomgr/tcp_windows.c \ + src/core/lib/iomgr/time_averaged_stats.c \ + src/core/lib/iomgr/timer.c \ + src/core/lib/iomgr/timer_heap.c \ + src/core/lib/iomgr/udp_server.c \ + src/core/lib/iomgr/unix_sockets_posix.c \ + src/core/lib/iomgr/unix_sockets_posix_noop.c \ + src/core/lib/iomgr/wakeup_fd_eventfd.c \ + src/core/lib/iomgr/wakeup_fd_nospecial.c \ + src/core/lib/iomgr/wakeup_fd_pipe.c \ + src/core/lib/iomgr/wakeup_fd_posix.c \ + src/core/lib/iomgr/workqueue_posix.c \ + src/core/lib/iomgr/workqueue_windows.c \ + src/core/lib/json/json.c \ + src/core/lib/json/json_reader.c \ + src/core/lib/json/json_string.c \ + src/core/lib/json/json_writer.c \ + src/core/lib/surface/alarm.c \ + src/core/lib/surface/api_trace.c \ + src/core/lib/surface/byte_buffer.c \ + src/core/lib/surface/byte_buffer_reader.c \ + src/core/lib/surface/call.c \ + src/core/lib/surface/call_details.c \ + src/core/lib/surface/call_log_batch.c \ + src/core/lib/surface/channel.c \ + src/core/lib/surface/channel_init.c \ + src/core/lib/surface/channel_ping.c \ + src/core/lib/surface/channel_stack_type.c \ + src/core/lib/surface/completion_queue.c \ + src/core/lib/surface/event_string.c \ + src/core/lib/surface/lame_client.c \ + src/core/lib/surface/metadata_array.c \ + src/core/lib/surface/server.c \ + src/core/lib/surface/validate_metadata.c \ + src/core/lib/surface/version.c \ + src/core/lib/transport/byte_stream.c \ + src/core/lib/transport/connectivity_state.c \ + src/core/lib/transport/metadata.c \ + src/core/lib/transport/metadata_batch.c \ + src/core/lib/transport/static_metadata.c \ + src/core/lib/transport/timeout_encoding.c \ + src/core/lib/transport/transport.c \ + src/core/lib/transport/transport_op_string.c \ + src/core/ext/transport/cronet/client/secure/cronet_channel_create.c \ + src/core/ext/transport/cronet/transport/cronet_api_dummy.c \ + src/core/ext/transport/cronet/transport/cronet_transport.c \ + src/core/ext/transport/chttp2/client/secure/secure_channel_create.c \ + src/core/ext/transport/chttp2/transport/bin_decoder.c \ + src/core/ext/transport/chttp2/transport/bin_encoder.c \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ + src/core/ext/transport/chttp2/transport/chttp2_transport.c \ + src/core/ext/transport/chttp2/transport/frame_data.c \ + src/core/ext/transport/chttp2/transport/frame_goaway.c \ + src/core/ext/transport/chttp2/transport/frame_ping.c \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ + src/core/ext/transport/chttp2/transport/frame_settings.c \ + src/core/ext/transport/chttp2/transport/frame_window_update.c \ + src/core/ext/transport/chttp2/transport/hpack_encoder.c \ + src/core/ext/transport/chttp2/transport/hpack_parser.c \ + src/core/ext/transport/chttp2/transport/hpack_table.c \ + src/core/ext/transport/chttp2/transport/huffsyms.c \ + src/core/ext/transport/chttp2/transport/incoming_metadata.c \ + src/core/ext/transport/chttp2/transport/parsing.c \ + src/core/ext/transport/chttp2/transport/status_conversion.c \ + src/core/ext/transport/chttp2/transport/stream_lists.c \ + src/core/ext/transport/chttp2/transport/stream_map.c \ + src/core/ext/transport/chttp2/transport/varint.c \ + src/core/ext/transport/chttp2/transport/writing.c \ + src/core/ext/transport/chttp2/alpn/alpn.c \ + src/core/ext/client_config/channel_connectivity.c \ + src/core/ext/client_config/client_channel.c \ + src/core/ext/client_config/client_channel_factory.c \ + src/core/ext/client_config/client_config.c \ + src/core/ext/client_config/client_config_plugin.c \ + src/core/ext/client_config/connector.c \ + src/core/ext/client_config/default_initial_connect_string.c \ + src/core/ext/client_config/initial_connect_string.c \ + src/core/ext/client_config/lb_policy.c \ + src/core/ext/client_config/lb_policy_factory.c \ + src/core/ext/client_config/lb_policy_registry.c \ + src/core/ext/client_config/parse_address.c \ + src/core/ext/client_config/resolver.c \ + src/core/ext/client_config/resolver_factory.c \ + src/core/ext/client_config/resolver_registry.c \ + src/core/ext/client_config/subchannel.c \ + src/core/ext/client_config/subchannel_call_holder.c \ + src/core/ext/client_config/subchannel_index.c \ + src/core/ext/client_config/uri_parser.c \ + src/core/lib/http/httpcli_security_connector.c \ + src/core/lib/security/context/security_context.c \ + src/core/lib/security/credentials/composite/composite_credentials.c \ + src/core/lib/security/credentials/credentials.c \ + src/core/lib/security/credentials/credentials_metadata.c \ + src/core/lib/security/credentials/fake/fake_credentials.c \ + src/core/lib/security/credentials/google_default/credentials_posix.c \ + src/core/lib/security/credentials/google_default/credentials_windows.c \ + src/core/lib/security/credentials/google_default/google_default_credentials.c \ + src/core/lib/security/credentials/iam/iam_credentials.c \ + src/core/lib/security/credentials/jwt/json_token.c \ + src/core/lib/security/credentials/jwt/jwt_credentials.c \ + src/core/lib/security/credentials/jwt/jwt_verifier.c \ + src/core/lib/security/credentials/oauth2/oauth2_credentials.c \ + src/core/lib/security/credentials/plugin/plugin_credentials.c \ + src/core/lib/security/credentials/ssl/ssl_credentials.c \ + src/core/lib/security/transport/client_auth_filter.c \ + src/core/lib/security/transport/handshake.c \ + src/core/lib/security/transport/secure_endpoint.c \ + src/core/lib/security/transport/security_connector.c \ + src/core/lib/security/transport/server_auth_filter.c \ + src/core/lib/security/transport/tsi_error.c \ + src/core/lib/security/util/b64.c \ + src/core/lib/security/util/json_util.c \ + src/core/lib/surface/init_secure.c \ + src/core/lib/tsi/fake_transport_security.c \ + src/core/lib/tsi/ssl_transport_security.c \ + src/core/lib/tsi/transport_security.c \ + src/core/plugin_registry/grpc_cronet_plugin_registry.c \ + +PUBLIC_HEADERS_CORE += \ + include/grpc/byte_buffer.h \ + include/grpc/byte_buffer_reader.h \ + include/grpc/compression.h \ + include/grpc/grpc.h \ + include/grpc/grpc_posix.h \ + include/grpc/status.h \ include/grpc/impl/codegen/byte_buffer.h \ include/grpc/impl/codegen/byte_buffer_reader.h \ include/grpc/impl/codegen/compression_types.h \ @@ -4249,139 +4628,222 @@ PUBLIC_HEADERS_CXX += \ include/grpc/impl/codegen/sync_posix.h \ include/grpc/impl/codegen/sync_windows.h \ include/grpc/impl/codegen/time.h \ + include/grpc/grpc_cronet.h \ + include/grpc/grpc_security.h \ + include/grpc/grpc_security_constants.h \ -LIBGRPC++_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_UNSECURE_SRC)))) +LIBGRPC_CRONET_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_CRONET_SRC)))) -ifeq ($(NO_PROTOBUF),true) +ifeq ($(NO_SECURE),true) -# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. +# You can't build secure libraries if you don't have OpenSSL. -$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a: protobuf_dep_error +$(LIBDIR)/$(CONFIG)/libgrpc_cronet.a: openssl_dep_error -$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT): protobuf_dep_error +$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION).$(SHARED_EXT): openssl_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a: $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBGRPC++_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) + +$(LIBDIR)/$(CONFIG)/libgrpc_cronet.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_CRONET_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(LIBGRPC++_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a $(LIBGRPC_CRONET_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(OPENSSL_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a endif ifeq ($(SYSTEM),MINGW32) -$(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/gpr.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/grpc_unsecure.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/grpc.$(SHARED_EXT) +$(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_CRONET_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc++_unsecure.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_UNSECURE_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgpr-imp -lgrpc_unsecure-imp -lgrpc-imp + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc_cronet.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_cronet$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_CRONET_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) else -$(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC++_UNSECURE_OBJS) $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBDIR)/$(CONFIG)/libgpr.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc.$(SHARED_EXT) +$(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_CRONET_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_UNSECURE_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgpr -lgrpc_unsecure -lgrpc -else - $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc++_unsecure.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC++_UNSECURE_OBJS) $(LDLIBS) $(ZLIB_MERGE_LIBS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) -lgpr -lgrpc_unsecure -lgrpc - $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).so.1 - $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION).so -endif -endif - -endif - -ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_UNSECURE_OBJS:.o=.dep) -endif - - -LIBGRPC_CLI_LIBS_SRC = \ - test/cpp/util/cli_call.cc \ - test/cpp/util/cli_credentials.cc \ - test/cpp/util/grpc_tool.cc \ - test/cpp/util/proto_file_parser.cc \ - test/cpp/util/proto_reflection_descriptor_database.cc \ - -PUBLIC_HEADERS_CXX += \ - -LIBGRPC_CLI_LIBS_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_CLI_LIBS_SRC)))) - - -ifeq ($(NO_SECURE),true) - -# You can't build secure libraries if you don't have OpenSSL. - -$(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a: openssl_dep_error - - -else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. - -$(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a: protobuf_dep_error - - + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_CRONET_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) else - -$(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBGRPC_CLI_LIBS_OBJS) - $(E) "[AR] Creating $@" - $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBGRPC_CLI_LIBS_OBJS) -ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_cronet.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_CRONET_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) + $(Q) ln -sf $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION).so.1 + $(Q) ln -sf $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION).so endif - - - - endif endif ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC_CLI_LIBS_OBJS:.o=.dep) +-include $(LIBGRPC_CRONET_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -LIBGRPC_PLUGIN_SUPPORT_SRC = \ - src/compiler/cpp_generator.cc \ - src/compiler/csharp_generator.cc \ - src/compiler/node_generator.cc \ - src/compiler/objective_c_generator.cc \ - src/compiler/python_generator.cc \ - src/compiler/ruby_generator.cc \ -PUBLIC_HEADERS_CXX += \ - include/grpc++/impl/codegen/config_protobuf.h \ +# Using nanopb for C files right now +LIBGRPC_TEST_UTIL_SRC = \ + test/core/end2end/data/client_certs.c \ + test/core/end2end/data/server1_cert.c \ + test/core/end2end/data/server1_key.c \ + test/core/end2end/data/test_root_cert.c \ + test/core/security/oauth2_utils.c \ + test/core/end2end/cq_verifier.c \ + test/core/end2end/fixtures/proxy.c \ + test/core/iomgr/endpoint_tests.c \ + test/core/util/grpc_profiler.c \ + test/core/util/memory_counters.c \ + test/core/util/mock_endpoint.c \ + test/core/util/parse_hexstring.c \ + test/core/util/passthru_endpoint.c \ + test/core/util/port_posix.c \ + test/core/util/port_server_client.c \ + test/core/util/port_windows.c \ + test/core/util/slice_splitter.c \ + src/core/lib/channel/channel_args.c \ + src/core/lib/channel/channel_stack.c \ + src/core/lib/channel/channel_stack_builder.c \ + src/core/lib/channel/compress_filter.c \ + src/core/lib/channel/connected_channel.c \ + src/core/lib/channel/handshaker.c \ + src/core/lib/channel/http_client_filter.c \ + src/core/lib/channel/http_server_filter.c \ + src/core/lib/compression/compression.c \ + src/core/lib/compression/message_compress.c \ + src/core/lib/debug/trace.c \ + src/core/lib/http/format_request.c \ + src/core/lib/http/httpcli.c \ + src/core/lib/http/parser.c \ + src/core/lib/iomgr/closure.c \ + src/core/lib/iomgr/endpoint.c \ + src/core/lib/iomgr/endpoint_pair_posix.c \ + src/core/lib/iomgr/endpoint_pair_windows.c \ + src/core/lib/iomgr/error.c \ + src/core/lib/iomgr/ev_epoll_linux.c \ + src/core/lib/iomgr/ev_poll_and_epoll_posix.c \ + src/core/lib/iomgr/ev_poll_posix.c \ + src/core/lib/iomgr/ev_posix.c \ + src/core/lib/iomgr/exec_ctx.c \ + src/core/lib/iomgr/executor.c \ + src/core/lib/iomgr/iocp_windows.c \ + src/core/lib/iomgr/iomgr.c \ + src/core/lib/iomgr/iomgr_posix.c \ + src/core/lib/iomgr/iomgr_windows.c \ + src/core/lib/iomgr/load_file.c \ + src/core/lib/iomgr/network_status_tracker.c \ + src/core/lib/iomgr/polling_entity.c \ + src/core/lib/iomgr/pollset_set_windows.c \ + src/core/lib/iomgr/pollset_windows.c \ + src/core/lib/iomgr/resolve_address_posix.c \ + src/core/lib/iomgr/resolve_address_windows.c \ + src/core/lib/iomgr/sockaddr_utils.c \ + src/core/lib/iomgr/socket_utils_common_posix.c \ + src/core/lib/iomgr/socket_utils_linux.c \ + src/core/lib/iomgr/socket_utils_posix.c \ + src/core/lib/iomgr/socket_windows.c \ + src/core/lib/iomgr/tcp_client_posix.c \ + src/core/lib/iomgr/tcp_client_windows.c \ + src/core/lib/iomgr/tcp_posix.c \ + src/core/lib/iomgr/tcp_server_posix.c \ + src/core/lib/iomgr/tcp_server_windows.c \ + src/core/lib/iomgr/tcp_windows.c \ + src/core/lib/iomgr/time_averaged_stats.c \ + src/core/lib/iomgr/timer.c \ + src/core/lib/iomgr/timer_heap.c \ + src/core/lib/iomgr/udp_server.c \ + src/core/lib/iomgr/unix_sockets_posix.c \ + src/core/lib/iomgr/unix_sockets_posix_noop.c \ + src/core/lib/iomgr/wakeup_fd_eventfd.c \ + src/core/lib/iomgr/wakeup_fd_nospecial.c \ + src/core/lib/iomgr/wakeup_fd_pipe.c \ + src/core/lib/iomgr/wakeup_fd_posix.c \ + src/core/lib/iomgr/workqueue_posix.c \ + src/core/lib/iomgr/workqueue_windows.c \ + src/core/lib/json/json.c \ + src/core/lib/json/json_reader.c \ + src/core/lib/json/json_string.c \ + src/core/lib/json/json_writer.c \ + src/core/lib/surface/alarm.c \ + src/core/lib/surface/api_trace.c \ + src/core/lib/surface/byte_buffer.c \ + src/core/lib/surface/byte_buffer_reader.c \ + src/core/lib/surface/call.c \ + src/core/lib/surface/call_details.c \ + src/core/lib/surface/call_log_batch.c \ + src/core/lib/surface/channel.c \ + src/core/lib/surface/channel_init.c \ + src/core/lib/surface/channel_ping.c \ + src/core/lib/surface/channel_stack_type.c \ + src/core/lib/surface/completion_queue.c \ + src/core/lib/surface/event_string.c \ + src/core/lib/surface/lame_client.c \ + src/core/lib/surface/metadata_array.c \ + src/core/lib/surface/server.c \ + src/core/lib/surface/validate_metadata.c \ + src/core/lib/surface/version.c \ + src/core/lib/transport/byte_stream.c \ + src/core/lib/transport/connectivity_state.c \ + src/core/lib/transport/metadata.c \ + src/core/lib/transport/metadata_batch.c \ + src/core/lib/transport/static_metadata.c \ + src/core/lib/transport/timeout_encoding.c \ + src/core/lib/transport/transport.c \ + src/core/lib/transport/transport_op_string.c \ + +PUBLIC_HEADERS_CORE += \ + include/grpc/byte_buffer.h \ + include/grpc/byte_buffer_reader.h \ + include/grpc/compression.h \ + include/grpc/grpc.h \ + include/grpc/grpc_posix.h \ + include/grpc/status.h \ + include/grpc/impl/codegen/byte_buffer.h \ + include/grpc/impl/codegen/byte_buffer_reader.h \ + include/grpc/impl/codegen/compression_types.h \ + include/grpc/impl/codegen/connectivity_state.h \ + include/grpc/impl/codegen/grpc_types.h \ + include/grpc/impl/codegen/propagation_bits.h \ + include/grpc/impl/codegen/status.h \ + include/grpc/impl/codegen/alloc.h \ + include/grpc/impl/codegen/atm.h \ + include/grpc/impl/codegen/atm_gcc_atomic.h \ + include/grpc/impl/codegen/atm_gcc_sync.h \ + include/grpc/impl/codegen/atm_windows.h \ + include/grpc/impl/codegen/log.h \ + include/grpc/impl/codegen/port_platform.h \ + include/grpc/impl/codegen/slice.h \ + include/grpc/impl/codegen/slice_buffer.h \ + include/grpc/impl/codegen/sync.h \ + include/grpc/impl/codegen/sync_generic.h \ + include/grpc/impl/codegen/sync_posix.h \ + include/grpc/impl/codegen/sync_windows.h \ + include/grpc/impl/codegen/time.h \ -LIBGRPC_PLUGIN_SUPPORT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_PLUGIN_SUPPORT_SRC)))) +LIBGRPC_TEST_UTIL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_TEST_UTIL_SRC)))) -ifeq ($(NO_PROTOBUF),true) +ifeq ($(NO_SECURE),true) -# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. +# You can't build secure libraries if you don't have OpenSSL. -$(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a: protobuf_dep_error +$(LIBDIR)/$(CONFIG)/libgrpc_test_util.a: openssl_dep_error else -$(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a: $(ZLIB_DEP) $(PROTOBUF_DEP) $(LIBGRPC_PLUGIN_SUPPORT_OBJS) + +$(LIBDIR)/$(CONFIG)/libgrpc_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(LIBGRPC_PLUGIN_SUPPORT_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBGRPC_TEST_UTIL_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a endif @@ -4389,347 +4851,375 @@ endif endif +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC_PLUGIN_SUPPORT_OBJS:.o=.dep) +-include $(LIBGRPC_TEST_UTIL_OBJS:.o=.dep) +endif endif +# Force compilation of proto files before building code that could potentially depend on them -LIBINTEROP_CLIENT_HELPER_SRC = \ - $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ - test/cpp/interop/client_helper.cc \ - -PUBLIC_HEADERS_CXX += \ - -LIBINTEROP_CLIENT_HELPER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBINTEROP_CLIENT_HELPER_SRC)))) - - -ifeq ($(NO_SECURE),true) - -# You can't build secure libraries if you don't have OpenSSL. - -$(LIBDIR)/$(CONFIG)/libinterop_client_helper.a: openssl_dep_error - - -else - -ifeq ($(NO_PROTOBUF),true) -# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. +# Using nanopb for C files right now +LIBGRPC_TEST_UTIL_UNSECURE_SRC = \ + test/core/end2end/cq_verifier.c \ + test/core/end2end/fixtures/proxy.c \ + test/core/iomgr/endpoint_tests.c \ + test/core/util/grpc_profiler.c \ + test/core/util/memory_counters.c \ + test/core/util/mock_endpoint.c \ + test/core/util/parse_hexstring.c \ + test/core/util/passthru_endpoint.c \ + test/core/util/port_posix.c \ + test/core/util/port_server_client.c \ + test/core/util/port_windows.c \ + test/core/util/slice_splitter.c \ -$(LIBDIR)/$(CONFIG)/libinterop_client_helper.a: protobuf_dep_error +PUBLIC_HEADERS_CORE += \ +LIBGRPC_TEST_UTIL_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_TEST_UTIL_UNSECURE_SRC)))) -else -$(LIBDIR)/$(CONFIG)/libinterop_client_helper.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_CLIENT_HELPER_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a: $(ZLIB_DEP) $(LIBGRPC_TEST_UTIL_UNSECURE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a $(LIBINTEROP_CLIENT_HELPER_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBGRPC_TEST_UTIL_UNSECURE_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a endif -endif - -endif - -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBINTEROP_CLIENT_HELPER_OBJS:.o=.dep) -endif +-include $(LIBGRPC_TEST_UTIL_UNSECURE_OBJS:.o=.dep) endif -$(OBJDIR)/$(CONFIG)/test/cpp/interop/client_helper.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc - - -LIBINTEROP_CLIENT_MAIN_SRC = \ - $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc \ - test/cpp/interop/client.cc \ - test/cpp/interop/interop_client.cc \ - -PUBLIC_HEADERS_CXX += \ - -LIBINTEROP_CLIENT_MAIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBINTEROP_CLIENT_MAIN_SRC)))) - - -ifeq ($(NO_SECURE),true) - -# You can't build secure libraries if you don't have OpenSSL. - -$(LIBDIR)/$(CONFIG)/libinterop_client_main.a: openssl_dep_error - -else +# Force compilation of proto files before building code that could potentially depend on them -ifeq ($(NO_PROTOBUF),true) -# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. +# Using nanopb for C files right now +LIBGRPC_UNSECURE_SRC = \ + src/core/lib/surface/init.c \ + src/core/lib/surface/init_unsecure.c \ + src/core/lib/channel/channel_args.c \ + src/core/lib/channel/channel_stack.c \ + src/core/lib/channel/channel_stack_builder.c \ + src/core/lib/channel/compress_filter.c \ + src/core/lib/channel/connected_channel.c \ + src/core/lib/channel/handshaker.c \ + src/core/lib/channel/http_client_filter.c \ + src/core/lib/channel/http_server_filter.c \ + src/core/lib/compression/compression.c \ + src/core/lib/compression/message_compress.c \ + src/core/lib/debug/trace.c \ + src/core/lib/http/format_request.c \ + src/core/lib/http/httpcli.c \ + src/core/lib/http/parser.c \ + src/core/lib/iomgr/closure.c \ + src/core/lib/iomgr/endpoint.c \ + src/core/lib/iomgr/endpoint_pair_posix.c \ + src/core/lib/iomgr/endpoint_pair_windows.c \ + src/core/lib/iomgr/error.c \ + src/core/lib/iomgr/ev_epoll_linux.c \ + src/core/lib/iomgr/ev_poll_and_epoll_posix.c \ + src/core/lib/iomgr/ev_poll_posix.c \ + src/core/lib/iomgr/ev_posix.c \ + src/core/lib/iomgr/exec_ctx.c \ + src/core/lib/iomgr/executor.c \ + src/core/lib/iomgr/iocp_windows.c \ + src/core/lib/iomgr/iomgr.c \ + src/core/lib/iomgr/iomgr_posix.c \ + src/core/lib/iomgr/iomgr_windows.c \ + src/core/lib/iomgr/load_file.c \ + src/core/lib/iomgr/network_status_tracker.c \ + src/core/lib/iomgr/polling_entity.c \ + src/core/lib/iomgr/pollset_set_windows.c \ + src/core/lib/iomgr/pollset_windows.c \ + src/core/lib/iomgr/resolve_address_posix.c \ + src/core/lib/iomgr/resolve_address_windows.c \ + src/core/lib/iomgr/sockaddr_utils.c \ + src/core/lib/iomgr/socket_utils_common_posix.c \ + src/core/lib/iomgr/socket_utils_linux.c \ + src/core/lib/iomgr/socket_utils_posix.c \ + src/core/lib/iomgr/socket_windows.c \ + src/core/lib/iomgr/tcp_client_posix.c \ + src/core/lib/iomgr/tcp_client_windows.c \ + src/core/lib/iomgr/tcp_posix.c \ + src/core/lib/iomgr/tcp_server_posix.c \ + src/core/lib/iomgr/tcp_server_windows.c \ + src/core/lib/iomgr/tcp_windows.c \ + src/core/lib/iomgr/time_averaged_stats.c \ + src/core/lib/iomgr/timer.c \ + src/core/lib/iomgr/timer_heap.c \ + src/core/lib/iomgr/udp_server.c \ + src/core/lib/iomgr/unix_sockets_posix.c \ + src/core/lib/iomgr/unix_sockets_posix_noop.c \ + src/core/lib/iomgr/wakeup_fd_eventfd.c \ + src/core/lib/iomgr/wakeup_fd_nospecial.c \ + src/core/lib/iomgr/wakeup_fd_pipe.c \ + src/core/lib/iomgr/wakeup_fd_posix.c \ + src/core/lib/iomgr/workqueue_posix.c \ + src/core/lib/iomgr/workqueue_windows.c \ + src/core/lib/json/json.c \ + src/core/lib/json/json_reader.c \ + src/core/lib/json/json_string.c \ + src/core/lib/json/json_writer.c \ + src/core/lib/surface/alarm.c \ + src/core/lib/surface/api_trace.c \ + src/core/lib/surface/byte_buffer.c \ + src/core/lib/surface/byte_buffer_reader.c \ + src/core/lib/surface/call.c \ + src/core/lib/surface/call_details.c \ + src/core/lib/surface/call_log_batch.c \ + src/core/lib/surface/channel.c \ + src/core/lib/surface/channel_init.c \ + src/core/lib/surface/channel_ping.c \ + src/core/lib/surface/channel_stack_type.c \ + src/core/lib/surface/completion_queue.c \ + src/core/lib/surface/event_string.c \ + src/core/lib/surface/lame_client.c \ + src/core/lib/surface/metadata_array.c \ + src/core/lib/surface/server.c \ + src/core/lib/surface/validate_metadata.c \ + src/core/lib/surface/version.c \ + src/core/lib/transport/byte_stream.c \ + src/core/lib/transport/connectivity_state.c \ + src/core/lib/transport/metadata.c \ + src/core/lib/transport/metadata_batch.c \ + src/core/lib/transport/static_metadata.c \ + src/core/lib/transport/timeout_encoding.c \ + src/core/lib/transport/transport.c \ + src/core/lib/transport/transport_op_string.c \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2.c \ + src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c \ + src/core/ext/transport/chttp2/transport/bin_decoder.c \ + src/core/ext/transport/chttp2/transport/bin_encoder.c \ + src/core/ext/transport/chttp2/transport/chttp2_plugin.c \ + src/core/ext/transport/chttp2/transport/chttp2_transport.c \ + src/core/ext/transport/chttp2/transport/frame_data.c \ + src/core/ext/transport/chttp2/transport/frame_goaway.c \ + src/core/ext/transport/chttp2/transport/frame_ping.c \ + src/core/ext/transport/chttp2/transport/frame_rst_stream.c \ + src/core/ext/transport/chttp2/transport/frame_settings.c \ + src/core/ext/transport/chttp2/transport/frame_window_update.c \ + src/core/ext/transport/chttp2/transport/hpack_encoder.c \ + src/core/ext/transport/chttp2/transport/hpack_parser.c \ + src/core/ext/transport/chttp2/transport/hpack_table.c \ + src/core/ext/transport/chttp2/transport/huffsyms.c \ + src/core/ext/transport/chttp2/transport/incoming_metadata.c \ + src/core/ext/transport/chttp2/transport/parsing.c \ + src/core/ext/transport/chttp2/transport/status_conversion.c \ + src/core/ext/transport/chttp2/transport/stream_lists.c \ + src/core/ext/transport/chttp2/transport/stream_map.c \ + src/core/ext/transport/chttp2/transport/varint.c \ + src/core/ext/transport/chttp2/transport/writing.c \ + src/core/ext/transport/chttp2/alpn/alpn.c \ + src/core/ext/transport/chttp2/client/insecure/channel_create.c \ + src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c \ + src/core/ext/client_config/channel_connectivity.c \ + src/core/ext/client_config/client_channel.c \ + src/core/ext/client_config/client_channel_factory.c \ + src/core/ext/client_config/client_config.c \ + src/core/ext/client_config/client_config_plugin.c \ + src/core/ext/client_config/connector.c \ + src/core/ext/client_config/default_initial_connect_string.c \ + src/core/ext/client_config/initial_connect_string.c \ + src/core/ext/client_config/lb_policy.c \ + src/core/ext/client_config/lb_policy_factory.c \ + src/core/ext/client_config/lb_policy_registry.c \ + src/core/ext/client_config/parse_address.c \ + src/core/ext/client_config/resolver.c \ + src/core/ext/client_config/resolver_factory.c \ + src/core/ext/client_config/resolver_registry.c \ + src/core/ext/client_config/subchannel.c \ + src/core/ext/client_config/subchannel_call_holder.c \ + src/core/ext/client_config/subchannel_index.c \ + src/core/ext/client_config/uri_parser.c \ + src/core/ext/resolver/dns/native/dns_resolver.c \ + src/core/ext/resolver/sockaddr/sockaddr_resolver.c \ + src/core/ext/load_reporting/load_reporting.c \ + src/core/ext/load_reporting/load_reporting_filter.c \ + src/core/ext/lb_policy/grpclb/grpclb.c \ + src/core/ext/lb_policy/grpclb/load_balancer_api.c \ + src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c \ + third_party/nanopb/pb_common.c \ + third_party/nanopb/pb_decode.c \ + third_party/nanopb/pb_encode.c \ + src/core/ext/lb_policy/pick_first/pick_first.c \ + src/core/ext/lb_policy/round_robin/round_robin.c \ + src/core/ext/census/base_resources.c \ + src/core/ext/census/context.c \ + src/core/ext/census/gen/census.pb.c \ + src/core/ext/census/grpc_context.c \ + src/core/ext/census/grpc_filter.c \ + src/core/ext/census/grpc_plugin.c \ + src/core/ext/census/initialize.c \ + src/core/ext/census/mlog.c \ + src/core/ext/census/operation.c \ + src/core/ext/census/placeholders.c \ + src/core/ext/census/resource.c \ + src/core/ext/census/tracing.c \ + src/core/plugin_registry/grpc_unsecure_plugin_registry.c \ -$(LIBDIR)/$(CONFIG)/libinterop_client_main.a: protobuf_dep_error +PUBLIC_HEADERS_CORE += \ + include/grpc/byte_buffer.h \ + include/grpc/byte_buffer_reader.h \ + include/grpc/compression.h \ + include/grpc/grpc.h \ + include/grpc/grpc_posix.h \ + include/grpc/status.h \ + include/grpc/impl/codegen/byte_buffer.h \ + include/grpc/impl/codegen/byte_buffer_reader.h \ + include/grpc/impl/codegen/compression_types.h \ + include/grpc/impl/codegen/connectivity_state.h \ + include/grpc/impl/codegen/grpc_types.h \ + include/grpc/impl/codegen/propagation_bits.h \ + include/grpc/impl/codegen/status.h \ + include/grpc/impl/codegen/alloc.h \ + include/grpc/impl/codegen/atm.h \ + include/grpc/impl/codegen/atm_gcc_atomic.h \ + include/grpc/impl/codegen/atm_gcc_sync.h \ + include/grpc/impl/codegen/atm_windows.h \ + include/grpc/impl/codegen/log.h \ + include/grpc/impl/codegen/port_platform.h \ + include/grpc/impl/codegen/slice.h \ + include/grpc/impl/codegen/slice_buffer.h \ + include/grpc/impl/codegen/sync.h \ + include/grpc/impl/codegen/sync_generic.h \ + include/grpc/impl/codegen/sync_posix.h \ + include/grpc/impl/codegen/sync_windows.h \ + include/grpc/impl/codegen/time.h \ + include/grpc/census.h \ +LIBGRPC_UNSECURE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_UNSECURE_SRC)))) -else -$(LIBDIR)/$(CONFIG)/libinterop_client_main.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_CLIENT_MAIN_OBJS) +$(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a: $(ZLIB_DEP) $(LIBGRPC_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_client_main.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libinterop_client_main.a $(LIBINTEROP_CLIENT_MAIN_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBGRPC_UNSECURE_OBJS) $(LIBGPR_OBJS) $(ZLIB_MERGE_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libinterop_client_main.a -endif - - - - -endif - -endif - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(LIBINTEROP_CLIENT_MAIN_OBJS:.o=.dep) -endif + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a endif -$(OBJDIR)/$(CONFIG)/test/cpp/interop/client.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/interop/interop_client.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc - - -LIBINTEROP_SERVER_HELPER_SRC = \ - test/cpp/interop/server_helper.cc \ - -PUBLIC_HEADERS_CXX += \ - -LIBINTEROP_SERVER_HELPER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBINTEROP_SERVER_HELPER_SRC)))) - - -ifeq ($(NO_SECURE),true) - -# You can't build secure libraries if you don't have OpenSSL. - -$(LIBDIR)/$(CONFIG)/libinterop_server_helper.a: openssl_dep_error - - -else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. - -$(LIBDIR)/$(CONFIG)/libinterop_server_helper.a: protobuf_dep_error -else -$(LIBDIR)/$(CONFIG)/libinterop_server_helper.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_SERVER_HELPER_OBJS) - $(E) "[AR] Creating $@" +ifeq ($(SYSTEM),MINGW32) +$(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a $(LIBINTEROP_SERVER_HELPER_OBJS) -ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a -endif - - - - -endif - -endif - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(LIBINTEROP_SERVER_HELPER_OBJS:.o=.dep) -endif -endif - - -LIBINTEROP_SERVER_LIB_SRC = \ - $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc \ - test/cpp/interop/interop_server.cc \ - -PUBLIC_HEADERS_CXX += \ - -LIBINTEROP_SERVER_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBINTEROP_SERVER_LIB_SRC)))) - - -ifeq ($(NO_SECURE),true) - -# You can't build secure libraries if you don't have OpenSSL. - -$(LIBDIR)/$(CONFIG)/libinterop_server_lib.a: openssl_dep_error - - -else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. - -$(LIBDIR)/$(CONFIG)/libinterop_server_lib.a: protobuf_dep_error - - + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared grpc_unsecure.def -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) else - -$(LIBDIR)/$(CONFIG)/libinterop_server_lib.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_SERVER_LIB_OBJS) - $(E) "[AR] Creating $@" +$(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION).$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP) $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a $(LIBINTEROP_SERVER_LIB_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a -endif - - - - + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) +else + $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.1 -o $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) $(LIBDIR)/$(CONFIG)/libgpr.a $(ZLIB_MERGE_LIBS) + $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION).so.1 + $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION).$(SHARED_EXT) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION).so endif - endif -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBINTEROP_SERVER_LIB_OBJS:.o=.dep) -endif +-include $(LIBGRPC_UNSECURE_OBJS:.o=.dep) endif -$(OBJDIR)/$(CONFIG)/test/cpp/interop/interop_server.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc +# Force compilation of proto files before building code that could potentially depend on them -LIBINTEROP_SERVER_MAIN_SRC = \ - test/cpp/interop/interop_server_bootstrap.cc \ -PUBLIC_HEADERS_CXX += \ +# Using nanopb for C files right now +LIBRECONNECT_SERVER_SRC = \ + test/core/util/reconnect_server.c \ -LIBINTEROP_SERVER_MAIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBINTEROP_SERVER_MAIN_SRC)))) +PUBLIC_HEADERS_CORE += \ + +LIBRECONNECT_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBRECONNECT_SERVER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure libraries if you don't have OpenSSL. -$(LIBDIR)/$(CONFIG)/libinterop_server_main.a: openssl_dep_error +$(LIBDIR)/$(CONFIG)/libreconnect_server.a: openssl_dep_error else -ifeq ($(NO_PROTOBUF),true) - -# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. - -$(LIBDIR)/$(CONFIG)/libinterop_server_main.a: protobuf_dep_error - - -else -$(LIBDIR)/$(CONFIG)/libinterop_server_main.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBINTEROP_SERVER_MAIN_OBJS) +$(LIBDIR)/$(CONFIG)/libreconnect_server.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBRECONNECT_SERVER_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libinterop_server_main.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libinterop_server_main.a $(LIBINTEROP_SERVER_MAIN_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libreconnect_server.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBRECONNECT_SERVER_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libinterop_server_main.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libreconnect_server.a endif -endif - endif ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBINTEROP_SERVER_MAIN_OBJS:.o=.dep) +-include $(LIBRECONNECT_SERVER_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -LIBQPS_SRC = \ - $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc \ - test/cpp/qps/client_async.cc \ - test/cpp/qps/client_sync.cc \ - test/cpp/qps/driver.cc \ - test/cpp/qps/limit_cores.cc \ - test/cpp/qps/parse_json.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/usage_timer.cc \ - test/cpp/util/benchmark_config.cc \ -PUBLIC_HEADERS_CXX += \ +# Using nanopb for C files right now +LIBTEST_TCP_SERVER_SRC = \ + test/core/util/test_tcp_server.c \ -LIBQPS_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBQPS_SRC)))) +PUBLIC_HEADERS_CORE += \ + +LIBTEST_TCP_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBTEST_TCP_SERVER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure libraries if you don't have OpenSSL. -$(LIBDIR)/$(CONFIG)/libqps.a: openssl_dep_error - - -else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay. - -$(LIBDIR)/$(CONFIG)/libqps.a: protobuf_dep_error +$(LIBDIR)/$(CONFIG)/libtest_tcp_server.a: openssl_dep_error else -$(LIBDIR)/$(CONFIG)/libqps.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(PROTOBUF_DEP) $(LIBQPS_OBJS) + +$(LIBDIR)/$(CONFIG)/libtest_tcp_server.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBTEST_TCP_SERVER_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libqps.a - $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBQPS_OBJS) + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a + $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBTEST_TCP_SERVER_OBJS) ifeq ($(SYSTEM),Darwin) - $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libqps.a + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a endif -endif - endif ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBQPS_OBJS:.o=.dep) +-include $(LIBTEST_TCP_SERVER_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_async.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_sync.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/driver.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/limit_cores.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/parse_json.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_worker.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/report.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_async.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_sync.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/usage_timer.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/benchmark_config.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc + +# Force compilation of proto files before building code that could potentially depend on them +# Using nanopb for C files right now LIBGRPC_CSHARP_EXT_SRC = \ src/csharp/ext/grpc_csharp_ext.c \ -PUBLIC_HEADERS_C += \ LIBGRPC_CSHARP_EXT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_CSHARP_EXT_SRC)))) @@ -4782,7 +5272,10 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_SRC = \ src/boringssl/err_data.c \ third_party/boringssl/crypto/aes/aes.c \ @@ -5082,7 +5575,7 @@ LIBBORINGSSL_SRC = \ third_party/boringssl/ssl/t1_lib.c \ third_party/boringssl/ssl/tls_record.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_SRC)))) @@ -5105,7 +5598,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_TEST_UTIL_SRC = \ third_party/boringssl/crypto/test/file_test.cc \ third_party/boringssl/crypto/test/malloc.cc \ @@ -5145,7 +5641,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_TEST_UTIL_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_AES_TEST_LIB_SRC = \ third_party/boringssl/crypto/aes/aes_test.cc \ @@ -5183,7 +5682,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_AES_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_ASN1_TEST_LIB_SRC = \ third_party/boringssl/crypto/asn1/asn1_test.cc \ @@ -5221,7 +5723,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_ASN1_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_BASE64_TEST_LIB_SRC = \ third_party/boringssl/crypto/base64/base64_test.cc \ @@ -5259,7 +5764,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_BASE64_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_BIO_TEST_LIB_SRC = \ third_party/boringssl/crypto/bio/bio_test.cc \ @@ -5297,7 +5805,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_BIO_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_BN_TEST_LIB_SRC = \ third_party/boringssl/crypto/bn/bn_test.cc \ @@ -5335,7 +5846,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_BN_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_BYTESTRING_TEST_LIB_SRC = \ third_party/boringssl/crypto/bytestring/bytestring_test.cc \ @@ -5373,7 +5887,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_BYTESTRING_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_AEAD_TEST_LIB_SRC = \ third_party/boringssl/crypto/cipher/aead_test.cc \ @@ -5411,7 +5928,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_AEAD_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_CIPHER_TEST_LIB_SRC = \ third_party/boringssl/crypto/cipher/cipher_test.cc \ @@ -5449,7 +5969,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_CIPHER_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_CMAC_TEST_LIB_SRC = \ third_party/boringssl/crypto/cmac/cmac_test.cc \ @@ -5487,11 +6010,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_CMAC_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_CONSTANT_TIME_TEST_LIB_SRC = \ third_party/boringssl/crypto/constant_time_test.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_CONSTANT_TIME_TEST_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_CONSTANT_TIME_TEST_LIB_SRC)))) @@ -5514,7 +6040,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_CONSTANT_TIME_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_ED25519_TEST_LIB_SRC = \ third_party/boringssl/crypto/curve25519/ed25519_test.cc \ @@ -5552,7 +6081,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_ED25519_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_X25519_TEST_LIB_SRC = \ third_party/boringssl/crypto/curve25519/x25519_test.cc \ @@ -5590,7 +6122,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_X25519_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_DH_TEST_LIB_SRC = \ third_party/boringssl/crypto/dh/dh_test.cc \ @@ -5628,7 +6163,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_DH_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_DIGEST_TEST_LIB_SRC = \ third_party/boringssl/crypto/digest/digest_test.cc \ @@ -5666,11 +6204,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_DIGEST_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_DSA_TEST_LIB_SRC = \ third_party/boringssl/crypto/dsa/dsa_test.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_DSA_TEST_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_DSA_TEST_LIB_SRC)))) @@ -5693,7 +6234,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_DSA_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_EC_TEST_LIB_SRC = \ third_party/boringssl/crypto/ec/ec_test.cc \ @@ -5731,11 +6275,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_EC_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_EXAMPLE_MUL_LIB_SRC = \ third_party/boringssl/crypto/ec/example_mul.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_EXAMPLE_MUL_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_EXAMPLE_MUL_LIB_SRC)))) @@ -5758,7 +6305,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_EXAMPLE_MUL_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_ECDSA_TEST_LIB_SRC = \ third_party/boringssl/crypto/ecdsa/ecdsa_test.cc \ @@ -5796,7 +6346,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_ECDSA_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_ERR_TEST_LIB_SRC = \ third_party/boringssl/crypto/err/err_test.cc \ @@ -5834,7 +6387,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_ERR_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_EVP_EXTRA_TEST_LIB_SRC = \ third_party/boringssl/crypto/evp/evp_extra_test.cc \ @@ -5872,7 +6428,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_EVP_EXTRA_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_EVP_TEST_LIB_SRC = \ third_party/boringssl/crypto/evp/evp_test.cc \ @@ -5910,7 +6469,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_EVP_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_PBKDF_TEST_LIB_SRC = \ third_party/boringssl/crypto/evp/pbkdf_test.cc \ @@ -5948,11 +6510,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_PBKDF_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_HKDF_TEST_LIB_SRC = \ third_party/boringssl/crypto/hkdf/hkdf_test.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_HKDF_TEST_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_HKDF_TEST_LIB_SRC)))) @@ -5975,7 +6540,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_HKDF_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_HMAC_TEST_LIB_SRC = \ third_party/boringssl/crypto/hmac/hmac_test.cc \ @@ -6013,11 +6581,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_HMAC_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_LHASH_TEST_LIB_SRC = \ third_party/boringssl/crypto/lhash/lhash_test.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_LHASH_TEST_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_LHASH_TEST_LIB_SRC)))) @@ -6040,11 +6611,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_LHASH_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_GCM_TEST_LIB_SRC = \ third_party/boringssl/crypto/modes/gcm_test.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_GCM_TEST_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_GCM_TEST_LIB_SRC)))) @@ -6067,7 +6641,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_GCM_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_PKCS12_TEST_LIB_SRC = \ third_party/boringssl/crypto/pkcs8/pkcs12_test.cc \ @@ -6105,7 +6682,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_PKCS12_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_PKCS8_TEST_LIB_SRC = \ third_party/boringssl/crypto/pkcs8/pkcs8_test.cc \ @@ -6143,7 +6723,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_PKCS8_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_POLY1305_TEST_LIB_SRC = \ third_party/boringssl/crypto/poly1305/poly1305_test.cc \ @@ -6181,11 +6764,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_POLY1305_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_REFCOUNT_TEST_LIB_SRC = \ third_party/boringssl/crypto/refcount_test.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_REFCOUNT_TEST_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_REFCOUNT_TEST_LIB_SRC)))) @@ -6208,7 +6794,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_REFCOUNT_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_RSA_TEST_LIB_SRC = \ third_party/boringssl/crypto/rsa/rsa_test.cc \ @@ -6246,11 +6835,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_RSA_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_THREAD_TEST_LIB_SRC = \ third_party/boringssl/crypto/thread_test.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_THREAD_TEST_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_THREAD_TEST_LIB_SRC)))) @@ -6273,11 +6865,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_THREAD_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_PKCS7_TEST_LIB_SRC = \ third_party/boringssl/crypto/x509/pkcs7_test.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_PKCS7_TEST_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_PKCS7_TEST_LIB_SRC)))) @@ -6300,7 +6895,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_PKCS7_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_X509_TEST_LIB_SRC = \ third_party/boringssl/crypto/x509/x509_test.cc \ @@ -6338,11 +6936,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_X509_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_TAB_TEST_LIB_SRC = \ third_party/boringssl/crypto/x509v3/tab_test.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_TAB_TEST_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_TAB_TEST_LIB_SRC)))) @@ -6365,11 +6966,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_TAB_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_V3NAME_TEST_LIB_SRC = \ third_party/boringssl/crypto/x509v3/v3name_test.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_V3NAME_TEST_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_V3NAME_TEST_LIB_SRC)))) @@ -6392,11 +6996,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_V3NAME_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_PQUEUE_TEST_LIB_SRC = \ third_party/boringssl/ssl/pqueue/pqueue_test.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBORINGSSL_PQUEUE_TEST_LIB_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_PQUEUE_TEST_LIB_SRC)))) @@ -6419,7 +7026,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_PQUEUE_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBORINGSSL_SSL_TEST_LIB_SRC = \ third_party/boringssl/ssl/ssl_test.cc \ @@ -6457,7 +7067,10 @@ ifneq ($(NO_DEPS),true) -include $(LIBBORINGSSL_SSL_TEST_LIB_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBZ_SRC = \ third_party/zlib/adler32.c \ third_party/zlib/compress.c \ @@ -6475,7 +7088,7 @@ LIBZ_SRC = \ third_party/zlib/uncompr.c \ third_party/zlib/zutil.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBZ_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBZ_SRC)))) @@ -6497,11 +7110,14 @@ ifneq ($(NO_DEPS),true) -include $(LIBZ_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBAD_CLIENT_TEST_SRC = \ test/core/bad_client/bad_client.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBAD_CLIENT_TEST_SRC)))) @@ -6536,11 +7152,14 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBBAD_SSL_TEST_SERVER_SRC = \ test/core/bad_ssl/server_common.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBBAD_SSL_TEST_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBAD_SSL_TEST_SERVER_SRC)))) @@ -6575,7 +7194,10 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBEND2END_TESTS_SRC = \ test/core/end2end/end2end_tests.c \ test/core/end2end/tests/bad_hostname.c \ @@ -6621,7 +7243,7 @@ LIBEND2END_TESTS_SRC = \ test/core/end2end/tests/streaming_error_response.c \ test/core/end2end/tests/trailing_metadata.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBEND2END_TESTS_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TESTS_SRC)))) @@ -6656,7 +7278,10 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + +# Using nanopb for C files right now LIBEND2END_NOSEC_TESTS_SRC = \ test/core/end2end/end2end_nosec_tests.c \ test/core/end2end/tests/bad_hostname.c \ @@ -6701,7 +7326,7 @@ LIBEND2END_NOSEC_TESTS_SRC = \ test/core/end2end/tests/streaming_error_response.c \ test/core/end2end/tests/trailing_metadata.c \ -PUBLIC_HEADERS_C += \ +PUBLIC_HEADERS_CORE += \ LIBEND2END_NOSEC_TESTS_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_NOSEC_TESTS_SRC)))) @@ -6722,6073 +7347,6584 @@ ifneq ($(NO_DEPS),true) -include $(LIBEND2END_NOSEC_TESTS_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + # All of the test targets, and protoc plugins -ALARM_TEST_SRC = \ - test/core/surface/alarm_test.c \ +GRPC_C_SERVER_END2END_TEST_SRC = \ + $(GENDIR)/src/proto/grpc/testing/echo_messages.pbc.c $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pbc.c \ + $(GENDIR)/src/proto/grpc/testing/echo.pbc.c $(GENDIR)/src/proto/grpc/testing/echo.grpc.pbc.c \ + test/c/end2end/server_end2end_test.c \ -ALARM_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_TEST_SRC)))) +GRPC_C_SERVER_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_C_SERVER_END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/alarm_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_c_server_end2end_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/alarm_test: $(ALARM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_c_server_end2end_test: $(GRPC_C_SERVER_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(ALARM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/alarm_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_C_SERVER_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_c_server_end2end_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/alarm_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/echo_messages.o: $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_alarm_test: $(ALARM_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/echo.o: $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +$(OBJDIR)/$(CONFIG)/test/c/end2end/server_end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_grpc_c_server_end2end_test: $(GRPC_C_SERVER_END2END_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ALARM_TEST_OBJS:.o=.dep) +-include $(GRPC_C_SERVER_END2END_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/c/end2end/server_end2end_test.o: $(GENDIR)/src/proto/grpc/testing/echo_messages.pbc.c $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pbc.c $(GENDIR)/src/proto/grpc/testing/echo.pbc.c $(GENDIR)/src/proto/grpc/testing/echo.grpc.pbc.c -ALGORITHM_TEST_SRC = \ - test/core/compression/algorithm_test.c \ -ALGORITHM_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ALGORITHM_TEST_SRC)))) +ALARM_CPP_TEST_SRC = \ + test/cpp/common/alarm_cpp_test.cc \ + +ALARM_CPP_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_CPP_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/algorithm_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/alarm_cpp_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/algorithm_test: $(ALGORITHM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/alarm_cpp_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/alarm_cpp_test: $(PROTOBUF_DEP) $(ALARM_CPP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(ALGORITHM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/algorithm_test + $(Q) $(LDXX) $(LDFLAGS) $(ALARM_CPP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/alarm_cpp_test endif -$(OBJDIR)/$(CONFIG)/test/core/compression/algorithm_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_algorithm_test: $(ALGORITHM_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/common/alarm_cpp_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_alarm_cpp_test: $(ALARM_CPP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ALGORITHM_TEST_OBJS:.o=.dep) +-include $(ALARM_CPP_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -ALLOC_TEST_SRC = \ - test/core/support/alloc_test.c \ -ALLOC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ALLOC_TEST_SRC)))) +ASYNC_END2END_TEST_SRC = \ + test/cpp/end2end/async_end2end_test.cc \ + +ASYNC_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ASYNC_END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/alloc_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/async_end2end_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/alloc_test: $(ALLOC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/async_end2end_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/async_end2end_test: $(PROTOBUF_DEP) $(ASYNC_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(ALLOC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/alloc_test + $(Q) $(LDXX) $(LDFLAGS) $(ASYNC_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/async_end2end_test endif -$(OBJDIR)/$(CONFIG)/test/core/support/alloc_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_alloc_test: $(ALLOC_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/async_end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_async_end2end_test: $(ASYNC_END2END_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ALLOC_TEST_OBJS:.o=.dep) +-include $(ASYNC_END2END_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -ALPN_TEST_SRC = \ - test/core/transport/chttp2/alpn_test.c \ -ALPN_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ALPN_TEST_SRC)))) +AUTH_PROPERTY_ITERATOR_TEST_SRC = \ + test/cpp/common/auth_property_iterator_test.cc \ + +AUTH_PROPERTY_ITERATOR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(AUTH_PROPERTY_ITERATOR_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/alpn_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/auth_property_iterator_test: openssl_dep_error + +else + + + + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/auth_property_iterator_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/auth_property_iterator_test: $(PROTOBUF_DEP) $(AUTH_PROPERTY_ITERATOR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(AUTH_PROPERTY_ITERATOR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/auth_property_iterator_test + +endif + +endif + +$(OBJDIR)/$(CONFIG)/test/cpp/common/auth_property_iterator_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_auth_property_iterator_test: $(AUTH_PROPERTY_ITERATOR_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(AUTH_PROPERTY_ITERATOR_TEST_OBJS:.o=.dep) +endif +endif + +# Force compilation of proto files before building code that could potentially depend on them + + +CHANNEL_ARGUMENTS_TEST_SRC = \ + test/cpp/common/channel_arguments_test.cc \ + +CHANNEL_ARGUMENTS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHANNEL_ARGUMENTS_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/channel_arguments_test: openssl_dep_error + +else + + + + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/channel_arguments_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/channel_arguments_test: $(PROTOBUF_DEP) $(CHANNEL_ARGUMENTS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(CHANNEL_ARGUMENTS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/channel_arguments_test + +endif + +endif + +$(OBJDIR)/$(CONFIG)/test/cpp/common/channel_arguments_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_channel_arguments_test: $(CHANNEL_ARGUMENTS_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(CHANNEL_ARGUMENTS_TEST_OBJS:.o=.dep) +endif +endif + +# Force compilation of proto files before building code that could potentially depend on them + + +CLI_CALL_TEST_SRC = \ + test/cpp/util/cli_call_test.cc \ + +CLI_CALL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CLI_CALL_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/cli_call_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/alpn_test: $(ALPN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/cli_call_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/cli_call_test: $(PROTOBUF_DEP) $(CLI_CALL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(ALPN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/alpn_test + $(Q) $(LDXX) $(LDFLAGS) $(CLI_CALL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/cli_call_test endif -$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/alpn_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_alpn_test: $(ALPN_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/util/cli_call_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_cli_call_test: $(CLI_CALL_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ALPN_TEST_OBJS:.o=.dep) +-include $(CLI_CALL_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -API_FUZZER_SRC = \ - test/core/end2end/fuzzers/api_fuzzer.c \ -API_FUZZER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(API_FUZZER_SRC)))) +CLIENT_CRASH_TEST_SRC = \ + test/cpp/end2end/client_crash_test.cc \ + +CLIENT_CRASH_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CLIENT_CRASH_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/api_fuzzer: openssl_dep_error +$(BINDIR)/$(CONFIG)/client_crash_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/api_fuzzer: $(API_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/client_crash_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/client_crash_test: $(PROTOBUF_DEP) $(CLIENT_CRASH_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(API_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/api_fuzzer + $(Q) $(LDXX) $(LDFLAGS) $(CLIENT_CRASH_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/client_crash_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fuzzers/api_fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_api_fuzzer: $(API_FUZZER_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/client_crash_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_client_crash_test: $(CLIENT_CRASH_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(API_FUZZER_OBJS:.o=.dep) +-include $(CLIENT_CRASH_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -BAD_SERVER_RESPONSE_TEST_SRC = \ - test/core/end2end/bad_server_response_test.c \ -BAD_SERVER_RESPONSE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BAD_SERVER_RESPONSE_TEST_SRC)))) +CLIENT_CRASH_TEST_SERVER_SRC = \ + test/cpp/end2end/client_crash_test_server.cc \ + +CLIENT_CRASH_TEST_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CLIENT_CRASH_TEST_SERVER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/bad_server_response_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/client_crash_test_server: openssl_dep_error else -$(BINDIR)/$(CONFIG)/bad_server_response_test: $(BAD_SERVER_RESPONSE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/client_crash_test_server: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/client_crash_test_server: $(PROTOBUF_DEP) $(CLIENT_CRASH_TEST_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(BAD_SERVER_RESPONSE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bad_server_response_test + $(Q) $(LDXX) $(LDFLAGS) $(CLIENT_CRASH_TEST_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/client_crash_test_server endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/bad_server_response_test.o: $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_bad_server_response_test: $(BAD_SERVER_RESPONSE_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/client_crash_test_server.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_client_crash_test_server: $(CLIENT_CRASH_TEST_SERVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(BAD_SERVER_RESPONSE_TEST_OBJS:.o=.dep) +-include $(CLIENT_CRASH_TEST_SERVER_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -BIN_DECODER_TEST_SRC = \ - test/core/transport/chttp2/bin_decoder_test.c \ -BIN_DECODER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BIN_DECODER_TEST_SRC)))) +CODEGEN_TEST_FULL_SRC = \ + $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc \ + test/cpp/codegen/codegen_test_full.cc \ + +CODEGEN_TEST_FULL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CODEGEN_TEST_FULL_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/bin_decoder_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/codegen_test_full: openssl_dep_error else -$(BINDIR)/$(CONFIG)/bin_decoder_test: $(BIN_DECODER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/codegen_test_full: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/codegen_test_full: $(PROTOBUF_DEP) $(CODEGEN_TEST_FULL_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(BIN_DECODER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bin_decoder_test + $(Q) $(LDXX) $(LDFLAGS) $(CODEGEN_TEST_FULL_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/codegen_test_full endif -$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/bin_decoder_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a +endif -deps_bin_decoder_test: $(BIN_DECODER_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/control.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a + +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/messages.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a + +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/payloads.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a + +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/services.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a + +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/stats.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a + +$(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test_full.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_codegen_test_full: $(CODEGEN_TEST_FULL_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(BIN_DECODER_TEST_OBJS:.o=.dep) +-include $(CODEGEN_TEST_FULL_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test_full.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -BIN_ENCODER_TEST_SRC = \ - test/core/transport/chttp2/bin_encoder_test.c \ -BIN_ENCODER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BIN_ENCODER_TEST_SRC)))) +CODEGEN_TEST_MINIMAL_SRC = \ + $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc \ + test/cpp/codegen/codegen_test_minimal.cc \ + src/cpp/codegen/codegen_init.cc \ + +CODEGEN_TEST_MINIMAL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CODEGEN_TEST_MINIMAL_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/bin_encoder_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/codegen_test_minimal: openssl_dep_error else -$(BINDIR)/$(CONFIG)/bin_encoder_test: $(BIN_ENCODER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(BIN_ENCODER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bin_encoder_test - -endif -$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/bin_encoder_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a +ifeq ($(NO_PROTOBUF),true) -deps_bin_encoder_test: $(BIN_ENCODER_TEST_OBJS:.o=.dep) +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(BIN_ENCODER_TEST_OBJS:.o=.dep) -endif -endif +$(BINDIR)/$(CONFIG)/codegen_test_minimal: protobuf_dep_error +else -CENSUS_CONTEXT_TEST_SRC = \ - test/core/census/context_test.c \ +$(BINDIR)/$(CONFIG)/codegen_test_minimal: $(PROTOBUF_DEP) $(CODEGEN_TEST_MINIMAL_OBJS) + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(CODEGEN_TEST_MINIMAL_OBJS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/codegen_test_minimal -CENSUS_CONTEXT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_CONTEXT_TEST_SRC)))) -ifeq ($(NO_SECURE),true) +endif -# You can't build secure targets if you don't have OpenSSL. +endif -$(BINDIR)/$(CONFIG)/census_context_test: openssl_dep_error +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/control.o: -else +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/messages.o: +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/payloads.o: +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/services.o: -$(BINDIR)/$(CONFIG)/census_context_test: $(CENSUS_CONTEXT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CENSUS_CONTEXT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/census_context_test +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/stats.o: -endif +$(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test_minimal.o: -$(OBJDIR)/$(CONFIG)/test/core/census/context_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: -deps_census_context_test: $(CENSUS_CONTEXT_TEST_OBJS:.o=.dep) +deps_codegen_test_minimal: $(CODEGEN_TEST_MINIMAL_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_CONTEXT_TEST_OBJS:.o=.dep) +-include $(CODEGEN_TEST_MINIMAL_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test_minimal.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -CENSUS_RESOURCE_TEST_SRC = \ - test/core/census/resource_test.c \ -CENSUS_RESOURCE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_RESOURCE_TEST_SRC)))) +CREDENTIALS_TEST_SRC = \ + test/cpp/client/credentials_test.cc \ + +CREDENTIALS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CREDENTIALS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/census_resource_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/credentials_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/census_resource_test: $(CENSUS_RESOURCE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/credentials_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/credentials_test: $(PROTOBUF_DEP) $(CREDENTIALS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CENSUS_RESOURCE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/census_resource_test + $(Q) $(LDXX) $(LDFLAGS) $(CREDENTIALS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/credentials_test endif -$(OBJDIR)/$(CONFIG)/test/core/census/resource_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_census_resource_test: $(CENSUS_RESOURCE_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/client/credentials_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_credentials_test: $(CREDENTIALS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_RESOURCE_TEST_OBJS:.o=.dep) +-include $(CREDENTIALS_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CHANNEL_CREATE_TEST_SRC = \ - test/core/surface/channel_create_test.c \ -CHANNEL_CREATE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHANNEL_CREATE_TEST_SRC)))) +CXX_BYTE_BUFFER_TEST_SRC = \ + test/cpp/util/byte_buffer_test.cc \ + +CXX_BYTE_BUFFER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CXX_BYTE_BUFFER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/channel_create_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/cxx_byte_buffer_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/channel_create_test: $(CHANNEL_CREATE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/cxx_byte_buffer_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/cxx_byte_buffer_test: $(PROTOBUF_DEP) $(CXX_BYTE_BUFFER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CHANNEL_CREATE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/channel_create_test + $(Q) $(LDXX) $(LDFLAGS) $(CXX_BYTE_BUFFER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/channel_create_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_channel_create_test: $(CHANNEL_CREATE_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/util/byte_buffer_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_cxx_byte_buffer_test: $(CXX_BYTE_BUFFER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHANNEL_CREATE_TEST_OBJS:.o=.dep) +-include $(CXX_BYTE_BUFFER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CHTTP2_HPACK_ENCODER_TEST_SRC = \ - test/core/transport/chttp2/hpack_encoder_test.c \ -CHTTP2_HPACK_ENCODER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_HPACK_ENCODER_TEST_SRC)))) +CXX_SLICE_TEST_SRC = \ + test/cpp/util/slice_test.cc \ + +CXX_SLICE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CXX_SLICE_TEST_SRC)))) ifeq ($(NO_SECURE),true) -# You can't build secure targets if you don't have OpenSSL. +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/cxx_slice_test: openssl_dep_error + +else + + + -$(BINDIR)/$(CONFIG)/chttp2_hpack_encoder_test: openssl_dep_error +ifeq ($(NO_PROTOBUF),true) -else +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +$(BINDIR)/$(CONFIG)/cxx_slice_test: protobuf_dep_error +else -$(BINDIR)/$(CONFIG)/chttp2_hpack_encoder_test: $(CHTTP2_HPACK_ENCODER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/cxx_slice_test: $(PROTOBUF_DEP) $(CXX_SLICE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CHTTP2_HPACK_ENCODER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_hpack_encoder_test + $(Q) $(LDXX) $(LDFLAGS) $(CXX_SLICE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/cxx_slice_test endif -$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/hpack_encoder_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_chttp2_hpack_encoder_test: $(CHTTP2_HPACK_ENCODER_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/util/slice_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_cxx_slice_test: $(CXX_SLICE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_HPACK_ENCODER_TEST_OBJS:.o=.dep) +-include $(CXX_SLICE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CHTTP2_STATUS_CONVERSION_TEST_SRC = \ - test/core/transport/chttp2/status_conversion_test.c \ -CHTTP2_STATUS_CONVERSION_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_STATUS_CONVERSION_TEST_SRC)))) +CXX_STRING_REF_TEST_SRC = \ + test/cpp/util/string_ref_test.cc \ + +CXX_STRING_REF_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CXX_STRING_REF_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/chttp2_status_conversion_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/cxx_string_ref_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/chttp2_status_conversion_test: $(CHTTP2_STATUS_CONVERSION_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/cxx_string_ref_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/cxx_string_ref_test: $(PROTOBUF_DEP) $(CXX_STRING_REF_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CHTTP2_STATUS_CONVERSION_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_status_conversion_test + $(Q) $(LDXX) $(LDFLAGS) $(CXX_STRING_REF_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/cxx_string_ref_test endif -$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/status_conversion_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_chttp2_status_conversion_test: $(CHTTP2_STATUS_CONVERSION_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/util/string_ref_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a + +deps_cxx_string_ref_test: $(CXX_STRING_REF_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_STATUS_CONVERSION_TEST_OBJS:.o=.dep) +-include $(CXX_STRING_REF_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CHTTP2_STREAM_MAP_TEST_SRC = \ - test/core/transport/chttp2/stream_map_test.c \ -CHTTP2_STREAM_MAP_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_STREAM_MAP_TEST_SRC)))) +CXX_TIME_TEST_SRC = \ + test/cpp/util/time_test.cc \ + +CXX_TIME_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CXX_TIME_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/chttp2_stream_map_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/cxx_time_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/chttp2_stream_map_test: $(CHTTP2_STREAM_MAP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/cxx_time_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/cxx_time_test: $(PROTOBUF_DEP) $(CXX_TIME_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CHTTP2_STREAM_MAP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_stream_map_test + $(Q) $(LDXX) $(LDFLAGS) $(CXX_TIME_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/cxx_time_test endif -$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/stream_map_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_chttp2_stream_map_test: $(CHTTP2_STREAM_MAP_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/util/time_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_cxx_time_test: $(CXX_TIME_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_STREAM_MAP_TEST_OBJS:.o=.dep) +-include $(CXX_TIME_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CHTTP2_VARINT_TEST_SRC = \ - test/core/transport/chttp2/varint_test.c \ -CHTTP2_VARINT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_VARINT_TEST_SRC)))) +END2END_TEST_SRC = \ + test/cpp/end2end/end2end_test.cc \ + +END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/chttp2_varint_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/end2end_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/chttp2_varint_test: $(CHTTP2_VARINT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/end2end_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/end2end_test: $(PROTOBUF_DEP) $(END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CHTTP2_VARINT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_varint_test + $(Q) $(LDXX) $(LDFLAGS) $(END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/end2end_test endif -$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/varint_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_chttp2_varint_test: $(CHTTP2_VARINT_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_end2end_test: $(END2END_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_VARINT_TEST_OBJS:.o=.dep) +-include $(END2END_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CLIENT_FUZZER_SRC = \ - test/core/end2end/fuzzers/client_fuzzer.c \ -CLIENT_FUZZER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CLIENT_FUZZER_SRC)))) +FILTER_END2END_TEST_SRC = \ + test/cpp/end2end/filter_end2end_test.cc \ + +FILTER_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FILTER_END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/client_fuzzer: openssl_dep_error +$(BINDIR)/$(CONFIG)/filter_end2end_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/client_fuzzer: $(CLIENT_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/filter_end2end_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/filter_end2end_test: $(PROTOBUF_DEP) $(FILTER_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CLIENT_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/client_fuzzer + $(Q) $(LDXX) $(LDFLAGS) $(FILTER_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/filter_end2end_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fuzzers/client_fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_client_fuzzer: $(CLIENT_FUZZER_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/filter_end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_filter_end2end_test: $(FILTER_END2END_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CLIENT_FUZZER_OBJS:.o=.dep) +-include $(FILTER_END2END_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -COMPRESSION_TEST_SRC = \ - test/core/compression/compression_test.c \ -COMPRESSION_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(COMPRESSION_TEST_SRC)))) +GENERIC_END2END_TEST_SRC = \ + test/cpp/end2end/generic_end2end_test.cc \ + +GENERIC_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GENERIC_END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/compression_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/generic_end2end_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/compression_test: $(COMPRESSION_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/generic_end2end_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/generic_end2end_test: $(PROTOBUF_DEP) $(GENERIC_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(COMPRESSION_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/compression_test + $(Q) $(LDXX) $(LDFLAGS) $(GENERIC_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/generic_end2end_test endif -$(OBJDIR)/$(CONFIG)/test/core/compression/compression_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_compression_test: $(COMPRESSION_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/generic_end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_generic_end2end_test: $(GENERIC_END2END_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(COMPRESSION_TEST_OBJS:.o=.dep) +-include $(GENERIC_END2END_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CONCURRENT_CONNECTIVITY_TEST_SRC = \ - test/core/surface/concurrent_connectivity_test.c \ -CONCURRENT_CONNECTIVITY_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CONCURRENT_CONNECTIVITY_TEST_SRC)))) +GOLDEN_FILE_TEST_SRC = \ + $(GENDIR)/src/proto/grpc/testing/compiler_test.pb.cc $(GENDIR)/src/proto/grpc/testing/compiler_test.grpc.pb.cc \ + test/cpp/codegen/golden_file_test.cc \ + +GOLDEN_FILE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GOLDEN_FILE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/concurrent_connectivity_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/golden_file_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/concurrent_connectivity_test: $(CONCURRENT_CONNECTIVITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/golden_file_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/golden_file_test: $(PROTOBUF_DEP) $(GOLDEN_FILE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CONCURRENT_CONNECTIVITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/concurrent_connectivity_test + $(Q) $(LDXX) $(LDFLAGS) $(GOLDEN_FILE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/golden_file_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/concurrent_connectivity_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_concurrent_connectivity_test: $(CONCURRENT_CONNECTIVITY_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/compiler_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a + +$(OBJDIR)/$(CONFIG)/test/cpp/codegen/golden_file_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_golden_file_test: $(GOLDEN_FILE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CONCURRENT_CONNECTIVITY_TEST_OBJS:.o=.dep) +-include $(GOLDEN_FILE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/codegen/golden_file_test.o: $(GENDIR)/src/proto/grpc/testing/compiler_test.pb.cc $(GENDIR)/src/proto/grpc/testing/compiler_test.grpc.pb.cc -DNS_RESOLVER_CONNECTIVITY_TEST_SRC = \ - test/core/client_config/resolvers/dns_resolver_connectivity_test.c \ -DNS_RESOLVER_CONNECTIVITY_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(DNS_RESOLVER_CONNECTIVITY_TEST_SRC)))) +GRPC_C_END2END_TEST_SRC = \ + test/c/end2end/end2end_test.cc \ + +GRPC_C_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_C_END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/dns_resolver_connectivity_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_c_end2end_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/dns_resolver_connectivity_test: $(DNS_RESOLVER_CONNECTIVITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/grpc_c_end2end_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/grpc_c_end2end_test: $(PROTOBUF_DEP) $(GRPC_C_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_c_end2end_client_lib.a $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(DNS_RESOLVER_CONNECTIVITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/dns_resolver_connectivity_test + $(Q) $(LDXX) $(LDFLAGS) $(GRPC_C_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_c_end2end_client_lib.a $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/grpc_c_end2end_test endif -$(OBJDIR)/$(CONFIG)/test/core/client_config/resolvers/dns_resolver_connectivity_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_dns_resolver_connectivity_test: $(DNS_RESOLVER_CONNECTIVITY_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/c/end2end/end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_c_end2end_client_lib.a $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_grpc_c_end2end_test: $(GRPC_C_END2END_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(DNS_RESOLVER_CONNECTIVITY_TEST_OBJS:.o=.dep) +-include $(GRPC_C_END2END_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -DNS_RESOLVER_TEST_SRC = \ - test/core/client_config/resolvers/dns_resolver_test.c \ -DNS_RESOLVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(DNS_RESOLVER_TEST_SRC)))) +GRPC_C_GENERIC_END2END_TEST_SRC = \ + test/c/end2end/generic_end2end_test.cc \ + test/c/end2end/id_serialization.cc \ + +GRPC_C_GENERIC_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_C_GENERIC_END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/dns_resolver_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_c_generic_end2end_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/dns_resolver_test: $(DNS_RESOLVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/grpc_c_generic_end2end_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/grpc_c_generic_end2end_test: $(PROTOBUF_DEP) $(GRPC_C_GENERIC_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(DNS_RESOLVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/dns_resolver_test + $(Q) $(LDXX) $(LDFLAGS) $(GRPC_C_GENERIC_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/grpc_c_generic_end2end_test endif -$(OBJDIR)/$(CONFIG)/test/core/client_config/resolvers/dns_resolver_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_dns_resolver_test: $(DNS_RESOLVER_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/c/end2end/generic_end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +$(OBJDIR)/$(CONFIG)/test/c/end2end/id_serialization.o: $(LIBDIR)/$(CONFIG)/libgrpc_c.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_grpc_c_generic_end2end_test: $(GRPC_C_GENERIC_END2END_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(DNS_RESOLVER_TEST_OBJS:.o=.dep) +-include $(GRPC_C_GENERIC_END2END_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -DUALSTACK_SOCKET_TEST_SRC = \ - test/core/end2end/dualstack_socket_test.c \ -DUALSTACK_SOCKET_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(DUALSTACK_SOCKET_TEST_SRC)))) -ifeq ($(NO_SECURE),true) +GRPC_C_PLUGIN_SRC = \ + src/compiler/c_plugin.cc \ -# You can't build secure targets if you don't have OpenSSL. +GRPC_C_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_C_PLUGIN_SRC)))) -$(BINDIR)/$(CONFIG)/dualstack_socket_test: openssl_dep_error -else +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +$(BINDIR)/$(CONFIG)/grpc_c_plugin: protobuf_dep_error -$(BINDIR)/$(CONFIG)/dualstack_socket_test: $(DUALSTACK_SOCKET_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" +else + +$(BINDIR)/$(CONFIG)/grpc_c_plugin: $(PROTOBUF_DEP) $(GRPC_C_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a + $(E) "[HOSTLD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(DUALSTACK_SOCKET_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/dualstack_socket_test + $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_C_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_c_plugin endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/dualstack_socket_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/src/compiler/c_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a -deps_dualstack_socket_test: $(DUALSTACK_SOCKET_TEST_OBJS:.o=.dep) +deps_grpc_c_plugin: $(GRPC_C_PLUGIN_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(DUALSTACK_SOCKET_TEST_OBJS:.o=.dep) -endif +-include $(GRPC_C_PLUGIN_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them -ENDPOINT_PAIR_TEST_SRC = \ - test/core/iomgr/endpoint_pair_test.c \ -ENDPOINT_PAIR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ENDPOINT_PAIR_TEST_SRC)))) +GRPC_CLI_SRC = \ + test/cpp/util/grpc_cli.cc \ + +GRPC_CLI_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CLI_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/endpoint_pair_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_cli: openssl_dep_error else -$(BINDIR)/$(CONFIG)/endpoint_pair_test: $(ENDPOINT_PAIR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/grpc_cli: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/grpc_cli: $(PROTOBUF_DEP) $(GRPC_CLI_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(ENDPOINT_PAIR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/endpoint_pair_test + $(Q) $(LDXX) $(LDFLAGS) $(GRPC_CLI_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/grpc_cli endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/endpoint_pair_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_endpoint_pair_test: $(ENDPOINT_PAIR_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/util/grpc_cli.o: $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_grpc_cli: $(GRPC_CLI_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ENDPOINT_PAIR_TEST_OBJS:.o=.dep) +-include $(GRPC_CLI_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -EV_EPOLL_LINUX_TEST_SRC = \ - test/core/iomgr/ev_epoll_linux_test.c \ -EV_EPOLL_LINUX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(EV_EPOLL_LINUX_TEST_SRC)))) -ifeq ($(NO_SECURE),true) +GRPC_CPP_PLUGIN_SRC = \ + src/compiler/cpp_plugin.cc \ -# You can't build secure targets if you don't have OpenSSL. +GRPC_CPP_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CPP_PLUGIN_SRC)))) -$(BINDIR)/$(CONFIG)/ev_epoll_linux_test: openssl_dep_error -else +ifeq ($(NO_PROTOBUF),true) +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. -$(BINDIR)/$(CONFIG)/ev_epoll_linux_test: $(EV_EPOLL_LINUX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" +$(BINDIR)/$(CONFIG)/grpc_cpp_plugin: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/grpc_cpp_plugin: $(PROTOBUF_DEP) $(GRPC_CPP_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a + $(E) "[HOSTLD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(EV_EPOLL_LINUX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/ev_epoll_linux_test + $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_CPP_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_cpp_plugin endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/ev_epoll_linux_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/src/compiler/cpp_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a -deps_ev_epoll_linux_test: $(EV_EPOLL_LINUX_TEST_OBJS:.o=.dep) +deps_grpc_cpp_plugin: $(GRPC_CPP_PLUGIN_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(EV_EPOLL_LINUX_TEST_OBJS:.o=.dep) -endif +-include $(GRPC_CPP_PLUGIN_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them -FD_CONSERVATION_POSIX_TEST_SRC = \ - test/core/iomgr/fd_conservation_posix_test.c \ -FD_CONSERVATION_POSIX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FD_CONSERVATION_POSIX_TEST_SRC)))) -ifeq ($(NO_SECURE),true) +GRPC_CSHARP_PLUGIN_SRC = \ + src/compiler/csharp_plugin.cc \ -# You can't build secure targets if you don't have OpenSSL. +GRPC_CSHARP_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CSHARP_PLUGIN_SRC)))) -$(BINDIR)/$(CONFIG)/fd_conservation_posix_test: openssl_dep_error -else +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +$(BINDIR)/$(CONFIG)/grpc_csharp_plugin: protobuf_dep_error -$(BINDIR)/$(CONFIG)/fd_conservation_posix_test: $(FD_CONSERVATION_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" +else + +$(BINDIR)/$(CONFIG)/grpc_csharp_plugin: $(PROTOBUF_DEP) $(GRPC_CSHARP_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a + $(E) "[HOSTLD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(FD_CONSERVATION_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/fd_conservation_posix_test + $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_CSHARP_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_csharp_plugin endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/fd_conservation_posix_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/src/compiler/csharp_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a -deps_fd_conservation_posix_test: $(FD_CONSERVATION_POSIX_TEST_OBJS:.o=.dep) +deps_grpc_csharp_plugin: $(GRPC_CSHARP_PLUGIN_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FD_CONSERVATION_POSIX_TEST_OBJS:.o=.dep) -endif +-include $(GRPC_CSHARP_PLUGIN_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them -FD_POSIX_TEST_SRC = \ - test/core/iomgr/fd_posix_test.c \ -FD_POSIX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FD_POSIX_TEST_SRC)))) -ifeq ($(NO_SECURE),true) +GRPC_NODE_PLUGIN_SRC = \ + src/compiler/node_plugin.cc \ -# You can't build secure targets if you don't have OpenSSL. +GRPC_NODE_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_NODE_PLUGIN_SRC)))) -$(BINDIR)/$(CONFIG)/fd_posix_test: openssl_dep_error -else +ifeq ($(NO_PROTOBUF),true) +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. -$(BINDIR)/$(CONFIG)/fd_posix_test: $(FD_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" +$(BINDIR)/$(CONFIG)/grpc_node_plugin: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/grpc_node_plugin: $(PROTOBUF_DEP) $(GRPC_NODE_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a + $(E) "[HOSTLD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(FD_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/fd_posix_test + $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_NODE_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_node_plugin endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/fd_posix_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/src/compiler/node_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a -deps_fd_posix_test: $(FD_POSIX_TEST_OBJS:.o=.dep) +deps_grpc_node_plugin: $(GRPC_NODE_PLUGIN_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FD_POSIX_TEST_OBJS:.o=.dep) -endif +-include $(GRPC_NODE_PLUGIN_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them -FLING_CLIENT_SRC = \ - test/core/fling/client.c \ -FLING_CLIENT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_CLIENT_SRC)))) -ifeq ($(NO_SECURE),true) +GRPC_OBJECTIVE_C_PLUGIN_SRC = \ + src/compiler/objective_c_plugin.cc \ -# You can't build secure targets if you don't have OpenSSL. +GRPC_OBJECTIVE_C_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_OBJECTIVE_C_PLUGIN_SRC)))) -$(BINDIR)/$(CONFIG)/fling_client: openssl_dep_error -else +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +$(BINDIR)/$(CONFIG)/grpc_objective_c_plugin: protobuf_dep_error -$(BINDIR)/$(CONFIG)/fling_client: $(FLING_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" +else + +$(BINDIR)/$(CONFIG)/grpc_objective_c_plugin: $(PROTOBUF_DEP) $(GRPC_OBJECTIVE_C_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a + $(E) "[HOSTLD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(FLING_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/fling_client + $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_OBJECTIVE_C_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_objective_c_plugin endif -$(OBJDIR)/$(CONFIG)/test/core/fling/client.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/src/compiler/objective_c_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a -deps_fling_client: $(FLING_CLIENT_OBJS:.o=.dep) +deps_grpc_objective_c_plugin: $(GRPC_OBJECTIVE_C_PLUGIN_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FLING_CLIENT_OBJS:.o=.dep) -endif +-include $(GRPC_OBJECTIVE_C_PLUGIN_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them -FLING_SERVER_SRC = \ - test/core/fling/server.c \ -FLING_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_SERVER_SRC)))) -ifeq ($(NO_SECURE),true) +GRPC_PYTHON_PLUGIN_SRC = \ + src/compiler/python_plugin.cc \ -# You can't build secure targets if you don't have OpenSSL. +GRPC_PYTHON_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_PYTHON_PLUGIN_SRC)))) -$(BINDIR)/$(CONFIG)/fling_server: openssl_dep_error -else +ifeq ($(NO_PROTOBUF),true) +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. -$(BINDIR)/$(CONFIG)/fling_server: $(FLING_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" +$(BINDIR)/$(CONFIG)/grpc_python_plugin: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/grpc_python_plugin: $(PROTOBUF_DEP) $(GRPC_PYTHON_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a + $(E) "[HOSTLD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(FLING_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/fling_server + $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_PYTHON_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_python_plugin endif -$(OBJDIR)/$(CONFIG)/test/core/fling/server.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/src/compiler/python_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a -deps_fling_server: $(FLING_SERVER_OBJS:.o=.dep) +deps_grpc_python_plugin: $(GRPC_PYTHON_PLUGIN_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FLING_SERVER_OBJS:.o=.dep) -endif +-include $(GRPC_PYTHON_PLUGIN_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them -FLING_STREAM_TEST_SRC = \ - test/core/fling/fling_stream_test.c \ -FLING_STREAM_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_STREAM_TEST_SRC)))) -ifeq ($(NO_SECURE),true) +GRPC_RUBY_PLUGIN_SRC = \ + src/compiler/ruby_plugin.cc \ -# You can't build secure targets if you don't have OpenSSL. +GRPC_RUBY_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_RUBY_PLUGIN_SRC)))) -$(BINDIR)/$(CONFIG)/fling_stream_test: openssl_dep_error -else +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +$(BINDIR)/$(CONFIG)/grpc_ruby_plugin: protobuf_dep_error -$(BINDIR)/$(CONFIG)/fling_stream_test: $(FLING_STREAM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" +else + +$(BINDIR)/$(CONFIG)/grpc_ruby_plugin: $(PROTOBUF_DEP) $(GRPC_RUBY_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a + $(E) "[HOSTLD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(FLING_STREAM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/fling_stream_test + $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_RUBY_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_ruby_plugin endif -$(OBJDIR)/$(CONFIG)/test/core/fling/fling_stream_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/src/compiler/ruby_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a -deps_fling_stream_test: $(FLING_STREAM_TEST_OBJS:.o=.dep) +deps_grpc_ruby_plugin: $(GRPC_RUBY_PLUGIN_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FLING_STREAM_TEST_OBJS:.o=.dep) -endif +-include $(GRPC_RUBY_PLUGIN_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them -FLING_TEST_SRC = \ - test/core/fling/fling_test.c \ -FLING_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_TEST_SRC)))) +GRPC_TOOL_TEST_SRC = \ + $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc \ + test/cpp/util/grpc_tool_test.cc \ + test/cpp/util/string_ref_helper.cc \ + +GRPC_TOOL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_TOOL_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/fling_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_tool_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/fling_test: $(FLING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/grpc_tool_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/grpc_tool_test: $(PROTOBUF_DEP) $(GRPC_TOOL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(FLING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/fling_test + $(Q) $(LDXX) $(LDFLAGS) $(GRPC_TOOL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/grpc_tool_test endif -$(OBJDIR)/$(CONFIG)/test/core/fling/fling_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_fling_test: $(FLING_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/echo.o: $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/echo_messages.o: $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +$(OBJDIR)/$(CONFIG)/test/cpp/util/grpc_tool_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +$(OBJDIR)/$(CONFIG)/test/cpp/util/string_ref_helper.o: $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_grpc_tool_test: $(GRPC_TOOL_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FLING_TEST_OBJS:.o=.dep) +-include $(GRPC_TOOL_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/util/grpc_tool_test.o: $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/util/string_ref_helper.o: $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc -GEN_HPACK_TABLES_SRC = \ - tools/codegen/core/gen_hpack_tables.c \ -GEN_HPACK_TABLES_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GEN_HPACK_TABLES_SRC)))) +GRPCLB_API_TEST_SRC = \ + $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc \ + test/cpp/grpclb/grpclb_api_test.cc \ + +GRPCLB_API_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPCLB_API_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gen_hpack_tables: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpclb_api_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gen_hpack_tables: $(GEN_HPACK_TABLES_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/grpclb_api_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/grpclb_api_test: $(PROTOBUF_DEP) $(GRPCLB_API_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GEN_HPACK_TABLES_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gen_hpack_tables + $(Q) $(LDXX) $(LDFLAGS) $(GRPCLB_API_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/grpclb_api_test endif -$(OBJDIR)/$(CONFIG)/tools/codegen/core/gen_hpack_tables.o: $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a +endif -deps_gen_hpack_tables: $(GEN_HPACK_TABLES_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/src/proto/grpc/lb/v1/load_balancer.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a + +$(OBJDIR)/$(CONFIG)/test/cpp/grpclb/grpclb_api_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a + +deps_grpclb_api_test: $(GRPCLB_API_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GEN_HPACK_TABLES_OBJS:.o=.dep) +-include $(GRPCLB_API_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/grpclb/grpclb_api_test.o: $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc -GEN_LEGAL_METADATA_CHARACTERS_SRC = \ - tools/codegen/core/gen_legal_metadata_characters.c \ -GEN_LEGAL_METADATA_CHARACTERS_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GEN_LEGAL_METADATA_CHARACTERS_SRC)))) +GRPCLB_TEST_SRC = \ + $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc \ + test/cpp/grpclb/grpclb_test.cc \ + +GRPCLB_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPCLB_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gen_legal_metadata_characters: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpclb_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gen_legal_metadata_characters: $(GEN_LEGAL_METADATA_CHARACTERS_OBJS) + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/grpclb_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/grpclb_test: $(PROTOBUF_DEP) $(GRPCLB_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GEN_LEGAL_METADATA_CHARACTERS_OBJS) $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gen_legal_metadata_characters + $(Q) $(LDXX) $(LDFLAGS) $(GRPCLB_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/grpclb_test endif -$(OBJDIR)/$(CONFIG)/tools/codegen/core/gen_legal_metadata_characters.o: +endif -deps_gen_legal_metadata_characters: $(GEN_LEGAL_METADATA_CHARACTERS_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/src/proto/grpc/lb/v1/load_balancer.o: $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a + +$(OBJDIR)/$(CONFIG)/test/cpp/grpclb/grpclb_test.o: $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a + +deps_grpclb_test: $(GRPCLB_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GEN_LEGAL_METADATA_CHARACTERS_OBJS:.o=.dep) +-include $(GRPCLB_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/grpclb/grpclb_test.o: $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc -GOAWAY_SERVER_TEST_SRC = \ - test/core/end2end/goaway_server_test.c \ -GOAWAY_SERVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GOAWAY_SERVER_TEST_SRC)))) +HYBRID_END2END_TEST_SRC = \ + test/cpp/end2end/hybrid_end2end_test.cc \ + +HYBRID_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HYBRID_END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/goaway_server_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/hybrid_end2end_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/goaway_server_test: $(GOAWAY_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/hybrid_end2end_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/hybrid_end2end_test: $(PROTOBUF_DEP) $(HYBRID_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GOAWAY_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/goaway_server_test + $(Q) $(LDXX) $(LDFLAGS) $(HYBRID_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/hybrid_end2end_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/goaway_server_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_goaway_server_test: $(GOAWAY_SERVER_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/hybrid_end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_hybrid_end2end_test: $(HYBRID_END2END_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GOAWAY_SERVER_TEST_OBJS:.o=.dep) +-include $(HYBRID_END2END_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_AVL_TEST_SRC = \ - test/core/support/avl_test.c \ -GPR_AVL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_AVL_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_avl_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/interop_client: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_avl_test: $(GPR_AVL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/interop_client: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/interop_client: $(LIBDIR)/$(CONFIG)/libinterop_client_main.a $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_AVL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_avl_test + $(Q) $(LDXX) $(LDFLAGS) $(LIBDIR)/$(CONFIG)/libinterop_client_main.a $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/interop_client endif -$(OBJDIR)/$(CONFIG)/test/core/support/avl_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_avl_test: $(GPR_AVL_TEST_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(GPR_AVL_TEST_OBJS:.o=.dep) -endif -endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_BACKOFF_TEST_SRC = \ - test/core/support/backoff_test.c \ -GPR_BACKOFF_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_BACKOFF_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_backoff_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/interop_server: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_backoff_test: $(GPR_BACKOFF_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/interop_server: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/interop_server: $(LIBDIR)/$(CONFIG)/libinterop_server_main.a $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_BACKOFF_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_backoff_test + $(Q) $(LDXX) $(LDFLAGS) $(LIBDIR)/$(CONFIG)/libinterop_server_main.a $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/interop_server endif -$(OBJDIR)/$(CONFIG)/test/core/support/backoff_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_backoff_test: $(GPR_BACKOFF_TEST_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(GPR_BACKOFF_TEST_OBJS:.o=.dep) -endif -endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_CMDLINE_TEST_SRC = \ - test/core/support/cmdline_test.c \ -GPR_CMDLINE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_CMDLINE_TEST_SRC)))) +INTEROP_TEST_SRC = \ + test/cpp/interop/interop_test.cc \ + +INTEROP_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_cmdline_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/interop_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_cmdline_test: $(GPR_CMDLINE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/interop_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/interop_test: $(PROTOBUF_DEP) $(INTEROP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_CMDLINE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_cmdline_test + $(Q) $(LDXX) $(LDFLAGS) $(INTEROP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/interop_test endif -$(OBJDIR)/$(CONFIG)/test/core/support/cmdline_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_cmdline_test: $(GPR_CMDLINE_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/interop/interop_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_interop_test: $(INTEROP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_CMDLINE_TEST_OBJS:.o=.dep) +-include $(INTEROP_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_CPU_TEST_SRC = \ - test/core/support/cpu_test.c \ -GPR_CPU_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_CPU_TEST_SRC)))) +JSON_RUN_LOCALHOST_SRC = \ + test/cpp/qps/json_run_localhost.cc \ + +JSON_RUN_LOCALHOST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_RUN_LOCALHOST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_cpu_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/json_run_localhost: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_cpu_test: $(GPR_CPU_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/json_run_localhost: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/json_run_localhost: $(PROTOBUF_DEP) $(JSON_RUN_LOCALHOST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_CPU_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_cpu_test + $(Q) $(LDXX) $(LDFLAGS) $(JSON_RUN_LOCALHOST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/json_run_localhost endif -$(OBJDIR)/$(CONFIG)/test/core/support/cpu_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_cpu_test: $(GPR_CPU_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/qps/json_run_localhost.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_json_run_localhost: $(JSON_RUN_LOCALHOST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_CPU_TEST_OBJS:.o=.dep) +-include $(JSON_RUN_LOCALHOST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_ENV_TEST_SRC = \ - test/core/support/env_test.c \ -GPR_ENV_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_ENV_TEST_SRC)))) +METRICS_CLIENT_SRC = \ + $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc \ + test/cpp/interop/metrics_client.cc \ + +METRICS_CLIENT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(METRICS_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_env_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/metrics_client: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_env_test: $(GPR_ENV_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/metrics_client: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/metrics_client: $(PROTOBUF_DEP) $(METRICS_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_ENV_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_env_test + $(Q) $(LDXX) $(LDFLAGS) $(METRICS_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/metrics_client endif -$(OBJDIR)/$(CONFIG)/test/core/support/env_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_env_test: $(GPR_ENV_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/metrics.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/test/cpp/interop/metrics_client.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_metrics_client: $(METRICS_CLIENT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_ENV_TEST_OBJS:.o=.dep) +-include $(METRICS_CLIENT_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/interop/metrics_client.o: $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc -GPR_HISTOGRAM_TEST_SRC = \ - test/core/support/histogram_test.c \ -GPR_HISTOGRAM_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_HISTOGRAM_TEST_SRC)))) +MOCK_TEST_SRC = \ + test/cpp/end2end/mock_test.cc \ + +MOCK_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(MOCK_TEST_SRC)))) ifeq ($(NO_SECURE),true) -# You can't build secure targets if you don't have OpenSSL. +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/mock_test: openssl_dep_error + +else + + -$(BINDIR)/$(CONFIG)/gpr_histogram_test: openssl_dep_error -else +ifeq ($(NO_PROTOBUF),true) +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +$(BINDIR)/$(CONFIG)/mock_test: protobuf_dep_error -$(BINDIR)/$(CONFIG)/gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +else + +$(BINDIR)/$(CONFIG)/mock_test: $(PROTOBUF_DEP) $(MOCK_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_HISTOGRAM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_histogram_test + $(Q) $(LDXX) $(LDFLAGS) $(MOCK_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/mock_test endif -$(OBJDIR)/$(CONFIG)/test/core/support/histogram_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/mock_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_mock_test: $(MOCK_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_HISTOGRAM_TEST_OBJS:.o=.dep) +-include $(MOCK_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_HOST_PORT_TEST_SRC = \ - test/core/support/host_port_test.c \ -GPR_HOST_PORT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_HOST_PORT_TEST_SRC)))) +PROTO_SERVER_REFLECTION_TEST_SRC = \ + test/cpp/end2end/proto_server_reflection_test.cc \ + test/cpp/util/proto_reflection_descriptor_database.cc \ + +PROTO_SERVER_REFLECTION_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(PROTO_SERVER_REFLECTION_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_host_port_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/proto_server_reflection_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_host_port_test: $(GPR_HOST_PORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/proto_server_reflection_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/proto_server_reflection_test: $(PROTOBUF_DEP) $(PROTO_SERVER_REFLECTION_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_HOST_PORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_host_port_test + $(Q) $(LDXX) $(LDFLAGS) $(PROTO_SERVER_REFLECTION_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/proto_server_reflection_test endif -$(OBJDIR)/$(CONFIG)/test/core/support/host_port_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_host_port_test: $(GPR_HOST_PORT_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/proto_server_reflection_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +$(OBJDIR)/$(CONFIG)/test/cpp/util/proto_reflection_descriptor_database.o: $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_proto_server_reflection_test: $(PROTO_SERVER_REFLECTION_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_HOST_PORT_TEST_OBJS:.o=.dep) +-include $(PROTO_SERVER_REFLECTION_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_LOG_TEST_SRC = \ - test/core/support/log_test.c \ -GPR_LOG_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_LOG_TEST_SRC)))) +QPS_INTERARRIVAL_TEST_SRC = \ + test/cpp/qps/qps_interarrival_test.cc \ + +QPS_INTERARRIVAL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_INTERARRIVAL_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_log_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/qps_interarrival_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_log_test: $(GPR_LOG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/qps_interarrival_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/qps_interarrival_test: $(PROTOBUF_DEP) $(QPS_INTERARRIVAL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_LOG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_log_test + $(Q) $(LDXX) $(LDFLAGS) $(QPS_INTERARRIVAL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/qps_interarrival_test endif -$(OBJDIR)/$(CONFIG)/test/core/support/log_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_log_test: $(GPR_LOG_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_interarrival_test.o: $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_qps_interarrival_test: $(QPS_INTERARRIVAL_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_LOG_TEST_OBJS:.o=.dep) +-include $(QPS_INTERARRIVAL_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_SLICE_BUFFER_TEST_SRC = \ - test/core/support/slice_buffer_test.c \ -GPR_SLICE_BUFFER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SLICE_BUFFER_TEST_SRC)))) +QPS_JSON_DRIVER_SRC = \ + test/cpp/qps/qps_json_driver.cc \ + +QPS_JSON_DRIVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_JSON_DRIVER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_slice_buffer_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/qps_json_driver: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_slice_buffer_test: $(GPR_SLICE_BUFFER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/qps_json_driver: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/qps_json_driver: $(PROTOBUF_DEP) $(QPS_JSON_DRIVER_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_SLICE_BUFFER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_slice_buffer_test + $(Q) $(LDXX) $(LDFLAGS) $(QPS_JSON_DRIVER_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/qps_json_driver endif -$(OBJDIR)/$(CONFIG)/test/core/support/slice_buffer_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_slice_buffer_test: $(GPR_SLICE_BUFFER_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_json_driver.o: $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_qps_json_driver: $(QPS_JSON_DRIVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_SLICE_BUFFER_TEST_OBJS:.o=.dep) +-include $(QPS_JSON_DRIVER_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_SLICE_TEST_SRC = \ - test/core/support/slice_test.c \ -GPR_SLICE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SLICE_TEST_SRC)))) +QPS_OPENLOOP_TEST_SRC = \ + test/cpp/qps/qps_openloop_test.cc \ + +QPS_OPENLOOP_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_OPENLOOP_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_slice_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/qps_openloop_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_slice_test: $(GPR_SLICE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/qps_openloop_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/qps_openloop_test: $(PROTOBUF_DEP) $(QPS_OPENLOOP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_SLICE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_slice_test + $(Q) $(LDXX) $(LDFLAGS) $(QPS_OPENLOOP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/qps_openloop_test endif -$(OBJDIR)/$(CONFIG)/test/core/support/slice_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_slice_test: $(GPR_SLICE_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_openloop_test.o: $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_qps_openloop_test: $(QPS_OPENLOOP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_SLICE_TEST_OBJS:.o=.dep) +-include $(QPS_OPENLOOP_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_STACK_LOCKFREE_TEST_SRC = \ - test/core/support/stack_lockfree_test.c \ -GPR_STACK_LOCKFREE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_STACK_LOCKFREE_TEST_SRC)))) +QPS_WORKER_SRC = \ + test/cpp/qps/worker.cc \ + +QPS_WORKER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_WORKER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_stack_lockfree_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/qps_worker: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_stack_lockfree_test: $(GPR_STACK_LOCKFREE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/qps_worker: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/qps_worker: $(PROTOBUF_DEP) $(QPS_WORKER_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_STACK_LOCKFREE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_stack_lockfree_test + $(Q) $(LDXX) $(LDFLAGS) $(QPS_WORKER_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/qps_worker endif -$(OBJDIR)/$(CONFIG)/test/core/support/stack_lockfree_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_stack_lockfree_test: $(GPR_STACK_LOCKFREE_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/qps/worker.o: $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_qps_worker: $(QPS_WORKER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_STACK_LOCKFREE_TEST_OBJS:.o=.dep) +-include $(QPS_WORKER_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_STRING_TEST_SRC = \ - test/core/support/string_test.c \ -GPR_STRING_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_STRING_TEST_SRC)))) +RECONNECT_INTEROP_CLIENT_SRC = \ + $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc \ + test/cpp/interop/reconnect_interop_client.cc \ + +RECONNECT_INTEROP_CLIENT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(RECONNECT_INTEROP_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_string_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/reconnect_interop_client: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_string_test: $(GPR_STRING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/reconnect_interop_client: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/reconnect_interop_client: $(PROTOBUF_DEP) $(RECONNECT_INTEROP_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_STRING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_string_test + $(Q) $(LDXX) $(LDFLAGS) $(RECONNECT_INTEROP_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/reconnect_interop_client endif -$(OBJDIR)/$(CONFIG)/test/core/support/string_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_string_test: $(GPR_STRING_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/empty.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/messages.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/test/cpp/interop/reconnect_interop_client.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_reconnect_interop_client: $(RECONNECT_INTEROP_CLIENT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_STRING_TEST_OBJS:.o=.dep) +-include $(RECONNECT_INTEROP_CLIENT_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/interop/reconnect_interop_client.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc -GPR_SYNC_TEST_SRC = \ - test/core/support/sync_test.c \ -GPR_SYNC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SYNC_TEST_SRC)))) +RECONNECT_INTEROP_SERVER_SRC = \ + $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc \ + test/cpp/interop/reconnect_interop_server.cc \ + +RECONNECT_INTEROP_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(RECONNECT_INTEROP_SERVER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_sync_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/reconnect_interop_server: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_sync_test: $(GPR_SYNC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/reconnect_interop_server: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/reconnect_interop_server: $(PROTOBUF_DEP) $(RECONNECT_INTEROP_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_SYNC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_sync_test + $(Q) $(LDXX) $(LDFLAGS) $(RECONNECT_INTEROP_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/reconnect_interop_server endif -$(OBJDIR)/$(CONFIG)/test/core/support/sync_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_sync_test: $(GPR_SYNC_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/empty.o: $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/messages.o: $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/test.o: $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/test/cpp/interop/reconnect_interop_server.o: $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_reconnect_interop_server: $(RECONNECT_INTEROP_SERVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_SYNC_TEST_OBJS:.o=.dep) +-include $(RECONNECT_INTEROP_SERVER_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/interop/reconnect_interop_server.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc -GPR_THD_TEST_SRC = \ - test/core/support/thd_test.c \ -GPR_THD_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_THD_TEST_SRC)))) +SECURE_AUTH_CONTEXT_TEST_SRC = \ + test/cpp/common/secure_auth_context_test.cc \ + +SECURE_AUTH_CONTEXT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SECURE_AUTH_CONTEXT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_thd_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/secure_auth_context_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_thd_test: $(GPR_THD_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/secure_auth_context_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/secure_auth_context_test: $(PROTOBUF_DEP) $(SECURE_AUTH_CONTEXT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_THD_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_thd_test + $(Q) $(LDXX) $(LDFLAGS) $(SECURE_AUTH_CONTEXT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/secure_auth_context_test endif -$(OBJDIR)/$(CONFIG)/test/core/support/thd_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_thd_test: $(GPR_THD_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/common/secure_auth_context_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_secure_auth_context_test: $(SECURE_AUTH_CONTEXT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_THD_TEST_OBJS:.o=.dep) +-include $(SECURE_AUTH_CONTEXT_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_TIME_TEST_SRC = \ - test/core/support/time_test.c \ -GPR_TIME_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_TIME_TEST_SRC)))) +SECURE_SYNC_UNARY_PING_PONG_TEST_SRC = \ + test/cpp/qps/secure_sync_unary_ping_pong_test.cc \ + +SECURE_SYNC_UNARY_PING_PONG_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SECURE_SYNC_UNARY_PING_PONG_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_time_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_time_test: $(GPR_TIME_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test: $(PROTOBUF_DEP) $(SECURE_SYNC_UNARY_PING_PONG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_TIME_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_time_test + $(Q) $(LDXX) $(LDFLAGS) $(SECURE_SYNC_UNARY_PING_PONG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test endif -$(OBJDIR)/$(CONFIG)/test/core/support/time_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_time_test: $(GPR_TIME_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/qps/secure_sync_unary_ping_pong_test.o: $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_secure_sync_unary_ping_pong_test: $(SECURE_SYNC_UNARY_PING_PONG_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_TIME_TEST_OBJS:.o=.dep) +-include $(SECURE_SYNC_UNARY_PING_PONG_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_TLS_TEST_SRC = \ - test/core/support/tls_test.c \ -GPR_TLS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_TLS_TEST_SRC)))) +SERVER_BUILDER_PLUGIN_TEST_SRC = \ + test/cpp/end2end/server_builder_plugin_test.cc \ + +SERVER_BUILDER_PLUGIN_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_BUILDER_PLUGIN_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_tls_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/server_builder_plugin_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_tls_test: $(GPR_TLS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/server_builder_plugin_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/server_builder_plugin_test: $(PROTOBUF_DEP) $(SERVER_BUILDER_PLUGIN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_TLS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_tls_test + $(Q) $(LDXX) $(LDFLAGS) $(SERVER_BUILDER_PLUGIN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/server_builder_plugin_test endif -$(OBJDIR)/$(CONFIG)/test/core/support/tls_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_tls_test: $(GPR_TLS_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/server_builder_plugin_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_server_builder_plugin_test: $(SERVER_BUILDER_PLUGIN_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_TLS_TEST_OBJS:.o=.dep) +-include $(SERVER_BUILDER_PLUGIN_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GPR_USEFUL_TEST_SRC = \ - test/core/support/useful_test.c \ -GPR_USEFUL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_USEFUL_TEST_SRC)))) +SERVER_CRASH_TEST_SRC = \ + test/cpp/end2end/server_crash_test.cc \ + +SERVER_CRASH_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_CRASH_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/gpr_useful_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/server_crash_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/gpr_useful_test: $(GPR_USEFUL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/server_crash_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/server_crash_test: $(PROTOBUF_DEP) $(SERVER_CRASH_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_USEFUL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_useful_test + $(Q) $(LDXX) $(LDFLAGS) $(SERVER_CRASH_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/server_crash_test endif -$(OBJDIR)/$(CONFIG)/test/core/support/useful_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_gpr_useful_test: $(GPR_USEFUL_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/server_crash_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_server_crash_test: $(SERVER_CRASH_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_USEFUL_TEST_OBJS:.o=.dep) +-include $(SERVER_CRASH_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_AUTH_CONTEXT_TEST_SRC = \ - test/core/security/auth_context_test.c \ -GRPC_AUTH_CONTEXT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_AUTH_CONTEXT_TEST_SRC)))) +SERVER_CRASH_TEST_CLIENT_SRC = \ + test/cpp/end2end/server_crash_test_client.cc \ + +SERVER_CRASH_TEST_CLIENT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_CRASH_TEST_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_auth_context_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/server_crash_test_client: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_auth_context_test: $(GRPC_AUTH_CONTEXT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/server_crash_test_client: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/server_crash_test_client: $(PROTOBUF_DEP) $(SERVER_CRASH_TEST_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_AUTH_CONTEXT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_auth_context_test + $(Q) $(LDXX) $(LDFLAGS) $(SERVER_CRASH_TEST_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/server_crash_test_client endif -$(OBJDIR)/$(CONFIG)/test/core/security/auth_context_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_grpc_auth_context_test: $(GRPC_AUTH_CONTEXT_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/server_crash_test_client.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_server_crash_test_client: $(SERVER_CRASH_TEST_CLIENT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_AUTH_CONTEXT_TEST_OBJS:.o=.dep) +-include $(SERVER_CRASH_TEST_CLIENT_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_B64_TEST_SRC = \ - test/core/security/b64_test.c \ -GRPC_B64_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_B64_TEST_SRC)))) +SHUTDOWN_TEST_SRC = \ + test/cpp/end2end/shutdown_test.cc \ + +SHUTDOWN_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SHUTDOWN_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_b64_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/shutdown_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_b64_test: $(GRPC_B64_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/shutdown_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/shutdown_test: $(PROTOBUF_DEP) $(SHUTDOWN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_B64_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_b64_test + $(Q) $(LDXX) $(LDFLAGS) $(SHUTDOWN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/shutdown_test endif -$(OBJDIR)/$(CONFIG)/test/core/security/b64_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_grpc_b64_test: $(GRPC_B64_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/shutdown_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_shutdown_test: $(SHUTDOWN_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_B64_TEST_OBJS:.o=.dep) +-include $(SHUTDOWN_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_BYTE_BUFFER_READER_TEST_SRC = \ - test/core/surface/byte_buffer_reader_test.c \ -GRPC_BYTE_BUFFER_READER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_BYTE_BUFFER_READER_TEST_SRC)))) +STATUS_TEST_SRC = \ + test/cpp/util/status_test.cc \ + +STATUS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(STATUS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_byte_buffer_reader_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/status_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_byte_buffer_reader_test: $(GRPC_BYTE_BUFFER_READER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/status_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/status_test: $(PROTOBUF_DEP) $(STATUS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_BYTE_BUFFER_READER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_byte_buffer_reader_test + $(Q) $(LDXX) $(LDFLAGS) $(STATUS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/status_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/byte_buffer_reader_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_grpc_byte_buffer_reader_test: $(GRPC_BYTE_BUFFER_READER_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/util/status_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_status_test: $(STATUS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_BYTE_BUFFER_READER_TEST_OBJS:.o=.dep) +-include $(STATUS_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_CHANNEL_ARGS_TEST_SRC = \ - test/core/channel/channel_args_test.c \ -GRPC_CHANNEL_ARGS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CHANNEL_ARGS_TEST_SRC)))) +STREAMING_THROUGHPUT_TEST_SRC = \ + test/cpp/end2end/streaming_throughput_test.cc \ + +STREAMING_THROUGHPUT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(STREAMING_THROUGHPUT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_channel_args_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/streaming_throughput_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_channel_args_test: $(GRPC_CHANNEL_ARGS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/streaming_throughput_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/streaming_throughput_test: $(PROTOBUF_DEP) $(STREAMING_THROUGHPUT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_CHANNEL_ARGS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_channel_args_test + $(Q) $(LDXX) $(LDFLAGS) $(STREAMING_THROUGHPUT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/streaming_throughput_test endif -$(OBJDIR)/$(CONFIG)/test/core/channel/channel_args_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_grpc_channel_args_test: $(GRPC_CHANNEL_ARGS_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/streaming_throughput_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_streaming_throughput_test: $(STREAMING_THROUGHPUT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_CHANNEL_ARGS_TEST_OBJS:.o=.dep) +-include $(STREAMING_THROUGHPUT_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_CHANNEL_STACK_TEST_SRC = \ - test/core/channel/channel_stack_test.c \ -GRPC_CHANNEL_STACK_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CHANNEL_STACK_TEST_SRC)))) +STRESS_TEST_SRC = \ + $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc \ + test/cpp/interop/interop_client.cc \ + test/cpp/interop/stress_interop_client.cc \ + test/cpp/interop/stress_test.cc \ + test/cpp/util/metrics_server.cc \ + +STRESS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) -# You can't build secure targets if you don't have OpenSSL. +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/stress_test: openssl_dep_error + +else + + -$(BINDIR)/$(CONFIG)/grpc_channel_stack_test: openssl_dep_error -else +ifeq ($(NO_PROTOBUF),true) +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +$(BINDIR)/$(CONFIG)/stress_test: protobuf_dep_error -$(BINDIR)/$(CONFIG)/grpc_channel_stack_test: $(GRPC_CHANNEL_STACK_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +else + +$(BINDIR)/$(CONFIG)/stress_test: $(PROTOBUF_DEP) $(STRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_CHANNEL_STACK_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_channel_stack_test + $(Q) $(LDXX) $(LDFLAGS) $(STRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/stress_test endif -$(OBJDIR)/$(CONFIG)/test/core/channel/channel_stack_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_grpc_channel_stack_test: $(GRPC_CHANNEL_STACK_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/empty.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/messages.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/metrics.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/test/cpp/interop/interop_client.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/test/cpp/interop/stress_interop_client.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/test/cpp/interop/stress_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +$(OBJDIR)/$(CONFIG)/test/cpp/util/metrics_server.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a + +deps_stress_test: $(STRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_CHANNEL_STACK_TEST_OBJS:.o=.dep) +-include $(STRESS_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + $(OBJDIR)/$(CONFIG)/test/cpp/interop/interop_client.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/interop/stress_interop_client.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/interop/stress_test.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc + $(OBJDIR)/$(CONFIG)/test/cpp/util/metrics_server.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc -GRPC_COMPLETION_QUEUE_TEST_SRC = \ - test/core/surface/completion_queue_test.c \ -GRPC_COMPLETION_QUEUE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_COMPLETION_QUEUE_TEST_SRC)))) +THREAD_STRESS_TEST_SRC = \ + test/cpp/end2end/thread_stress_test.cc \ + +THREAD_STRESS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_completion_queue_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/thread_stress_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_completion_queue_test: $(GRPC_COMPLETION_QUEUE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/thread_stress_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/thread_stress_test: $(PROTOBUF_DEP) $(THREAD_STRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_COMPLETION_QUEUE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_completion_queue_test + $(Q) $(LDXX) $(LDFLAGS) $(THREAD_STRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/thread_stress_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/completion_queue_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_grpc_completion_queue_test: $(GRPC_COMPLETION_QUEUE_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/cpp/end2end/thread_stress_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_thread_stress_test: $(THREAD_STRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_COMPLETION_QUEUE_TEST_OBJS:.o=.dep) +-include $(THREAD_STRESS_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_CREATE_JWT_SRC = \ - test/core/security/create_jwt.c \ -GRPC_CREATE_JWT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CREATE_JWT_SRC)))) +PUBLIC_HEADERS_MUST_BE_C89_SRC = \ + test/core/surface/public_headers_must_be_c89.c \ + +PUBLIC_HEADERS_MUST_BE_C89_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(PUBLIC_HEADERS_MUST_BE_C89_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_create_jwt: openssl_dep_error +$(BINDIR)/$(CONFIG)/public_headers_must_be_c89: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_create_jwt: $(GRPC_CREATE_JWT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/public_headers_must_be_c89: $(PUBLIC_HEADERS_MUST_BE_C89_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_CREATE_JWT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_create_jwt + $(Q) $(LD) $(LDFLAGS) $(PUBLIC_HEADERS_MUST_BE_C89_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/public_headers_must_be_c89 endif -$(OBJDIR)/$(CONFIG)/test/core/security/create_jwt.o: $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/surface/public_headers_must_be_c89.o: $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/surface/public_headers_must_be_c89.o : test/core/surface/public_headers_must_be_c89.c + $(E) "[C] Compiling $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(CC) $(CPPFLAGS) $(CFLAGS) -std=c89 -pedantic -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< -deps_grpc_create_jwt: $(GRPC_CREATE_JWT_OBJS:.o=.dep) +deps_public_headers_must_be_c89: $(PUBLIC_HEADERS_MUST_BE_C89_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_CREATE_JWT_OBJS:.o=.dep) +-include $(PUBLIC_HEADERS_MUST_BE_C89_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_CREDENTIALS_TEST_SRC = \ - test/core/security/credentials_test.c \ -GRPC_CREDENTIALS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CREDENTIALS_TEST_SRC)))) +ALARM_TEST_SRC = \ + test/core/surface/alarm_test.c \ + +ALARM_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_credentials_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/alarm_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_credentials_test: $(GRPC_CREDENTIALS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/alarm_test: $(ALARM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_CREDENTIALS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_credentials_test + $(Q) $(LD) $(LDFLAGS) $(ALARM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/alarm_test endif -$(OBJDIR)/$(CONFIG)/test/core/security/credentials_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/surface/alarm_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_credentials_test: $(GRPC_CREDENTIALS_TEST_OBJS:.o=.dep) +deps_alarm_test: $(ALARM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_CREDENTIALS_TEST_OBJS:.o=.dep) +-include $(ALARM_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_FETCH_OAUTH2_SRC = \ - test/core/security/fetch_oauth2.c \ -GRPC_FETCH_OAUTH2_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_FETCH_OAUTH2_SRC)))) +ALGORITHM_TEST_SRC = \ + test/core/compression/algorithm_test.c \ + +ALGORITHM_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ALGORITHM_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_fetch_oauth2: openssl_dep_error +$(BINDIR)/$(CONFIG)/algorithm_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_fetch_oauth2: $(GRPC_FETCH_OAUTH2_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/algorithm_test: $(ALGORITHM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_FETCH_OAUTH2_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_fetch_oauth2 + $(Q) $(LD) $(LDFLAGS) $(ALGORITHM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/algorithm_test endif -$(OBJDIR)/$(CONFIG)/test/core/security/fetch_oauth2.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/compression/algorithm_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_fetch_oauth2: $(GRPC_FETCH_OAUTH2_OBJS:.o=.dep) +deps_algorithm_test: $(ALGORITHM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_FETCH_OAUTH2_OBJS:.o=.dep) +-include $(ALGORITHM_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_INVALID_CHANNEL_ARGS_TEST_SRC = \ - test/core/surface/invalid_channel_args_test.c \ -GRPC_INVALID_CHANNEL_ARGS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_INVALID_CHANNEL_ARGS_TEST_SRC)))) +ALLOC_TEST_SRC = \ + test/core/support/alloc_test.c \ + +ALLOC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ALLOC_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_invalid_channel_args_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/alloc_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_invalid_channel_args_test: $(GRPC_INVALID_CHANNEL_ARGS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/alloc_test: $(ALLOC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_INVALID_CHANNEL_ARGS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_invalid_channel_args_test + $(Q) $(LD) $(LDFLAGS) $(ALLOC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/alloc_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/invalid_channel_args_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/alloc_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_invalid_channel_args_test: $(GRPC_INVALID_CHANNEL_ARGS_TEST_OBJS:.o=.dep) +deps_alloc_test: $(ALLOC_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_INVALID_CHANNEL_ARGS_TEST_OBJS:.o=.dep) +-include $(ALLOC_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_JSON_TOKEN_TEST_SRC = \ - test/core/security/json_token_test.c \ -GRPC_JSON_TOKEN_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_JSON_TOKEN_TEST_SRC)))) +ALPN_TEST_SRC = \ + test/core/transport/chttp2/alpn_test.c \ + +ALPN_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ALPN_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_json_token_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/alpn_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_json_token_test: $(GRPC_JSON_TOKEN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/alpn_test: $(ALPN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_JSON_TOKEN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_json_token_test + $(Q) $(LD) $(LDFLAGS) $(ALPN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/alpn_test endif -$(OBJDIR)/$(CONFIG)/test/core/security/json_token_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/alpn_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_json_token_test: $(GRPC_JSON_TOKEN_TEST_OBJS:.o=.dep) +deps_alpn_test: $(ALPN_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_JSON_TOKEN_TEST_OBJS:.o=.dep) +-include $(ALPN_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_JWT_VERIFIER_TEST_SRC = \ - test/core/security/jwt_verifier_test.c \ -GRPC_JWT_VERIFIER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_JWT_VERIFIER_TEST_SRC)))) +API_FUZZER_SRC = \ + test/core/end2end/fuzzers/api_fuzzer.c \ + +API_FUZZER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(API_FUZZER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_jwt_verifier_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/api_fuzzer: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_jwt_verifier_test: $(GRPC_JWT_VERIFIER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/api_fuzzer: $(API_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_JWT_VERIFIER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_jwt_verifier_test + $(Q) $(LDXX) $(LDFLAGS) $(API_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/api_fuzzer endif -$(OBJDIR)/$(CONFIG)/test/core/security/jwt_verifier_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fuzzers/api_fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_jwt_verifier_test: $(GRPC_JWT_VERIFIER_TEST_OBJS:.o=.dep) +deps_api_fuzzer: $(API_FUZZER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_JWT_VERIFIER_TEST_OBJS:.o=.dep) +-include $(API_FUZZER_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_SRC = \ - test/core/security/print_google_default_creds_token.c \ -GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_SRC)))) +BAD_SERVER_RESPONSE_TEST_SRC = \ + test/core/end2end/bad_server_response_test.c \ + +BAD_SERVER_RESPONSE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BAD_SERVER_RESPONSE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_print_google_default_creds_token: openssl_dep_error +$(BINDIR)/$(CONFIG)/bad_server_response_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_print_google_default_creds_token: $(GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/bad_server_response_test: $(BAD_SERVER_RESPONSE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_print_google_default_creds_token + $(Q) $(LD) $(LDFLAGS) $(BAD_SERVER_RESPONSE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bad_server_response_test endif -$(OBJDIR)/$(CONFIG)/test/core/security/print_google_default_creds_token.o: $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/bad_server_response_test.o: $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_print_google_default_creds_token: $(GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_OBJS:.o=.dep) +deps_bad_server_response_test: $(BAD_SERVER_RESPONSE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_OBJS:.o=.dep) +-include $(BAD_SERVER_RESPONSE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_SECURITY_CONNECTOR_TEST_SRC = \ - test/core/security/security_connector_test.c \ -GRPC_SECURITY_CONNECTOR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_SECURITY_CONNECTOR_TEST_SRC)))) +BIN_DECODER_TEST_SRC = \ + test/core/transport/chttp2/bin_decoder_test.c \ + +BIN_DECODER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BIN_DECODER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_security_connector_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/bin_decoder_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_security_connector_test: $(GRPC_SECURITY_CONNECTOR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/bin_decoder_test: $(BIN_DECODER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_SECURITY_CONNECTOR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_security_connector_test + $(Q) $(LD) $(LDFLAGS) $(BIN_DECODER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bin_decoder_test endif -$(OBJDIR)/$(CONFIG)/test/core/security/security_connector_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/bin_decoder_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a -deps_grpc_security_connector_test: $(GRPC_SECURITY_CONNECTOR_TEST_OBJS:.o=.dep) +deps_bin_decoder_test: $(BIN_DECODER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_SECURITY_CONNECTOR_TEST_OBJS:.o=.dep) +-include $(BIN_DECODER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_VERIFY_JWT_SRC = \ - test/core/security/verify_jwt.c \ -GRPC_VERIFY_JWT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_VERIFY_JWT_SRC)))) +BIN_ENCODER_TEST_SRC = \ + test/core/transport/chttp2/bin_encoder_test.c \ + +BIN_ENCODER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BIN_ENCODER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_verify_jwt: openssl_dep_error +$(BINDIR)/$(CONFIG)/bin_encoder_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/grpc_verify_jwt: $(GRPC_VERIFY_JWT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/bin_encoder_test: $(BIN_ENCODER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_VERIFY_JWT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_verify_jwt + $(Q) $(LD) $(LDFLAGS) $(BIN_ENCODER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bin_encoder_test endif -$(OBJDIR)/$(CONFIG)/test/core/security/verify_jwt.o: $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/bin_encoder_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a -deps_grpc_verify_jwt: $(GRPC_VERIFY_JWT_OBJS:.o=.dep) +deps_bin_encoder_test: $(BIN_ENCODER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_VERIFY_JWT_OBJS:.o=.dep) +-include $(BIN_ENCODER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -HPACK_PARSER_FUZZER_TEST_SRC = \ - test/core/transport/chttp2/hpack_parser_fuzzer_test.c \ -HPACK_PARSER_FUZZER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_PARSER_FUZZER_TEST_SRC)))) +CENSUS_CONTEXT_TEST_SRC = \ + test/core/census/context_test.c \ + +CENSUS_CONTEXT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_CONTEXT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/census_context_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test: $(HPACK_PARSER_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/census_context_test: $(CENSUS_CONTEXT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(HPACK_PARSER_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test + $(Q) $(LD) $(LDFLAGS) $(CENSUS_CONTEXT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/census_context_test endif -$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/hpack_parser_fuzzer_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/census/context_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_hpack_parser_fuzzer_test: $(HPACK_PARSER_FUZZER_TEST_OBJS:.o=.dep) +deps_census_context_test: $(CENSUS_CONTEXT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HPACK_PARSER_FUZZER_TEST_OBJS:.o=.dep) +-include $(CENSUS_CONTEXT_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -HPACK_PARSER_TEST_SRC = \ - test/core/transport/chttp2/hpack_parser_test.c \ -HPACK_PARSER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_PARSER_TEST_SRC)))) +CENSUS_RESOURCE_TEST_SRC = \ + test/core/census/resource_test.c \ + +CENSUS_RESOURCE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_RESOURCE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/hpack_parser_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/census_resource_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/hpack_parser_test: $(HPACK_PARSER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/census_resource_test: $(CENSUS_RESOURCE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(HPACK_PARSER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/hpack_parser_test + $(Q) $(LD) $(LDFLAGS) $(CENSUS_RESOURCE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/census_resource_test endif -$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/hpack_parser_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/census/resource_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_hpack_parser_test: $(HPACK_PARSER_TEST_OBJS:.o=.dep) +deps_census_resource_test: $(CENSUS_RESOURCE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HPACK_PARSER_TEST_OBJS:.o=.dep) +-include $(CENSUS_RESOURCE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -HPACK_TABLE_TEST_SRC = \ - test/core/transport/chttp2/hpack_table_test.c \ -HPACK_TABLE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_TABLE_TEST_SRC)))) +CHANNEL_CREATE_TEST_SRC = \ + test/core/surface/channel_create_test.c \ + +CHANNEL_CREATE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHANNEL_CREATE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/hpack_table_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/channel_create_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/hpack_table_test: $(HPACK_TABLE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/channel_create_test: $(CHANNEL_CREATE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(HPACK_TABLE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/hpack_table_test + $(Q) $(LD) $(LDFLAGS) $(CHANNEL_CREATE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/channel_create_test endif -$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/hpack_table_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/surface/channel_create_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_hpack_table_test: $(HPACK_TABLE_TEST_OBJS:.o=.dep) +deps_channel_create_test: $(CHANNEL_CREATE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HPACK_TABLE_TEST_OBJS:.o=.dep) +-include $(CHANNEL_CREATE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -HTTP_PARSER_TEST_SRC = \ - test/core/http/parser_test.c \ -HTTP_PARSER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTP_PARSER_TEST_SRC)))) +CHTTP2_HPACK_ENCODER_TEST_SRC = \ + test/core/transport/chttp2/hpack_encoder_test.c \ + +CHTTP2_HPACK_ENCODER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_HPACK_ENCODER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/http_parser_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/chttp2_hpack_encoder_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/http_parser_test: $(HTTP_PARSER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/chttp2_hpack_encoder_test: $(CHTTP2_HPACK_ENCODER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(HTTP_PARSER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/http_parser_test + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_HPACK_ENCODER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_hpack_encoder_test endif -$(OBJDIR)/$(CONFIG)/test/core/http/parser_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/hpack_encoder_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_http_parser_test: $(HTTP_PARSER_TEST_OBJS:.o=.dep) +deps_chttp2_hpack_encoder_test: $(CHTTP2_HPACK_ENCODER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HTTP_PARSER_TEST_OBJS:.o=.dep) +-include $(CHTTP2_HPACK_ENCODER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -HTTP_REQUEST_FUZZER_TEST_SRC = \ - test/core/http/request_fuzzer.c \ -HTTP_REQUEST_FUZZER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTP_REQUEST_FUZZER_TEST_SRC)))) +CHTTP2_STATUS_CONVERSION_TEST_SRC = \ + test/core/transport/chttp2/status_conversion_test.c \ + +CHTTP2_STATUS_CONVERSION_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_STATUS_CONVERSION_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/http_request_fuzzer_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/chttp2_status_conversion_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/http_request_fuzzer_test: $(HTTP_REQUEST_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/chttp2_status_conversion_test: $(CHTTP2_STATUS_CONVERSION_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(HTTP_REQUEST_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/http_request_fuzzer_test + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_STATUS_CONVERSION_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_status_conversion_test endif -$(OBJDIR)/$(CONFIG)/test/core/http/request_fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/status_conversion_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_http_request_fuzzer_test: $(HTTP_REQUEST_FUZZER_TEST_OBJS:.o=.dep) +deps_chttp2_status_conversion_test: $(CHTTP2_STATUS_CONVERSION_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HTTP_REQUEST_FUZZER_TEST_OBJS:.o=.dep) +-include $(CHTTP2_STATUS_CONVERSION_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -HTTP_RESPONSE_FUZZER_TEST_SRC = \ - test/core/http/response_fuzzer.c \ -HTTP_RESPONSE_FUZZER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTP_RESPONSE_FUZZER_TEST_SRC)))) +CHTTP2_STREAM_MAP_TEST_SRC = \ + test/core/transport/chttp2/stream_map_test.c \ + +CHTTP2_STREAM_MAP_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_STREAM_MAP_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/http_response_fuzzer_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/chttp2_stream_map_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/http_response_fuzzer_test: $(HTTP_RESPONSE_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/chttp2_stream_map_test: $(CHTTP2_STREAM_MAP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(HTTP_RESPONSE_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/http_response_fuzzer_test + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_STREAM_MAP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_stream_map_test endif -$(OBJDIR)/$(CONFIG)/test/core/http/response_fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/stream_map_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_http_response_fuzzer_test: $(HTTP_RESPONSE_FUZZER_TEST_OBJS:.o=.dep) +deps_chttp2_stream_map_test: $(CHTTP2_STREAM_MAP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HTTP_RESPONSE_FUZZER_TEST_OBJS:.o=.dep) +-include $(CHTTP2_STREAM_MAP_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -HTTPCLI_FORMAT_REQUEST_TEST_SRC = \ - test/core/http/format_request_test.c \ -HTTPCLI_FORMAT_REQUEST_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_FORMAT_REQUEST_TEST_SRC)))) +CHTTP2_VARINT_TEST_SRC = \ + test/core/transport/chttp2/varint_test.c \ + +CHTTP2_VARINT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_VARINT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/httpcli_format_request_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/chttp2_varint_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/httpcli_format_request_test: $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/chttp2_varint_test: $(CHTTP2_VARINT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/httpcli_format_request_test + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_VARINT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/chttp2_varint_test endif -$(OBJDIR)/$(CONFIG)/test/core/http/format_request_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/varint_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_httpcli_format_request_test: $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS:.o=.dep) +deps_chttp2_varint_test: $(CHTTP2_VARINT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS:.o=.dep) +-include $(CHTTP2_VARINT_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -HTTPCLI_TEST_SRC = \ - test/core/http/httpcli_test.c \ -HTTPCLI_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_TEST_SRC)))) +CLIENT_FUZZER_SRC = \ + test/core/end2end/fuzzers/client_fuzzer.c \ + +CLIENT_FUZZER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CLIENT_FUZZER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/httpcli_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/client_fuzzer: openssl_dep_error else -$(BINDIR)/$(CONFIG)/httpcli_test: $(HTTPCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/client_fuzzer: $(CLIENT_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(HTTPCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/httpcli_test + $(Q) $(LDXX) $(LDFLAGS) $(CLIENT_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/client_fuzzer endif -$(OBJDIR)/$(CONFIG)/test/core/http/httpcli_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fuzzers/client_fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_httpcli_test: $(HTTPCLI_TEST_OBJS:.o=.dep) +deps_client_fuzzer: $(CLIENT_FUZZER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HTTPCLI_TEST_OBJS:.o=.dep) +-include $(CLIENT_FUZZER_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -HTTPSCLI_TEST_SRC = \ - test/core/http/httpscli_test.c \ -HTTPSCLI_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPSCLI_TEST_SRC)))) +COMPRESSION_TEST_SRC = \ + test/core/compression/compression_test.c \ + +COMPRESSION_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(COMPRESSION_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/httpscli_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/compression_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/httpscli_test: $(HTTPSCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/compression_test: $(COMPRESSION_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(HTTPSCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/httpscli_test + $(Q) $(LD) $(LDFLAGS) $(COMPRESSION_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/compression_test endif -$(OBJDIR)/$(CONFIG)/test/core/http/httpscli_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/compression/compression_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_httpscli_test: $(HTTPSCLI_TEST_OBJS:.o=.dep) +deps_compression_test: $(COMPRESSION_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HTTPSCLI_TEST_OBJS:.o=.dep) +-include $(COMPRESSION_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -INIT_TEST_SRC = \ - test/core/surface/init_test.c \ -INIT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INIT_TEST_SRC)))) +CONCURRENT_CONNECTIVITY_TEST_SRC = \ + test/core/surface/concurrent_connectivity_test.c \ + +CONCURRENT_CONNECTIVITY_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CONCURRENT_CONNECTIVITY_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/init_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/concurrent_connectivity_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/init_test: $(INIT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/concurrent_connectivity_test: $(CONCURRENT_CONNECTIVITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(INIT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/init_test + $(Q) $(LD) $(LDFLAGS) $(CONCURRENT_CONNECTIVITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/concurrent_connectivity_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/init_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/surface/concurrent_connectivity_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_init_test: $(INIT_TEST_OBJS:.o=.dep) +deps_concurrent_connectivity_test: $(CONCURRENT_CONNECTIVITY_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(INIT_TEST_OBJS:.o=.dep) +-include $(CONCURRENT_CONNECTIVITY_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -INTERNAL_API_CANARY_IOMGR_TEST_SRC = \ - test/core/internal_api_canaries/iomgr.c \ -INTERNAL_API_CANARY_IOMGR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTERNAL_API_CANARY_IOMGR_TEST_SRC)))) +DNS_RESOLVER_CONNECTIVITY_TEST_SRC = \ + test/core/client_config/resolvers/dns_resolver_connectivity_test.c \ + +DNS_RESOLVER_CONNECTIVITY_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(DNS_RESOLVER_CONNECTIVITY_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/dns_resolver_connectivity_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test: $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/dns_resolver_connectivity_test: $(DNS_RESOLVER_CONNECTIVITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test + $(Q) $(LD) $(LDFLAGS) $(DNS_RESOLVER_CONNECTIVITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/dns_resolver_connectivity_test endif -$(OBJDIR)/$(CONFIG)/test/core/internal_api_canaries/iomgr.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/client_config/resolvers/dns_resolver_connectivity_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_internal_api_canary_iomgr_test: $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS:.o=.dep) +deps_dns_resolver_connectivity_test: $(DNS_RESOLVER_CONNECTIVITY_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS:.o=.dep) +-include $(DNS_RESOLVER_CONNECTIVITY_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -INTERNAL_API_CANARY_SUPPORT_TEST_SRC = \ - test/core/internal_api_canaries/iomgr.c \ -INTERNAL_API_CANARY_SUPPORT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTERNAL_API_CANARY_SUPPORT_TEST_SRC)))) +DNS_RESOLVER_TEST_SRC = \ + test/core/client_config/resolvers/dns_resolver_test.c \ + +DNS_RESOLVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(DNS_RESOLVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/internal_api_canary_support_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/dns_resolver_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/internal_api_canary_support_test: $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/dns_resolver_test: $(DNS_RESOLVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/internal_api_canary_support_test + $(Q) $(LD) $(LDFLAGS) $(DNS_RESOLVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/dns_resolver_test endif -$(OBJDIR)/$(CONFIG)/test/core/internal_api_canaries/iomgr.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/client_config/resolvers/dns_resolver_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_internal_api_canary_support_test: $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS:.o=.dep) +deps_dns_resolver_test: $(DNS_RESOLVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS:.o=.dep) +-include $(DNS_RESOLVER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -INTERNAL_API_CANARY_TRANSPORT_TEST_SRC = \ - test/core/internal_api_canaries/iomgr.c \ -INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTERNAL_API_CANARY_TRANSPORT_TEST_SRC)))) +DUALSTACK_SOCKET_TEST_SRC = \ + test/core/end2end/dualstack_socket_test.c \ + +DUALSTACK_SOCKET_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(DUALSTACK_SOCKET_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/internal_api_canary_transport_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/dualstack_socket_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/internal_api_canary_transport_test: $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/dualstack_socket_test: $(DUALSTACK_SOCKET_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/internal_api_canary_transport_test + $(Q) $(LD) $(LDFLAGS) $(DUALSTACK_SOCKET_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/dualstack_socket_test endif -$(OBJDIR)/$(CONFIG)/test/core/internal_api_canaries/iomgr.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/dualstack_socket_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_internal_api_canary_transport_test: $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS:.o=.dep) +deps_dualstack_socket_test: $(DUALSTACK_SOCKET_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS:.o=.dep) +-include $(DUALSTACK_SOCKET_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -INVALID_CALL_ARGUMENT_TEST_SRC = \ - test/core/end2end/invalid_call_argument_test.c \ -INVALID_CALL_ARGUMENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INVALID_CALL_ARGUMENT_TEST_SRC)))) +ENDPOINT_PAIR_TEST_SRC = \ + test/core/iomgr/endpoint_pair_test.c \ + +ENDPOINT_PAIR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ENDPOINT_PAIR_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/invalid_call_argument_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/endpoint_pair_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/invalid_call_argument_test: $(INVALID_CALL_ARGUMENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/endpoint_pair_test: $(ENDPOINT_PAIR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(INVALID_CALL_ARGUMENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/invalid_call_argument_test + $(Q) $(LD) $(LDFLAGS) $(ENDPOINT_PAIR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/endpoint_pair_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/invalid_call_argument_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/endpoint_pair_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_invalid_call_argument_test: $(INVALID_CALL_ARGUMENT_TEST_OBJS:.o=.dep) +deps_endpoint_pair_test: $(ENDPOINT_PAIR_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(INVALID_CALL_ARGUMENT_TEST_OBJS:.o=.dep) +-include $(ENDPOINT_PAIR_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -JSON_FUZZER_TEST_SRC = \ - test/core/json/fuzzer.c \ -JSON_FUZZER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_FUZZER_TEST_SRC)))) +EV_EPOLL_LINUX_TEST_SRC = \ + test/core/iomgr/ev_epoll_linux_test.c \ + +EV_EPOLL_LINUX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(EV_EPOLL_LINUX_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/json_fuzzer_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/ev_epoll_linux_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/json_fuzzer_test: $(JSON_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/ev_epoll_linux_test: $(EV_EPOLL_LINUX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(JSON_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/json_fuzzer_test + $(Q) $(LD) $(LDFLAGS) $(EV_EPOLL_LINUX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/ev_epoll_linux_test endif -$(OBJDIR)/$(CONFIG)/test/core/json/fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/ev_epoll_linux_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_json_fuzzer_test: $(JSON_FUZZER_TEST_OBJS:.o=.dep) +deps_ev_epoll_linux_test: $(EV_EPOLL_LINUX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(JSON_FUZZER_TEST_OBJS:.o=.dep) +-include $(EV_EPOLL_LINUX_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -JSON_REWRITE_SRC = \ - test/core/json/json_rewrite.c \ -JSON_REWRITE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_REWRITE_SRC)))) +FD_CONSERVATION_POSIX_TEST_SRC = \ + test/core/iomgr/fd_conservation_posix_test.c \ + +FD_CONSERVATION_POSIX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FD_CONSERVATION_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/json_rewrite: openssl_dep_error +$(BINDIR)/$(CONFIG)/fd_conservation_posix_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/json_rewrite: $(JSON_REWRITE_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/fd_conservation_posix_test: $(FD_CONSERVATION_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(JSON_REWRITE_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/json_rewrite + $(Q) $(LD) $(LDFLAGS) $(FD_CONSERVATION_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/fd_conservation_posix_test endif -$(OBJDIR)/$(CONFIG)/test/core/json/json_rewrite.o: $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/fd_conservation_posix_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_json_rewrite: $(JSON_REWRITE_OBJS:.o=.dep) +deps_fd_conservation_posix_test: $(FD_CONSERVATION_POSIX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(JSON_REWRITE_OBJS:.o=.dep) +-include $(FD_CONSERVATION_POSIX_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -JSON_REWRITE_TEST_SRC = \ - test/core/json/json_rewrite_test.c \ -JSON_REWRITE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_REWRITE_TEST_SRC)))) +FD_POSIX_TEST_SRC = \ + test/core/iomgr/fd_posix_test.c \ + +FD_POSIX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FD_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/json_rewrite_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/fd_posix_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/json_rewrite_test: $(JSON_REWRITE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/fd_posix_test: $(FD_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(JSON_REWRITE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/json_rewrite_test + $(Q) $(LD) $(LDFLAGS) $(FD_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/fd_posix_test endif -$(OBJDIR)/$(CONFIG)/test/core/json/json_rewrite_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/fd_posix_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_json_rewrite_test: $(JSON_REWRITE_TEST_OBJS:.o=.dep) +deps_fd_posix_test: $(FD_POSIX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(JSON_REWRITE_TEST_OBJS:.o=.dep) +-include $(FD_POSIX_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -JSON_STREAM_ERROR_TEST_SRC = \ - test/core/json/json_stream_error_test.c \ -JSON_STREAM_ERROR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_STREAM_ERROR_TEST_SRC)))) +FLING_CLIENT_SRC = \ + test/core/fling/client.c \ + +FLING_CLIENT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/json_stream_error_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/fling_client: openssl_dep_error else -$(BINDIR)/$(CONFIG)/json_stream_error_test: $(JSON_STREAM_ERROR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/fling_client: $(FLING_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(JSON_STREAM_ERROR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/json_stream_error_test + $(Q) $(LD) $(LDFLAGS) $(FLING_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/fling_client endif -$(OBJDIR)/$(CONFIG)/test/core/json/json_stream_error_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/fling/client.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_json_stream_error_test: $(JSON_STREAM_ERROR_TEST_OBJS:.o=.dep) +deps_fling_client: $(FLING_CLIENT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(JSON_STREAM_ERROR_TEST_OBJS:.o=.dep) +-include $(FLING_CLIENT_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -JSON_TEST_SRC = \ - test/core/json/json_test.c \ -JSON_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_TEST_SRC)))) +FLING_SERVER_SRC = \ + test/core/fling/server.c \ + +FLING_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_SERVER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/json_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/fling_server: openssl_dep_error else -$(BINDIR)/$(CONFIG)/json_test: $(JSON_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/fling_server: $(FLING_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(JSON_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/json_test + $(Q) $(LD) $(LDFLAGS) $(FLING_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/fling_server endif -$(OBJDIR)/$(CONFIG)/test/core/json/json_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/fling/server.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_json_test: $(JSON_TEST_OBJS:.o=.dep) +deps_fling_server: $(FLING_SERVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(JSON_TEST_OBJS:.o=.dep) +-include $(FLING_SERVER_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -LAME_CLIENT_TEST_SRC = \ - test/core/surface/lame_client_test.c \ -LAME_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LAME_CLIENT_TEST_SRC)))) +FLING_STREAM_TEST_SRC = \ + test/core/fling/fling_stream_test.c \ + +FLING_STREAM_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_STREAM_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/lame_client_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/fling_stream_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/lame_client_test: $(LAME_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/fling_stream_test: $(FLING_STREAM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(LAME_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/lame_client_test + $(Q) $(LD) $(LDFLAGS) $(FLING_STREAM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/fling_stream_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/lame_client_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/fling/fling_stream_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_lame_client_test: $(LAME_CLIENT_TEST_OBJS:.o=.dep) +deps_fling_stream_test: $(FLING_STREAM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LAME_CLIENT_TEST_OBJS:.o=.dep) +-include $(FLING_STREAM_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -LB_POLICIES_TEST_SRC = \ - test/core/client_config/lb_policies_test.c \ -LB_POLICIES_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LB_POLICIES_TEST_SRC)))) +FLING_TEST_SRC = \ + test/core/fling/fling_test.c \ + +FLING_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/lb_policies_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/fling_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/lb_policies_test: $(LB_POLICIES_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/fling_test: $(FLING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(LB_POLICIES_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/lb_policies_test + $(Q) $(LD) $(LDFLAGS) $(FLING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/fling_test endif -$(OBJDIR)/$(CONFIG)/test/core/client_config/lb_policies_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/fling/fling_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_lb_policies_test: $(LB_POLICIES_TEST_OBJS:.o=.dep) +deps_fling_test: $(FLING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LB_POLICIES_TEST_OBJS:.o=.dep) +-include $(FLING_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -LOAD_FILE_TEST_SRC = \ - test/core/iomgr/load_file_test.c \ -LOAD_FILE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LOAD_FILE_TEST_SRC)))) +GEN_HPACK_TABLES_SRC = \ + tools/codegen/core/gen_hpack_tables.c \ + +GEN_HPACK_TABLES_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GEN_HPACK_TABLES_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/load_file_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gen_hpack_tables: openssl_dep_error else -$(BINDIR)/$(CONFIG)/load_file_test: $(LOAD_FILE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gen_hpack_tables: $(GEN_HPACK_TABLES_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(LOAD_FILE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/load_file_test + $(Q) $(LD) $(LDFLAGS) $(GEN_HPACK_TABLES_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gen_hpack_tables endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/load_file_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/tools/codegen/core/gen_hpack_tables.o: $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc.a -deps_load_file_test: $(LOAD_FILE_TEST_OBJS:.o=.dep) +deps_gen_hpack_tables: $(GEN_HPACK_TABLES_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LOAD_FILE_TEST_OBJS:.o=.dep) +-include $(GEN_HPACK_TABLES_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -LOW_LEVEL_PING_PONG_BENCHMARK_SRC = \ - test/core/network_benchmarks/low_level_ping_pong.c \ -LOW_LEVEL_PING_PONG_BENCHMARK_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LOW_LEVEL_PING_PONG_BENCHMARK_SRC)))) +GEN_LEGAL_METADATA_CHARACTERS_SRC = \ + tools/codegen/core/gen_legal_metadata_characters.c \ + +GEN_LEGAL_METADATA_CHARACTERS_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GEN_LEGAL_METADATA_CHARACTERS_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/low_level_ping_pong_benchmark: openssl_dep_error +$(BINDIR)/$(CONFIG)/gen_legal_metadata_characters: openssl_dep_error else -$(BINDIR)/$(CONFIG)/low_level_ping_pong_benchmark: $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gen_legal_metadata_characters: $(GEN_LEGAL_METADATA_CHARACTERS_OBJS) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/low_level_ping_pong_benchmark + $(Q) $(LD) $(LDFLAGS) $(GEN_LEGAL_METADATA_CHARACTERS_OBJS) $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gen_legal_metadata_characters endif -$(OBJDIR)/$(CONFIG)/test/core/network_benchmarks/low_level_ping_pong.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/tools/codegen/core/gen_legal_metadata_characters.o: -deps_low_level_ping_pong_benchmark: $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS:.o=.dep) +deps_gen_legal_metadata_characters: $(GEN_LEGAL_METADATA_CHARACTERS_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS:.o=.dep) +-include $(GEN_LEGAL_METADATA_CHARACTERS_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -MESSAGE_COMPRESS_TEST_SRC = \ - test/core/compression/message_compress_test.c \ -MESSAGE_COMPRESS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(MESSAGE_COMPRESS_TEST_SRC)))) +GOAWAY_SERVER_TEST_SRC = \ + test/core/end2end/goaway_server_test.c \ + +GOAWAY_SERVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GOAWAY_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/message_compress_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/goaway_server_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/message_compress_test: $(MESSAGE_COMPRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/goaway_server_test: $(GOAWAY_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(MESSAGE_COMPRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/message_compress_test + $(Q) $(LD) $(LDFLAGS) $(GOAWAY_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/goaway_server_test endif -$(OBJDIR)/$(CONFIG)/test/core/compression/message_compress_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/goaway_server_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_message_compress_test: $(MESSAGE_COMPRESS_TEST_OBJS:.o=.dep) +deps_goaway_server_test: $(GOAWAY_SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(MESSAGE_COMPRESS_TEST_OBJS:.o=.dep) +-include $(GOAWAY_SERVER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -MLOG_TEST_SRC = \ - test/core/census/mlog_test.c \ -MLOG_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(MLOG_TEST_SRC)))) +GPR_AVL_TEST_SRC = \ + test/core/support/avl_test.c \ + +GPR_AVL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_AVL_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/mlog_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_avl_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/mlog_test: $(MLOG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_avl_test: $(GPR_AVL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(MLOG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/mlog_test + $(Q) $(LD) $(LDFLAGS) $(GPR_AVL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_avl_test endif -$(OBJDIR)/$(CONFIG)/test/core/census/mlog_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/avl_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_mlog_test: $(MLOG_TEST_OBJS:.o=.dep) +deps_gpr_avl_test: $(GPR_AVL_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(MLOG_TEST_OBJS:.o=.dep) +-include $(GPR_AVL_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -MULTIPLE_SERVER_QUEUES_TEST_SRC = \ - test/core/end2end/multiple_server_queues_test.c \ -MULTIPLE_SERVER_QUEUES_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(MULTIPLE_SERVER_QUEUES_TEST_SRC)))) +GPR_BACKOFF_TEST_SRC = \ + test/core/support/backoff_test.c \ + +GPR_BACKOFF_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_BACKOFF_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/multiple_server_queues_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_backoff_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/multiple_server_queues_test: $(MULTIPLE_SERVER_QUEUES_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_backoff_test: $(GPR_BACKOFF_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(MULTIPLE_SERVER_QUEUES_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/multiple_server_queues_test + $(Q) $(LD) $(LDFLAGS) $(GPR_BACKOFF_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_backoff_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/multiple_server_queues_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/backoff_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_multiple_server_queues_test: $(MULTIPLE_SERVER_QUEUES_TEST_OBJS:.o=.dep) +deps_gpr_backoff_test: $(GPR_BACKOFF_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(MULTIPLE_SERVER_QUEUES_TEST_OBJS:.o=.dep) +-include $(GPR_BACKOFF_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -MURMUR_HASH_TEST_SRC = \ - test/core/support/murmur_hash_test.c \ -MURMUR_HASH_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(MURMUR_HASH_TEST_SRC)))) +GPR_CMDLINE_TEST_SRC = \ + test/core/support/cmdline_test.c \ + +GPR_CMDLINE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_CMDLINE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/murmur_hash_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_cmdline_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/murmur_hash_test: $(MURMUR_HASH_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_cmdline_test: $(GPR_CMDLINE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(MURMUR_HASH_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/murmur_hash_test + $(Q) $(LD) $(LDFLAGS) $(GPR_CMDLINE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_cmdline_test endif -$(OBJDIR)/$(CONFIG)/test/core/support/murmur_hash_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/cmdline_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_murmur_hash_test: $(MURMUR_HASH_TEST_OBJS:.o=.dep) +deps_gpr_cmdline_test: $(GPR_CMDLINE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(MURMUR_HASH_TEST_OBJS:.o=.dep) +-include $(GPR_CMDLINE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -NANOPB_FUZZER_RESPONSE_TEST_SRC = \ - test/core/nanopb/fuzzer_response.c \ -NANOPB_FUZZER_RESPONSE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(NANOPB_FUZZER_RESPONSE_TEST_SRC)))) +GPR_CPU_TEST_SRC = \ + test/core/support/cpu_test.c \ + +GPR_CPU_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_CPU_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_cpu_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test: $(NANOPB_FUZZER_RESPONSE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_cpu_test: $(GPR_CPU_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(NANOPB_FUZZER_RESPONSE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test + $(Q) $(LD) $(LDFLAGS) $(GPR_CPU_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_cpu_test endif -$(OBJDIR)/$(CONFIG)/test/core/nanopb/fuzzer_response.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/cpu_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_nanopb_fuzzer_response_test: $(NANOPB_FUZZER_RESPONSE_TEST_OBJS:.o=.dep) +deps_gpr_cpu_test: $(GPR_CPU_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(NANOPB_FUZZER_RESPONSE_TEST_OBJS:.o=.dep) +-include $(GPR_CPU_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -NANOPB_FUZZER_SERVERLIST_TEST_SRC = \ - test/core/nanopb/fuzzer_serverlist.c \ -NANOPB_FUZZER_SERVERLIST_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(NANOPB_FUZZER_SERVERLIST_TEST_SRC)))) +GPR_ENV_TEST_SRC = \ + test/core/support/env_test.c \ + +GPR_ENV_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_ENV_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_env_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test: $(NANOPB_FUZZER_SERVERLIST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_env_test: $(GPR_ENV_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(NANOPB_FUZZER_SERVERLIST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test + $(Q) $(LD) $(LDFLAGS) $(GPR_ENV_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_env_test endif -$(OBJDIR)/$(CONFIG)/test/core/nanopb/fuzzer_serverlist.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/env_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_nanopb_fuzzer_serverlist_test: $(NANOPB_FUZZER_SERVERLIST_TEST_OBJS:.o=.dep) +deps_gpr_env_test: $(GPR_ENV_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(NANOPB_FUZZER_SERVERLIST_TEST_OBJS:.o=.dep) +-include $(GPR_ENV_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -NO_SERVER_TEST_SRC = \ - test/core/end2end/no_server_test.c \ -NO_SERVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(NO_SERVER_TEST_SRC)))) +GPR_HISTOGRAM_TEST_SRC = \ + test/core/support/histogram_test.c \ + +GPR_HISTOGRAM_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_HISTOGRAM_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/no_server_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_histogram_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/no_server_test: $(NO_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(NO_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/no_server_test + $(Q) $(LD) $(LDFLAGS) $(GPR_HISTOGRAM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_histogram_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/no_server_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/histogram_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_no_server_test: $(NO_SERVER_TEST_OBJS:.o=.dep) +deps_gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(NO_SERVER_TEST_OBJS:.o=.dep) +-include $(GPR_HISTOGRAM_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -RESOLVE_ADDRESS_TEST_SRC = \ - test/core/iomgr/resolve_address_test.c \ -RESOLVE_ADDRESS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(RESOLVE_ADDRESS_TEST_SRC)))) +GPR_HOST_PORT_TEST_SRC = \ + test/core/support/host_port_test.c \ + +GPR_HOST_PORT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_HOST_PORT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/resolve_address_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_host_port_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/resolve_address_test: $(RESOLVE_ADDRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_host_port_test: $(GPR_HOST_PORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(RESOLVE_ADDRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/resolve_address_test + $(Q) $(LD) $(LDFLAGS) $(GPR_HOST_PORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_host_port_test endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/resolve_address_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/host_port_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_resolve_address_test: $(RESOLVE_ADDRESS_TEST_OBJS:.o=.dep) +deps_gpr_host_port_test: $(GPR_HOST_PORT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(RESOLVE_ADDRESS_TEST_OBJS:.o=.dep) +-include $(GPR_HOST_PORT_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SECURE_CHANNEL_CREATE_TEST_SRC = \ - test/core/surface/secure_channel_create_test.c \ -SECURE_CHANNEL_CREATE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SECURE_CHANNEL_CREATE_TEST_SRC)))) +GPR_LOG_TEST_SRC = \ + test/core/support/log_test.c \ + +GPR_LOG_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_LOG_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/secure_channel_create_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_log_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/secure_channel_create_test: $(SECURE_CHANNEL_CREATE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_log_test: $(GPR_LOG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SECURE_CHANNEL_CREATE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/secure_channel_create_test + $(Q) $(LD) $(LDFLAGS) $(GPR_LOG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_log_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/secure_channel_create_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/log_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_secure_channel_create_test: $(SECURE_CHANNEL_CREATE_TEST_OBJS:.o=.dep) +deps_gpr_log_test: $(GPR_LOG_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SECURE_CHANNEL_CREATE_TEST_OBJS:.o=.dep) +-include $(GPR_LOG_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SECURE_ENDPOINT_TEST_SRC = \ - test/core/security/secure_endpoint_test.c \ -SECURE_ENDPOINT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SECURE_ENDPOINT_TEST_SRC)))) +GPR_SLICE_BUFFER_TEST_SRC = \ + test/core/support/slice_buffer_test.c \ + +GPR_SLICE_BUFFER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SLICE_BUFFER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/secure_endpoint_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_slice_buffer_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/secure_endpoint_test: $(SECURE_ENDPOINT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_slice_buffer_test: $(GPR_SLICE_BUFFER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SECURE_ENDPOINT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/secure_endpoint_test + $(Q) $(LD) $(LDFLAGS) $(GPR_SLICE_BUFFER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_slice_buffer_test endif -$(OBJDIR)/$(CONFIG)/test/core/security/secure_endpoint_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/slice_buffer_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_secure_endpoint_test: $(SECURE_ENDPOINT_TEST_OBJS:.o=.dep) +deps_gpr_slice_buffer_test: $(GPR_SLICE_BUFFER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SECURE_ENDPOINT_TEST_OBJS:.o=.dep) +-include $(GPR_SLICE_BUFFER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SEQUENTIAL_CONNECTIVITY_TEST_SRC = \ - test/core/surface/sequential_connectivity_test.c \ -SEQUENTIAL_CONNECTIVITY_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SEQUENTIAL_CONNECTIVITY_TEST_SRC)))) +GPR_SLICE_TEST_SRC = \ + test/core/support/slice_test.c \ + +GPR_SLICE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SLICE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/sequential_connectivity_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_slice_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/sequential_connectivity_test: $(SEQUENTIAL_CONNECTIVITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_slice_test: $(GPR_SLICE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SEQUENTIAL_CONNECTIVITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/sequential_connectivity_test + $(Q) $(LD) $(LDFLAGS) $(GPR_SLICE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_slice_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/sequential_connectivity_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/slice_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_sequential_connectivity_test: $(SEQUENTIAL_CONNECTIVITY_TEST_OBJS:.o=.dep) +deps_gpr_slice_test: $(GPR_SLICE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SEQUENTIAL_CONNECTIVITY_TEST_OBJS:.o=.dep) +-include $(GPR_SLICE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SERVER_CHTTP2_TEST_SRC = \ - test/core/surface/server_chttp2_test.c \ -SERVER_CHTTP2_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_CHTTP2_TEST_SRC)))) +GPR_STACK_LOCKFREE_TEST_SRC = \ + test/core/support/stack_lockfree_test.c \ + +GPR_STACK_LOCKFREE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_STACK_LOCKFREE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/server_chttp2_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_stack_lockfree_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/server_chttp2_test: $(SERVER_CHTTP2_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_stack_lockfree_test: $(GPR_STACK_LOCKFREE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SERVER_CHTTP2_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/server_chttp2_test + $(Q) $(LD) $(LDFLAGS) $(GPR_STACK_LOCKFREE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_stack_lockfree_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/server_chttp2_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/stack_lockfree_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_server_chttp2_test: $(SERVER_CHTTP2_TEST_OBJS:.o=.dep) +deps_gpr_stack_lockfree_test: $(GPR_STACK_LOCKFREE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SERVER_CHTTP2_TEST_OBJS:.o=.dep) +-include $(GPR_STACK_LOCKFREE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SERVER_FUZZER_SRC = \ - test/core/end2end/fuzzers/server_fuzzer.c \ -SERVER_FUZZER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_FUZZER_SRC)))) +GPR_STRING_TEST_SRC = \ + test/core/support/string_test.c \ + +GPR_STRING_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_STRING_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/server_fuzzer: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_string_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/server_fuzzer: $(SERVER_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_string_test: $(GPR_STRING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(SERVER_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/server_fuzzer + $(Q) $(LD) $(LDFLAGS) $(GPR_STRING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_string_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fuzzers/server_fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/string_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_server_fuzzer: $(SERVER_FUZZER_OBJS:.o=.dep) +deps_gpr_string_test: $(GPR_STRING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SERVER_FUZZER_OBJS:.o=.dep) +-include $(GPR_STRING_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SERVER_TEST_SRC = \ - test/core/surface/server_test.c \ -SERVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_TEST_SRC)))) +GPR_SYNC_TEST_SRC = \ + test/core/support/sync_test.c \ + +GPR_SYNC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SYNC_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/server_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_sync_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/server_test: $(SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_sync_test: $(GPR_SYNC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/server_test + $(Q) $(LD) $(LDFLAGS) $(GPR_SYNC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_sync_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/server_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/sync_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_server_test: $(SERVER_TEST_OBJS:.o=.dep) +deps_gpr_sync_test: $(GPR_SYNC_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SERVER_TEST_OBJS:.o=.dep) +-include $(GPR_SYNC_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SET_INITIAL_CONNECT_STRING_TEST_SRC = \ - test/core/client_config/set_initial_connect_string_test.c \ -SET_INITIAL_CONNECT_STRING_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SET_INITIAL_CONNECT_STRING_TEST_SRC)))) +GPR_THD_TEST_SRC = \ + test/core/support/thd_test.c \ + +GPR_THD_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_THD_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/set_initial_connect_string_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_thd_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/set_initial_connect_string_test: $(SET_INITIAL_CONNECT_STRING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_thd_test: $(GPR_THD_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SET_INITIAL_CONNECT_STRING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/set_initial_connect_string_test + $(Q) $(LD) $(LDFLAGS) $(GPR_THD_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_thd_test endif -$(OBJDIR)/$(CONFIG)/test/core/client_config/set_initial_connect_string_test.o: $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/thd_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_set_initial_connect_string_test: $(SET_INITIAL_CONNECT_STRING_TEST_OBJS:.o=.dep) +deps_gpr_thd_test: $(GPR_THD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SET_INITIAL_CONNECT_STRING_TEST_OBJS:.o=.dep) +-include $(GPR_THD_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SOCKADDR_RESOLVER_TEST_SRC = \ - test/core/client_config/resolvers/sockaddr_resolver_test.c \ -SOCKADDR_RESOLVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SOCKADDR_RESOLVER_TEST_SRC)))) +GPR_TIME_TEST_SRC = \ + test/core/support/time_test.c \ + +GPR_TIME_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_TIME_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/sockaddr_resolver_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_time_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/sockaddr_resolver_test: $(SOCKADDR_RESOLVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_time_test: $(GPR_TIME_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SOCKADDR_RESOLVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/sockaddr_resolver_test + $(Q) $(LD) $(LDFLAGS) $(GPR_TIME_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_time_test endif -$(OBJDIR)/$(CONFIG)/test/core/client_config/resolvers/sockaddr_resolver_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/time_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_sockaddr_resolver_test: $(SOCKADDR_RESOLVER_TEST_OBJS:.o=.dep) +deps_gpr_time_test: $(GPR_TIME_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SOCKADDR_RESOLVER_TEST_OBJS:.o=.dep) +-include $(GPR_TIME_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SOCKADDR_UTILS_TEST_SRC = \ - test/core/iomgr/sockaddr_utils_test.c \ -SOCKADDR_UTILS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SOCKADDR_UTILS_TEST_SRC)))) +GPR_TLS_TEST_SRC = \ + test/core/support/tls_test.c \ + +GPR_TLS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_TLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/sockaddr_utils_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_tls_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/sockaddr_utils_test: $(SOCKADDR_UTILS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_tls_test: $(GPR_TLS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SOCKADDR_UTILS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/sockaddr_utils_test + $(Q) $(LD) $(LDFLAGS) $(GPR_TLS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_tls_test endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/sockaddr_utils_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/tls_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_sockaddr_utils_test: $(SOCKADDR_UTILS_TEST_OBJS:.o=.dep) +deps_gpr_tls_test: $(GPR_TLS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SOCKADDR_UTILS_TEST_OBJS:.o=.dep) +-include $(GPR_TLS_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SOCKET_UTILS_TEST_SRC = \ - test/core/iomgr/socket_utils_test.c \ -SOCKET_UTILS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SOCKET_UTILS_TEST_SRC)))) +GPR_USEFUL_TEST_SRC = \ + test/core/support/useful_test.c \ + +GPR_USEFUL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_USEFUL_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/socket_utils_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/gpr_useful_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/socket_utils_test: $(SOCKET_UTILS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/gpr_useful_test: $(GPR_USEFUL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SOCKET_UTILS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/socket_utils_test + $(Q) $(LD) $(LDFLAGS) $(GPR_USEFUL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/gpr_useful_test endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/socket_utils_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/support/useful_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_socket_utils_test: $(SOCKET_UTILS_TEST_OBJS:.o=.dep) +deps_gpr_useful_test: $(GPR_USEFUL_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SOCKET_UTILS_TEST_OBJS:.o=.dep) +-include $(GPR_USEFUL_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -TCP_CLIENT_POSIX_TEST_SRC = \ - test/core/iomgr/tcp_client_posix_test.c \ -TCP_CLIENT_POSIX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_CLIENT_POSIX_TEST_SRC)))) +GRPC_AUTH_CONTEXT_TEST_SRC = \ + test/core/security/auth_context_test.c \ + +GRPC_AUTH_CONTEXT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_AUTH_CONTEXT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/tcp_client_posix_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_auth_context_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/tcp_client_posix_test: $(TCP_CLIENT_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_auth_context_test: $(GRPC_AUTH_CONTEXT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TCP_CLIENT_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/tcp_client_posix_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_AUTH_CONTEXT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_auth_context_test endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/tcp_client_posix_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/security/auth_context_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_tcp_client_posix_test: $(TCP_CLIENT_POSIX_TEST_OBJS:.o=.dep) +deps_grpc_auth_context_test: $(GRPC_AUTH_CONTEXT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TCP_CLIENT_POSIX_TEST_OBJS:.o=.dep) +-include $(GRPC_AUTH_CONTEXT_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -TCP_POSIX_TEST_SRC = \ - test/core/iomgr/tcp_posix_test.c \ -TCP_POSIX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_POSIX_TEST_SRC)))) +GRPC_B64_TEST_SRC = \ + test/core/security/b64_test.c \ + +GRPC_B64_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_B64_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/tcp_posix_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_b64_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/tcp_posix_test: $(TCP_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_b64_test: $(GRPC_B64_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TCP_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/tcp_posix_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_B64_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_b64_test endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/tcp_posix_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/security/b64_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_tcp_posix_test: $(TCP_POSIX_TEST_OBJS:.o=.dep) +deps_grpc_b64_test: $(GRPC_B64_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TCP_POSIX_TEST_OBJS:.o=.dep) +-include $(GRPC_B64_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -TCP_SERVER_POSIX_TEST_SRC = \ - test/core/iomgr/tcp_server_posix_test.c \ -TCP_SERVER_POSIX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_SERVER_POSIX_TEST_SRC)))) +GRPC_BYTE_BUFFER_READER_TEST_SRC = \ + test/core/surface/byte_buffer_reader_test.c \ + +GRPC_BYTE_BUFFER_READER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_BYTE_BUFFER_READER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/tcp_server_posix_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_byte_buffer_reader_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/tcp_server_posix_test: $(TCP_SERVER_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_byte_buffer_reader_test: $(GRPC_BYTE_BUFFER_READER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TCP_SERVER_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/tcp_server_posix_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_BYTE_BUFFER_READER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_byte_buffer_reader_test endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/tcp_server_posix_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/surface/byte_buffer_reader_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_tcp_server_posix_test: $(TCP_SERVER_POSIX_TEST_OBJS:.o=.dep) +deps_grpc_byte_buffer_reader_test: $(GRPC_BYTE_BUFFER_READER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TCP_SERVER_POSIX_TEST_OBJS:.o=.dep) +-include $(GRPC_BYTE_BUFFER_READER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -TIME_AVERAGED_STATS_TEST_SRC = \ - test/core/iomgr/time_averaged_stats_test.c \ -TIME_AVERAGED_STATS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TIME_AVERAGED_STATS_TEST_SRC)))) +GRPC_CHANNEL_ARGS_TEST_SRC = \ + test/core/channel/channel_args_test.c \ + +GRPC_CHANNEL_ARGS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CHANNEL_ARGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/time_averaged_stats_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_channel_args_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/time_averaged_stats_test: $(TIME_AVERAGED_STATS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_channel_args_test: $(GRPC_CHANNEL_ARGS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TIME_AVERAGED_STATS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/time_averaged_stats_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_CHANNEL_ARGS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_channel_args_test endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/time_averaged_stats_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/channel/channel_args_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_time_averaged_stats_test: $(TIME_AVERAGED_STATS_TEST_OBJS:.o=.dep) +deps_grpc_channel_args_test: $(GRPC_CHANNEL_ARGS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TIME_AVERAGED_STATS_TEST_OBJS:.o=.dep) +-include $(GRPC_CHANNEL_ARGS_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -TIMEOUT_ENCODING_TEST_SRC = \ - test/core/transport/timeout_encoding_test.c \ -TIMEOUT_ENCODING_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TIMEOUT_ENCODING_TEST_SRC)))) +GRPC_CHANNEL_STACK_TEST_SRC = \ + test/core/channel/channel_stack_test.c \ + +GRPC_CHANNEL_STACK_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CHANNEL_STACK_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/timeout_encoding_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_channel_stack_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/timeout_encoding_test: $(TIMEOUT_ENCODING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_channel_stack_test: $(GRPC_CHANNEL_STACK_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TIMEOUT_ENCODING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/timeout_encoding_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_CHANNEL_STACK_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_channel_stack_test endif -$(OBJDIR)/$(CONFIG)/test/core/transport/timeout_encoding_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/channel/channel_stack_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_timeout_encoding_test: $(TIMEOUT_ENCODING_TEST_OBJS:.o=.dep) +deps_grpc_channel_stack_test: $(GRPC_CHANNEL_STACK_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TIMEOUT_ENCODING_TEST_OBJS:.o=.dep) +-include $(GRPC_CHANNEL_STACK_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -TIMER_HEAP_TEST_SRC = \ - test/core/iomgr/timer_heap_test.c \ -TIMER_HEAP_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TIMER_HEAP_TEST_SRC)))) +GRPC_COMPLETION_QUEUE_TEST_SRC = \ + test/core/surface/completion_queue_test.c \ + +GRPC_COMPLETION_QUEUE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_COMPLETION_QUEUE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/timer_heap_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_completion_queue_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/timer_heap_test: $(TIMER_HEAP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_completion_queue_test: $(GRPC_COMPLETION_QUEUE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TIMER_HEAP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/timer_heap_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_COMPLETION_QUEUE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_completion_queue_test endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/timer_heap_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/surface/completion_queue_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_timer_heap_test: $(TIMER_HEAP_TEST_OBJS:.o=.dep) +deps_grpc_completion_queue_test: $(GRPC_COMPLETION_QUEUE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TIMER_HEAP_TEST_OBJS:.o=.dep) +-include $(GRPC_COMPLETION_QUEUE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -TIMER_LIST_TEST_SRC = \ - test/core/iomgr/timer_list_test.c \ -TIMER_LIST_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TIMER_LIST_TEST_SRC)))) +GRPC_CREATE_JWT_SRC = \ + test/core/security/create_jwt.c \ + +GRPC_CREATE_JWT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CREATE_JWT_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/timer_list_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_create_jwt: openssl_dep_error else -$(BINDIR)/$(CONFIG)/timer_list_test: $(TIMER_LIST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_create_jwt: $(GRPC_CREATE_JWT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TIMER_LIST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/timer_list_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_CREATE_JWT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_create_jwt endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/timer_list_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/security/create_jwt.o: $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_timer_list_test: $(TIMER_LIST_TEST_OBJS:.o=.dep) +deps_grpc_create_jwt: $(GRPC_CREATE_JWT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TIMER_LIST_TEST_OBJS:.o=.dep) +-include $(GRPC_CREATE_JWT_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -TRANSPORT_CONNECTIVITY_STATE_TEST_SRC = \ - test/core/transport/connectivity_state_test.c \ -TRANSPORT_CONNECTIVITY_STATE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TRANSPORT_CONNECTIVITY_STATE_TEST_SRC)))) +GRPC_CREDENTIALS_TEST_SRC = \ + test/core/security/credentials_test.c \ + +GRPC_CREDENTIALS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CREDENTIALS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/transport_connectivity_state_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_credentials_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/transport_connectivity_state_test: $(TRANSPORT_CONNECTIVITY_STATE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_credentials_test: $(GRPC_CREDENTIALS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TRANSPORT_CONNECTIVITY_STATE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/transport_connectivity_state_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_CREDENTIALS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_credentials_test endif -$(OBJDIR)/$(CONFIG)/test/core/transport/connectivity_state_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/security/credentials_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_transport_connectivity_state_test: $(TRANSPORT_CONNECTIVITY_STATE_TEST_OBJS:.o=.dep) +deps_grpc_credentials_test: $(GRPC_CREDENTIALS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TRANSPORT_CONNECTIVITY_STATE_TEST_OBJS:.o=.dep) +-include $(GRPC_CREDENTIALS_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -TRANSPORT_METADATA_TEST_SRC = \ - test/core/transport/metadata_test.c \ -TRANSPORT_METADATA_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TRANSPORT_METADATA_TEST_SRC)))) +GRPC_FETCH_OAUTH2_SRC = \ + test/core/security/fetch_oauth2.c \ + +GRPC_FETCH_OAUTH2_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_FETCH_OAUTH2_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/transport_metadata_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_fetch_oauth2: openssl_dep_error else -$(BINDIR)/$(CONFIG)/transport_metadata_test: $(TRANSPORT_METADATA_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_fetch_oauth2: $(GRPC_FETCH_OAUTH2_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TRANSPORT_METADATA_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/transport_metadata_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_FETCH_OAUTH2_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_fetch_oauth2 endif -$(OBJDIR)/$(CONFIG)/test/core/transport/metadata_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/security/fetch_oauth2.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_transport_metadata_test: $(TRANSPORT_METADATA_TEST_OBJS:.o=.dep) +deps_grpc_fetch_oauth2: $(GRPC_FETCH_OAUTH2_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TRANSPORT_METADATA_TEST_OBJS:.o=.dep) +-include $(GRPC_FETCH_OAUTH2_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -TRANSPORT_SECURITY_TEST_SRC = \ - test/core/tsi/transport_security_test.c \ -TRANSPORT_SECURITY_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TRANSPORT_SECURITY_TEST_SRC)))) +GRPC_INVALID_CHANNEL_ARGS_TEST_SRC = \ + test/core/surface/invalid_channel_args_test.c \ + +GRPC_INVALID_CHANNEL_ARGS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_INVALID_CHANNEL_ARGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/transport_security_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_invalid_channel_args_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/transport_security_test: $(TRANSPORT_SECURITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_invalid_channel_args_test: $(GRPC_INVALID_CHANNEL_ARGS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TRANSPORT_SECURITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/transport_security_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_INVALID_CHANNEL_ARGS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_invalid_channel_args_test endif -$(OBJDIR)/$(CONFIG)/test/core/tsi/transport_security_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/surface/invalid_channel_args_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_transport_security_test: $(TRANSPORT_SECURITY_TEST_OBJS:.o=.dep) +deps_grpc_invalid_channel_args_test: $(GRPC_INVALID_CHANNEL_ARGS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TRANSPORT_SECURITY_TEST_OBJS:.o=.dep) +-include $(GRPC_INVALID_CHANNEL_ARGS_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -UDP_SERVER_TEST_SRC = \ - test/core/iomgr/udp_server_test.c \ -UDP_SERVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(UDP_SERVER_TEST_SRC)))) +GRPC_JSON_TOKEN_TEST_SRC = \ + test/core/security/json_token_test.c \ + +GRPC_JSON_TOKEN_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_JSON_TOKEN_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/udp_server_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_json_token_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/udp_server_test: $(UDP_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_json_token_test: $(GRPC_JSON_TOKEN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(UDP_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/udp_server_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_JSON_TOKEN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_json_token_test endif -$(OBJDIR)/$(CONFIG)/test/core/iomgr/udp_server_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/security/json_token_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_udp_server_test: $(UDP_SERVER_TEST_OBJS:.o=.dep) +deps_grpc_json_token_test: $(GRPC_JSON_TOKEN_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(UDP_SERVER_TEST_OBJS:.o=.dep) +-include $(GRPC_JSON_TOKEN_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -URI_FUZZER_TEST_SRC = \ - test/core/client_config/uri_fuzzer_test.c \ -URI_FUZZER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(URI_FUZZER_TEST_SRC)))) +GRPC_JWT_VERIFIER_TEST_SRC = \ + test/core/security/jwt_verifier_test.c \ + +GRPC_JWT_VERIFIER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_JWT_VERIFIER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/uri_fuzzer_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_jwt_verifier_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/uri_fuzzer_test: $(URI_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_jwt_verifier_test: $(GRPC_JWT_VERIFIER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(URI_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/uri_fuzzer_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_JWT_VERIFIER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_jwt_verifier_test endif -$(OBJDIR)/$(CONFIG)/test/core/client_config/uri_fuzzer_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/security/jwt_verifier_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_uri_fuzzer_test: $(URI_FUZZER_TEST_OBJS:.o=.dep) +deps_grpc_jwt_verifier_test: $(GRPC_JWT_VERIFIER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(URI_FUZZER_TEST_OBJS:.o=.dep) +-include $(GRPC_JWT_VERIFIER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -URI_PARSER_TEST_SRC = \ - test/core/client_config/uri_parser_test.c \ -URI_PARSER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(URI_PARSER_TEST_SRC)))) +GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_SRC = \ + test/core/security/print_google_default_creds_token.c \ + +GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/uri_parser_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_print_google_default_creds_token: openssl_dep_error else -$(BINDIR)/$(CONFIG)/uri_parser_test: $(URI_PARSER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_print_google_default_creds_token: $(GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(URI_PARSER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/uri_parser_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_print_google_default_creds_token endif -$(OBJDIR)/$(CONFIG)/test/core/client_config/uri_parser_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/security/print_google_default_creds_token.o: $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_uri_parser_test: $(URI_PARSER_TEST_OBJS:.o=.dep) +deps_grpc_print_google_default_creds_token: $(GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(URI_PARSER_TEST_OBJS:.o=.dep) +-include $(GRPC_PRINT_GOOGLE_DEFAULT_CREDS_TOKEN_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -ALARM_CPP_TEST_SRC = \ - test/cpp/common/alarm_cpp_test.cc \ - -ALARM_CPP_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_CPP_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/alarm_cpp_test: openssl_dep_error - -else +GRPC_SECURITY_CONNECTOR_TEST_SRC = \ + test/core/security/security_connector_test.c \ +GRPC_SECURITY_CONNECTOR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_SECURITY_CONNECTOR_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -ifeq ($(NO_PROTOBUF),true) +$(BINDIR)/$(CONFIG)/grpc_security_connector_test: openssl_dep_error -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +else -$(BINDIR)/$(CONFIG)/alarm_cpp_test: protobuf_dep_error -else -$(BINDIR)/$(CONFIG)/alarm_cpp_test: $(PROTOBUF_DEP) $(ALARM_CPP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_security_connector_test: $(GRPC_SECURITY_CONNECTOR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(ALARM_CPP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/alarm_cpp_test - -endif + $(Q) $(LD) $(LDFLAGS) $(GRPC_SECURITY_CONNECTOR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_security_connector_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/common/alarm_cpp_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/security/security_connector_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_alarm_cpp_test: $(ALARM_CPP_TEST_OBJS:.o=.dep) +deps_grpc_security_connector_test: $(GRPC_SECURITY_CONNECTOR_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ALARM_CPP_TEST_OBJS:.o=.dep) +-include $(GRPC_SECURITY_CONNECTOR_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -ASYNC_END2END_TEST_SRC = \ - test/cpp/end2end/async_end2end_test.cc \ -ASYNC_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ASYNC_END2END_TEST_SRC)))) +GRPC_VERIFY_JWT_SRC = \ + test/core/security/verify_jwt.c \ + +GRPC_VERIFY_JWT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_VERIFY_JWT_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/async_end2end_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/grpc_verify_jwt: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/async_end2end_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/async_end2end_test: $(PROTOBUF_DEP) $(ASYNC_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/grpc_verify_jwt: $(GRPC_VERIFY_JWT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(ASYNC_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/async_end2end_test - -endif + $(Q) $(LD) $(LDFLAGS) $(GRPC_VERIFY_JWT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_verify_jwt endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/async_end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/security/verify_jwt.o: $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_async_end2end_test: $(ASYNC_END2END_TEST_OBJS:.o=.dep) +deps_grpc_verify_jwt: $(GRPC_VERIFY_JWT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ASYNC_END2END_TEST_OBJS:.o=.dep) +-include $(GRPC_VERIFY_JWT_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -AUTH_PROPERTY_ITERATOR_TEST_SRC = \ - test/cpp/common/auth_property_iterator_test.cc \ -AUTH_PROPERTY_ITERATOR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(AUTH_PROPERTY_ITERATOR_TEST_SRC)))) +HPACK_PARSER_FUZZER_TEST_SRC = \ + test/core/transport/chttp2/hpack_parser_fuzzer_test.c \ + +HPACK_PARSER_FUZZER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_PARSER_FUZZER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/auth_property_iterator_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/auth_property_iterator_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/auth_property_iterator_test: $(PROTOBUF_DEP) $(AUTH_PROPERTY_ITERATOR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test: $(HPACK_PARSER_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(AUTH_PROPERTY_ITERATOR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/auth_property_iterator_test - -endif + $(Q) $(LDXX) $(LDFLAGS) $(HPACK_PARSER_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/hpack_parser_fuzzer_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/common/auth_property_iterator_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/hpack_parser_fuzzer_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_auth_property_iterator_test: $(AUTH_PROPERTY_ITERATOR_TEST_OBJS:.o=.dep) +deps_hpack_parser_fuzzer_test: $(HPACK_PARSER_FUZZER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(AUTH_PROPERTY_ITERATOR_TEST_OBJS:.o=.dep) +-include $(HPACK_PARSER_FUZZER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CHANNEL_ARGUMENTS_TEST_SRC = \ - test/cpp/common/channel_arguments_test.cc \ -CHANNEL_ARGUMENTS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHANNEL_ARGUMENTS_TEST_SRC)))) +HPACK_PARSER_TEST_SRC = \ + test/core/transport/chttp2/hpack_parser_test.c \ + +HPACK_PARSER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_PARSER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/channel_arguments_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/hpack_parser_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/channel_arguments_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/channel_arguments_test: $(PROTOBUF_DEP) $(CHANNEL_ARGUMENTS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/hpack_parser_test: $(HPACK_PARSER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CHANNEL_ARGUMENTS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/channel_arguments_test - -endif + $(Q) $(LD) $(LDFLAGS) $(HPACK_PARSER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/hpack_parser_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/common/channel_arguments_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/hpack_parser_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_channel_arguments_test: $(CHANNEL_ARGUMENTS_TEST_OBJS:.o=.dep) +deps_hpack_parser_test: $(HPACK_PARSER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHANNEL_ARGUMENTS_TEST_OBJS:.o=.dep) +-include $(HPACK_PARSER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CLI_CALL_TEST_SRC = \ - test/cpp/util/cli_call_test.cc \ -CLI_CALL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CLI_CALL_TEST_SRC)))) +HPACK_TABLE_TEST_SRC = \ + test/core/transport/chttp2/hpack_table_test.c \ + +HPACK_TABLE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_TABLE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/cli_call_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/hpack_table_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/cli_call_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/cli_call_test: $(PROTOBUF_DEP) $(CLI_CALL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/hpack_table_test: $(HPACK_TABLE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CLI_CALL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/cli_call_test - -endif + $(Q) $(LD) $(LDFLAGS) $(HPACK_TABLE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/hpack_table_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/util/cli_call_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/hpack_table_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_cli_call_test: $(CLI_CALL_TEST_OBJS:.o=.dep) +deps_hpack_table_test: $(HPACK_TABLE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CLI_CALL_TEST_OBJS:.o=.dep) +-include $(HPACK_TABLE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CLIENT_CRASH_TEST_SRC = \ - test/cpp/end2end/client_crash_test.cc \ -CLIENT_CRASH_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CLIENT_CRASH_TEST_SRC)))) +HTTP_PARSER_TEST_SRC = \ + test/core/http/parser_test.c \ + +HTTP_PARSER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTP_PARSER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/client_crash_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/http_parser_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/client_crash_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/client_crash_test: $(PROTOBUF_DEP) $(CLIENT_CRASH_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/http_parser_test: $(HTTP_PARSER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CLIENT_CRASH_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/client_crash_test - -endif + $(Q) $(LD) $(LDFLAGS) $(HTTP_PARSER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/http_parser_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/client_crash_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/http/parser_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_client_crash_test: $(CLIENT_CRASH_TEST_OBJS:.o=.dep) +deps_http_parser_test: $(HTTP_PARSER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CLIENT_CRASH_TEST_OBJS:.o=.dep) +-include $(HTTP_PARSER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CLIENT_CRASH_TEST_SERVER_SRC = \ - test/cpp/end2end/client_crash_test_server.cc \ -CLIENT_CRASH_TEST_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CLIENT_CRASH_TEST_SERVER_SRC)))) +HTTP_REQUEST_FUZZER_TEST_SRC = \ + test/core/http/request_fuzzer.c \ + +HTTP_REQUEST_FUZZER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTP_REQUEST_FUZZER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/client_crash_test_server: openssl_dep_error +$(BINDIR)/$(CONFIG)/http_request_fuzzer_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/client_crash_test_server: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/client_crash_test_server: $(PROTOBUF_DEP) $(CLIENT_CRASH_TEST_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/http_request_fuzzer_test: $(HTTP_REQUEST_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CLIENT_CRASH_TEST_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/client_crash_test_server - -endif + $(Q) $(LDXX) $(LDFLAGS) $(HTTP_REQUEST_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/http_request_fuzzer_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/client_crash_test_server.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/http/request_fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_client_crash_test_server: $(CLIENT_CRASH_TEST_SERVER_OBJS:.o=.dep) +deps_http_request_fuzzer_test: $(HTTP_REQUEST_FUZZER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CLIENT_CRASH_TEST_SERVER_OBJS:.o=.dep) +-include $(HTTP_REQUEST_FUZZER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CODEGEN_TEST_FULL_SRC = \ - $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc \ - test/cpp/codegen/codegen_test_full.cc \ -CODEGEN_TEST_FULL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CODEGEN_TEST_FULL_SRC)))) +HTTP_RESPONSE_FUZZER_TEST_SRC = \ + test/core/http/response_fuzzer.c \ + +HTTP_RESPONSE_FUZZER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTP_RESPONSE_FUZZER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/codegen_test_full: openssl_dep_error +$(BINDIR)/$(CONFIG)/http_response_fuzzer_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/codegen_test_full: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/codegen_test_full: $(PROTOBUF_DEP) $(CODEGEN_TEST_FULL_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/http_response_fuzzer_test: $(HTTP_RESPONSE_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CODEGEN_TEST_FULL_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/codegen_test_full - -endif + $(Q) $(LDXX) $(LDFLAGS) $(HTTP_RESPONSE_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/http_response_fuzzer_test endif -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/control.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a - -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/messages.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a - -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/payloads.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a - -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/services.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a - -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/stats.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a - -$(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test_full.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/http/response_fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_codegen_test_full: $(CODEGEN_TEST_FULL_OBJS:.o=.dep) +deps_http_response_fuzzer_test: $(HTTP_RESPONSE_FUZZER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CODEGEN_TEST_FULL_OBJS:.o=.dep) +-include $(HTTP_RESPONSE_FUZZER_TEST_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test_full.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc +# Force compilation of proto files before building code that could potentially depend on them -CODEGEN_TEST_MINIMAL_SRC = \ - $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc \ - test/cpp/codegen/codegen_test_minimal.cc \ - src/cpp/codegen/codegen_init.cc \ -CODEGEN_TEST_MINIMAL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CODEGEN_TEST_MINIMAL_SRC)))) +HTTPCLI_FORMAT_REQUEST_TEST_SRC = \ + test/core/http/format_request_test.c \ + +HTTPCLI_FORMAT_REQUEST_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_FORMAT_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/codegen_test_minimal: openssl_dep_error +$(BINDIR)/$(CONFIG)/httpcli_format_request_test: openssl_dep_error else +$(BINDIR)/$(CONFIG)/httpcli_format_request_test: $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/httpcli_format_request_test -ifeq ($(NO_PROTOBUF),true) +endif -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +$(OBJDIR)/$(CONFIG)/test/core/http/format_request_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -$(BINDIR)/$(CONFIG)/codegen_test_minimal: protobuf_dep_error +deps_httpcli_format_request_test: $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS:.o=.dep) -else +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS:.o=.dep) +endif +endif -$(BINDIR)/$(CONFIG)/codegen_test_minimal: $(PROTOBUF_DEP) $(CODEGEN_TEST_MINIMAL_OBJS) - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CODEGEN_TEST_MINIMAL_OBJS) $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/codegen_test_minimal +# Force compilation of proto files before building code that could potentially depend on them -endif -endif +HTTPCLI_TEST_SRC = \ + test/core/http/httpcli_test.c \ -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/control.o: +HTTPCLI_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_TEST_SRC)))) +ifeq ($(NO_SECURE),true) -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/messages.o: +# You can't build secure targets if you don't have OpenSSL. -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/payloads.o: +$(BINDIR)/$(CONFIG)/httpcli_test: openssl_dep_error -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/services.o: +else -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/stats.o: -$(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test_minimal.o: -$(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: +$(BINDIR)/$(CONFIG)/httpcli_test: $(HTTPCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(HTTPCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/httpcli_test -deps_codegen_test_minimal: $(CODEGEN_TEST_MINIMAL_OBJS:.o=.dep) +endif + +$(OBJDIR)/$(CONFIG)/test/core/http/httpcli_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_httpcli_test: $(HTTPCLI_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CODEGEN_TEST_MINIMAL_OBJS:.o=.dep) +-include $(HTTPCLI_TEST_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test_minimal.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc +# Force compilation of proto files before building code that could potentially depend on them -CREDENTIALS_TEST_SRC = \ - test/cpp/client/credentials_test.cc \ -CREDENTIALS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CREDENTIALS_TEST_SRC)))) +HTTPSCLI_TEST_SRC = \ + test/core/http/httpscli_test.c \ + +HTTPSCLI_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPSCLI_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/credentials_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/httpscli_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/credentials_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/credentials_test: $(PROTOBUF_DEP) $(CREDENTIALS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/httpscli_test: $(HTTPSCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CREDENTIALS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/credentials_test - -endif + $(Q) $(LD) $(LDFLAGS) $(HTTPSCLI_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/httpscli_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/client/credentials_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/http/httpscli_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_credentials_test: $(CREDENTIALS_TEST_OBJS:.o=.dep) +deps_httpscli_test: $(HTTPSCLI_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CREDENTIALS_TEST_OBJS:.o=.dep) +-include $(HTTPSCLI_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CXX_BYTE_BUFFER_TEST_SRC = \ - test/cpp/util/byte_buffer_test.cc \ -CXX_BYTE_BUFFER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CXX_BYTE_BUFFER_TEST_SRC)))) +INIT_TEST_SRC = \ + test/core/surface/init_test.c \ + +INIT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INIT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/cxx_byte_buffer_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/init_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/cxx_byte_buffer_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/cxx_byte_buffer_test: $(PROTOBUF_DEP) $(CXX_BYTE_BUFFER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/init_test: $(INIT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CXX_BYTE_BUFFER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test - -endif + $(Q) $(LD) $(LDFLAGS) $(INIT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/init_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/util/byte_buffer_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/surface/init_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_cxx_byte_buffer_test: $(CXX_BYTE_BUFFER_TEST_OBJS:.o=.dep) +deps_init_test: $(INIT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CXX_BYTE_BUFFER_TEST_OBJS:.o=.dep) +-include $(INIT_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CXX_SLICE_TEST_SRC = \ - test/cpp/util/slice_test.cc \ -CXX_SLICE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CXX_SLICE_TEST_SRC)))) +INTERNAL_API_CANARY_IOMGR_TEST_SRC = \ + test/core/internal_api_canaries/iomgr.c \ + +INTERNAL_API_CANARY_IOMGR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTERNAL_API_CANARY_IOMGR_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/cxx_slice_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/cxx_slice_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/cxx_slice_test: $(PROTOBUF_DEP) $(CXX_SLICE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test: $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CXX_SLICE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/cxx_slice_test - -endif + $(Q) $(LD) $(LDFLAGS) $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/internal_api_canary_iomgr_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/util/slice_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/internal_api_canaries/iomgr.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_cxx_slice_test: $(CXX_SLICE_TEST_OBJS:.o=.dep) +deps_internal_api_canary_iomgr_test: $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CXX_SLICE_TEST_OBJS:.o=.dep) +-include $(INTERNAL_API_CANARY_IOMGR_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CXX_STRING_REF_TEST_SRC = \ - test/cpp/util/string_ref_test.cc \ -CXX_STRING_REF_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CXX_STRING_REF_TEST_SRC)))) +INTERNAL_API_CANARY_SUPPORT_TEST_SRC = \ + test/core/internal_api_canaries/iomgr.c \ + +INTERNAL_API_CANARY_SUPPORT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTERNAL_API_CANARY_SUPPORT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/cxx_string_ref_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/internal_api_canary_support_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/cxx_string_ref_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/cxx_string_ref_test: $(PROTOBUF_DEP) $(CXX_STRING_REF_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a +$(BINDIR)/$(CONFIG)/internal_api_canary_support_test: $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CXX_STRING_REF_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/cxx_string_ref_test - -endif + $(Q) $(LD) $(LDFLAGS) $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/internal_api_canary_support_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/util/string_ref_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a +$(OBJDIR)/$(CONFIG)/test/core/internal_api_canaries/iomgr.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_cxx_string_ref_test: $(CXX_STRING_REF_TEST_OBJS:.o=.dep) +deps_internal_api_canary_support_test: $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CXX_STRING_REF_TEST_OBJS:.o=.dep) +-include $(INTERNAL_API_CANARY_SUPPORT_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -CXX_TIME_TEST_SRC = \ - test/cpp/util/time_test.cc \ -CXX_TIME_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CXX_TIME_TEST_SRC)))) +INTERNAL_API_CANARY_TRANSPORT_TEST_SRC = \ + test/core/internal_api_canaries/iomgr.c \ + +INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTERNAL_API_CANARY_TRANSPORT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/cxx_time_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/internal_api_canary_transport_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/cxx_time_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/cxx_time_test: $(PROTOBUF_DEP) $(CXX_TIME_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/internal_api_canary_transport_test: $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CXX_TIME_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/cxx_time_test - -endif + $(Q) $(LD) $(LDFLAGS) $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/internal_api_canary_transport_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/util/time_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/internal_api_canaries/iomgr.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_cxx_time_test: $(CXX_TIME_TEST_OBJS:.o=.dep) +deps_internal_api_canary_transport_test: $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CXX_TIME_TEST_OBJS:.o=.dep) +-include $(INTERNAL_API_CANARY_TRANSPORT_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -END2END_TEST_SRC = \ - test/cpp/end2end/end2end_test.cc \ -END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(END2END_TEST_SRC)))) +INVALID_CALL_ARGUMENT_TEST_SRC = \ + test/core/end2end/invalid_call_argument_test.c \ + +INVALID_CALL_ARGUMENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INVALID_CALL_ARGUMENT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/end2end_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/invalid_call_argument_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/end2end_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/end2end_test: $(PROTOBUF_DEP) $(END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/invalid_call_argument_test: $(INVALID_CALL_ARGUMENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/end2end_test - -endif + $(Q) $(LD) $(LDFLAGS) $(INVALID_CALL_ARGUMENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/invalid_call_argument_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/invalid_call_argument_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_end2end_test: $(END2END_TEST_OBJS:.o=.dep) +deps_invalid_call_argument_test: $(INVALID_CALL_ARGUMENT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(END2END_TEST_OBJS:.o=.dep) +-include $(INVALID_CALL_ARGUMENT_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -FILTER_END2END_TEST_SRC = \ - test/cpp/end2end/filter_end2end_test.cc \ -FILTER_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(FILTER_END2END_TEST_SRC)))) +JSON_FUZZER_TEST_SRC = \ + test/core/json/fuzzer.c \ + +JSON_FUZZER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_FUZZER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/filter_end2end_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/json_fuzzer_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/filter_end2end_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/filter_end2end_test: $(PROTOBUF_DEP) $(FILTER_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/json_fuzzer_test: $(JSON_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(FILTER_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/filter_end2end_test - -endif + $(Q) $(LDXX) $(LDFLAGS) $(JSON_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/json_fuzzer_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/filter_end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/json/fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_filter_end2end_test: $(FILTER_END2END_TEST_OBJS:.o=.dep) +deps_json_fuzzer_test: $(JSON_FUZZER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FILTER_END2END_TEST_OBJS:.o=.dep) +-include $(JSON_FUZZER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GENERIC_END2END_TEST_SRC = \ - test/cpp/end2end/generic_end2end_test.cc \ -GENERIC_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GENERIC_END2END_TEST_SRC)))) +JSON_REWRITE_SRC = \ + test/core/json/json_rewrite.c \ + +JSON_REWRITE_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_REWRITE_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/generic_end2end_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/json_rewrite: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/generic_end2end_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/generic_end2end_test: $(PROTOBUF_DEP) $(GENERIC_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/json_rewrite: $(JSON_REWRITE_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(GENERIC_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/generic_end2end_test - -endif + $(Q) $(LD) $(LDFLAGS) $(JSON_REWRITE_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/json_rewrite endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/generic_end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/json/json_rewrite.o: $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_generic_end2end_test: $(GENERIC_END2END_TEST_OBJS:.o=.dep) +deps_json_rewrite: $(JSON_REWRITE_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GENERIC_END2END_TEST_OBJS:.o=.dep) +-include $(JSON_REWRITE_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GOLDEN_FILE_TEST_SRC = \ - $(GENDIR)/src/proto/grpc/testing/compiler_test.pb.cc $(GENDIR)/src/proto/grpc/testing/compiler_test.grpc.pb.cc \ - test/cpp/codegen/golden_file_test.cc \ -GOLDEN_FILE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GOLDEN_FILE_TEST_SRC)))) +JSON_REWRITE_TEST_SRC = \ + test/core/json/json_rewrite_test.c \ + +JSON_REWRITE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_REWRITE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/golden_file_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/json_rewrite_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/golden_file_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/golden_file_test: $(PROTOBUF_DEP) $(GOLDEN_FILE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/json_rewrite_test: $(JSON_REWRITE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(GOLDEN_FILE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/golden_file_test - -endif + $(Q) $(LD) $(LDFLAGS) $(JSON_REWRITE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/json_rewrite_test endif -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/compiler_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a - -$(OBJDIR)/$(CONFIG)/test/cpp/codegen/golden_file_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/json/json_rewrite_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_golden_file_test: $(GOLDEN_FILE_TEST_OBJS:.o=.dep) +deps_json_rewrite_test: $(JSON_REWRITE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GOLDEN_FILE_TEST_OBJS:.o=.dep) +-include $(JSON_REWRITE_TEST_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/codegen/golden_file_test.o: $(GENDIR)/src/proto/grpc/testing/compiler_test.pb.cc $(GENDIR)/src/proto/grpc/testing/compiler_test.grpc.pb.cc +# Force compilation of proto files before building code that could potentially depend on them -GRPC_CLI_SRC = \ - test/cpp/util/grpc_cli.cc \ -GRPC_CLI_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CLI_SRC)))) +JSON_STREAM_ERROR_TEST_SRC = \ + test/core/json/json_stream_error_test.c \ + +JSON_STREAM_ERROR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_STREAM_ERROR_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_cli: openssl_dep_error +$(BINDIR)/$(CONFIG)/json_stream_error_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/grpc_cli: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/grpc_cli: $(PROTOBUF_DEP) $(GRPC_CLI_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(BINDIR)/$(CONFIG)/json_stream_error_test: $(JSON_STREAM_ERROR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(GRPC_CLI_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/grpc_cli - -endif + $(Q) $(LD) $(LDFLAGS) $(JSON_STREAM_ERROR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/json_stream_error_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/util/grpc_cli.o: $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(OBJDIR)/$(CONFIG)/test/core/json/json_stream_error_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_cli: $(GRPC_CLI_OBJS:.o=.dep) +deps_json_stream_error_test: $(JSON_STREAM_ERROR_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_CLI_OBJS:.o=.dep) +-include $(JSON_STREAM_ERROR_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_CPP_PLUGIN_SRC = \ - src/compiler/cpp_plugin.cc \ -GRPC_CPP_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CPP_PLUGIN_SRC)))) +JSON_TEST_SRC = \ + test/core/json/json_test.c \ +JSON_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -ifeq ($(NO_PROTOBUF),true) +$(BINDIR)/$(CONFIG)/json_test: openssl_dep_error -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +else -$(BINDIR)/$(CONFIG)/grpc_cpp_plugin: protobuf_dep_error -else -$(BINDIR)/$(CONFIG)/grpc_cpp_plugin: $(PROTOBUF_DEP) $(GRPC_CPP_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a - $(E) "[HOSTLD] Linking $@" +$(BINDIR)/$(CONFIG)/json_test: $(JSON_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_CPP_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_cpp_plugin + $(Q) $(LD) $(LDFLAGS) $(JSON_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/json_test endif -$(OBJDIR)/$(CONFIG)/src/compiler/cpp_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a +$(OBJDIR)/$(CONFIG)/test/core/json/json_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_cpp_plugin: $(GRPC_CPP_PLUGIN_OBJS:.o=.dep) +deps_json_test: $(JSON_TEST_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_CPP_PLUGIN_OBJS:.o=.dep) +-include $(JSON_TEST_OBJS:.o=.dep) +endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_CSHARP_PLUGIN_SRC = \ - src/compiler/csharp_plugin.cc \ -GRPC_CSHARP_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CSHARP_PLUGIN_SRC)))) +LAME_CLIENT_TEST_SRC = \ + test/core/surface/lame_client_test.c \ +LAME_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LAME_CLIENT_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -ifeq ($(NO_PROTOBUF),true) +$(BINDIR)/$(CONFIG)/lame_client_test: openssl_dep_error -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +else -$(BINDIR)/$(CONFIG)/grpc_csharp_plugin: protobuf_dep_error -else -$(BINDIR)/$(CONFIG)/grpc_csharp_plugin: $(PROTOBUF_DEP) $(GRPC_CSHARP_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a - $(E) "[HOSTLD] Linking $@" +$(BINDIR)/$(CONFIG)/lame_client_test: $(LAME_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_CSHARP_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_csharp_plugin + $(Q) $(LD) $(LDFLAGS) $(LAME_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/lame_client_test endif -$(OBJDIR)/$(CONFIG)/src/compiler/csharp_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a +$(OBJDIR)/$(CONFIG)/test/core/surface/lame_client_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_csharp_plugin: $(GRPC_CSHARP_PLUGIN_OBJS:.o=.dep) +deps_lame_client_test: $(LAME_CLIENT_TEST_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_CSHARP_PLUGIN_OBJS:.o=.dep) +-include $(LAME_CLIENT_TEST_OBJS:.o=.dep) +endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_NODE_PLUGIN_SRC = \ - src/compiler/node_plugin.cc \ -GRPC_NODE_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_NODE_PLUGIN_SRC)))) +LB_POLICIES_TEST_SRC = \ + test/core/client_config/lb_policies_test.c \ +LB_POLICIES_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LB_POLICIES_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -ifeq ($(NO_PROTOBUF),true) +$(BINDIR)/$(CONFIG)/lb_policies_test: openssl_dep_error -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +else -$(BINDIR)/$(CONFIG)/grpc_node_plugin: protobuf_dep_error -else -$(BINDIR)/$(CONFIG)/grpc_node_plugin: $(PROTOBUF_DEP) $(GRPC_NODE_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a - $(E) "[HOSTLD] Linking $@" +$(BINDIR)/$(CONFIG)/lb_policies_test: $(LB_POLICIES_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_NODE_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_node_plugin + $(Q) $(LD) $(LDFLAGS) $(LB_POLICIES_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/lb_policies_test endif -$(OBJDIR)/$(CONFIG)/src/compiler/node_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a +$(OBJDIR)/$(CONFIG)/test/core/client_config/lb_policies_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_node_plugin: $(GRPC_NODE_PLUGIN_OBJS:.o=.dep) +deps_lb_policies_test: $(LB_POLICIES_TEST_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_NODE_PLUGIN_OBJS:.o=.dep) +-include $(LB_POLICIES_TEST_OBJS:.o=.dep) +endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_OBJECTIVE_C_PLUGIN_SRC = \ - src/compiler/objective_c_plugin.cc \ -GRPC_OBJECTIVE_C_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_OBJECTIVE_C_PLUGIN_SRC)))) +LOAD_FILE_TEST_SRC = \ + test/core/iomgr/load_file_test.c \ +LOAD_FILE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LOAD_FILE_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -ifeq ($(NO_PROTOBUF),true) +$(BINDIR)/$(CONFIG)/load_file_test: openssl_dep_error -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +else -$(BINDIR)/$(CONFIG)/grpc_objective_c_plugin: protobuf_dep_error -else -$(BINDIR)/$(CONFIG)/grpc_objective_c_plugin: $(PROTOBUF_DEP) $(GRPC_OBJECTIVE_C_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a - $(E) "[HOSTLD] Linking $@" +$(BINDIR)/$(CONFIG)/load_file_test: $(LOAD_FILE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_OBJECTIVE_C_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_objective_c_plugin + $(Q) $(LD) $(LDFLAGS) $(LOAD_FILE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/load_file_test endif -$(OBJDIR)/$(CONFIG)/src/compiler/objective_c_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/load_file_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_objective_c_plugin: $(GRPC_OBJECTIVE_C_PLUGIN_OBJS:.o=.dep) +deps_load_file_test: $(LOAD_FILE_TEST_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_OBJECTIVE_C_PLUGIN_OBJS:.o=.dep) +-include $(LOAD_FILE_TEST_OBJS:.o=.dep) +endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_PYTHON_PLUGIN_SRC = \ - src/compiler/python_plugin.cc \ -GRPC_PYTHON_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_PYTHON_PLUGIN_SRC)))) +LOW_LEVEL_PING_PONG_BENCHMARK_SRC = \ + test/core/network_benchmarks/low_level_ping_pong.c \ +LOW_LEVEL_PING_PONG_BENCHMARK_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LOW_LEVEL_PING_PONG_BENCHMARK_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -ifeq ($(NO_PROTOBUF),true) +$(BINDIR)/$(CONFIG)/low_level_ping_pong_benchmark: openssl_dep_error -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +else -$(BINDIR)/$(CONFIG)/grpc_python_plugin: protobuf_dep_error -else -$(BINDIR)/$(CONFIG)/grpc_python_plugin: $(PROTOBUF_DEP) $(GRPC_PYTHON_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a - $(E) "[HOSTLD] Linking $@" +$(BINDIR)/$(CONFIG)/low_level_ping_pong_benchmark: $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_PYTHON_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_python_plugin + $(Q) $(LD) $(LDFLAGS) $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/low_level_ping_pong_benchmark endif -$(OBJDIR)/$(CONFIG)/src/compiler/python_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a +$(OBJDIR)/$(CONFIG)/test/core/network_benchmarks/low_level_ping_pong.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_python_plugin: $(GRPC_PYTHON_PLUGIN_OBJS:.o=.dep) +deps_low_level_ping_pong_benchmark: $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_PYTHON_PLUGIN_OBJS:.o=.dep) +-include $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS:.o=.dep) +endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_RUBY_PLUGIN_SRC = \ - src/compiler/ruby_plugin.cc \ -GRPC_RUBY_PLUGIN_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_RUBY_PLUGIN_SRC)))) +MESSAGE_COMPRESS_TEST_SRC = \ + test/core/compression/message_compress_test.c \ +MESSAGE_COMPRESS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(MESSAGE_COMPRESS_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -ifeq ($(NO_PROTOBUF),true) +$(BINDIR)/$(CONFIG)/message_compress_test: openssl_dep_error -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +else -$(BINDIR)/$(CONFIG)/grpc_ruby_plugin: protobuf_dep_error -else -$(BINDIR)/$(CONFIG)/grpc_ruby_plugin: $(PROTOBUF_DEP) $(GRPC_RUBY_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a - $(E) "[HOSTLD] Linking $@" +$(BINDIR)/$(CONFIG)/message_compress_test: $(MESSAGE_COMPRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(GRPC_RUBY_PLUGIN_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(HOST_LDLIBSXX) $(HOST_LDLIBS_PROTOC) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o $(BINDIR)/$(CONFIG)/grpc_ruby_plugin + $(Q) $(LD) $(LDFLAGS) $(MESSAGE_COMPRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/message_compress_test endif -$(OBJDIR)/$(CONFIG)/src/compiler/ruby_plugin.o: $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a +$(OBJDIR)/$(CONFIG)/test/core/compression/message_compress_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_ruby_plugin: $(GRPC_RUBY_PLUGIN_OBJS:.o=.dep) +deps_message_compress_test: $(MESSAGE_COMPRESS_TEST_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_RUBY_PLUGIN_OBJS:.o=.dep) +-include $(MESSAGE_COMPRESS_TEST_OBJS:.o=.dep) +endif endif +# Force compilation of proto files before building code that could potentially depend on them -GRPC_TOOL_TEST_SRC = \ - $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc \ - test/cpp/util/grpc_tool_test.cc \ - test/cpp/util/string_ref_helper.cc \ -GRPC_TOOL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_TOOL_TEST_SRC)))) +MLOG_TEST_SRC = \ + test/core/census/mlog_test.c \ + +MLOG_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(MLOG_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpc_tool_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/mlog_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/grpc_tool_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/grpc_tool_test: $(PROTOBUF_DEP) $(GRPC_TOOL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/mlog_test: $(MLOG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(GRPC_TOOL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/grpc_tool_test - -endif + $(Q) $(LD) $(LDFLAGS) $(MLOG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/mlog_test endif -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/echo.o: $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/echo_messages.o: $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -$(OBJDIR)/$(CONFIG)/test/cpp/util/grpc_tool_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -$(OBJDIR)/$(CONFIG)/test/cpp/util/string_ref_helper.o: $(LIBDIR)/$(CONFIG)/libgrpc_cli_libs.a $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/census/mlog_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpc_tool_test: $(GRPC_TOOL_TEST_OBJS:.o=.dep) +deps_mlog_test: $(MLOG_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_TOOL_TEST_OBJS:.o=.dep) +-include $(MLOG_TEST_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/util/grpc_tool_test.o: $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/string_ref_helper.o: $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc +# Force compilation of proto files before building code that could potentially depend on them -GRPCLB_API_TEST_SRC = \ - $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc \ - test/cpp/grpclb/grpclb_api_test.cc \ -GRPCLB_API_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPCLB_API_TEST_SRC)))) +MULTIPLE_SERVER_QUEUES_TEST_SRC = \ + test/core/end2end/multiple_server_queues_test.c \ + +MULTIPLE_SERVER_QUEUES_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(MULTIPLE_SERVER_QUEUES_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpclb_api_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/multiple_server_queues_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/grpclb_api_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/grpclb_api_test: $(PROTOBUF_DEP) $(GRPCLB_API_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a +$(BINDIR)/$(CONFIG)/multiple_server_queues_test: $(MULTIPLE_SERVER_QUEUES_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(GRPCLB_API_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/grpclb_api_test - -endif + $(Q) $(LD) $(LDFLAGS) $(MULTIPLE_SERVER_QUEUES_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/multiple_server_queues_test endif -$(OBJDIR)/$(CONFIG)/src/proto/grpc/lb/v1/load_balancer.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a - -$(OBJDIR)/$(CONFIG)/test/cpp/grpclb/grpclb_api_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/multiple_server_queues_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpclb_api_test: $(GRPCLB_API_TEST_OBJS:.o=.dep) +deps_multiple_server_queues_test: $(MULTIPLE_SERVER_QUEUES_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPCLB_API_TEST_OBJS:.o=.dep) +-include $(MULTIPLE_SERVER_QUEUES_TEST_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/grpclb/grpclb_api_test.o: $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc +# Force compilation of proto files before building code that could potentially depend on them -GRPCLB_TEST_SRC = \ - $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc \ - test/cpp/grpclb/grpclb_test.cc \ -GRPCLB_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPCLB_TEST_SRC)))) +MURMUR_HASH_TEST_SRC = \ + test/core/support/murmur_hash_test.c \ + +MURMUR_HASH_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(MURMUR_HASH_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/grpclb_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/murmur_hash_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/grpclb_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/grpclb_test: $(PROTOBUF_DEP) $(GRPCLB_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a +$(BINDIR)/$(CONFIG)/murmur_hash_test: $(MURMUR_HASH_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(GRPCLB_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/grpclb_test - -endif + $(Q) $(LD) $(LDFLAGS) $(MURMUR_HASH_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/murmur_hash_test endif -$(OBJDIR)/$(CONFIG)/src/proto/grpc/lb/v1/load_balancer.o: $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a - -$(OBJDIR)/$(CONFIG)/test/cpp/grpclb/grpclb_test.o: $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a +$(OBJDIR)/$(CONFIG)/test/core/support/murmur_hash_test.o: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_grpclb_test: $(GRPCLB_TEST_OBJS:.o=.dep) +deps_murmur_hash_test: $(MURMUR_HASH_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPCLB_TEST_OBJS:.o=.dep) +-include $(MURMUR_HASH_TEST_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/grpclb/grpclb_test.o: $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.pb.cc $(GENDIR)/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc +# Force compilation of proto files before building code that could potentially depend on them -HYBRID_END2END_TEST_SRC = \ - test/cpp/end2end/hybrid_end2end_test.cc \ -HYBRID_END2END_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HYBRID_END2END_TEST_SRC)))) +NANOPB_FUZZER_RESPONSE_TEST_SRC = \ + test/core/nanopb/fuzzer_response.c \ + +NANOPB_FUZZER_RESPONSE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(NANOPB_FUZZER_RESPONSE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/hybrid_end2end_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/hybrid_end2end_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/hybrid_end2end_test: $(PROTOBUF_DEP) $(HYBRID_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test: $(NANOPB_FUZZER_RESPONSE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(HYBRID_END2END_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/hybrid_end2end_test - -endif + $(Q) $(LDXX) $(LDFLAGS) $(NANOPB_FUZZER_RESPONSE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/nanopb_fuzzer_response_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/hybrid_end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/nanopb/fuzzer_response.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_hybrid_end2end_test: $(HYBRID_END2END_TEST_OBJS:.o=.dep) +deps_nanopb_fuzzer_response_test: $(NANOPB_FUZZER_RESPONSE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HYBRID_END2END_TEST_OBJS:.o=.dep) +-include $(NANOPB_FUZZER_RESPONSE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + + +NANOPB_FUZZER_SERVERLIST_TEST_SRC = \ + test/core/nanopb/fuzzer_serverlist.c \ +NANOPB_FUZZER_SERVERLIST_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(NANOPB_FUZZER_SERVERLIST_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/interop_client: openssl_dep_error +$(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/interop_client: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/interop_client: $(LIBDIR)/$(CONFIG)/libinterop_client_main.a $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test: $(NANOPB_FUZZER_SERVERLIST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(LIBDIR)/$(CONFIG)/libinterop_client_main.a $(LIBDIR)/$(CONFIG)/libinterop_client_helper.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/interop_client + $(Q) $(LDXX) $(LDFLAGS) $(NANOPB_FUZZER_SERVERLIST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/nanopb_fuzzer_serverlist_test endif +$(OBJDIR)/$(CONFIG)/test/core/nanopb/fuzzer_serverlist.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_nanopb_fuzzer_serverlist_test: $(NANOPB_FUZZER_SERVERLIST_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(NANOPB_FUZZER_SERVERLIST_TEST_OBJS:.o=.dep) +endif endif +# Force compilation of proto files before building code that could potentially depend on them +NO_SERVER_TEST_SRC = \ + test/core/end2end/no_server_test.c \ +NO_SERVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(NO_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/interop_server: openssl_dep_error +$(BINDIR)/$(CONFIG)/no_server_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/interop_server: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/interop_server: $(LIBDIR)/$(CONFIG)/libinterop_server_main.a $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(BINDIR)/$(CONFIG)/no_server_test: $(NO_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(LIBDIR)/$(CONFIG)/libinterop_server_main.a $(LIBDIR)/$(CONFIG)/libinterop_server_helper.a $(LIBDIR)/$(CONFIG)/libinterop_server_lib.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/interop_server + $(Q) $(LD) $(LDFLAGS) $(NO_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/no_server_test endif -endif +$(OBJDIR)/$(CONFIG)/test/core/end2end/no_server_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +deps_no_server_test: $(NO_SERVER_TEST_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(NO_SERVER_TEST_OBJS:.o=.dep) +endif +endif +# Force compilation of proto files before building code that could potentially depend on them -INTEROP_TEST_SRC = \ - test/cpp/interop/interop_test.cc \ -INTEROP_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_TEST_SRC)))) +RESOLVE_ADDRESS_TEST_SRC = \ + test/core/iomgr/resolve_address_test.c \ + +RESOLVE_ADDRESS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(RESOLVE_ADDRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/interop_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/resolve_address_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/interop_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/interop_test: $(PROTOBUF_DEP) $(INTEROP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/resolve_address_test: $(RESOLVE_ADDRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(INTEROP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/interop_test - -endif + $(Q) $(LD) $(LDFLAGS) $(RESOLVE_ADDRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/resolve_address_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/interop/interop_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/resolve_address_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_interop_test: $(INTEROP_TEST_OBJS:.o=.dep) +deps_resolve_address_test: $(RESOLVE_ADDRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(INTEROP_TEST_OBJS:.o=.dep) +-include $(RESOLVE_ADDRESS_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -JSON_RUN_LOCALHOST_SRC = \ - test/cpp/qps/json_run_localhost.cc \ -JSON_RUN_LOCALHOST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(JSON_RUN_LOCALHOST_SRC)))) +SECURE_CHANNEL_CREATE_TEST_SRC = \ + test/core/surface/secure_channel_create_test.c \ + +SECURE_CHANNEL_CREATE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SECURE_CHANNEL_CREATE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/json_run_localhost: openssl_dep_error +$(BINDIR)/$(CONFIG)/secure_channel_create_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/json_run_localhost: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/json_run_localhost: $(PROTOBUF_DEP) $(JSON_RUN_LOCALHOST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(BINDIR)/$(CONFIG)/secure_channel_create_test: $(SECURE_CHANNEL_CREATE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(JSON_RUN_LOCALHOST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/json_run_localhost - -endif + $(Q) $(LD) $(LDFLAGS) $(SECURE_CHANNEL_CREATE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/secure_channel_create_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/qps/json_run_localhost.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(OBJDIR)/$(CONFIG)/test/core/surface/secure_channel_create_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_json_run_localhost: $(JSON_RUN_LOCALHOST_OBJS:.o=.dep) +deps_secure_channel_create_test: $(SECURE_CHANNEL_CREATE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(JSON_RUN_LOCALHOST_OBJS:.o=.dep) +-include $(SECURE_CHANNEL_CREATE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -METRICS_CLIENT_SRC = \ - $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc \ - test/cpp/interop/metrics_client.cc \ -METRICS_CLIENT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(METRICS_CLIENT_SRC)))) +SECURE_ENDPOINT_TEST_SRC = \ + test/core/security/secure_endpoint_test.c \ + +SECURE_ENDPOINT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SECURE_ENDPOINT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/metrics_client: openssl_dep_error +$(BINDIR)/$(CONFIG)/secure_endpoint_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/metrics_client: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/metrics_client: $(PROTOBUF_DEP) $(METRICS_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(BINDIR)/$(CONFIG)/secure_endpoint_test: $(SECURE_ENDPOINT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(METRICS_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/metrics_client - -endif + $(Q) $(LD) $(LDFLAGS) $(SECURE_ENDPOINT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/secure_endpoint_test endif -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/metrics.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a - -$(OBJDIR)/$(CONFIG)/test/cpp/interop/metrics_client.o: $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(OBJDIR)/$(CONFIG)/test/core/security/secure_endpoint_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_metrics_client: $(METRICS_CLIENT_OBJS:.o=.dep) +deps_secure_endpoint_test: $(SECURE_ENDPOINT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(METRICS_CLIENT_OBJS:.o=.dep) +-include $(SECURE_ENDPOINT_TEST_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/interop/metrics_client.o: $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc +# Force compilation of proto files before building code that could potentially depend on them -MOCK_TEST_SRC = \ - test/cpp/end2end/mock_test.cc \ -MOCK_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(MOCK_TEST_SRC)))) +SEQUENTIAL_CONNECTIVITY_TEST_SRC = \ + test/core/surface/sequential_connectivity_test.c \ + +SEQUENTIAL_CONNECTIVITY_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SEQUENTIAL_CONNECTIVITY_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/mock_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/sequential_connectivity_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/mock_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/mock_test: $(PROTOBUF_DEP) $(MOCK_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/sequential_connectivity_test: $(SEQUENTIAL_CONNECTIVITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(MOCK_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/mock_test - -endif + $(Q) $(LD) $(LDFLAGS) $(SEQUENTIAL_CONNECTIVITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/sequential_connectivity_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/mock_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/surface/sequential_connectivity_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_mock_test: $(MOCK_TEST_OBJS:.o=.dep) +deps_sequential_connectivity_test: $(SEQUENTIAL_CONNECTIVITY_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(MOCK_TEST_OBJS:.o=.dep) +-include $(SEQUENTIAL_CONNECTIVITY_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -PROTO_SERVER_REFLECTION_TEST_SRC = \ - test/cpp/end2end/proto_server_reflection_test.cc \ - test/cpp/util/proto_reflection_descriptor_database.cc \ -PROTO_SERVER_REFLECTION_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(PROTO_SERVER_REFLECTION_TEST_SRC)))) +SERVER_CHTTP2_TEST_SRC = \ + test/core/surface/server_chttp2_test.c \ + +SERVER_CHTTP2_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_CHTTP2_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/proto_server_reflection_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/server_chttp2_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/proto_server_reflection_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/proto_server_reflection_test: $(PROTOBUF_DEP) $(PROTO_SERVER_REFLECTION_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/server_chttp2_test: $(SERVER_CHTTP2_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(PROTO_SERVER_REFLECTION_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/proto_server_reflection_test - -endif + $(Q) $(LD) $(LDFLAGS) $(SERVER_CHTTP2_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/server_chttp2_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/proto_server_reflection_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -$(OBJDIR)/$(CONFIG)/test/cpp/util/proto_reflection_descriptor_database.o: $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/surface/server_chttp2_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_proto_server_reflection_test: $(PROTO_SERVER_REFLECTION_TEST_OBJS:.o=.dep) +deps_server_chttp2_test: $(SERVER_CHTTP2_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(PROTO_SERVER_REFLECTION_TEST_OBJS:.o=.dep) +-include $(SERVER_CHTTP2_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -QPS_INTERARRIVAL_TEST_SRC = \ - test/cpp/qps/qps_interarrival_test.cc \ -QPS_INTERARRIVAL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_INTERARRIVAL_TEST_SRC)))) +SERVER_FUZZER_SRC = \ + test/core/end2end/fuzzers/server_fuzzer.c \ + +SERVER_FUZZER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_FUZZER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/qps_interarrival_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/server_fuzzer: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/qps_interarrival_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/qps_interarrival_test: $(PROTOBUF_DEP) $(QPS_INTERARRIVAL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/server_fuzzer: $(SERVER_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(QPS_INTERARRIVAL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/qps_interarrival_test - -endif + $(Q) $(LDXX) $(LDFLAGS) $(SERVER_FUZZER_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/server_fuzzer endif -$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_interarrival_test.o: $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fuzzers/server_fuzzer.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_qps_interarrival_test: $(QPS_INTERARRIVAL_TEST_OBJS:.o=.dep) +deps_server_fuzzer: $(SERVER_FUZZER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(QPS_INTERARRIVAL_TEST_OBJS:.o=.dep) +-include $(SERVER_FUZZER_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -QPS_JSON_DRIVER_SRC = \ - test/cpp/qps/qps_json_driver.cc \ -QPS_JSON_DRIVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_JSON_DRIVER_SRC)))) +SERVER_TEST_SRC = \ + test/core/surface/server_test.c \ + +SERVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/qps_json_driver: openssl_dep_error +$(BINDIR)/$(CONFIG)/server_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/qps_json_driver: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/qps_json_driver: $(PROTOBUF_DEP) $(QPS_JSON_DRIVER_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(BINDIR)/$(CONFIG)/server_test: $(SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(QPS_JSON_DRIVER_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/qps_json_driver - -endif + $(Q) $(LD) $(LDFLAGS) $(SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/server_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_json_driver.o: $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(OBJDIR)/$(CONFIG)/test/core/surface/server_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_qps_json_driver: $(QPS_JSON_DRIVER_OBJS:.o=.dep) +deps_server_test: $(SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(QPS_JSON_DRIVER_OBJS:.o=.dep) +-include $(SERVER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -QPS_OPENLOOP_TEST_SRC = \ - test/cpp/qps/qps_openloop_test.cc \ -QPS_OPENLOOP_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_OPENLOOP_TEST_SRC)))) +SET_INITIAL_CONNECT_STRING_TEST_SRC = \ + test/core/client_config/set_initial_connect_string_test.c \ + +SET_INITIAL_CONNECT_STRING_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SET_INITIAL_CONNECT_STRING_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/qps_openloop_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/set_initial_connect_string_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/qps_openloop_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/qps_openloop_test: $(PROTOBUF_DEP) $(QPS_OPENLOOP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(BINDIR)/$(CONFIG)/set_initial_connect_string_test: $(SET_INITIAL_CONNECT_STRING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(QPS_OPENLOOP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/qps_openloop_test - -endif + $(Q) $(LD) $(LDFLAGS) $(SET_INITIAL_CONNECT_STRING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/set_initial_connect_string_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_openloop_test.o: $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(OBJDIR)/$(CONFIG)/test/core/client_config/set_initial_connect_string_test.o: $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_qps_openloop_test: $(QPS_OPENLOOP_TEST_OBJS:.o=.dep) +deps_set_initial_connect_string_test: $(SET_INITIAL_CONNECT_STRING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(QPS_OPENLOOP_TEST_OBJS:.o=.dep) +-include $(SET_INITIAL_CONNECT_STRING_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -QPS_WORKER_SRC = \ - test/cpp/qps/worker.cc \ -QPS_WORKER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_WORKER_SRC)))) +SOCKADDR_RESOLVER_TEST_SRC = \ + test/core/client_config/resolvers/sockaddr_resolver_test.c \ + +SOCKADDR_RESOLVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SOCKADDR_RESOLVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/qps_worker: openssl_dep_error +$(BINDIR)/$(CONFIG)/sockaddr_resolver_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/qps_worker: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/qps_worker: $(PROTOBUF_DEP) $(QPS_WORKER_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(BINDIR)/$(CONFIG)/sockaddr_resolver_test: $(SOCKADDR_RESOLVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(QPS_WORKER_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/qps_worker - -endif + $(Q) $(LD) $(LDFLAGS) $(SOCKADDR_RESOLVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/sockaddr_resolver_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/qps/worker.o: $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(OBJDIR)/$(CONFIG)/test/core/client_config/resolvers/sockaddr_resolver_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_qps_worker: $(QPS_WORKER_OBJS:.o=.dep) +deps_sockaddr_resolver_test: $(SOCKADDR_RESOLVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(QPS_WORKER_OBJS:.o=.dep) +-include $(SOCKADDR_RESOLVER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -RECONNECT_INTEROP_CLIENT_SRC = \ - $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc \ - test/cpp/interop/reconnect_interop_client.cc \ -RECONNECT_INTEROP_CLIENT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(RECONNECT_INTEROP_CLIENT_SRC)))) +SOCKADDR_UTILS_TEST_SRC = \ + test/core/iomgr/sockaddr_utils_test.c \ + +SOCKADDR_UTILS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SOCKADDR_UTILS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/reconnect_interop_client: openssl_dep_error +$(BINDIR)/$(CONFIG)/sockaddr_utils_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/reconnect_interop_client: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/reconnect_interop_client: $(PROTOBUF_DEP) $(RECONNECT_INTEROP_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(BINDIR)/$(CONFIG)/sockaddr_utils_test: $(SOCKADDR_UTILS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(RECONNECT_INTEROP_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/reconnect_interop_client - -endif + $(Q) $(LD) $(LDFLAGS) $(SOCKADDR_UTILS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/sockaddr_utils_test endif -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/empty.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a - -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/messages.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a - -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a - -$(OBJDIR)/$(CONFIG)/test/cpp/interop/reconnect_interop_client.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/sockaddr_utils_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_reconnect_interop_client: $(RECONNECT_INTEROP_CLIENT_OBJS:.o=.dep) +deps_sockaddr_utils_test: $(SOCKADDR_UTILS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(RECONNECT_INTEROP_CLIENT_OBJS:.o=.dep) +-include $(SOCKADDR_UTILS_TEST_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/interop/reconnect_interop_client.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc +# Force compilation of proto files before building code that could potentially depend on them -RECONNECT_INTEROP_SERVER_SRC = \ - $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc \ - test/cpp/interop/reconnect_interop_server.cc \ -RECONNECT_INTEROP_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(RECONNECT_INTEROP_SERVER_SRC)))) +SOCKET_UTILS_TEST_SRC = \ + test/core/iomgr/socket_utils_test.c \ + +SOCKET_UTILS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SOCKET_UTILS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/reconnect_interop_server: openssl_dep_error +$(BINDIR)/$(CONFIG)/socket_utils_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/reconnect_interop_server: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/reconnect_interop_server: $(PROTOBUF_DEP) $(RECONNECT_INTEROP_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(BINDIR)/$(CONFIG)/socket_utils_test: $(SOCKET_UTILS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(RECONNECT_INTEROP_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/reconnect_interop_server - -endif + $(Q) $(LD) $(LDFLAGS) $(SOCKET_UTILS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/socket_utils_test endif -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/empty.o: $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a - -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/messages.o: $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a - -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/test.o: $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a - -$(OBJDIR)/$(CONFIG)/test/cpp/interop/reconnect_interop_server.o: $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/socket_utils_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_reconnect_interop_server: $(RECONNECT_INTEROP_SERVER_OBJS:.o=.dep) +deps_socket_utils_test: $(SOCKET_UTILS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(RECONNECT_INTEROP_SERVER_OBJS:.o=.dep) +-include $(SOCKET_UTILS_TEST_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/interop/reconnect_interop_server.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc +# Force compilation of proto files before building code that could potentially depend on them -SECURE_AUTH_CONTEXT_TEST_SRC = \ - test/cpp/common/secure_auth_context_test.cc \ -SECURE_AUTH_CONTEXT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SECURE_AUTH_CONTEXT_TEST_SRC)))) +TCP_CLIENT_POSIX_TEST_SRC = \ + test/core/iomgr/tcp_client_posix_test.c \ + +TCP_CLIENT_POSIX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_CLIENT_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/secure_auth_context_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/tcp_client_posix_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/secure_auth_context_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/secure_auth_context_test: $(PROTOBUF_DEP) $(SECURE_AUTH_CONTEXT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/tcp_client_posix_test: $(TCP_CLIENT_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(SECURE_AUTH_CONTEXT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/secure_auth_context_test - -endif + $(Q) $(LD) $(LDFLAGS) $(TCP_CLIENT_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/tcp_client_posix_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/common/secure_auth_context_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/tcp_client_posix_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_secure_auth_context_test: $(SECURE_AUTH_CONTEXT_TEST_OBJS:.o=.dep) +deps_tcp_client_posix_test: $(TCP_CLIENT_POSIX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SECURE_AUTH_CONTEXT_TEST_OBJS:.o=.dep) +-include $(TCP_CLIENT_POSIX_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SECURE_SYNC_UNARY_PING_PONG_TEST_SRC = \ - test/cpp/qps/secure_sync_unary_ping_pong_test.cc \ -SECURE_SYNC_UNARY_PING_PONG_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SECURE_SYNC_UNARY_PING_PONG_TEST_SRC)))) +TCP_POSIX_TEST_SRC = \ + test/core/iomgr/tcp_posix_test.c \ + +TCP_POSIX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/tcp_posix_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test: $(PROTOBUF_DEP) $(SECURE_SYNC_UNARY_PING_PONG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/tcp_posix_test: $(TCP_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(SECURE_SYNC_UNARY_PING_PONG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/secure_sync_unary_ping_pong_test - -endif + $(Q) $(LD) $(LDFLAGS) $(TCP_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/tcp_posix_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/qps/secure_sync_unary_ping_pong_test.o: $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/tcp_posix_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_secure_sync_unary_ping_pong_test: $(SECURE_SYNC_UNARY_PING_PONG_TEST_OBJS:.o=.dep) +deps_tcp_posix_test: $(TCP_POSIX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SECURE_SYNC_UNARY_PING_PONG_TEST_OBJS:.o=.dep) +-include $(TCP_POSIX_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SERVER_BUILDER_PLUGIN_TEST_SRC = \ - test/cpp/end2end/server_builder_plugin_test.cc \ -SERVER_BUILDER_PLUGIN_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_BUILDER_PLUGIN_TEST_SRC)))) +TCP_SERVER_POSIX_TEST_SRC = \ + test/core/iomgr/tcp_server_posix_test.c \ + +TCP_SERVER_POSIX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_SERVER_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/server_builder_plugin_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/tcp_server_posix_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/server_builder_plugin_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/server_builder_plugin_test: $(PROTOBUF_DEP) $(SERVER_BUILDER_PLUGIN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/tcp_server_posix_test: $(TCP_SERVER_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(SERVER_BUILDER_PLUGIN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/server_builder_plugin_test - -endif + $(Q) $(LD) $(LDFLAGS) $(TCP_SERVER_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/tcp_server_posix_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/server_builder_plugin_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/tcp_server_posix_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_server_builder_plugin_test: $(SERVER_BUILDER_PLUGIN_TEST_OBJS:.o=.dep) +deps_tcp_server_posix_test: $(TCP_SERVER_POSIX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SERVER_BUILDER_PLUGIN_TEST_OBJS:.o=.dep) +-include $(TCP_SERVER_POSIX_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SERVER_CRASH_TEST_SRC = \ - test/cpp/end2end/server_crash_test.cc \ -SERVER_CRASH_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_CRASH_TEST_SRC)))) +TIME_AVERAGED_STATS_TEST_SRC = \ + test/core/iomgr/time_averaged_stats_test.c \ + +TIME_AVERAGED_STATS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TIME_AVERAGED_STATS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/server_crash_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/time_averaged_stats_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/server_crash_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/server_crash_test: $(PROTOBUF_DEP) $(SERVER_CRASH_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/time_averaged_stats_test: $(TIME_AVERAGED_STATS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(SERVER_CRASH_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/server_crash_test - -endif + $(Q) $(LD) $(LDFLAGS) $(TIME_AVERAGED_STATS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/time_averaged_stats_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/server_crash_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/time_averaged_stats_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_server_crash_test: $(SERVER_CRASH_TEST_OBJS:.o=.dep) +deps_time_averaged_stats_test: $(TIME_AVERAGED_STATS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SERVER_CRASH_TEST_OBJS:.o=.dep) +-include $(TIME_AVERAGED_STATS_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SERVER_CRASH_TEST_CLIENT_SRC = \ - test/cpp/end2end/server_crash_test_client.cc \ -SERVER_CRASH_TEST_CLIENT_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_CRASH_TEST_CLIENT_SRC)))) +TIMEOUT_ENCODING_TEST_SRC = \ + test/core/transport/timeout_encoding_test.c \ + +TIMEOUT_ENCODING_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TIMEOUT_ENCODING_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/server_crash_test_client: openssl_dep_error +$(BINDIR)/$(CONFIG)/timeout_encoding_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/server_crash_test_client: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/server_crash_test_client: $(PROTOBUF_DEP) $(SERVER_CRASH_TEST_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/timeout_encoding_test: $(TIMEOUT_ENCODING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(SERVER_CRASH_TEST_CLIENT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/server_crash_test_client - -endif + $(Q) $(LD) $(LDFLAGS) $(TIMEOUT_ENCODING_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/timeout_encoding_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/server_crash_test_client.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/timeout_encoding_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_server_crash_test_client: $(SERVER_CRASH_TEST_CLIENT_OBJS:.o=.dep) +deps_timeout_encoding_test: $(TIMEOUT_ENCODING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SERVER_CRASH_TEST_CLIENT_OBJS:.o=.dep) +-include $(TIMEOUT_ENCODING_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -SHUTDOWN_TEST_SRC = \ - test/cpp/end2end/shutdown_test.cc \ -SHUTDOWN_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SHUTDOWN_TEST_SRC)))) +TIMER_HEAP_TEST_SRC = \ + test/core/iomgr/timer_heap_test.c \ + +TIMER_HEAP_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TIMER_HEAP_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/shutdown_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/timer_heap_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/shutdown_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/shutdown_test: $(PROTOBUF_DEP) $(SHUTDOWN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/timer_heap_test: $(TIMER_HEAP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(SHUTDOWN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/shutdown_test - -endif + $(Q) $(LD) $(LDFLAGS) $(TIMER_HEAP_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/timer_heap_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/shutdown_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/timer_heap_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_shutdown_test: $(SHUTDOWN_TEST_OBJS:.o=.dep) +deps_timer_heap_test: $(TIMER_HEAP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SHUTDOWN_TEST_OBJS:.o=.dep) +-include $(TIMER_HEAP_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -STATUS_TEST_SRC = \ - test/cpp/util/status_test.cc \ -STATUS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(STATUS_TEST_SRC)))) +TIMER_LIST_TEST_SRC = \ + test/core/iomgr/timer_list_test.c \ + +TIMER_LIST_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TIMER_LIST_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/status_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/timer_list_test: openssl_dep_error else +$(BINDIR)/$(CONFIG)/timer_list_test: $(TIMER_LIST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(TIMER_LIST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/timer_list_test + +endif -ifeq ($(NO_PROTOBUF),true) +$(OBJDIR)/$(CONFIG)/test/core/iomgr/timer_list_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +deps_timer_list_test: $(TIMER_LIST_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(TIMER_LIST_TEST_OBJS:.o=.dep) +endif +endif + +# Force compilation of proto files before building code that could potentially depend on them + + +TRANSPORT_CONNECTIVITY_STATE_TEST_SRC = \ + test/core/transport/connectivity_state_test.c \ + +TRANSPORT_CONNECTIVITY_STATE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TRANSPORT_CONNECTIVITY_STATE_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/status_test: protobuf_dep_error +$(BINDIR)/$(CONFIG)/transport_connectivity_state_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/status_test: $(PROTOBUF_DEP) $(STATUS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + + +$(BINDIR)/$(CONFIG)/transport_connectivity_state_test: $(TRANSPORT_CONNECTIVITY_STATE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(STATUS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/status_test - -endif + $(Q) $(LD) $(LDFLAGS) $(TRANSPORT_CONNECTIVITY_STATE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/transport_connectivity_state_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/util/status_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/connectivity_state_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_status_test: $(STATUS_TEST_OBJS:.o=.dep) +deps_transport_connectivity_state_test: $(TRANSPORT_CONNECTIVITY_STATE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(STATUS_TEST_OBJS:.o=.dep) +-include $(TRANSPORT_CONNECTIVITY_STATE_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -STREAMING_THROUGHPUT_TEST_SRC = \ - test/cpp/end2end/streaming_throughput_test.cc \ -STREAMING_THROUGHPUT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(STREAMING_THROUGHPUT_TEST_SRC)))) +TRANSPORT_METADATA_TEST_SRC = \ + test/core/transport/metadata_test.c \ + +TRANSPORT_METADATA_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TRANSPORT_METADATA_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/streaming_throughput_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/transport_metadata_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/streaming_throughput_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/streaming_throughput_test: $(PROTOBUF_DEP) $(STREAMING_THROUGHPUT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/transport_metadata_test: $(TRANSPORT_METADATA_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(STREAMING_THROUGHPUT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/streaming_throughput_test - -endif + $(Q) $(LD) $(LDFLAGS) $(TRANSPORT_METADATA_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/transport_metadata_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/streaming_throughput_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/transport/metadata_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_streaming_throughput_test: $(STREAMING_THROUGHPUT_TEST_OBJS:.o=.dep) +deps_transport_metadata_test: $(TRANSPORT_METADATA_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(STREAMING_THROUGHPUT_TEST_OBJS:.o=.dep) +-include $(TRANSPORT_METADATA_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -STRESS_TEST_SRC = \ - $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc \ - test/cpp/interop/interop_client.cc \ - test/cpp/interop/stress_interop_client.cc \ - test/cpp/interop/stress_test.cc \ - test/cpp/util/metrics_server.cc \ -STRESS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(STRESS_TEST_SRC)))) +TRANSPORT_SECURITY_TEST_SRC = \ + test/core/tsi/transport_security_test.c \ + +TRANSPORT_SECURITY_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TRANSPORT_SECURITY_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/stress_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/transport_security_test: openssl_dep_error else +$(BINDIR)/$(CONFIG)/transport_security_test: $(TRANSPORT_SECURITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(TRANSPORT_SECURITY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/transport_security_test + +endif -ifeq ($(NO_PROTOBUF),true) +$(OBJDIR)/$(CONFIG)/test/core/tsi/transport_security_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. +deps_transport_security_test: $(TRANSPORT_SECURITY_TEST_OBJS:.o=.dep) -$(BINDIR)/$(CONFIG)/stress_test: protobuf_dep_error +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(TRANSPORT_SECURITY_TEST_OBJS:.o=.dep) +endif +endif -else +# Force compilation of proto files before building code that could potentially depend on them -$(BINDIR)/$(CONFIG)/stress_test: $(PROTOBUF_DEP) $(STRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(STRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/stress_test -endif +UDP_SERVER_TEST_SRC = \ + test/core/iomgr/udp_server_test.c \ -endif +UDP_SERVER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(UDP_SERVER_TEST_SRC)))) +ifeq ($(NO_SECURE),true) -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/empty.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +# You can't build secure targets if you don't have OpenSSL. -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/messages.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(BINDIR)/$(CONFIG)/udp_server_test: openssl_dep_error -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/metrics.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +else -$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a -$(OBJDIR)/$(CONFIG)/test/cpp/interop/interop_client.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a -$(OBJDIR)/$(CONFIG)/test/cpp/interop/stress_interop_client.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(BINDIR)/$(CONFIG)/udp_server_test: $(UDP_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(UDP_SERVER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/udp_server_test -$(OBJDIR)/$(CONFIG)/test/cpp/interop/stress_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +endif -$(OBJDIR)/$(CONFIG)/test/cpp/util/metrics_server.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a +$(OBJDIR)/$(CONFIG)/test/core/iomgr/udp_server_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_stress_test: $(STRESS_TEST_OBJS:.o=.dep) +deps_udp_server_test: $(UDP_SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(STRESS_TEST_OBJS:.o=.dep) +-include $(UDP_SERVER_TEST_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/interop/interop_client.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/interop/stress_interop_client.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/interop/stress_test.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/metrics_server.o: $(GENDIR)/src/proto/grpc/testing/empty.pb.cc $(GENDIR)/src/proto/grpc/testing/empty.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.pb.cc $(GENDIR)/src/proto/grpc/testing/metrics.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/test.pb.cc $(GENDIR)/src/proto/grpc/testing/test.grpc.pb.cc +# Force compilation of proto files before building code that could potentially depend on them -THREAD_STRESS_TEST_SRC = \ - test/cpp/end2end/thread_stress_test.cc \ -THREAD_STRESS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(THREAD_STRESS_TEST_SRC)))) +URI_FUZZER_TEST_SRC = \ + test/core/client_config/uri_fuzzer_test.c \ + +URI_FUZZER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(URI_FUZZER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/thread_stress_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/uri_fuzzer_test: openssl_dep_error else - -ifeq ($(NO_PROTOBUF),true) - -# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. - -$(BINDIR)/$(CONFIG)/thread_stress_test: protobuf_dep_error - -else - -$(BINDIR)/$(CONFIG)/thread_stress_test: $(PROTOBUF_DEP) $(THREAD_STRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/uri_fuzzer_test: $(URI_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(THREAD_STRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/thread_stress_test - -endif + $(Q) $(LDXX) $(LDFLAGS) $(URI_FUZZER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -lFuzzer -o $(BINDIR)/$(CONFIG)/uri_fuzzer_test endif -$(OBJDIR)/$(CONFIG)/test/cpp/end2end/thread_stress_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/client_config/uri_fuzzer_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_thread_stress_test: $(THREAD_STRESS_TEST_OBJS:.o=.dep) +deps_uri_fuzzer_test: $(URI_FUZZER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(THREAD_STRESS_TEST_OBJS:.o=.dep) +-include $(URI_FUZZER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them -PUBLIC_HEADERS_MUST_BE_C89_SRC = \ - test/core/surface/public_headers_must_be_c89.c \ -PUBLIC_HEADERS_MUST_BE_C89_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(PUBLIC_HEADERS_MUST_BE_C89_SRC)))) +URI_PARSER_TEST_SRC = \ + test/core/client_config/uri_parser_test.c \ + +URI_PARSER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(URI_PARSER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/public_headers_must_be_c89: openssl_dep_error +$(BINDIR)/$(CONFIG)/uri_parser_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/public_headers_must_be_c89: $(PUBLIC_HEADERS_MUST_BE_C89_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/uri_parser_test: $(URI_PARSER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(PUBLIC_HEADERS_MUST_BE_C89_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/public_headers_must_be_c89 + $(Q) $(LD) $(LDFLAGS) $(URI_PARSER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/uri_parser_test endif -$(OBJDIR)/$(CONFIG)/test/core/surface/public_headers_must_be_c89.o: $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a -$(OBJDIR)/$(CONFIG)/test/core/surface/public_headers_must_be_c89.o : test/core/surface/public_headers_must_be_c89.c - $(E) "[C] Compiling $<" - $(Q) mkdir -p `dirname $@` - $(Q) $(CC) $(CPPFLAGS) $(CFLAGS) -std=c89 -pedantic -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< +$(OBJDIR)/$(CONFIG)/test/core/client_config/uri_parser_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_public_headers_must_be_c89: $(PUBLIC_HEADERS_MUST_BE_C89_OBJS:.o=.dep) +deps_uri_parser_test: $(URI_PARSER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(PUBLIC_HEADERS_MUST_BE_C89_OBJS:.o=.dep) +-include $(URI_PARSER_TEST_OBJS:.o=.dep) endif endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -12816,6 +13952,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -12843,6 +13981,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -12870,6 +14010,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -12897,6 +14039,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -12924,6 +14068,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -12951,6 +14097,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -12978,6 +14126,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13005,6 +14155,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13032,6 +14184,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13059,6 +14213,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13086,6 +14242,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13113,6 +14271,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13140,6 +14300,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13167,6 +14329,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13194,6 +14358,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13221,6 +14387,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13248,6 +14416,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13275,6 +14445,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13302,6 +14474,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13329,6 +14503,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13356,6 +14532,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13383,6 +14561,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13410,6 +14590,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13437,6 +14619,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13464,6 +14648,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13491,6 +14677,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13518,6 +14706,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13545,6 +14735,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13572,6 +14764,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13599,6 +14793,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13626,6 +14822,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13653,6 +14851,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13680,6 +14880,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13707,6 +14909,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13734,6 +14938,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13761,6 +14967,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13788,6 +14996,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + # boringssl needs an override to ensure that it does not include @@ -13815,6 +15025,8 @@ endif +# Force compilation of proto files before building code that could potentially depend on them + BADREQ_BAD_CLIENT_TEST_SRC = \ test/core/bad_client/tests/badreq.c \ @@ -13835,6 +15047,8 @@ ifneq ($(NO_DEPS),true) -include $(BADREQ_BAD_CLIENT_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + CONNECTION_PREFIX_BAD_CLIENT_TEST_SRC = \ test/core/bad_client/tests/connection_prefix.c \ @@ -13855,6 +15069,8 @@ ifneq ($(NO_DEPS),true) -include $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + HEAD_OF_LINE_BLOCKING_BAD_CLIENT_TEST_SRC = \ test/core/bad_client/tests/head_of_line_blocking.c \ @@ -13875,6 +15091,8 @@ ifneq ($(NO_DEPS),true) -include $(HEAD_OF_LINE_BLOCKING_BAD_CLIENT_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + HEADERS_BAD_CLIENT_TEST_SRC = \ test/core/bad_client/tests/headers.c \ @@ -13895,6 +15113,8 @@ ifneq ($(NO_DEPS),true) -include $(HEADERS_BAD_CLIENT_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_SRC = \ test/core/bad_client/tests/initial_settings_frame.c \ @@ -13915,6 +15135,8 @@ ifneq ($(NO_DEPS),true) -include $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + LARGE_METADATA_BAD_CLIENT_TEST_SRC = \ test/core/bad_client/tests/large_metadata.c \ @@ -13935,6 +15157,8 @@ ifneq ($(NO_DEPS),true) -include $(LARGE_METADATA_BAD_CLIENT_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_SRC = \ test/core/bad_client/tests/server_registered_method.c \ @@ -13955,6 +15179,8 @@ ifneq ($(NO_DEPS),true) -include $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + SIMPLE_REQUEST_BAD_CLIENT_TEST_SRC = \ test/core/bad_client/tests/simple_request.c \ @@ -13975,6 +15201,8 @@ ifneq ($(NO_DEPS),true) -include $(SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + UNKNOWN_FRAME_BAD_CLIENT_TEST_SRC = \ test/core/bad_client/tests/unknown_frame.c \ @@ -13995,6 +15223,8 @@ ifneq ($(NO_DEPS),true) -include $(UNKNOWN_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + WINDOW_OVERFLOW_BAD_CLIENT_TEST_SRC = \ test/core/bad_client/tests/window_overflow.c \ @@ -14015,6 +15245,8 @@ ifneq ($(NO_DEPS),true) -include $(WINDOW_OVERFLOW_BAD_CLIENT_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + BAD_SSL_ALPN_SERVER_SRC = \ test/core/bad_ssl/servers/alpn.c \ @@ -14047,6 +15279,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + BAD_SSL_CERT_SERVER_SRC = \ test/core/bad_ssl/servers/cert.c \ @@ -14079,6 +15313,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + BAD_SSL_ALPN_TEST_SRC = \ test/core/bad_ssl/bad_ssl_test.c \ @@ -14111,6 +15347,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + BAD_SSL_CERT_TEST_SRC = \ test/core/bad_ssl/bad_ssl_test.c \ @@ -14143,6 +15381,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_CENSUS_TEST_SRC = \ test/core/end2end/fixtures/h2_census.c \ @@ -14175,6 +15415,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_COMPRESS_TEST_SRC = \ test/core/end2end/fixtures/h2_compress.c \ @@ -14207,6 +15449,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_FAKESEC_TEST_SRC = \ test/core/end2end/fixtures/h2_fakesec.c \ @@ -14239,6 +15483,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_FD_TEST_SRC = \ test/core/end2end/fixtures/h2_fd.c \ @@ -14271,6 +15517,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_FULL_TEST_SRC = \ test/core/end2end/fixtures/h2_full.c \ @@ -14303,6 +15551,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_FULL+PIPE_TEST_SRC = \ test/core/end2end/fixtures/h2_full+pipe.c \ @@ -14335,6 +15585,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_FULL+TRACE_TEST_SRC = \ test/core/end2end/fixtures/h2_full+trace.c \ @@ -14367,6 +15619,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_LOAD_REPORTING_TEST_SRC = \ test/core/end2end/fixtures/h2_load_reporting.c \ @@ -14399,6 +15653,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_OAUTH2_TEST_SRC = \ test/core/end2end/fixtures/h2_oauth2.c \ @@ -14431,6 +15687,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_PROXY_TEST_SRC = \ test/core/end2end/fixtures/h2_proxy.c \ @@ -14463,6 +15721,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_SOCKPAIR_TEST_SRC = \ test/core/end2end/fixtures/h2_sockpair.c \ @@ -14495,6 +15755,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_SOCKPAIR+TRACE_TEST_SRC = \ test/core/end2end/fixtures/h2_sockpair+trace.c \ @@ -14527,6 +15789,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_SOCKPAIR_1BYTE_TEST_SRC = \ test/core/end2end/fixtures/h2_sockpair_1byte.c \ @@ -14559,6 +15823,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_SSL_TEST_SRC = \ test/core/end2end/fixtures/h2_ssl.c \ @@ -14591,6 +15857,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_SSL_CERT_TEST_SRC = \ test/core/end2end/fixtures/h2_ssl_cert.c \ @@ -14623,6 +15891,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_SSL_PROXY_TEST_SRC = \ test/core/end2end/fixtures/h2_ssl_proxy.c \ @@ -14655,6 +15925,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_UDS_TEST_SRC = \ test/core/end2end/fixtures/h2_uds.c \ @@ -14687,6 +15959,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + H2_CENSUS_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_census.c \ @@ -14707,6 +15981,8 @@ ifneq ($(NO_DEPS),true) -include $(H2_CENSUS_NOSEC_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + H2_COMPRESS_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_compress.c \ @@ -14727,6 +16003,8 @@ ifneq ($(NO_DEPS),true) -include $(H2_COMPRESS_NOSEC_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + H2_FD_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_fd.c \ @@ -14747,6 +16025,8 @@ ifneq ($(NO_DEPS),true) -include $(H2_FD_NOSEC_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + H2_FULL_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_full.c \ @@ -14767,6 +16047,8 @@ ifneq ($(NO_DEPS),true) -include $(H2_FULL_NOSEC_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + H2_FULL+PIPE_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_full+pipe.c \ @@ -14787,6 +16069,8 @@ ifneq ($(NO_DEPS),true) -include $(H2_FULL+PIPE_NOSEC_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + H2_FULL+TRACE_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_full+trace.c \ @@ -14807,6 +16091,8 @@ ifneq ($(NO_DEPS),true) -include $(H2_FULL+TRACE_NOSEC_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + H2_LOAD_REPORTING_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_load_reporting.c \ @@ -14827,6 +16113,8 @@ ifneq ($(NO_DEPS),true) -include $(H2_LOAD_REPORTING_NOSEC_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + H2_PROXY_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_proxy.c \ @@ -14847,6 +16135,8 @@ ifneq ($(NO_DEPS),true) -include $(H2_PROXY_NOSEC_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + H2_SOCKPAIR_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_sockpair.c \ @@ -14867,6 +16157,8 @@ ifneq ($(NO_DEPS),true) -include $(H2_SOCKPAIR_NOSEC_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + H2_SOCKPAIR+TRACE_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_sockpair+trace.c \ @@ -14887,6 +16179,8 @@ ifneq ($(NO_DEPS),true) -include $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + H2_SOCKPAIR_1BYTE_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_sockpair_1byte.c \ @@ -14907,6 +16201,8 @@ ifneq ($(NO_DEPS),true) -include $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + H2_UDS_NOSEC_TEST_SRC = \ test/core/end2end/fixtures/h2_uds.c \ @@ -14927,6 +16223,8 @@ ifneq ($(NO_DEPS),true) -include $(H2_UDS_NOSEC_TEST_OBJS:.o=.dep) endif +# Force compilation of proto files before building code that could potentially depend on them + API_FUZZER_ONE_ENTRY_SRC = \ test/core/end2end/fuzzers/api_fuzzer.c \ @@ -14962,6 +16260,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + CLIENT_FUZZER_ONE_ENTRY_SRC = \ test/core/end2end/fuzzers/client_fuzzer.c \ @@ -14997,6 +16297,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + HPACK_PARSER_FUZZER_TEST_ONE_ENTRY_SRC = \ test/core/transport/chttp2/hpack_parser_fuzzer_test.c \ @@ -15032,6 +16334,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + HTTP_REQUEST_FUZZER_TEST_ONE_ENTRY_SRC = \ test/core/http/request_fuzzer.c \ @@ -15067,6 +16371,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + HTTP_RESPONSE_FUZZER_TEST_ONE_ENTRY_SRC = \ test/core/http/response_fuzzer.c \ @@ -15102,6 +16408,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + JSON_FUZZER_TEST_ONE_ENTRY_SRC = \ test/core/json/fuzzer.c \ @@ -15137,6 +16445,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + NANOPB_FUZZER_RESPONSE_TEST_ONE_ENTRY_SRC = \ test/core/nanopb/fuzzer_response.c \ @@ -15172,6 +16482,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + NANOPB_FUZZER_SERVERLIST_TEST_ONE_ENTRY_SRC = \ test/core/nanopb/fuzzer_serverlist.c \ @@ -15207,6 +16519,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + SERVER_FUZZER_ONE_ENTRY_SRC = \ test/core/end2end/fuzzers/server_fuzzer.c \ @@ -15242,6 +16556,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + URI_FUZZER_TEST_ONE_ENTRY_SRC = \ test/core/client_config/uri_fuzzer_test.c \ @@ -15277,6 +16593,8 @@ ifneq ($(NO_DEPS),true) endif endif +# Force compilation of proto files before building code that could potentially depend on them + @@ -15286,6 +16604,24 @@ ifneq ($(OPENSSL_DEP),) # This is to ensure the embedded OpenSSL is built beforehand, properly # installing headers to their final destination on the drive. We need this # otherwise parallel compilation will fail if a source is compiled first. +src/c/alloc.c: $(OPENSSL_DEP) +src/c/array.c: $(OPENSSL_DEP) +src/c/bidi_streaming_blocking_call.c: $(OPENSSL_DEP) +src/c/call_ops.c: $(OPENSSL_DEP) +src/c/channel.c: $(OPENSSL_DEP) +src/c/client_context.c: $(OPENSSL_DEP) +src/c/client_streaming_blocking_call.c: $(OPENSSL_DEP) +src/c/completion_queue.c: $(OPENSSL_DEP) +src/c/context.c: $(OPENSSL_DEP) +src/c/init_shutdown.c: $(OPENSSL_DEP) +src/c/message.c: $(OPENSSL_DEP) +src/c/pb_compat.c: $(OPENSSL_DEP) +src/c/server.c: $(OPENSSL_DEP) +src/c/server_context.c: $(OPENSSL_DEP) +src/c/server_incoming_queue.c: $(OPENSSL_DEP) +src/c/server_streaming_blocking_call.c: $(OPENSSL_DEP) +src/c/unary_async_call.c: $(OPENSSL_DEP) +src/c/unary_blocking_call.c: $(OPENSSL_DEP) src/core/ext/transport/chttp2/client/secure/secure_channel_create.c: $(OPENSSL_DEP) src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c: $(OPENSSL_DEP) src/core/ext/transport/cronet/client/secure/cronet_channel_create.c: $(OPENSSL_DEP) @@ -15332,6 +16668,7 @@ src/cpp/ext/reflection.grpc.pb.cc: $(OPENSSL_DEP) src/cpp/ext/reflection.pb.cc: $(OPENSSL_DEP) src/cpp/server/secure_server_credentials.cc: $(OPENSSL_DEP) src/csharp/ext/grpc_csharp_ext.c: $(OPENSSL_DEP) +test/c/end2end/end2end_test_client.c: $(OPENSSL_DEP) test/core/bad_client/bad_client.c: $(OPENSSL_DEP) test/core/bad_ssl/server_common.c: $(OPENSSL_DEP) test/core/end2end/data/client_certs.c: $(OPENSSL_DEP) @@ -15374,8 +16711,13 @@ test/cpp/util/test_config.cc: $(OPENSSL_DEP) test/cpp/util/test_credentials_provider.cc: $(OPENSSL_DEP) endif -.PHONY: all strip tools dep_error openssl_dep_error openssl_dep_message git_update stop buildtests buildtests_c buildtests_cxx test test_c test_cxx install install_c install_cxx install-headers install-headers_c install-headers_cxx install-shared install-shared_c install-shared_cxx install-static install-static_c install-static_cxx strip strip-shared strip-static strip_c strip-shared_c strip-static_c strip_cxx strip-shared_cxx strip-static_cxx dep_c dep_cxx bins_dep_c bins_dep_cxx clean +.PHONY: all all strip tools dep_error openssl_dep_error openssl_dep_message git_update stop buildtests buildtests_c buildtests_core buildtests_cxx buildtests_c buildtests_cxx test test test_c test_core test_cxx test_c test_cxx install install_c install_core install_cxx install-headers install-headers_c install-headers_core install-headers_cxx install-shared install-shared_c install-shared_core install-shared_cxx install-static install-static_c install-static_core install-static_cxx strip strip-shared strip-static strip_c strip-shared_c strip-static_c strip_core strip-shared_core strip-static_core strip_cxx strip-shared_cxx strip-static_cxx dep_c dep_core dep_cxx bins_dep_c bins_dep_core bins_dep_cxx clean .PHONY: printvars printvars: @$(foreach V,$(sort $(.VARIABLES)), $(if $(filter-out environment% default automatic, $(origin $V)),$(warning $V=$($V) ($(value $V))))) + +# Build Nanopb before using it (these lines duplicate the functionality of the Nanopb Makefile, which cannot use the PROTOC variable) +$(NANOPB_DIR)/generator/proto/%_pb2.py: $(NANOPB_DIR)/generator/proto/%.proto $(PROTOC_DEP) + $(E) "[NANOPB] Compiling $<" + $(Q) PYTHONPATH=third_party/protobuf/python $(PROTOC) --proto_path=$(dir $<) --python_out=$(dir $<) $<; diff --git a/build.yaml b/build.yaml index 2f57859fc1673..ad4039766e901 100644 --- a/build.yaml +++ b/build.yaml @@ -797,168 +797,91 @@ filegroups: uses: - grpc++_codegen_base libs: -- name: gpr - build: all - language: c - filegroups: - - gpr_base - secure: false - 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: false - vs_project_guid: '{EAB0A629-17A9-44DB-B5FF-E91A721FE037}' -- name: grpc - build: all - language: c - src: - - src/core/lib/surface/init.c - baselib: true - deps_linkage: static - dll: true - filegroups: - - grpc_base - - grpc_transport_chttp2_server_secure - - grpc_transport_chttp2_client_secure - - grpc_transport_chttp2_server_insecure - - grpc_transport_chttp2_client_insecure - - grpc_lb_policy_grpclb - - grpc_lb_policy_pick_first - - grpc_lb_policy_round_robin - - grpc_resolver_dns_native - - grpc_resolver_sockaddr - - grpc_load_reporting - - grpc_secure - - census - generate_plugin_registry: true - secure: true - vs_packages: - - grpc.dependencies.openssl - - grpc.dependencies.zlib - vs_project_guid: '{29D16885-7228-4C31-81ED-5F9187C7F2A9}' -- name: grpc_cronet +- name: grpc_c build: all language: c - src: - - src/core/lib/surface/init.c - baselib: true - deps_linkage: static - dll: true - filegroups: - - grpc_base - - grpc_transport_cronet_client_secure - - grpc_transport_chttp2_client_secure - generate_plugin_registry: true - platforms: - - linux - secure: true -- name: grpc_dll - build: private - language: c - src: [] - deps: - - gpr - - grpc - build_system: - - visual_studio - deps_linkage: static - dll_def: grpc.def - vs_config_type: DynamicLibrary - vs_packages: - - grpc.dependencies.openssl - - grpc.dependencies.zlib - vs_project_guid: '{A2F6CBBA-A553-41B3-A7DE-F26DECCC27F0}' - vs_props: - - zlib - - openssl - - winsock - - global -- name: grpc_test_util - build: private - language: c + public_headers: + - include/grpc_c/channel.h + - include/grpc_c/client_context.h + - include/grpc_c/codegen/bidi_streaming_blocking_call.h + - include/grpc_c/codegen/client_streaming_blocking_call.h + - include/grpc_c/codegen/context.h + - include/grpc_c/codegen/message.h + - include/grpc_c/codegen/method.h + - include/grpc_c/codegen/pb_compat.h + - include/grpc_c/codegen/serialization.h + - include/grpc_c/codegen/server.h + - include/grpc_c/codegen/server_streaming_blocking_call.h + - include/grpc_c/codegen/unary_async_call.h + - include/grpc_c/codegen/unary_blocking_call.h + - include/grpc_c/completion_queue.h + - include/grpc_c/declare_serializer.h + - include/grpc_c/grpc_c.h + - include/grpc_c/server.h + - include/grpc_c/server_context.h + - include/grpc_c/server_incoming_queue.h + - include/grpc_c/status.h headers: - - test/core/end2end/data/ssl_test_data.h - - test/core/security/oauth2_utils.h - src: - - test/core/end2end/data/client_certs.c - - test/core/end2end/data/server1_cert.c - - test/core/end2end/data/server1_key.c - - test/core/end2end/data/test_root_cert.c - - test/core/security/oauth2_utils.c + - src/c/alloc.h + - src/c/array.h + - src/c/bidi_streaming_blocking_call.h + - src/c/call_ops.h + - src/c/client_context.h + - src/c/client_streaming_blocking_call.h + - src/c/completion_queue.h + - src/c/context.h + - src/c/init_shutdown.h + - src/c/message.h + - src/c/server.h + - src/c/server_context.h + - src/c/server_incoming_queue.h + - src/c/server_streaming_blocking_call.h + - src/c/unary_async_call.h + - src/c/unary_blocking_call.h + src: + - src/c/alloc.c + - src/c/array.c + - src/c/bidi_streaming_blocking_call.c + - src/c/call_ops.c + - src/c/channel.c + - src/c/client_context.c + - src/c/client_streaming_blocking_call.c + - src/c/completion_queue.c + - src/c/context.c + - src/c/init_shutdown.c + - src/c/message.c + - src/c/pb_compat.c + - src/c/server.c + - src/c/server_context.c + - src/c/server_incoming_queue.c + - src/c/server_streaming_blocking_call.c + - src/c/unary_async_call.c + - src/c/unary_blocking_call.c deps: - - gpr_test_util - - gpr - grpc - filegroups: - - grpc_test_util_base - - grpc_base - vs_project_guid: '{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}' -- name: grpc_test_util_unsecure - build: private - language: c - deps: - gpr - - gpr_test_util - - grpc_unsecure - filegroups: - - grpc_test_util_base - secure: false - vs_project_guid: '{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}' -- name: grpc_unsecure - build: all - language: c - src: - - src/core/lib/surface/init.c - - src/core/lib/surface/init_unsecure.c baselib: true - deps_linkage: static dll: true - filegroups: - - grpc_base - - grpc_transport_chttp2_server_insecure - - grpc_transport_chttp2_client_insecure - - grpc_resolver_dns_native - - grpc_resolver_sockaddr - - grpc_load_reporting - - grpc_lb_policy_grpclb - - grpc_lb_policy_pick_first - - grpc_lb_policy_round_robin - - census - generate_plugin_registry: true - secure: false - vs_project_guid: '{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}' -- name: reconnect_server - build: private - language: c - headers: - - test/core/util/reconnect_server.h - src: - - test/core/util/reconnect_server.c - deps: - - test_tcp_server - - grpc_test_util - - grpc - - gpr_test_util - - gpr -- name: test_tcp_server + do_not_enforce_c89_public_headers: true + secure: check + vs_project_guid: '{8AC0CB05-6E3C-4A40-B45E-FDA77644F432}' +- name: grpc_c_end2end_client_lib build: private language: c headers: - - test/core/util/test_tcp_server.h + - test/c/end2end/end2end_test_client.h src: - - test/core/util/test_tcp_server.c + - src/proto/grpc/testing/echo_messages.proto + - src/proto/grpc/testing/echo.proto + - test/c/end2end/end2end_test_client.c deps: + - grpc_c - grpc_test_util - grpc - gpr_test_util - gpr + uses: + - nanopb - name: grpc++ build: all language: c++ @@ -1079,6 +1002,8 @@ libs: build: protoc language: c++ headers: + - src/compiler/c_generator.h + - src/compiler/c_generator_helpers.h - src/compiler/config.h - src/compiler/cpp_generator.h - src/compiler/cpp_generator_helpers.h @@ -1095,6 +1020,7 @@ libs: - src/compiler/ruby_generator_map-inl.h - src/compiler/ruby_generator_string-inl.h src: + - src/compiler/c_generator.cc - src/compiler/cpp_generator.cc - src/compiler/csharp_generator.cc - src/compiler/node_generator.cc @@ -1214,340 +1140,664 @@ libs: - grpc_test_util - grpc++_test_util - grpc++ -- name: grpc_csharp_ext +- name: gpr build: all - language: csharp + language: core + filegroups: + - gpr_base + secure: false + vs_project_guid: '{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}' +- name: gpr_test_util + build: private + language: core + headers: + - test/core/util/test_config.h src: - - src/csharp/ext/grpc_csharp_ext.c + - test/core/util/test_config.c deps: - - grpc - gpr - LDFLAGS: $(if $(subst Linux,,$(SYSTEM)),,-Wl$(comma)-wrap$(comma)memcpy) + secure: false + vs_project_guid: '{EAB0A629-17A9-44DB-B5FF-E91A721FE037}' +- name: grpc + build: all + language: core + src: + - src/core/lib/surface/init.c + baselib: true deps_linkage: static - dll: only + dll: true + filegroups: + - grpc_base + - grpc_transport_chttp2_server_secure + - grpc_transport_chttp2_client_secure + - grpc_transport_chttp2_server_insecure + - grpc_transport_chttp2_client_insecure + - grpc_lb_policy_grpclb + - grpc_lb_policy_pick_first + - grpc_lb_policy_round_robin + - grpc_resolver_dns_native + - grpc_resolver_sockaddr + - grpc_load_reporting + - grpc_secure + - census + generate_plugin_registry: true + secure: true + vs_packages: + - grpc.dependencies.openssl + - grpc.dependencies.zlib + vs_project_guid: '{29D16885-7228-4C31-81ED-5F9187C7F2A9}' +- name: grpc_cronet + build: all + language: core + src: + - src/core/lib/surface/init.c + baselib: true + deps_linkage: static + dll: true + filegroups: + - grpc_base + - grpc_transport_cronet_client_secure + - grpc_transport_chttp2_client_secure + generate_plugin_registry: true + platforms: + - linux + secure: true +- name: grpc_dll + build: private + language: core + src: [] + deps: + - gpr + - grpc + build_system: + - visual_studio + deps_linkage: static + dll_def: grpc.def vs_config_type: DynamicLibrary vs_packages: - grpc.dependencies.openssl - grpc.dependencies.zlib - vs_project_guid: '{D64C6D63-4458-4A88-AB38-35678384A7E4}' + vs_project_guid: '{A2F6CBBA-A553-41B3-A7DE-F26DECCC27F0}' vs_props: - zlib - openssl - winsock - global -targets: -- name: alarm_test - build: test - language: c +- name: grpc_test_util + build: private + language: core + headers: + - test/core/end2end/data/ssl_test_data.h + - test/core/security/oauth2_utils.h src: - - test/core/surface/alarm_test.c + - test/core/end2end/data/client_certs.c + - test/core/end2end/data/server1_cert.c + - test/core/end2end/data/server1_key.c + - test/core/end2end/data/test_root_cert.c + - test/core/security/oauth2_utils.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: algorithm_test - build: test - language: c - src: - - test/core/compression/algorithm_test.c - deps: - - grpc_test_util - grpc - - gpr_test_util + filegroups: + - grpc_test_util_base + - grpc_base + vs_project_guid: '{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}' +- name: grpc_test_util_unsecure + build: private + language: core + deps: - gpr -- name: alloc_test - build: test - language: c + - gpr_test_util + - grpc_unsecure + filegroups: + - grpc_test_util_base + secure: false + vs_project_guid: '{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}' +- name: grpc_unsecure + build: all + language: core src: - - test/core/support/alloc_test.c + - src/core/lib/surface/init.c + - src/core/lib/surface/init_unsecure.c + baselib: true + deps_linkage: static + dll: true + filegroups: + - grpc_base + - grpc_transport_chttp2_server_insecure + - grpc_transport_chttp2_client_insecure + - grpc_resolver_dns_native + - grpc_resolver_sockaddr + - grpc_load_reporting + - grpc_lb_policy_grpclb + - grpc_lb_policy_pick_first + - grpc_lb_policy_round_robin + - census + generate_plugin_registry: true + secure: false + vs_project_guid: '{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}' +- name: reconnect_server + build: private + language: core + headers: + - test/core/util/reconnect_server.h + src: + - test/core/util/reconnect_server.c deps: + - test_tcp_server + - grpc_test_util + - grpc - gpr_test_util - gpr -- name: alpn_test - build: test - language: c +- name: test_tcp_server + build: private + language: core + headers: + - test/core/util/test_tcp_server.h src: - - test/core/transport/chttp2/alpn_test.c + - test/core/util/test_tcp_server.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: api_fuzzer - build: fuzzer - language: c +- name: grpc_csharp_ext + build: all + language: csharp src: - - test/core/end2end/fuzzers/api_fuzzer.c + - src/csharp/ext/grpc_csharp_ext.c deps: - - grpc_test_util - grpc - - gpr_test_util - gpr - corpus_dirs: - - test/core/end2end/fuzzers/api_fuzzer_corpus - dict: test/core/end2end/fuzzers/api_fuzzer.dictionary - maxlen: 2048 -- name: bad_server_response_test + LDFLAGS: $(if $(subst Linux,,$(SYSTEM)),,-Wl$(comma)-wrap$(comma)memcpy) + deps_linkage: static + dll: only + vs_config_type: DynamicLibrary + vs_packages: + - grpc.dependencies.openssl + - grpc.dependencies.zlib + vs_project_guid: '{D64C6D63-4458-4A88-AB38-35678384A7E4}' + vs_props: + - zlib + - openssl + - winsock + - global +targets: +- name: grpc_c_server_end2end_test + gtest: false build: test language: c + headers: + - test/c/end2end/server_end2end_test.h src: - - test/core/end2end/bad_server_response_test.c + - src/proto/grpc/testing/echo_messages.proto + - src/proto/grpc/testing/echo.proto + - test/c/end2end/server_end2end_test.c deps: - - test_tcp_server + - grpc_c - grpc_test_util - grpc - gpr_test_util - gpr -- name: bin_decoder_test +- name: alarm_cpp_test + gtest: true build: test - language: c + language: c++ src: - - test/core/transport/chttp2/bin_decoder_test.c + - test/cpp/common/alarm_cpp_test.cc deps: + - grpc++_test_util - grpc_test_util + - grpc++ - grpc -- name: bin_encoder_test + - gpr_test_util + - gpr +- name: async_end2end_test + gtest: true build: test - language: c + language: c++ src: - - test/core/transport/chttp2/bin_encoder_test.c + - test/cpp/end2end/async_end2end_test.cc deps: + - grpc++_test_util - grpc_test_util + - grpc++ - grpc -- name: census_context_test + - gpr_test_util + - gpr +- name: auth_property_iterator_test + gtest: true build: test - language: c + language: c++ src: - - test/core/census/context_test.c + - test/cpp/common/auth_property_iterator_test.cc deps: + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr -- name: census_resource_test +- name: channel_arguments_test + gtest: true build: test - language: c + language: c++ src: - - test/core/census/resource_test.c + - test/cpp/common/channel_arguments_test.cc deps: - - grpc_test_util + - grpc++ - grpc - - gpr_test_util - gpr -- name: channel_create_test +- name: cli_call_test + gtest: true build: test - language: c + language: c++ src: - - test/core/surface/channel_create_test.c + - test/cpp/util/cli_call_test.cc deps: + - grpc_cli_libs + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr -- name: chttp2_hpack_encoder_test +- name: client_crash_test + gtest: true + cpu_cost: 0.1 build: test - language: c + language: c++ src: - - test/core/transport/chttp2/hpack_encoder_test.c + - test/cpp/end2end/client_crash_test.cc deps: + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr -- name: chttp2_status_conversion_test + platforms: + - mac + - linux + - posix +- name: client_crash_test_server build: test - language: c + run: false + language: c++ src: - - test/core/transport/chttp2/status_conversion_test.c + - test/cpp/end2end/client_crash_test_server.cc deps: + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr -- name: chttp2_stream_map_test +- name: codegen_test_full + gtest: true build: test - language: c + language: c++ src: - - test/core/transport/chttp2/stream_map_test.c + - src/proto/grpc/testing/control.proto + - src/proto/grpc/testing/messages.proto + - src/proto/grpc/testing/payloads.proto + - src/proto/grpc/testing/services.proto + - src/proto/grpc/testing/stats.proto + - test/cpp/codegen/codegen_test_full.cc deps: - - grpc_test_util + - grpc++ - grpc - - gpr_test_util - gpr -- name: chttp2_varint_test + filegroups: + - grpc++_codegen_base +- name: codegen_test_minimal + gtest: true build: test - language: c + language: c++ src: - - test/core/transport/chttp2/varint_test.c + - src/proto/grpc/testing/control.proto + - src/proto/grpc/testing/messages.proto + - src/proto/grpc/testing/payloads.proto + - src/proto/grpc/testing/services.proto + - src/proto/grpc/testing/stats.proto + - test/cpp/codegen/codegen_test_minimal.cc + filegroups: + - grpc++_codegen_base + - grpc++_codegen_base_src +- name: credentials_test + gtest: true + build: test + language: c++ + src: + - test/cpp/client/credentials_test.cc deps: - - grpc_test_util + - grpc++ - grpc - - gpr_test_util - gpr -- name: client_fuzzer - build: fuzzer - language: c +- name: cxx_byte_buffer_test + gtest: true + build: test + language: c++ src: - - test/core/end2end/fuzzers/client_fuzzer.c + - test/cpp/util/byte_buffer_test.cc deps: - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr - corpus_dirs: - - test/core/end2end/fuzzers/client_fuzzer_corpus - dict: test/core/end2end/fuzzers/hpack.dictionary - maxlen: 2048 -- name: compression_test +- name: cxx_slice_test + gtest: true build: test - language: c + language: c++ src: - - test/core/compression/compression_test.c + - test/cpp/util/slice_test.cc deps: - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr -- name: concurrent_connectivity_test +- name: cxx_string_ref_test + gtest: true build: test - language: c + language: c++ src: - - test/core/surface/concurrent_connectivity_test.c + - test/cpp/util/string_ref_test.cc + deps: + - grpc++ +- name: cxx_time_test + gtest: true + build: test + language: c++ + src: + - test/cpp/util/time_test.cc deps: - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr -- name: dns_resolver_connectivity_test - cpu_cost: 0.1 +- name: end2end_test + gtest: true + cpu_cost: 0.5 build: test - language: c + language: c++ src: - - test/core/client_config/resolvers/dns_resolver_connectivity_test.c + - test/cpp/end2end/end2end_test.cc deps: + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr -- name: dns_resolver_test +- name: filter_end2end_test + gtest: true build: test - language: c + language: c++ src: - - test/core/client_config/resolvers/dns_resolver_test.c + - test/cpp/end2end/filter_end2end_test.cc deps: + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr -- name: dualstack_socket_test - cpu_cost: 0.1 +- name: generic_end2end_test + gtest: true build: test - language: c + language: c++ src: - - test/core/end2end/dualstack_socket_test.c + - test/cpp/end2end/generic_end2end_test.cc deps: + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr - platforms: - - mac - - linux - - posix -- name: endpoint_pair_test +- name: golden_file_test + gtest: true build: test - language: c + language: c++ src: - - test/core/iomgr/endpoint_pair_test.c + - src/proto/grpc/testing/compiler_test.proto + - test/cpp/codegen/golden_file_test.cc + deps: + - grpc++ + - grpc + - gpr +- name: grpc_c_end2end_test + gtest: true + build: test + language: c++ + src: + - test/c/end2end/end2end_test.cc deps: + - grpc_c_end2end_client_lib + - grpc_c + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr -- name: ev_epoll_linux_test + comments: + - '#1': This is a gRPC-C test but temporarily written in C++ for the lack of a C + server + - '#2': We are using the library grpc_c_end2end_client_lib to process nanopb and + interface with generated code +- name: grpc_c_generic_end2end_test + gtest: true build: test - language: c + language: c++ + headers: + - test/c/end2end/id_serialization.h src: - - test/core/iomgr/ev_epoll_linux_test.c + - test/c/end2end/generic_end2end_test.cc + - test/c/end2end/id_serialization.cc deps: + - grpc_c + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr - platforms: - - linux -- name: fd_conservation_posix_test + comments: + - '#1': This is a gRPC-C test but temporarily written in C++ for the lack of a C + server +- name: grpc_c_plugin + build: protoc + language: c++ + src: + - src/compiler/c_plugin.cc + deps: + - grpc_plugin_support + secure: false + vs_config_type: Application + vs_project_guid: '{06F2EB11-35DA-483D-AB0A-BC420D97B18C}' +- name: grpc_cli build: test - language: c + run: false + language: c++ src: - - test/core/iomgr/fd_conservation_posix_test.c + - test/cpp/util/grpc_cli.cc + deps: + - grpc_cli_libs + - grpc++_reflection + - grpc++ + - grpc + - gpr + - grpc++_test_config +- name: grpc_cpp_plugin + build: protoc + language: c++ + src: + - src/compiler/cpp_plugin.cc + deps: + - grpc_plugin_support + secure: false + vs_config_type: Application + 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: false + vs_config_type: Application + vs_project_guid: '{3C813052-A49A-4662-B90A-1ADBEC7EE453}' +- name: grpc_node_plugin + build: protoc + language: c++ + src: + - src/compiler/node_plugin.cc + deps: + - grpc_plugin_support + secure: false + vs_config_type: Application +- name: grpc_objective_c_plugin + build: protoc + language: c++ + src: + - src/compiler/objective_c_plugin.cc + deps: + - grpc_plugin_support + secure: false + vs_config_type: Application + 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: false + vs_config_type: Application + 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: false + vs_config_type: Application + vs_project_guid: '{069E9D05-B78B-4751-9252-D21EBAE7DE8E}' +- name: grpc_tool_test + gtest: true + build: test + language: c++ + headers: + - test/cpp/util/string_ref_helper.h + src: + - src/proto/grpc/testing/echo.proto + - src/proto/grpc/testing/echo_messages.proto + - test/cpp/util/grpc_tool_test.cc + - test/cpp/util/string_ref_helper.cc + deps: + - grpc_cli_libs + - grpc++_reflection - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr - platforms: - - mac - - linux - - posix -- name: fd_posix_test + filegroups: + - grpc++_codegen_proto + - grpc++_config_proto +- name: grpclb_api_test + gtest: true build: test - language: c + language: c++ src: - - test/core/iomgr/fd_posix_test.c + - src/proto/grpc/lb/v1/load_balancer.proto + - test/cpp/grpclb/grpclb_api_test.cc deps: + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - - gpr_test_util +- name: grpclb_test + gtest: false + build: test + language: c++ + src: + - src/proto/grpc/lb/v1/load_balancer.proto + - test/cpp/grpclb/grpclb_test.cc + deps: - gpr - platforms: - - mac - - linux - - posix -- name: fling_client + - gpr_test_util + - grpc + - grpc++ + - grpc++_test_util + - grpc_test_util +- name: hybrid_end2end_test + gtest: true build: test - run: false - language: c + language: c++ src: - - test/core/fling/client.c + - test/cpp/end2end/hybrid_end2end_test.cc deps: + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr -- name: fling_server +- name: interop_client build: test run: false - language: c - src: - - test/core/fling/server.c + language: c++ + src: [] deps: + - interop_client_main + - interop_client_helper + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr -- name: fling_stream_test - cpu_cost: 1.5 + - grpc++_test_config + platforms: + - mac + - linux + - posix +- name: interop_server build: test - language: c - src: - - test/core/fling/fling_stream_test.c + run: false + language: c++ + src: [] deps: + - interop_server_main + - interop_server_helper + - interop_server_lib + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr + - grpc++_test_config platforms: - mac - linux - posix -- name: fling_test - cpu_cost: 1.5 +- name: interop_test + cpu_cost: 0.1 build: test - language: c + language: c++ src: - - test/core/fling/fling_test.c + - test/cpp/interop/interop_test.cc deps: - grpc_test_util - grpc @@ -1557,1539 +1807,1465 @@ targets: - mac - linux - posix -- name: gen_hpack_tables - build: tool - language: c +- name: json_run_localhost + build: test + run: false + language: c++ src: - - tools/codegen/core/gen_hpack_tables.c + - test/cpp/qps/json_run_localhost.cc deps: + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc + - gpr_test_util - gpr + - grpc++_test_config +- name: metrics_client + build: test + run: false + language: c++ + headers: + - test/cpp/util/metrics_server.h + src: + - src/proto/grpc/testing/metrics.proto + - test/cpp/interop/metrics_client.cc + deps: + - grpc++ - grpc -- name: gen_legal_metadata_characters - build: tool - language: c + - gpr + - grpc++_test_config +- name: mock_test + gtest: true + build: test + language: c++ src: - - tools/codegen/core/gen_legal_metadata_characters.c - deps: [] -- name: goaway_server_test - cpu_cost: 0.1 + - test/cpp/end2end/mock_test.cc + deps: + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc + - gpr_test_util + - gpr +- name: proto_server_reflection_test + gtest: true build: test - language: c + language: c++ + headers: + - test/cpp/util/proto_reflection_descriptor_database.h src: - - test/core/end2end/goaway_server_test.c + - test/cpp/end2end/proto_server_reflection_test.cc + - test/cpp/util/proto_reflection_descriptor_database.cc deps: + - grpc++_reflection + - grpc++_test_util - grpc_test_util + - grpc++ - grpc - gpr_test_util - gpr - platforms: - - mac - - linux - - posix -- name: gpr_avl_test +- name: qps_interarrival_test build: test - language: c + run: false + language: c++ src: - - test/core/support/avl_test.c + - test/cpp/qps/qps_interarrival_test.cc deps: + - qps + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_backoff_test + platforms: + - mac + - linux + - posix +- name: qps_json_driver build: test - language: c + run: false + language: c++ src: - - test/core/support/backoff_test.c + - test/cpp/qps/qps_json_driver.cc deps: + - qps + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_cmdline_test + - grpc++_test_config +- name: qps_openloop_test + cpu_cost: 0.5 build: test - language: c + language: c++ src: - - test/core/support/cmdline_test.c + - test/cpp/qps/qps_openloop_test.cc deps: + - qps + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_cpu_test + - grpc++_test_config + platforms: + - mac + - linux + - posix +- name: qps_worker build: test - language: c + run: false + language: c++ + headers: + - test/cpp/qps/client.h + - test/cpp/qps/server.h src: - - test/core/support/cpu_test.c + - test/cpp/qps/worker.cc deps: + - qps + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_env_test + - grpc++_test_config +- name: reconnect_interop_client build: test - language: c + run: false + language: c++ src: - - test/core/support/env_test.c + - src/proto/grpc/testing/empty.proto + - src/proto/grpc/testing/messages.proto + - src/proto/grpc/testing/test.proto + - test/cpp/interop/reconnect_interop_client.cc deps: + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_histogram_test + - grpc++_test_config +- name: reconnect_interop_server build: test - language: c + run: false + language: c++ src: - - test/core/support/histogram_test.c + - src/proto/grpc/testing/empty.proto + - src/proto/grpc/testing/messages.proto + - src/proto/grpc/testing/test.proto + - test/cpp/interop/reconnect_interop_server.cc deps: + - reconnect_server + - test_tcp_server + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_host_port_test + - grpc++_test_config +- name: secure_auth_context_test + gtest: true build: test - language: c + language: c++ src: - - test/core/support/host_port_test.c + - test/cpp/common/secure_auth_context_test.cc deps: + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_log_test +- name: secure_sync_unary_ping_pong_test build: test - language: c + language: c++ src: - - test/core/support/log_test.c + - test/cpp/qps/secure_sync_unary_ping_pong_test.cc deps: + - qps + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_slice_buffer_test + platforms: + - mac + - linux + - posix +- name: server_builder_plugin_test + gtest: true build: test - language: c + language: c++ src: - - test/core/support/slice_buffer_test.c + - test/cpp/end2end/server_builder_plugin_test.cc deps: + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_slice_test +- name: server_crash_test + gtest: true + cpu_cost: 0.1 build: test - language: c + language: c++ src: - - test/core/support/slice_test.c + - test/cpp/end2end/server_crash_test.cc deps: + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_stack_lockfree_test - cpu_cost: 7 + platforms: + - mac + - linux + - posix +- name: server_crash_test_client build: test - language: c + run: false + language: c++ src: - - test/core/support/stack_lockfree_test.c + - test/cpp/end2end/server_crash_test_client.cc deps: + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_string_test +- name: shutdown_test + gtest: true build: test - language: c + language: c++ src: - - test/core/support/string_test.c + - test/cpp/end2end/shutdown_test.cc deps: + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_sync_test - cpu_cost: 10 +- name: status_test build: test - language: c + language: c++ src: - - test/core/support/sync_test.c + - test/cpp/util/status_test.cc deps: + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_thd_test - cpu_cost: 10 +- name: streaming_throughput_test + gtest: true build: test - language: c + language: c++ src: - - test/core/support/thd_test.c + - test/cpp/end2end/streaming_throughput_test.cc deps: + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_time_test + platforms: + - mac + - linux + - posix +- name: stress_test build: test - language: c + run: false + language: c++ + headers: + - test/cpp/interop/client_helper.h + - test/cpp/interop/interop_client.h + - test/cpp/interop/stress_interop_client.h + - test/cpp/util/metrics_server.h src: - - test/core/support/time_test.c + - src/proto/grpc/testing/empty.proto + - src/proto/grpc/testing/messages.proto + - src/proto/grpc/testing/metrics.proto + - src/proto/grpc/testing/test.proto + - test/cpp/interop/interop_client.cc + - test/cpp/interop/stress_interop_client.cc + - test/cpp/interop/stress_test.cc + - test/cpp/util/metrics_server.cc deps: + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_tls_test + - grpc++_test_config +- name: thread_stress_test + gtest: true + cpu_cost: 100 build: test - language: c + language: c++ src: - - test/core/support/tls_test.c + - test/cpp/end2end/thread_stress_test.cc deps: + - grpc++_test_util + - grpc_test_util + - grpc++ + - grpc - gpr_test_util - gpr -- name: gpr_useful_test +- name: public_headers_must_be_c89 build: test - language: c + language: c89 src: - - test/core/support/useful_test.c + - test/core/surface/public_headers_must_be_c89.c deps: - - gpr_test_util + - grpc - gpr -- name: grpc_auth_context_test +- name: alarm_test build: test - language: c + language: core src: - - test/core/security/auth_context_test.c + - test/core/surface/alarm_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: grpc_b64_test +- name: algorithm_test build: test - language: c + language: core src: - - test/core/security/b64_test.c + - test/core/compression/algorithm_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: grpc_byte_buffer_reader_test +- name: alloc_test build: test - language: c + language: core src: - - test/core/surface/byte_buffer_reader_test.c + - test/core/support/alloc_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: grpc_channel_args_test +- name: alpn_test build: test - language: c + language: core src: - - test/core/channel/channel_args_test.c + - test/core/transport/chttp2/alpn_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: grpc_channel_stack_test - build: test - language: c +- name: api_fuzzer + build: fuzzer + language: core src: - - test/core/channel/channel_stack_test.c + - test/core/end2end/fuzzers/api_fuzzer.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: grpc_completion_queue_test + corpus_dirs: + - test/core/end2end/fuzzers/api_fuzzer_corpus + dict: test/core/end2end/fuzzers/api_fuzzer.dictionary + maxlen: 2048 +- name: bad_server_response_test build: test - language: c + language: core src: - - test/core/surface/completion_queue_test.c + - test/core/end2end/bad_server_response_test.c deps: + - test_tcp_server - grpc_test_util - grpc - gpr_test_util - gpr -- name: grpc_create_jwt - build: tool - language: c +- name: bin_decoder_test + build: test + language: core src: - - test/core/security/create_jwt.c + - test/core/transport/chttp2/bin_decoder_test.c deps: + - grpc_test_util - grpc - - gpr - secure: true -- name: grpc_credentials_test +- name: bin_encoder_test build: test - language: c + language: core src: - - test/core/security/credentials_test.c + - test/core/transport/chttp2/bin_encoder_test.c deps: - grpc_test_util - grpc - - gpr_test_util - - gpr -- name: grpc_fetch_oauth2 +- name: census_context_test build: test - run: false - language: c + language: core src: - - test/core/security/fetch_oauth2.c + - test/core/census/context_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: grpc_invalid_channel_args_test +- name: census_resource_test build: test - language: c + language: core src: - - test/core/surface/invalid_channel_args_test.c + - test/core/census/resource_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: grpc_json_token_test +- name: channel_create_test build: test - language: c + language: core src: - - test/core/security/json_token_test.c + - test/core/surface/channel_create_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr - platforms: - - linux - - posix - - mac -- name: grpc_jwt_verifier_test +- name: chttp2_hpack_encoder_test build: test - language: c + language: core src: - - test/core/security/jwt_verifier_test.c + - test/core/transport/chttp2/hpack_encoder_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: grpc_print_google_default_creds_token - build: tool - language: c +- name: chttp2_status_conversion_test + build: test + language: core src: - - test/core/security/print_google_default_creds_token.c + - test/core/transport/chttp2/status_conversion_test.c deps: + - grpc_test_util - grpc + - gpr_test_util - gpr -- name: grpc_security_connector_test +- name: chttp2_stream_map_test build: test - language: c + language: core src: - - test/core/security/security_connector_test.c + - test/core/transport/chttp2/stream_map_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: grpc_verify_jwt - build: tool - language: c +- name: chttp2_varint_test + build: test + language: core src: - - test/core/security/verify_jwt.c + - test/core/transport/chttp2/varint_test.c deps: + - grpc_test_util - grpc + - gpr_test_util - gpr -- name: hpack_parser_fuzzer_test +- name: client_fuzzer build: fuzzer - language: c + language: core src: - - test/core/transport/chttp2/hpack_parser_fuzzer_test.c + - test/core/end2end/fuzzers/client_fuzzer.c deps: - grpc_test_util - grpc - gpr_test_util - gpr corpus_dirs: - - test/core/transport/chttp2/hpack_parser_corpus + - test/core/end2end/fuzzers/client_fuzzer_corpus dict: test/core/end2end/fuzzers/hpack.dictionary - maxlen: 512 -- name: hpack_parser_test + maxlen: 2048 +- name: compression_test build: test - language: c + language: core src: - - test/core/transport/chttp2/hpack_parser_test.c + - test/core/compression/compression_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: hpack_table_test +- name: concurrent_connectivity_test build: test - language: c + language: core src: - - test/core/transport/chttp2/hpack_table_test.c + - test/core/surface/concurrent_connectivity_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: http_parser_test +- name: dns_resolver_connectivity_test + cpu_cost: 0.1 build: test - language: c + language: core src: - - test/core/http/parser_test.c + - test/core/client_config/resolvers/dns_resolver_connectivity_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: http_request_fuzzer_test - build: fuzzer - language: c +- name: dns_resolver_test + build: test + language: core src: - - test/core/http/request_fuzzer.c + - test/core/client_config/resolvers/dns_resolver_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr - corpus_dirs: - - test/core/http/corpus - maxlen: 2048 -- name: http_response_fuzzer_test - build: fuzzer - language: c +- name: dualstack_socket_test + cpu_cost: 0.1 + build: test + language: core src: - - test/core/http/response_fuzzer.c + - test/core/end2end/dualstack_socket_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr - corpus_dirs: - - test/core/http/corpus - maxlen: 2048 -- name: httpcli_format_request_test + platforms: + - mac + - linux + - posix +- name: endpoint_pair_test build: test - language: c + language: core src: - - test/core/http/format_request_test.c + - test/core/iomgr/endpoint_pair_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: httpcli_test - cpu_cost: 0.5 +- name: ev_epoll_linux_test build: test - language: c + language: core src: - - test/core/http/httpcli_test.c + - test/core/iomgr/ev_epoll_linux_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr platforms: - - mac - linux - - posix -- name: httpscli_test - cpu_cost: 0.5 +- name: fd_conservation_posix_test build: test - language: c + language: core src: - - test/core/http/httpscli_test.c + - test/core/iomgr/fd_conservation_posix_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr platforms: + - mac - linux -- name: init_test + - posix +- name: fd_posix_test build: test - language: c + language: core src: - - test/core/surface/init_test.c + - test/core/iomgr/fd_posix_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: internal_api_canary_iomgr_test + platforms: + - mac + - linux + - posix +- name: fling_client build: test run: false - language: c + language: core src: - - test/core/internal_api_canaries/iomgr.c + - test/core/fling/client.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: internal_api_canary_support_test +- name: fling_server build: test run: false - language: c + language: core src: - - test/core/internal_api_canaries/iomgr.c + - test/core/fling/server.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: internal_api_canary_transport_test +- name: fling_stream_test + cpu_cost: 1.5 build: test - run: false - language: c + language: core src: - - test/core/internal_api_canaries/iomgr.c + - test/core/fling/fling_stream_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: invalid_call_argument_test - cpu_cost: 0.1 + platforms: + - mac + - linux + - posix +- name: fling_test + cpu_cost: 1.5 build: test - language: c + language: core src: - - test/core/end2end/invalid_call_argument_test.c + - test/core/fling/fling_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: json_fuzzer_test - build: fuzzer - language: c + platforms: + - mac + - linux + - posix +- name: gen_hpack_tables + build: tool + language: core src: - - test/core/json/fuzzer.c + - tools/codegen/core/gen_hpack_tables.c + deps: + - gpr + - grpc +- name: gen_legal_metadata_characters + build: tool + language: core + src: + - tools/codegen/core/gen_legal_metadata_characters.c + deps: [] +- name: goaway_server_test + cpu_cost: 0.1 + build: test + language: core + src: + - test/core/end2end/goaway_server_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr - corpus_dirs: - - test/core/json/corpus - maxlen: 512 -- name: json_rewrite + platforms: + - mac + - linux + - posix +- name: gpr_avl_test build: test - run: false - language: c + language: core src: - - test/core/json/json_rewrite.c + - test/core/support/avl_test.c deps: - - grpc + - gpr_test_util - gpr -- name: json_rewrite_test +- name: gpr_backoff_test build: test - language: c + language: core src: - - test/core/json/json_rewrite_test.c + - test/core/support/backoff_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: json_stream_error_test +- name: gpr_cmdline_test build: test - language: c + language: core src: - - test/core/json/json_stream_error_test.c + - test/core/support/cmdline_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: json_test +- name: gpr_cpu_test build: test - language: c + language: core src: - - test/core/json/json_test.c + - test/core/support/cpu_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: lame_client_test +- name: gpr_env_test build: test - language: c + language: core src: - - test/core/surface/lame_client_test.c + - test/core/support/env_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: lb_policies_test - cpu_cost: 0.1 - flaky: true +- name: gpr_histogram_test build: test - language: c + language: core src: - - test/core/client_config/lb_policies_test.c + - test/core/support/histogram_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: load_file_test +- name: gpr_host_port_test build: test - language: c + language: core src: - - test/core/iomgr/load_file_test.c + - test/core/support/host_port_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: low_level_ping_pong_benchmark - build: benchmark - language: c +- name: gpr_log_test + build: test + language: core src: - - test/core/network_benchmarks/low_level_ping_pong.c + - test/core/support/log_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr - platforms: - - mac - - linux - - posix -- name: message_compress_test +- name: gpr_slice_buffer_test build: test - language: c + language: core src: - - test/core/compression/message_compress_test.c + - test/core/support/slice_buffer_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: mlog_test - flaky: true +- name: gpr_slice_test build: test - language: c + language: core src: - - test/core/census/mlog_test.c + - test/core/support/slice_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: multiple_server_queues_test +- name: gpr_stack_lockfree_test + cpu_cost: 7 build: test - language: c + language: core src: - - test/core/end2end/multiple_server_queues_test.c + - test/core/support/stack_lockfree_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: murmur_hash_test +- name: gpr_string_test build: test - language: c + language: core src: - - test/core/support/murmur_hash_test.c + - test/core/support/string_test.c deps: - gpr_test_util - gpr -- name: nanopb_fuzzer_response_test - build: fuzzer - language: c +- name: gpr_sync_test + cpu_cost: 10 + build: test + language: core src: - - test/core/nanopb/fuzzer_response.c + - test/core/support/sync_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr - corpus_dirs: - - test/core/nanopb/corpus_response - maxlen: 128 -- name: nanopb_fuzzer_serverlist_test - build: fuzzer - language: c +- name: gpr_thd_test + cpu_cost: 10 + build: test + language: core src: - - test/core/nanopb/fuzzer_serverlist.c + - test/core/support/thd_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr - corpus_dirs: - - test/core/nanopb/corpus_serverlist - maxlen: 128 -- name: no_server_test - cpu_cost: 0.1 +- name: gpr_time_test build: test - language: c + language: core src: - - test/core/end2end/no_server_test.c + - test/core/support/time_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: resolve_address_test +- name: gpr_tls_test build: test - language: c + language: core src: - - test/core/iomgr/resolve_address_test.c + - test/core/support/tls_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: secure_channel_create_test +- name: gpr_useful_test build: test - language: c + language: core src: - - test/core/surface/secure_channel_create_test.c + - test/core/support/useful_test.c deps: - - grpc_test_util - - grpc - gpr_test_util - gpr -- name: secure_endpoint_test +- name: grpc_auth_context_test build: test - language: c + language: core src: - - test/core/security/secure_endpoint_test.c + - test/core/security/auth_context_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: sequential_connectivity_test +- name: grpc_b64_test build: test - language: c + language: core src: - - test/core/surface/sequential_connectivity_test.c + - test/core/security/b64_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: server_chttp2_test +- name: grpc_byte_buffer_reader_test build: test - language: c + language: core src: - - test/core/surface/server_chttp2_test.c + - test/core/surface/byte_buffer_reader_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: server_fuzzer - build: fuzzer - language: c +- name: grpc_channel_args_test + build: test + language: core src: - - test/core/end2end/fuzzers/server_fuzzer.c + - test/core/channel/channel_args_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr - corpus_dirs: - - test/core/end2end/fuzzers/server_fuzzer_corpus - dict: test/core/end2end/fuzzers/hpack.dictionary - maxlen: 2048 -- name: server_test +- name: grpc_channel_stack_test build: test - language: c + language: core src: - - test/core/surface/server_test.c + - test/core/channel/channel_stack_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: set_initial_connect_string_test - cpu_cost: 0.1 +- name: grpc_completion_queue_test build: test - language: c + language: core src: - - test/core/client_config/set_initial_connect_string_test.c + - test/core/surface/completion_queue_test.c deps: - - test_tcp_server - grpc_test_util - grpc - gpr_test_util - gpr -- name: sockaddr_resolver_test - build: test - language: c +- name: grpc_create_jwt + build: tool + language: core src: - - test/core/client_config/resolvers/sockaddr_resolver_test.c + - test/core/security/create_jwt.c deps: - - grpc_test_util - grpc - - gpr_test_util - gpr -- name: sockaddr_utils_test + secure: true +- name: grpc_credentials_test build: test - language: c + language: core src: - - test/core/iomgr/sockaddr_utils_test.c + - test/core/security/credentials_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: socket_utils_test +- name: grpc_fetch_oauth2 build: test - language: c + run: false + language: core src: - - test/core/iomgr/socket_utils_test.c + - test/core/security/fetch_oauth2.c deps: - grpc_test_util - grpc - gpr_test_util - gpr - platforms: - - mac - - linux - - posix -- name: tcp_client_posix_test - cpu_cost: 0.5 +- name: grpc_invalid_channel_args_test build: test - language: c + language: core src: - - test/core/iomgr/tcp_client_posix_test.c + - test/core/surface/invalid_channel_args_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr - platforms: - - mac - - linux - - posix -- name: tcp_posix_test - cpu_cost: 0.2 +- name: grpc_json_token_test build: test - language: c + language: core src: - - test/core/iomgr/tcp_posix_test.c + - test/core/security/json_token_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr platforms: - - mac - linux - posix -- name: tcp_server_posix_test + - mac +- name: grpc_jwt_verifier_test build: test - language: c + language: core src: - - test/core/iomgr/tcp_server_posix_test.c + - test/core/security/jwt_verifier_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr - platforms: - - mac - - linux - - posix -- name: time_averaged_stats_test - build: test - language: c +- name: grpc_print_google_default_creds_token + build: tool + language: core src: - - test/core/iomgr/time_averaged_stats_test.c + - test/core/security/print_google_default_creds_token.c deps: - - grpc_test_util - grpc - - gpr_test_util - gpr -- name: timeout_encoding_test +- name: grpc_security_connector_test build: test - language: c + language: core src: - - test/core/transport/timeout_encoding_test.c + - test/core/security/security_connector_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: timer_heap_test - build: test - language: c +- name: grpc_verify_jwt + build: tool + language: core src: - - test/core/iomgr/timer_heap_test.c + - test/core/security/verify_jwt.c deps: - - grpc_test_util - grpc - - gpr_test_util - gpr -- name: timer_list_test - build: test - language: c +- name: hpack_parser_fuzzer_test + build: fuzzer + language: core src: - - test/core/iomgr/timer_list_test.c + - test/core/transport/chttp2/hpack_parser_fuzzer_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: transport_connectivity_state_test + corpus_dirs: + - test/core/transport/chttp2/hpack_parser_corpus + dict: test/core/end2end/fuzzers/hpack.dictionary + maxlen: 512 +- name: hpack_parser_test build: test - language: c + language: core src: - - test/core/transport/connectivity_state_test.c + - test/core/transport/chttp2/hpack_parser_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: transport_metadata_test +- name: hpack_table_test build: test - language: c + language: core src: - - test/core/transport/metadata_test.c + - test/core/transport/chttp2/hpack_table_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: transport_security_test +- name: http_parser_test build: test - language: c + language: core src: - - test/core/tsi/transport_security_test.c + - test/core/http/parser_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr - platforms: - - linux - - posix - - mac -- name: udp_server_test - build: test - language: c +- name: http_request_fuzzer_test + build: fuzzer + language: core src: - - test/core/iomgr/udp_server_test.c + - test/core/http/request_fuzzer.c deps: - grpc_test_util - grpc - gpr_test_util - gpr - platforms: - - mac - - linux - - posix -- name: uri_fuzzer_test + corpus_dirs: + - test/core/http/corpus + maxlen: 2048 +- name: http_response_fuzzer_test build: fuzzer - language: c + language: core src: - - test/core/client_config/uri_fuzzer_test.c + - test/core/http/response_fuzzer.c deps: - grpc_test_util - grpc - gpr_test_util - gpr corpus_dirs: - - test/core/client_config/uri_corpus - maxlen: 128 -- name: uri_parser_test + - test/core/http/corpus + maxlen: 2048 +- name: httpcli_format_request_test build: test - language: c + language: core src: - - test/core/client_config/uri_parser_test.c + - test/core/http/format_request_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr -- name: alarm_cpp_test - gtest: true +- name: httpcli_test + cpu_cost: 0.5 build: test - language: c++ + language: core src: - - test/cpp/common/alarm_cpp_test.cc + - test/core/http/httpcli_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: async_end2end_test - gtest: true + platforms: + - mac + - linux + - posix +- name: httpscli_test + cpu_cost: 0.5 build: test - language: c++ + language: core src: - - test/cpp/end2end/async_end2end_test.cc + - test/core/http/httpscli_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: auth_property_iterator_test - gtest: true + platforms: + - linux +- name: init_test build: test - language: c++ + language: core src: - - test/cpp/common/auth_property_iterator_test.cc + - test/core/surface/init_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: channel_arguments_test - gtest: true +- name: internal_api_canary_iomgr_test build: test - language: c++ + run: false + language: core src: - - test/cpp/common/channel_arguments_test.cc + - test/core/internal_api_canaries/iomgr.c deps: - - grpc++ + - grpc_test_util - grpc + - gpr_test_util - gpr -- name: cli_call_test - gtest: true +- name: internal_api_canary_support_test build: test - language: c++ + run: false + language: core src: - - test/cpp/util/cli_call_test.cc + - test/core/internal_api_canaries/iomgr.c deps: - - grpc_cli_libs - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: client_crash_test - gtest: true - cpu_cost: 0.1 +- name: internal_api_canary_transport_test build: test - language: c++ + run: false + language: core src: - - test/cpp/end2end/client_crash_test.cc + - test/core/internal_api_canaries/iomgr.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr - platforms: - - mac - - linux - - posix -- name: client_crash_test_server +- name: invalid_call_argument_test + cpu_cost: 0.1 build: test - run: false - language: c++ + language: core src: - - test/cpp/end2end/client_crash_test_server.cc + - test/core/end2end/invalid_call_argument_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: codegen_test_full - gtest: true - build: test - language: c++ +- name: json_fuzzer_test + build: fuzzer + language: core src: - - src/proto/grpc/testing/control.proto - - src/proto/grpc/testing/messages.proto - - src/proto/grpc/testing/payloads.proto - - src/proto/grpc/testing/services.proto - - src/proto/grpc/testing/stats.proto - - test/cpp/codegen/codegen_test_full.cc + - test/core/json/fuzzer.c deps: - - grpc++ + - grpc_test_util - grpc + - gpr_test_util - gpr - filegroups: - - grpc++_codegen_base -- name: codegen_test_minimal - gtest: true - build: test - language: c++ - src: - - src/proto/grpc/testing/control.proto - - src/proto/grpc/testing/messages.proto - - src/proto/grpc/testing/payloads.proto - - src/proto/grpc/testing/services.proto - - src/proto/grpc/testing/stats.proto - - test/cpp/codegen/codegen_test_minimal.cc - filegroups: - - grpc++_codegen_base - - grpc++_codegen_base_src -- name: credentials_test - gtest: true + corpus_dirs: + - test/core/json/corpus + maxlen: 512 +- name: json_rewrite build: test - language: c++ + run: false + language: core src: - - test/cpp/client/credentials_test.cc + - test/core/json/json_rewrite.c deps: - - grpc++ - grpc - gpr -- name: cxx_byte_buffer_test - gtest: true +- name: json_rewrite_test build: test - language: c++ + language: core src: - - test/cpp/util/byte_buffer_test.cc + - test/core/json/json_rewrite_test.c deps: - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: cxx_slice_test - gtest: true +- name: json_stream_error_test build: test - language: c++ + language: core src: - - test/cpp/util/slice_test.cc + - test/core/json/json_stream_error_test.c deps: - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: cxx_string_ref_test - gtest: true - build: test - language: c++ - src: - - test/cpp/util/string_ref_test.cc - deps: - - grpc++ -- name: cxx_time_test - gtest: true +- name: json_test build: test - language: c++ + language: core src: - - test/cpp/util/time_test.cc + - test/core/json/json_test.c deps: - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: end2end_test - gtest: true - cpu_cost: 0.5 +- name: lame_client_test build: test - language: c++ + language: core src: - - test/cpp/end2end/end2end_test.cc + - test/core/surface/lame_client_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: filter_end2end_test - gtest: true +- name: lb_policies_test + cpu_cost: 0.1 + flaky: true build: test - language: c++ + language: core src: - - test/cpp/end2end/filter_end2end_test.cc + - test/core/client_config/lb_policies_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: generic_end2end_test - gtest: true +- name: load_file_test build: test - language: c++ + language: core src: - - test/cpp/end2end/generic_end2end_test.cc + - test/core/iomgr/load_file_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: golden_file_test - gtest: true - build: test - language: c++ +- name: low_level_ping_pong_benchmark + build: benchmark + language: core src: - - src/proto/grpc/testing/compiler_test.proto - - test/cpp/codegen/golden_file_test.cc + - test/core/network_benchmarks/low_level_ping_pong.c deps: - - grpc++ + - grpc_test_util - grpc + - gpr_test_util - gpr -- name: grpc_cli + platforms: + - mac + - linux + - posix +- name: message_compress_test build: test - run: false - language: c++ + language: core src: - - test/cpp/util/grpc_cli.cc + - test/core/compression/message_compress_test.c deps: - - grpc_cli_libs - - grpc++_reflection - - grpc++ + - grpc_test_util - 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: false - vs_config_type: Application - 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: false - vs_config_type: Application - vs_project_guid: '{3C813052-A49A-4662-B90A-1ADBEC7EE453}' -- name: grpc_node_plugin - build: protoc - language: c++ - src: - - src/compiler/node_plugin.cc - deps: - - grpc_plugin_support - secure: false - vs_config_type: Application -- name: grpc_objective_c_plugin - build: protoc - language: c++ - src: - - src/compiler/objective_c_plugin.cc - deps: - - grpc_plugin_support - secure: false - vs_config_type: Application - 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: false - vs_config_type: Application - 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: false - vs_config_type: Application - vs_project_guid: '{069E9D05-B78B-4751-9252-D21EBAE7DE8E}' -- name: grpc_tool_test - gtest: true +- name: mlog_test + flaky: true build: test - language: c++ - headers: - - test/cpp/util/string_ref_helper.h + language: core src: - - src/proto/grpc/testing/echo.proto - - src/proto/grpc/testing/echo_messages.proto - - test/cpp/util/grpc_tool_test.cc - - test/cpp/util/string_ref_helper.cc + - test/core/census/mlog_test.c deps: - - grpc_cli_libs - - grpc++_reflection - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr - filegroups: - - grpc++_codegen_proto - - grpc++_config_proto -- name: grpclb_api_test - gtest: true +- name: multiple_server_queues_test build: test - language: c++ + language: core src: - - src/proto/grpc/lb/v1/load_balancer.proto - - test/cpp/grpclb/grpclb_api_test.cc + - test/core/end2end/multiple_server_queues_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc -- name: grpclb_test - gtest: false + - gpr_test_util + - gpr +- name: murmur_hash_test build: test - language: c++ + language: core src: - - src/proto/grpc/lb/v1/load_balancer.proto - - test/cpp/grpclb/grpclb_test.cc + - test/core/support/murmur_hash_test.c deps: - - gpr - gpr_test_util - - grpc - - grpc++ - - grpc++_test_util + - gpr +- name: nanopb_fuzzer_response_test + build: fuzzer + language: core + src: + - test/core/nanopb/fuzzer_response.c + deps: - grpc_test_util -- name: hybrid_end2end_test - gtest: true - build: test - language: c++ + - grpc + - gpr_test_util + - gpr + corpus_dirs: + - test/core/nanopb/corpus_response + maxlen: 128 +- name: nanopb_fuzzer_serverlist_test + build: fuzzer + language: core src: - - test/cpp/end2end/hybrid_end2end_test.cc + - test/core/nanopb/fuzzer_serverlist.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: interop_client + corpus_dirs: + - test/core/nanopb/corpus_serverlist + maxlen: 128 +- name: no_server_test + cpu_cost: 0.1 build: test - run: false - language: c++ - src: [] + language: core + src: + - test/core/end2end/no_server_test.c 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 +- name: resolve_address_test build: test - run: false - language: c++ - src: [] + language: core + src: + - test/core/iomgr/resolve_address_test.c deps: - - interop_server_main - - interop_server_helper - - interop_server_lib - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr - - grpc++_test_config - platforms: - - mac - - linux - - posix -- name: interop_test - cpu_cost: 0.1 +- name: secure_channel_create_test build: test - language: c++ + language: core src: - - test/cpp/interop/interop_test.cc + - test/core/surface/secure_channel_create_test.c deps: - grpc_test_util - grpc - gpr_test_util - gpr - platforms: - - mac - - linux - - posix -- name: json_run_localhost +- name: secure_endpoint_test build: test - run: false - language: c++ + language: core src: - - test/cpp/qps/json_run_localhost.cc + - test/core/security/secure_endpoint_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr - - grpc++_test_config -- name: metrics_client +- name: sequential_connectivity_test build: test - run: false - language: c++ - headers: - - test/cpp/util/metrics_server.h + language: core src: - - src/proto/grpc/testing/metrics.proto - - test/cpp/interop/metrics_client.cc + - test/core/surface/sequential_connectivity_test.c deps: - - grpc++ + - grpc_test_util - grpc + - gpr_test_util - gpr - - grpc++_test_config -- name: mock_test - gtest: true +- name: server_chttp2_test build: test - language: c++ + language: core src: - - test/cpp/end2end/mock_test.cc + - test/core/surface/server_chttp2_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: proto_server_reflection_test - gtest: true - build: test - language: c++ - headers: - - test/cpp/util/proto_reflection_descriptor_database.h +- name: server_fuzzer + build: fuzzer + language: core src: - - test/cpp/end2end/proto_server_reflection_test.cc - - test/cpp/util/proto_reflection_descriptor_database.cc + - test/core/end2end/fuzzers/server_fuzzer.c deps: - - grpc++_reflection - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: qps_interarrival_test + corpus_dirs: + - test/core/end2end/fuzzers/server_fuzzer_corpus + dict: test/core/end2end/fuzzers/hpack.dictionary + maxlen: 2048 +- name: server_test build: test - run: false - language: c++ + language: core src: - - test/cpp/qps/qps_interarrival_test.cc + - test/core/surface/server_test.c deps: - - qps - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr - platforms: - - mac - - linux - - posix -- name: qps_json_driver +- name: set_initial_connect_string_test + cpu_cost: 0.1 build: test - run: false - language: c++ + language: core src: - - test/cpp/qps/qps_json_driver.cc + - test/core/client_config/set_initial_connect_string_test.c deps: - - qps - - grpc++_test_util + - test_tcp_server - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr - - grpc++_test_config -- name: qps_openloop_test - cpu_cost: 0.5 +- name: sockaddr_resolver_test build: test - language: c++ + language: core src: - - test/cpp/qps/qps_openloop_test.cc + - test/core/client_config/resolvers/sockaddr_resolver_test.c deps: - - qps - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr - - grpc++_test_config - platforms: - - mac - - linux - - posix -- name: qps_worker +- name: sockaddr_utils_test build: test - run: false - language: c++ - headers: - - test/cpp/qps/client.h - - test/cpp/qps/server.h + language: core src: - - test/cpp/qps/worker.cc + - test/core/iomgr/sockaddr_utils_test.c deps: - - qps - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr - - grpc++_test_config -- name: reconnect_interop_client +- name: socket_utils_test build: test - run: false - language: c++ + language: core src: - - src/proto/grpc/testing/empty.proto - - src/proto/grpc/testing/messages.proto - - src/proto/grpc/testing/test.proto - - test/cpp/interop/reconnect_interop_client.cc + - test/core/iomgr/socket_utils_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr - - grpc++_test_config -- name: reconnect_interop_server + platforms: + - mac + - linux + - posix +- name: tcp_client_posix_test + cpu_cost: 0.5 build: test - run: false - language: c++ + language: core src: - - src/proto/grpc/testing/empty.proto - - src/proto/grpc/testing/messages.proto - - src/proto/grpc/testing/test.proto - - test/cpp/interop/reconnect_interop_server.cc + - test/core/iomgr/tcp_client_posix_test.c deps: - - reconnect_server - - test_tcp_server - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr - - grpc++_test_config -- name: secure_auth_context_test - gtest: true + platforms: + - mac + - linux + - posix +- name: tcp_posix_test + cpu_cost: 0.2 build: test - language: c++ + language: core src: - - test/cpp/common/secure_auth_context_test.cc + - test/core/iomgr/tcp_posix_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: secure_sync_unary_ping_pong_test + platforms: + - mac + - linux + - posix +- name: tcp_server_posix_test build: test - language: c++ + language: core src: - - test/cpp/qps/secure_sync_unary_ping_pong_test.cc + - test/core/iomgr/tcp_server_posix_test.c deps: - - qps - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr @@ -3097,138 +3273,116 @@ targets: - mac - linux - posix -- name: server_builder_plugin_test - gtest: true +- name: time_averaged_stats_test build: test - language: c++ + language: core src: - - test/cpp/end2end/server_builder_plugin_test.cc + - test/core/iomgr/time_averaged_stats_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: server_crash_test - gtest: true - cpu_cost: 0.1 +- name: timeout_encoding_test build: test - language: c++ + language: core src: - - test/cpp/end2end/server_crash_test.cc + - test/core/transport/timeout_encoding_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr - platforms: - - mac - - linux - - posix -- name: server_crash_test_client +- name: timer_heap_test build: test - run: false - language: c++ + language: core src: - - test/cpp/end2end/server_crash_test_client.cc + - test/core/iomgr/timer_heap_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: shutdown_test - gtest: true +- name: timer_list_test build: test - language: c++ + language: core src: - - test/cpp/end2end/shutdown_test.cc + - test/core/iomgr/timer_list_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: status_test +- name: transport_connectivity_state_test build: test - language: c++ + language: core src: - - test/cpp/util/status_test.cc + - test/core/transport/connectivity_state_test.c deps: - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: streaming_throughput_test - gtest: true +- name: transport_metadata_test build: test - language: c++ + language: core src: - - test/cpp/end2end/streaming_throughput_test.cc + - test/core/transport/metadata_test.c + deps: + - grpc_test_util + - grpc + - gpr_test_util + - gpr +- name: transport_security_test + build: test + language: core + src: + - test/core/tsi/transport_security_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr platforms: - - mac - linux - posix -- name: stress_test + - mac +- name: udp_server_test build: test - run: false - language: c++ - headers: - - test/cpp/interop/client_helper.h - - test/cpp/interop/interop_client.h - - test/cpp/interop/stress_interop_client.h - - test/cpp/util/metrics_server.h + language: core src: - - src/proto/grpc/testing/empty.proto - - src/proto/grpc/testing/messages.proto - - src/proto/grpc/testing/metrics.proto - - src/proto/grpc/testing/test.proto - - test/cpp/interop/interop_client.cc - - test/cpp/interop/stress_interop_client.cc - - test/cpp/interop/stress_test.cc - - test/cpp/util/metrics_server.cc + - test/core/iomgr/udp_server_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr - - grpc++_test_config -- name: thread_stress_test - gtest: true - cpu_cost: 100 - build: test - language: c++ + platforms: + - mac + - linux + - posix +- name: uri_fuzzer_test + build: fuzzer + language: core src: - - test/cpp/end2end/thread_stress_test.cc + - test/core/client_config/uri_fuzzer_test.c deps: - - grpc++_test_util - grpc_test_util - - grpc++ - grpc - gpr_test_util - gpr -- name: public_headers_must_be_c89 + corpus_dirs: + - test/core/client_config/uri_corpus + maxlen: 128 +- name: uri_parser_test build: test - language: c89 + language: core src: - - test/core/surface/public_headers_must_be_c89.c + - test/core/client_config/uri_parser_test.c deps: + - grpc_test_util - grpc + - gpr_test_util - gpr vspackages: - linkage: static diff --git a/examples/c/README.md b/examples/c/README.md new file mode 100644 index 0000000000000..660d8e6bbaed6 --- /dev/null +++ b/examples/c/README.md @@ -0,0 +1,2 @@ +#gRPC in 3 minutes (C) + diff --git a/examples/c/ctutorial.md b/examples/c/ctutorial.md new file mode 100644 index 0000000000000..1ccedfccebb67 --- /dev/null +++ b/examples/c/ctutorial.md @@ -0,0 +1,2 @@ +#gRPC Basics: C + diff --git a/examples/c/helloworld/.gitignore b/examples/c/helloworld/.gitignore new file mode 100644 index 0000000000000..6fffa4ba99bab --- /dev/null +++ b/examples/c/helloworld/.gitignore @@ -0,0 +1,11 @@ +helloworld.grpc.pbc.c +helloworld.grpc.pbc.h +helloworld.pbc.c +helloworld.pbc.h +helloworld.pb.c +helloworld.pb.h +*.o +greeter_client +greeter_async_client +greeter_async_client2 +greeter_async_server diff --git a/examples/c/helloworld/Makefile b/examples/c/helloworld/Makefile new file mode 100644 index 0000000000000..35197da8ddf7a --- /dev/null +++ b/examples/c/helloworld/Makefile @@ -0,0 +1,123 @@ +# +# 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. +# + +NANOPB_DIR := $(abspath ../../../third_party/nanopb) +NANOPB_CORE = $(NANOPB_DIR)/pb_encode.c $(NANOPB_DIR)/pb_decode.c $(NANOPB_DIR)/pb_common.c + +CC = gcc +CFLAGS += -I/usr/local/include -I$(NANOPB_DIR)/ -pthread +LDFLAGS += -L/usr/local/lib `pkg-config --libs grpc` -lgrpc_c -lprotobuf -lpthread -ldl +PROTOC = protoc +GRPC_C_PLUGIN = grpc_c_plugin +GRPC_C_PLUGIN_PATH ?= `which $(GRPC_C_PLUGIN)` + +PROTOS_PATH = ../../protos + +vpath %.proto $(PROTOS_PATH) + +all: system-check greeter_client greeter_async_client greeter_async_client2 greeter_async_server + +greeter_client: helloworld.pbc.o helloworld.grpc.pbc.o greeter_client.o + $(CC) $^ $(NANOPB_CORE) $(LDFLAGS) -o $@ + +greeter_async_client: helloworld.pbc.o helloworld.grpc.pbc.o greeter_async_client.o + $(CC) $^ $(NANOPB_CORE) $(LDFLAGS) -o $@ + +greeter_async_client2: helloworld.pbc.o helloworld.grpc.pbc.o greeter_async_client2.o + $(CC) $^ $(NANOPB_CORE) $(LDFLAGS) -o $@ + +greeter_async_server: helloworld.pbc.o helloworld.grpc.pbc.o greeter_async_server.o + $(CC) $^ $(NANOPB_CORE) $(LDFLAGS) -o $@ + +.PRECIOUS: %.grpc.pbc.c +%.grpc.pbc.c: %.proto + $(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_C_PLUGIN_PATH) $< + +.PRECIOUS: %.pbc.c +%.pbc.c: %.proto + $(PROTOC) --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb -I $(PROTOS_PATH) --nanopb_out=--extension=.pbc:. $< + +clean: + rm -f *.o *.pb.c *.pb.h *.pbc.c *.pbc.h greeter_client greeter_async_client greeter_async_client2 greeter_async_server + + +# The following is to test your system and ensure a smoother experience. +# They are by no means necessary to actually compile a grpc-enabled software. + +PROTOC_CMD = which $(PROTOC) +PROTOC_CHECK_CMD = $(PROTOC) --version | grep -q libprotoc.3 +PLUGIN_CHECK_CMD = which $(GRPC_C_PLUGIN) +HAS_PROTOC = $(shell $(PROTOC_CMD) > /dev/null && echo true || echo false) +ifeq ($(HAS_PROTOC),true) +HAS_VALID_PROTOC = $(shell $(PROTOC_CHECK_CMD) 2> /dev/null && echo true || echo false) +endif +HAS_PLUGIN = $(shell $(PLUGIN_CHECK_CMD) > /dev/null && echo true || echo false) + +SYSTEM_OK = false +ifeq ($(HAS_VALID_PROTOC),true) +ifeq ($(HAS_PLUGIN),true) +SYSTEM_OK = true +endif +endif + +system-check: +ifneq ($(HAS_VALID_PROTOC),true) + @echo " DEPENDENCY ERROR" + @echo + @echo "You don't have protoc 3.0.0 installed in your path." + @echo "Please install Google protocol buffers 3.0.0 and its compiler." + @echo "You can find it here:" + @echo + @echo " https://github.com/google/protobuf/releases/tag/v3.0.0-beta-2" + @echo + @echo "Here is what I get when trying to evaluate your version of protoc:" + @echo + -$(PROTOC) --version + @echo + @echo +endif +ifneq ($(HAS_PLUGIN),true) + @echo " DEPENDENCY ERROR" + @echo + @echo "You don't have the grpc c++ protobuf plugin installed in your path." + @echo "Please install grpc. You can find it here:" + @echo + @echo " https://github.com/grpc/grpc" + @echo + @echo "Here is what I get when trying to detect if you have the plugin:" + @echo + -which $(GRPC_CPP_PLUGIN) + @echo + @echo +endif +ifneq ($(SYSTEM_OK),true) + @false +endif diff --git a/examples/c/helloworld/README.md b/examples/c/helloworld/README.md new file mode 100644 index 0000000000000..9fd024b11896d --- /dev/null +++ b/examples/c/helloworld/README.md @@ -0,0 +1,4 @@ +# gRPC C Hello World Tutorial + + + diff --git a/examples/c/helloworld/greeter_async_client.c b/examples/c/helloworld/greeter_async_client.c new file mode 100644 index 0000000000000..0c179db47f42d --- /dev/null +++ b/examples/c/helloworld/greeter_async_client.c @@ -0,0 +1,105 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/** + * This file demonstrates the basic usage of async unary API. + */ + +#include +#include +#include + +#include +#include +#include "helloworld.grpc.pbc.h" + +/** + * Nanopb callbacks for string encoding/decoding. + */ + +static bool write_string(pb_ostream_t *stream, const pb_field_t *field, + void *const *arg) { + char *str = "world"; + if (!pb_encode_tag_for_field(stream, field)) return false; + + return pb_encode_string(stream, (uint8_t *)str, strlen(str)); +} + +static bool read_string(pb_istream_t *stream, const pb_field_t *field, + void **arg) { + size_t len = stream->bytes_left; + char *str = malloc(len + 1); + if (!pb_read(stream, (uint8_t *) str, len)) return false; + str[len] = '\0'; + printf("Server replied %s\n", str); + free(str); + return true; +} + +int main(int argc, char **argv) { + GRPC_channel *chan = GRPC_channel_create("0.0.0.0:50051"); + GRPC_client_context *context = GRPC_client_context_create(chan); + GRPC_completion_queue *cq = GRPC_completion_queue_create(); + helloworld_HelloRequest request = {.name.funcs.encode = write_string}; + helloworld_HelloReply reply = {.message.funcs.decode = read_string}; + // this method returns immediately + GRPC_client_async_response_reader *reader = + helloworld_Greeter_SayHello_Async(context, cq, request); + + // set up finish notification via tag + bool ok; + void *tag; + helloworld_Greeter_SayHello_Finish(reader, &reply, /*TAG*/ (void *)12345); + + // wait for async RPC to finish + GRPC_completion_queue_operation_status queue_status = + GRPC_completion_queue_next(cq, &tag, &ok); + assert(queue_status == GRPC_COMPLETION_QUEUE_GOT_EVENT); + assert(ok); + assert(tag == (void *)12345); + + // get status from context + GRPC_status status = GRPC_get_call_status(context); + assert(status.ok); + assert(status.code == GRPC_STATUS_OK); + + GRPC_completion_queue_shutdown(cq); + while (GRPC_completion_queue_next(cq, tag, &ok) != + GRPC_COMPLETION_QUEUE_SHUTDOWN) { + } + GRPC_completion_queue_destroy(cq); + + GRPC_client_context_destroy(&context); + GRPC_channel_destroy(&chan); + return 0; +} diff --git a/examples/c/helloworld/greeter_async_client2.c b/examples/c/helloworld/greeter_async_client2.c new file mode 100644 index 0000000000000..bc7b5f6a526b5 --- /dev/null +++ b/examples/c/helloworld/greeter_async_client2.c @@ -0,0 +1,155 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/** + * This example shows the async unary API where there are multiple worker + * threads processing RPCs. + */ + +#include +#include +#include +#include + +#include +#include +#include "helloworld.grpc.pbc.h" + +typedef struct async_client { + GRPC_client_context *context; + helloworld_HelloReply reply; +} async_client; + +pthread_mutex_t num_responses_lock; +int num_responses; + +/** + * Nanopb callbacks for string encoding/decoding. + */ + +static bool write_string(pb_ostream_t *stream, const pb_field_t *field, + void *const *arg) { + char *str = "world"; + if (!pb_encode_tag_for_field(stream, field)) return false; + + return pb_encode_string(stream, (uint8_t *)str, strlen(str)); +} + +static bool read_string(pb_istream_t *stream, const pb_field_t *field, + void **arg) { + size_t len = stream->bytes_left; + char *str = malloc(len + 1); + if (!pb_read(stream, (uint8_t *) str, len)) return false; + str[len] = '\0'; + printf("Server replied %s\n", str); + free(str); + return true; +} + +static void async_say_hello(GRPC_channel *chan, GRPC_completion_queue *cq) { + GRPC_client_context *context = GRPC_client_context_create(chan); + + async_client *client = (async_client *)calloc(1, sizeof(async_client)); + client->context = context; + client->reply.message.funcs.decode = read_string; + + helloworld_HelloRequest request = {.name.funcs.encode = write_string}; + GRPC_client_async_response_reader *reader = + helloworld_Greeter_SayHello_Async(context, cq, request); + helloworld_Greeter_SayHello_Finish(reader, &client->reply, client); +} + +static void *async_say_hello_worker(void *param) { + int i; + GRPC_completion_queue *cq = (GRPC_completion_queue *)param; + for (;;) { + void *tag; + bool ok; + GRPC_completion_queue_operation_status op_status = + GRPC_completion_queue_next(cq, &tag, &ok); + if (op_status == GRPC_COMPLETION_QUEUE_SHUTDOWN) { + printf("Worker thread shutting down\n"); + return NULL; + } + + // Increment response count + pthread_mutex_lock(&num_responses_lock); + num_responses++; + pthread_mutex_unlock(&num_responses_lock); + + assert(ok); + assert(tag != NULL); + async_client *client = (async_client *)tag; + GRPC_status status = GRPC_get_call_status(client->context); + assert(status.ok); + assert(status.code == GRPC_STATUS_OK); + GRPC_client_context_destroy(&client->context); + free(client); + } + return NULL; +} + +int main(int argc, char **argv) { + GRPC_channel *chan = GRPC_channel_create("0.0.0.0:50051"); + GRPC_completion_queue *cq = GRPC_completion_queue_create(); + + num_responses = 0; + pthread_mutex_init(&num_responses_lock, NULL); + +/* Start worker threads */ +#define THREAD_COUNT 3 + pthread_t tids[THREAD_COUNT]; + int i; + for (i = 0; i < THREAD_COUNT; i++) { + pthread_create(&tids[i], NULL, async_say_hello_worker, cq); + } + + for (i = 0; i < 100; i++) { + async_say_hello(chan, cq); + } + + GRPC_completion_queue_shutdown(cq); + + printf("Waiting for thread to terminate\n"); + for (i = 0; i < THREAD_COUNT; i++) { + pthread_join(tids[i], NULL); + } + + GRPC_completion_queue_destroy(cq); + GRPC_channel_destroy(&chan); + + printf("Total number of responses: %d\n", num_responses); + pthread_mutex_destroy(&num_responses_lock); + + return 0; +} diff --git a/examples/c/helloworld/greeter_async_server.c b/examples/c/helloworld/greeter_async_server.c new file mode 100644 index 0000000000000..71f82afee182d --- /dev/null +++ b/examples/c/helloworld/greeter_async_server.c @@ -0,0 +1,157 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/** + * This file demonstrates the basic usage of async unary API. + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include "helloworld.grpc.pbc.h" + +/** + * Nanopb callbacks for string encoding/decoding. + */ + +static bool write_string_from_arg(pb_ostream_t *stream, const pb_field_t *field, + void *const *arg) { + const char *str = *arg; + if (!pb_encode_tag_for_field(stream, field)) return false; + + return pb_encode_string(stream, (uint8_t *)str, strlen(str)); +} + +/** + * This callback function reads a string from Nanopb stream and copies it into + * the callback args. + * Users need to free the string after use. + */ +static bool read_string_store_in_arg(pb_istream_t *stream, + const pb_field_t *field, void **arg) { + size_t len = stream->bytes_left; + char *str = malloc(len + 1); + if (!pb_read(stream, (uint8_t *) str, len)) return false; + str[len] = '\0'; + *arg = str; + return true; +} + +typedef struct async_server_data { + GRPC_server_context *context; + helloworld_HelloRequest request; + helloworld_HelloReply reply; +} async_server_data; + +int main(int argc, char **argv) { + GRPC_server *server = GRPC_build_server((GRPC_build_server_options){}); + GRPC_incoming_notification_queue *incoming = + GRPC_server_new_incoming_queue(server); + GRPC_server_listen_host(server, "0.0.0.0:50051"); + GRPC_registered_service *service = helloworld_Greeter_Register(server); + GRPC_server_start(server); + // Run server + for (;;) { + async_server_data *data = calloc(sizeof(async_server_data), 1); + data->context = GRPC_server_context_create(server); + data->request.name.funcs.decode = read_string_store_in_arg; + data->reply.message.funcs.encode = write_string_from_arg; + + data->request.name.arg = NULL; + data->reply.message.arg = NULL; + + // Listen for this method + GRPC_server_async_response_writer *writer = + helloworld_Greeter_SayHello_ServerRequest( + service, data->context, &data->request, + incoming, // incoming queue + incoming->cq, // processing queue - we can reuse the + // same underlying completion queue, or + // specify a different one here + data // tag for the completion queues + ); + + // Wait for incoming call + void *tag; + bool ok; + GRPC_completion_queue_operation_status queue_status = + GRPC_completion_queue_next(incoming->cq, &tag, &ok); + + if (queue_status == GRPC_COMPLETION_QUEUE_SHUTDOWN) break; + assert(queue_status == GRPC_COMPLETION_QUEUE_GOT_EVENT); + if (!ok) { + async_server_data *data_new = (async_server_data *)tag; + char *bad_reply = calloc(1, 1); + data_new->reply.message.arg = bad_reply; + + helloworld_Greeter_SayHello_ServerFinish(writer, &data_new->reply, + GRPC_STATUS_DATA_LOSS, data_new); + } else { + // Process the request + async_server_data *data_new = (async_server_data *)tag; + char *input_str = data_new->request.name.arg; + size_t output_len = strlen(input_str) + 6; + char *output_str = malloc(output_len + 1); + sprintf(output_str, "Hello %s", input_str); + data_new->reply.message.arg = output_str; + + helloworld_Greeter_SayHello_ServerFinish(writer, &data_new->reply, + GRPC_STATUS_OK, data_new); + } + + // Wait for request termination + queue_status = GRPC_completion_queue_next(incoming->cq, &tag, &ok); + + if (queue_status == GRPC_COMPLETION_QUEUE_SHUTDOWN) break; + assert(queue_status == GRPC_COMPLETION_QUEUE_GOT_EVENT); + if (!ok) continue; + + // Clean up + { + async_server_data *data_new = (async_server_data *)tag; + free(data_new->request.name.arg); + free(data_new->reply.message.arg); + GRPC_server_context_destroy(&data_new->context); + free(data_new); + } + } + GRPC_server_shutdown(server); + GRPC_server_destroy(server); + return 0; +} diff --git a/examples/c/helloworld/greeter_client.c b/examples/c/helloworld/greeter_client.c new file mode 100644 index 0000000000000..6c13db3f59017 --- /dev/null +++ b/examples/c/helloworld/greeter_client.c @@ -0,0 +1,87 @@ +/* + * + * 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 +#include + +#include +#include +#include "helloworld.grpc.pbc.h" + +/** + * Nanopb callbacks for string encoding/decoding. + */ + +static bool write_string(pb_ostream_t *stream, const pb_field_t *field, + void *const *arg) { + char *str = "world"; + if (!pb_encode_tag_for_field(stream, field)) return false; + + return pb_encode_string(stream, (uint8_t *)str, strlen(str)); +} + +static bool read_string(pb_istream_t *stream, const pb_field_t *field, + void **arg) { + size_t len = stream->bytes_left; + char *str = malloc(len + 1); + if (!pb_read(stream, (uint8_t *) str, len)) return false; + str[len] = '\0'; + printf("Server replied %s\n", str); + free(str); + return true; +} + +/** + * Fires a single unary RPC and checks the status. + */ + +int main(int argc, char **argv) { + // Instantiate the channel, out of which the actual RPCs + // are created. This channel models a connection to an endpoint (in this case, + // localhost at port 50051). + GRPC_channel *chan = GRPC_channel_create("0.0.0.0:50051"); + GRPC_client_context *context = GRPC_client_context_create(chan); + helloworld_HelloRequest request = {.name.funcs.encode = write_string}; + helloworld_HelloReply reply = {.message.funcs.decode = read_string}; + GRPC_status status = helloworld_Greeter_SayHello(context, request, &reply); + if (status.code == GRPC_STATUS_OK && status.ok) { + GRPC_client_context_destroy(&context); + GRPC_channel_destroy(&chan); + return 0; + } else { + printf("Error occurred: %s\n", status.details); + GRPC_client_context_destroy(&context); + GRPC_channel_destroy(&chan); + return -1; + } +} diff --git a/examples/c/route_guide/.gitignore b/examples/c/route_guide/.gitignore new file mode 100644 index 0000000000000..f5f0764cdb8b2 --- /dev/null +++ b/examples/c/route_guide/.gitignore @@ -0,0 +1,8 @@ +route_guide.grpc.pbc.c +route_guide.grpc.pbc.h +route_guide.pbc.c +route_guide.pbc.h +route_guide.pb.c +route_guide.pb.h +*.o +route_guide_client diff --git a/examples/c/route_guide/Makefile b/examples/c/route_guide/Makefile new file mode 100644 index 0000000000000..8dc0cea4dd625 --- /dev/null +++ b/examples/c/route_guide/Makefile @@ -0,0 +1,114 @@ +# +# 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. +# + +NANOPB_DIR := $(abspath ../../../third_party/nanopb) +NANOPB_CORE = $(NANOPB_DIR)/pb_encode.c $(NANOPB_DIR)/pb_decode.c $(NANOPB_DIR)/pb_common.c + +CC = gcc +CFLAGS += -I/usr/local/include -I$(NANOPB_DIR)/ -pthread +LDFLAGS += -L/usr/local/lib `pkg-config --libs grpc` -lgrpc_c -lprotobuf -lpthread -ldl +PROTOC = protoc +GRPC_C_PLUGIN = grpc_c_plugin +GRPC_C_PLUGIN_PATH ?= `which $(GRPC_C_PLUGIN)` + +PROTOS_PATH = ../../protos + +vpath %.proto $(PROTOS_PATH) + +all: system-check route_guide_client + +route_guide_client: route_guide.pbc.o route_guide.grpc.pbc.o route_guide_client.o route_guide_db.c + $(CC) $^ $(NANOPB_CORE) $(LDFLAGS) -o $@ + +.PRECIOUS: %.grpc.pbc.c +%.grpc.pbc.c: %.proto + $(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_C_PLUGIN_PATH) $< + +.PRECIOUS: %.pbc.c +%.pbc.c: %.proto + $(PROTOC) --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb -I $(PROTOS_PATH) --nanopb_out=--extension=.pbc:. $< + +clean: + rm -f *.o *.pb.c *.pb.h *.pbc.c *.pbc.h route_guide_client + + +# The following is to test your system and ensure a smoother experience. +# They are by no means necessary to actually compile a grpc-enabled software. + +PROTOC_CMD = which $(PROTOC) +PROTOC_CHECK_CMD = $(PROTOC) --version | grep -q libprotoc.3 +PLUGIN_CHECK_CMD = which $(GRPC_C_PLUGIN) +HAS_PROTOC = $(shell $(PROTOC_CMD) > /dev/null && echo true || echo false) +ifeq ($(HAS_PROTOC),true) +HAS_VALID_PROTOC = $(shell $(PROTOC_CHECK_CMD) 2> /dev/null && echo true || echo false) +endif +HAS_PLUGIN = $(shell $(PLUGIN_CHECK_CMD) > /dev/null && echo true || echo false) + +SYSTEM_OK = false +ifeq ($(HAS_VALID_PROTOC),true) +ifeq ($(HAS_PLUGIN),true) +SYSTEM_OK = true +endif +endif + +system-check: +ifneq ($(HAS_VALID_PROTOC),true) + @echo " DEPENDENCY ERROR" + @echo + @echo "You don't have protoc 3.0.0 installed in your path." + @echo "Please install Google protocol buffers 3.0.0 and its compiler." + @echo "You can find it here:" + @echo + @echo " https://github.com/google/protobuf/releases/tag/v3.0.0-beta-2" + @echo + @echo "Here is what I get when trying to evaluate your version of protoc:" + @echo + -$(PROTOC) --version + @echo + @echo +endif +ifneq ($(HAS_PLUGIN),true) + @echo " DEPENDENCY ERROR" + @echo + @echo "You don't have the grpc c++ protobuf plugin installed in your path." + @echo "Please install grpc. You can find it here:" + @echo + @echo " https://github.com/grpc/grpc" + @echo + @echo "Here is what I get when trying to detect if you have the plugin:" + @echo + -which $(GRPC_CPP_PLUGIN) + @echo + @echo +endif +ifneq ($(SYSTEM_OK),true) + @false +endif diff --git a/examples/c/route_guide/route_guide_client.c b/examples/c/route_guide/route_guide_client.c new file mode 100644 index 0000000000000..193393d07e856 --- /dev/null +++ b/examples/c/route_guide/route_guide_client.c @@ -0,0 +1,292 @@ +/* + * + * 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 "route_guide_client.h" +#include "route_guide.grpc.pbc.h" +#include "route_guide_db.h" + +#include +#include + +#include +#include +#include + +/** + * Nanopb callbacks for string encoding/decoding. + */ + +static bool write_string_from_arg(pb_ostream_t *stream, const pb_field_t *field, + void *const *arg) { + const char *str = *arg; + if (!pb_encode_tag_for_field(stream, field)) return false; + + return pb_encode_string(stream, (uint8_t *)str, strlen(str)); +} + +/** + * This callback function reads a string from Nanopb stream and copies it into + * the callback args. + * Users need to free the string after use. + */ +static bool read_string_store_in_arg(pb_istream_t *stream, + const pb_field_t *field, void **arg) { + size_t len = stream->bytes_left; + char *str = malloc(len + 1); + if (!pb_read(stream, str, len)) return false; + str[len] = '\0'; + *arg = str; + return true; +} + +static const float kCoordFactor = 10000000.0; + +bool get_one_feature(GRPC_channel *channel, routeguide_Point point, + routeguide_Feature *feature) { + GRPC_client_context *context = GRPC_client_context_create(channel); + feature->name.funcs.decode = read_string_store_in_arg; + feature->name.arg = NULL; + GRPC_status status = + routeguide_RouteGuide_GetFeature(context, point, feature); + if (!status.ok) { + if (status.details_length > 0 && status.details != NULL) { + printf("GetFeature rpc failed. Code = %d. Details: %s\n", status.code, + status.details); + } else { + printf("GetFeature rpc failed. Code = %d.\n", status.code); + } + GRPC_client_context_destroy(&context); + return false; + } + if (!feature->has_location) { + printf("Server returns incomplete feature.\n"); + GRPC_client_context_destroy(&context); + return false; + } + if (feature->name.arg == NULL || strcmp(feature->name.arg, "") == 0) { + printf("Found no feature at %.6f, %.6f\n", + feature->location.latitude / kCoordFactor, + feature->location.longitude / kCoordFactor); + } else { + printf("Found feature called %s at %.6f, %.6f\n", (char *)feature->name.arg, + feature->location.latitude / kCoordFactor, + feature->location.longitude / kCoordFactor); + } + GRPC_client_context_destroy(&context); + return true; +} + +void get_feature(GRPC_channel *chan) { + routeguide_Point point = {true, 409146138, true, -746188906}; + routeguide_Feature feature; + get_one_feature(chan, point, &feature); + + /* free name string */ + if (feature.name.arg != NULL) { + free(feature.name.arg); + feature.name.arg = NULL; + } + + point = (routeguide_Point){false, 0, false, 0}; + get_one_feature(chan, point, &feature); + + /* free name string */ + if (feature.name.arg != NULL) { + free(feature.name.arg); + feature.name.arg = NULL; + } +} + +void list_features(GRPC_channel *chan) { + routeguide_Rectangle rect = {.has_lo = true, + .lo = {.has_latitude = true, + .latitude = 400000000, + .has_longitude = true, + .longitude = -750000000}, + .has_hi = true, + .hi = {.has_latitude = true, + .latitude = 420000000, + .has_longitude = true, + .longitude = -730000000}}; + routeguide_Feature feature; + feature.name.funcs.decode = read_string_store_in_arg; + GRPC_client_context *context = GRPC_client_context_create(chan); + + printf("Looking for features between 40, -75 and 42, -73\n"); + + GRPC_client_reader *reader = + routeguide_RouteGuide_ListFeatures(context, rect); + + while (routeguide_RouteGuide_ListFeatures_Read(reader, &feature)) { + char *name = ""; + if (feature.name.arg) name = feature.name.arg; + printf("Found feature called %s at %.6f, %.6f\n", name, + feature.location.latitude / kCoordFactor, + feature.location.longitude / kCoordFactor); + + /* free name string */ + if (feature.name.arg != NULL) { + free(feature.name.arg); + feature.name.arg = NULL; + } + } + + GRPC_status status = routeguide_RouteGuide_ListFeatures_Terminate(reader); + if (status.ok) { + printf("ListFeatures rpc succeeded.\n"); + } else { + printf("ListFeatures rpc failed.\n"); + } + GRPC_client_context_destroy(&context); +} + +void record_route(GRPC_channel *chan) { + routeguide_Point point; + routeguide_RouteSummary stats; + GRPC_client_context *context = GRPC_client_context_create(chan); + const int kPoints = 10; + + srand(time(NULL)); + + GRPC_client_writer *writer = + routeguide_RouteGuide_RecordRoute(context, &stats); + + int i; + for (i = 0; i < kPoints; i++) { + const route_feature db_feature = + route_guide_database[rand() % num_route_features_in_database]; + const routeguide_Feature f = { + .name = {.arg = (void *)db_feature.name, + .funcs.encode = write_string_from_arg}, + .has_location = true, + .location = {.has_latitude = true, + .latitude = db_feature.location.latitude, + .has_longitude = true, + .longitude = db_feature.location.longitude}}; + printf("Visiting point %.6f, %.6f\n", f.location.latitude / kCoordFactor, + f.location.longitude / kCoordFactor); + if (!routeguide_RouteGuide_RecordRoute_Write(writer, f.location)) { + // Broken stream. + break; + } + usleep((500 + rand() % 1000) * 1000); + } + GRPC_status status = routeguide_RouteGuide_RecordRoute_Terminate(writer); + if (status.ok) { + printf( + "Finished trip with %d points\nPassed %d features\nTravelled %d " + "meters\nIt took %d seconds\n", + stats.point_count, stats.feature_count, stats.distance, + stats.elapsed_time); + } else { + printf("RecordRoute rpc failed.\n"); + } +} + +void route_chat_thread(GRPC_client_reader_writer *reader_writer) { + routeguide_RouteNote notes[] = { + {.has_location = true, + .location = {.has_latitude = false, + .latitude = 0, + .has_longitude = false, + .longitude = 0}, + .message = {.arg = (void *)"First message", + .funcs.encode = write_string_from_arg}}, + {.has_location = true, + .location = {.has_latitude = false, + .latitude = 0, + .has_longitude = true, + .longitude = 1}, + .message = {.arg = (void *)"Second message", + .funcs.encode = write_string_from_arg}}, + {.has_location = true, + .location = {.has_latitude = true, + .latitude = 1, + .has_longitude = false, + .longitude = 0}, + .message = {.arg = (void *)"Third message", + .funcs.encode = write_string_from_arg}}, + {.has_location = true, + .location = {.has_latitude = false, + .latitude = 0, + .has_longitude = false, + .longitude = 0}, + .message = {.arg = (void *)"Fourth message", + .funcs.encode = write_string_from_arg}}}; + + int i; + for (i = 0; i < 4; i++) { + printf("Sending message %s at %d, %d\n", (char *)notes[i].message.arg, + notes[i].location.latitude, notes[i].location.longitude); + routeguide_RouteGuide_RouteChat_Write(reader_writer, notes[i]); + } + routeguide_RouteGuide_RouteChat_Writes_Done(reader_writer); +} + +void route_chat(GRPC_channel *chan) { + GRPC_client_context *context = GRPC_client_context_create(chan); + + GRPC_client_reader_writer *reader_writer = + routeguide_RouteGuide_RouteChat(context); + + pthread_t tid; + pthread_create(&tid, NULL, route_chat_thread, reader_writer); + + routeguide_RouteNote server_note; + server_note.message.funcs.decode = read_string_store_in_arg; + while (routeguide_RouteGuide_RouteChat_Read(reader_writer, &server_note)) { + printf("Got message %s at %d, %d\n", (char *)server_note.message.arg, + server_note.location.latitude, server_note.location.longitude); + } + pthread_join(tid, NULL); + GRPC_status status = routeguide_RouteGuide_RouteChat_Terminate(reader_writer); + if (!status.ok) { + printf("RouteChat rpc failed.\n"); + } +} + +int main(int argc, char **argv) { + GRPC_channel *chan = GRPC_channel_create("0.0.0.0:50051"); + + printf("-------------- GetFeature --------------\n"); + get_feature(chan); + printf("-------------- ListFeatures --------------\n"); + list_features(chan); + printf("-------------- RecordRoute --------------\n"); + record_route(chan); + printf("-------------- RouteChat --------------\n"); + route_chat(chan); + + GRPC_channel_destroy(&chan); + return 0; +} diff --git a/examples/c/route_guide/route_guide_client.h b/examples/c/route_guide/route_guide_client.h new file mode 100644 index 0000000000000..2c8a3d7cf5c97 --- /dev/null +++ b/examples/c/route_guide/route_guide_client.h @@ -0,0 +1,37 @@ +/* + * + * 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_ROUTE_GUIDE_CLIENT_H +#define GRPC_ROUTE_GUIDE_CLIENT_H + +#endif /* GRPC_ROUTE_GUIDE_CLIENT_H */ diff --git a/examples/c/route_guide/route_guide_db.c b/examples/c/route_guide/route_guide_db.c new file mode 100644 index 0000000000000..b17c9f764f48e --- /dev/null +++ b/examples/c/route_guide/route_guide_db.c @@ -0,0 +1,203 @@ +/* + * + * 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 "route_guide_db.h" + +const route_feature route_guide_database[] = { + {.location = {.latitude = 407838351, .longitude = -746143763}, + .name = "Patriots Path, Mendham, NJ 07945, USA"}, + {.location = {.latitude = 408122808, .longitude = -743999179}, + .name = "101 New Jersey 10, Whippany, NJ 07981, USA"}, + {.location = {.latitude = 413628156, .longitude = -749015468}, + .name = "U.S. 6, Shohola, PA 18458, USA"}, + {.location = {.latitude = 419999544, .longitude = -740371136}, + .name = "5 Conners Road, Kingston, NY 12401, USA"}, + {.location = {.latitude = 414008389, .longitude = -743951297}, + .name = "Mid Hudson Psychiatric Center, New Hampton, NY 10958, USA"}, + {.location = {.latitude = 419611318, .longitude = -746524769}, + .name = "287 Flugertown Road, Livingston Manor, NY 12758, USA"}, + {.location = {.latitude = 406109563, .longitude = -742186778}, + .name = "4001 Tremley Point Road, Linden, NJ 07036, USA"}, + {.location = {.latitude = 416802456, .longitude = -742370183}, + .name = "352 South Mountain Road, Wallkill, NY 12589, USA"}, + {.location = {.latitude = 412950425, .longitude = -741077389}, + .name = "Bailey Turn Road, Harriman, NY 10926, USA"}, + {.location = {.latitude = 412144655, .longitude = -743949739}, + .name = "193-199 Wawayanda Road, Hewitt, NJ 07421, USA"}, + {.location = {.latitude = 415736605, .longitude = -742847522}, + .name = "406-496 Ward Avenue, Pine Bush, NY 12566, USA"}, + {.location = {.latitude = 413843930, .longitude = -740501726}, + .name = "162 Merrill Road, Highland Mills, NY 10930, USA"}, + {.location = {.latitude = 410873075, .longitude = -744459023}, + .name = "Clinton Road, West Milford, NJ 07480, USA"}, + {.location = {.latitude = 412346009, .longitude = -744026814}, + .name = "16 Old Brook Lane, Warwick, NY 10990, USA"}, + {.location = {.latitude = 402948455, .longitude = -747903913}, + .name = "3 Drake Lane, Pennington, NJ 08534, USA"}, + {.location = {.latitude = 406337092, .longitude = -740122226}, + .name = "6324 8th Avenue, Brooklyn, NY 11220, USA"}, + {.location = {.latitude = 406421967, .longitude = -747727624}, + .name = "1 Merck Access Road, Whitehouse Station, NJ 08889, USA"}, + {.location = {.latitude = 416318082, .longitude = -749677716}, + .name = "78-98 Schalck Road, Narrowsburg, NY 12764, USA"}, + {.location = {.latitude = 415301720, .longitude = -748416257}, + .name = "282 Lakeview Drive Road, Highland Lake, NY 12743, USA"}, + {.location = {.latitude = 402647019, .longitude = -747071791}, + .name = "330 Evelyn Avenue, Hamilton Township, NJ 08619, USA"}, + {.location = {.latitude = 412567807, .longitude = -741058078}, + .name = "New York State Reference Route 987E, Southfields, NY 10975, USA"}, + {.location = {.latitude = 416855156, .longitude = -744420597}, + .name = "103-271 Tempaloni Road, Ellenville, NY 12428, USA"}, + {.location = {.latitude = 404663628, .longitude = -744820157}, + .name = "1300 Airport Road, North Brunswick Township, NJ 08902, USA"}, + {.location = {.latitude = 407113723, .longitude = -749746483}, .name = ""}, + {.location = {.latitude = 402133926, .longitude = -743613249}, .name = ""}, + {.location = {.latitude = 400273442, .longitude = -741220915}, .name = ""}, + {.location = {.latitude = 411236786, .longitude = -744070769}, .name = ""}, + {.location = {.latitude = 411633782, .longitude = -746784970}, + .name = "211-225 Plains Road, Augusta, NJ 07822, USA"}, + {.location = {.latitude = 415830701, .longitude = -742952812}, .name = ""}, + {.location = {.latitude = 413447164, .longitude = -748712898}, + .name = "165 Pedersen Ridge Road, Milford, PA 18337, USA"}, + {.location = {.latitude = 405047245, .longitude = -749800722}, + .name = "100-122 Locktown Road, Frenchtown, NJ 08825, USA"}, + {.location = {.latitude = 418858923, .longitude = -746156790}, .name = ""}, + {.location = {.latitude = 417951888, .longitude = -748484944}, + .name = "650-652 Willi Hill Road, Swan Lake, NY 12783, USA"}, + {.location = {.latitude = 407033786, .longitude = -743977337}, + .name = "26 East 3rd Street, New Providence, NJ 07974, USA"}, + {.location = {.latitude = 417548014, .longitude = -740075041}, .name = ""}, + {.location = {.latitude = 410395868, .longitude = -744972325}, .name = ""}, + {.location = {.latitude = 404615353, .longitude = -745129803}, .name = ""}, + {.location = {.latitude = 406589790, .longitude = -743560121}, + .name = "611 Lawrence Avenue, Westfield, NJ 07090, USA"}, + {.location = {.latitude = 414653148, .longitude = -740477477}, + .name = "18 Lannis Avenue, New Windsor, NY 12553, USA"}, + {.location = {.latitude = 405957808, .longitude = -743255336}, + .name = "82-104 Amherst Avenue, Colonia, NJ 07067, USA"}, + {.location = {.latitude = 411733589, .longitude = -741648093}, + .name = "170 Seven Lakes Drive, Sloatsburg, NY 10974, USA"}, + {.location = {.latitude = 412676291, .longitude = -742606606}, + .name = "1270 Lakes Road, Monroe, NY 10950, USA"}, + {.location = {.latitude = 409224445, .longitude = -748286738}, + .name = "509-535 Alphano Road, Great Meadows, NJ 07838, USA"}, + {.location = {.latitude = 406523420, .longitude = -742135517}, + .name = "652 Garden Street, Elizabeth, NJ 07202, USA"}, + {.location = {.latitude = 401827388, .longitude = -740294537}, + .name = "349 Sea Spray Court, Neptune City, NJ 07753, USA"}, + {.location = {.latitude = 410564152, .longitude = -743685054}, + .name = "13-17 Stanley Street, West Milford, NJ 07480, USA"}, + {.location = {.latitude = 408472324, .longitude = -740726046}, + .name = "47 Industrial Avenue, Teterboro, NJ 07608, USA"}, + {.location = {.latitude = 412452168, .longitude = -740214052}, + .name = "5 White Oak Lane, Stony Point, NY 10980, USA"}, + {.location = {.latitude = 409146138, .longitude = -746188906}, + .name = "Berkshire Valley Management Area Trail, Jefferson, NJ, USA"}, + {.location = {.latitude = 404701380, .longitude = -744781745}, + .name = "1007 Jersey Avenue, New Brunswick, NJ 08901, USA"}, + {.location = {.latitude = 409642566, .longitude = -746017679}, + .name = "6 East Emerald Isle Drive, Lake Hopatcong, NJ 07849, USA"}, + {.location = {.latitude = 408031728, .longitude = -748645385}, + .name = "1358-1474 New Jersey 57, Port Murray, NJ 07865, USA"}, + {.location = {.latitude = 413700272, .longitude = -742135189}, + .name = "367 Prospect Road, Chester, NY 10918, USA"}, + {.location = {.latitude = 404310607, .longitude = -740282632}, + .name = "10 Simon Lake Drive, Atlantic Highlands, NJ 07716, USA"}, + {.location = {.latitude = 409319800, .longitude = -746201391}, + .name = "11 Ward Street, Mount Arlington, NJ 07856, USA"}, + {.location = {.latitude = 406685311, .longitude = -742108603}, + .name = "300-398 Jefferson Avenue, Elizabeth, NJ 07201, USA"}, + {.location = {.latitude = 419018117, .longitude = -749142781}, + .name = "43 Dreher Road, Roscoe, NY 12776, USA"}, + {.location = {.latitude = 412856162, .longitude = -745148837}, + .name = "Swan Street, Pine Island, NY 10969, USA"}, + {.location = {.latitude = 416560744, .longitude = -746721964}, + .name = "66 Pleasantview Avenue, Monticello, NY 12701, USA"}, + {.location = {.latitude = 405314270, .longitude = -749836354}, .name = ""}, + {.location = {.latitude = 414219548, .longitude = -743327440}, .name = ""}, + {.location = {.latitude = 415534177, .longitude = -742900616}, + .name = "565 Winding Hills Road, Montgomery, NY 12549, USA"}, + {.location = {.latitude = 406898530, .longitude = -749127080}, + .name = "231 Rocky Run Road, Glen Gardner, NJ 08826, USA"}, + {.location = {.latitude = 407586880, .longitude = -741670168}, + .name = "100 Mount Pleasant Avenue, Newark, NJ 07104, USA"}, + {.location = {.latitude = 400106455, .longitude = -742870190}, + .name = "517-521 Huntington Drive, Manchester Township, NJ 08759, USA"}, + {.location = {.latitude = 400066188, .longitude = -746793294}, .name = ""}, + {.location = {.latitude = 418803880, .longitude = -744102673}, + .name = "40 Mountain Road, Napanoch, NY 12458, USA"}, + {.location = {.latitude = 414204288, .longitude = -747895140}, .name = ""}, + {.location = {.latitude = 414777405, .longitude = -740615601}, .name = ""}, + {.location = {.latitude = 415464475, .longitude = -747175374}, + .name = "48 North Road, Forestburgh, NY 12777, USA"}, + {.location = {.latitude = 404062378, .longitude = -746376177}, .name = ""}, + {.location = {.latitude = 405688272, .longitude = -749285130}, .name = ""}, + {.location = {.latitude = 400342070, .longitude = -748788996}, .name = ""}, + {.location = {.latitude = 401809022, .longitude = -744157964}, .name = ""}, + {.location = {.latitude = 404226644, .longitude = -740517141}, + .name = "9 Thompson Avenue, Leonardo, NJ 07737, USA"}, + {.location = {.latitude = 410322033, .longitude = -747871659}, .name = ""}, + {.location = {.latitude = 407100674, .longitude = -747742727}, .name = ""}, + {.location = {.latitude = 418811433, .longitude = -741718005}, + .name = "213 Bush Road, Stone Ridge, NY 12484, USA"}, + {.location = {.latitude = 415034302, .longitude = -743850945}, .name = ""}, + {.location = {.latitude = 411349992, .longitude = -743694161}, .name = ""}, + {.location = {.latitude = 404839914, .longitude = -744759616}, + .name = "1-17 Bergen Court, New Brunswick, NJ 08901, USA"}, + {.location = {.latitude = 414638017, .longitude = -745957854}, + .name = "35 Oakland Valley Road, Cuddebackville, NY 12729, USA"}, + {.location = {.latitude = 412127800, .longitude = -740173578}, .name = ""}, + {.location = {.latitude = 401263460, .longitude = -747964303}, .name = ""}, + {.location = {.latitude = 412843391, .longitude = -749086026}, .name = ""}, + {.location = {.latitude = 418512773, .longitude = -743067823}, .name = ""}, + {.location = {.latitude = 404318328, .longitude = -740835638}, + .name = "42-102 Main Street, Belford, NJ 07718, USA"}, + {.location = {.latitude = 419020746, .longitude = -741172328}, .name = ""}, + {.location = {.latitude = 404080723, .longitude = -746119569}, .name = ""}, + {.location = {.latitude = 401012643, .longitude = -744035134}, .name = ""}, + {.location = {.latitude = 404306372, .longitude = -741079661}, .name = ""}, + {.location = {.latitude = 403966326, .longitude = -748519297}, .name = ""}, + {.location = {.latitude = 405002031, .longitude = -748407866}, .name = ""}, + {.location = {.latitude = 409532885, .longitude = -742200683}, .name = ""}, + {.location = {.latitude = 416851321, .longitude = -742674555}, .name = ""}, + {.location = {.latitude = 406411633, .longitude = -741722051}, + .name = "3387 Richmond Terrace, Staten Island, NY 10303, USA"}, + {.location = {.latitude = 413069058, .longitude = -744597778}, + .name = "261 Van Sickle Road, Goshen, NY 10924, USA"}, + {.location = {.latitude = 418465462, .longitude = -746859398}, .name = ""}, + {.location = {.latitude = 411733222, .longitude = -744228360}, .name = ""}, + {.location = {.latitude = 410248224, .longitude = -747127767}, + .name = "3 Hasta Way, Newton, NJ 07860, USA"}}; + +const int num_route_features_in_database = + sizeof(route_guide_database) / sizeof(route_feature); diff --git a/examples/c/route_guide/route_guide_db.h b/examples/c/route_guide/route_guide_db.h new file mode 100644 index 0000000000000..0676719751019 --- /dev/null +++ b/examples/c/route_guide/route_guide_db.h @@ -0,0 +1,50 @@ +/* + * + * 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_ROUTE_GUIDE_DB_H +#define GRPC_ROUTE_GUIDE_DB_H + +typedef struct route_location { + const long latitude; + const long longitude; +} route_location; + +typedef struct route_feature { + const route_location location; + const char *name; +} route_feature; + +extern const route_feature route_guide_database[]; +extern const int num_route_features_in_database; + +#endif /* GRPC_ROUTE_GUIDE_DB_H */ diff --git a/include/grpc_c/channel.h b/include/grpc_c/channel.h new file mode 100644 index 0000000000000..5657b4669c88d --- /dev/null +++ b/include/grpc_c/channel.h @@ -0,0 +1,43 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_CHANNEL_H +#define GRPC_C_CHANNEL_H + +#include + +GRPC_channel *GRPC_channel_create(const char *const target); + +void GRPC_channel_destroy(GRPC_channel **channel); + +#endif /* GRPC_C_CHANNEL_H */ diff --git a/include/grpc_c/client_context.h b/include/grpc_c/client_context.h new file mode 100644 index 0000000000000..3a4f2228bbd24 --- /dev/null +++ b/include/grpc_c/client_context.h @@ -0,0 +1,57 @@ +/* + * + * 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_C_CLIENT_CONTEXT_H +#define GRPC_C_CLIENT_CONTEXT_H + +#include +#include + +/** + * Creates a client context for making a call over the specified channel. + */ +GRPC_client_context *GRPC_client_context_create(GRPC_channel *chan); + +/** + * Destroys the client context and sets it to NULL. + */ +void GRPC_client_context_destroy(GRPC_client_context **context); + +/** + * Gets the status of the RPC call. Use it only after the call terminates. + * There is no need to free the returned GRPC_status instance or memory + * referenced by it. + */ +GRPC_status GRPC_get_call_status(GRPC_client_context *context); + +#endif /* GRPC_C_CLIENT_CONTEXT_H */ diff --git a/include/grpc_c/codegen/bidi_streaming_blocking_call.h b/include/grpc_c/codegen/bidi_streaming_blocking_call.h new file mode 100644 index 0000000000000..4cfd7178adae2 --- /dev/null +++ b/include/grpc_c/codegen/bidi_streaming_blocking_call.h @@ -0,0 +1,60 @@ +/* + * + * 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_C_CODEGEN_BIDI_STREAMING_BLOCKING_CALL_H +#define GRPC_C_CODEGEN_BIDI_STREAMING_BLOCKING_CALL_H + +#include +#include +#include +#include +#include + +GRPC_client_reader_writer *GRPC_bidi_streaming_blocking_call( + const GRPC_method rpc_method, GRPC_client_context *const context); + +bool GRPC_bidi_streaming_blocking_read(GRPC_client_reader_writer *reader, + void *response); + +bool GRPC_bidi_streaming_blocking_write( + GRPC_client_reader_writer *reader_writer, const GRPC_message request); + +/* Marks the end of client stream. Useful for bidi-calls where */ +/* the server needs all data from the client to produce a response */ +bool GRPC_bidi_streaming_blocking_writes_done( + GRPC_client_reader_writer *reader_writer); + +GRPC_status GRPC_client_reader_writer_terminate( + GRPC_client_reader_writer *reader_writer); + +#endif /* GRPC_C_CODEGEN_BIDI_STREAMING_BLOCKING_CALL_H */ diff --git a/include/grpc_c/codegen/client_streaming_blocking_call.h b/include/grpc_c/codegen/client_streaming_blocking_call.h new file mode 100644 index 0000000000000..ec44f680f65cf --- /dev/null +++ b/include/grpc_c/codegen/client_streaming_blocking_call.h @@ -0,0 +1,54 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_CODEGEN_CLIENT_STREAMING_BLOCKING_CALL_H +#define GRPC_C_CODEGEN_CLIENT_STREAMING_BLOCKING_CALL_H + +#include +#include +#include +#include +#include + +GRPC_client_writer *GRPC_client_streaming_blocking_call( + const GRPC_method rpc_method, GRPC_client_context *const context, + void *response); + +bool GRPC_client_streaming_blocking_write(GRPC_client_writer *writer, + const GRPC_message request); + +/* Terminating the writer takes care of ending the call, freeing the writer. */ +/* Returns call status in the context object. */ +GRPC_status GRPC_client_writer_terminate(GRPC_client_writer *writer); + +#endif /* GRPC_C_CODEGEN_CLIENT_STREAMING_BLOCKING_CALL_H */ diff --git a/include/grpc_c/codegen/context.h b/include/grpc_c/codegen/context.h new file mode 100644 index 0000000000000..f35af8b40c761 --- /dev/null +++ b/include/grpc_c/codegen/context.h @@ -0,0 +1,48 @@ +/* + * + * 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_C_CODEGEN_CONTEXT_H +#define GRPC_C_CODEGEN_CONTEXT_H + +#include +#include + +typedef struct grpc_serialization_impl { + GRPC_serializer serialize; + GRPC_deserializer deserialize; +} grpc_serialization_impl; + +void GRPC_context_set_serialization_impl( + GRPC_context *context, grpc_serialization_impl serialization_impl); + +#endif /* GRPC_C_CODEGEN_CONTEXT_H */ diff --git a/include/grpc_c/codegen/message.h b/include/grpc_c/codegen/message.h new file mode 100644 index 0000000000000..8aa035694f47e --- /dev/null +++ b/include/grpc_c/codegen/message.h @@ -0,0 +1,46 @@ +/* + * + * 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_C_CODEGEN_MESSAGE_H +#define GRPC_C_CODEGEN_MESSAGE_H + +#include + +typedef struct GRPC_message { + const void *data; + const size_t length; +} GRPC_message; + +void GRPC_message_destroy(GRPC_message *message); + +#endif /* GRPC_C_CODEGEN_MESSAGE_H */ diff --git a/include/grpc_c/codegen/method.h b/include/grpc_c/codegen/method.h new file mode 100644 index 0000000000000..107f733a8e944 --- /dev/null +++ b/include/grpc_c/codegen/method.h @@ -0,0 +1,53 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_CODEGEN_METHOD_H +#define GRPC_C_CODEGEN_METHOD_H + +#include + +typedef enum GRPC_rpc_type { + GRPC_NORMAL_RPC = 0, + GRPC_CLIENT_STREAMING, /* request streaming */ + GRPC_SERVER_STREAMING, /* response streaming */ + GRPC_BIDI_STREAMING +} GRPC_rpc_type; + +struct GRPC_method { + GRPC_rpc_type type; + const char* name; +}; + +typedef struct GRPC_method GRPC_method; + +#endif /* GRPC_C_CODEGEN_METHOD_H */ diff --git a/include/grpc_c/codegen/pb_compat.h b/include/grpc_c/codegen/pb_compat.h new file mode 100644 index 0000000000000..f07aa637e625b --- /dev/null +++ b/include/grpc_c/codegen/pb_compat.h @@ -0,0 +1,47 @@ +/* + * + * 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_C_CODEGEN_PB_COMPAT_H +#define GRPC_C_CODEGEN_PB_COMPAT_H + +#include +#include +#include +#include + +GRPC_message GRPC_pb_compat_generic_serializer(const GRPC_message input, + const void *fields); +void GRPC_pb_compat_generic_deserializer(const GRPC_message input, void *output, + const void *fields); + +#endif /* GRPC_C_CODEGEN_PB_COMPAT_H */ diff --git a/include/grpc_c/codegen/serialization.h b/include/grpc_c/codegen/serialization.h new file mode 100644 index 0000000000000..27f0bf8caa249 --- /dev/null +++ b/include/grpc_c/codegen/serialization.h @@ -0,0 +1,43 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_CODEGEN_SERIALIZATION_H +#define GRPC_C_CODEGEN_SERIALIZATION_H + +#include +#include + +typedef GRPC_message (*GRPC_serializer)(const GRPC_message input); +typedef void (*GRPC_deserializer)(const GRPC_message input, void *output); + +#endif /* GRPC_C_CODEGEN_SERIALIZATION_H */ diff --git a/include/grpc_c/codegen/server.h b/include/grpc_c/codegen/server.h new file mode 100644 index 0000000000000..1f2130b5b8e46 --- /dev/null +++ b/include/grpc_c/codegen/server.h @@ -0,0 +1,49 @@ +/* + * + * 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_C_CODEGEN_SERVER_H +#define GRPC_C_CODEGEN_SERVER_H + +#include +#include +#include +#include + +typedef GRPC_method *GRPC_service_declaration[]; + +/** Called by generated service code to register themselves on the server */ +GRPC_registered_service *GRPC_server_add_service( + GRPC_server *server, GRPC_service_declaration service_declaration, + size_t num_methods); + +#endif /* GRPC_C_CODEGEN_SERVER_H */ diff --git a/include/grpc_c/codegen/server_streaming_blocking_call.h b/include/grpc_c/codegen/server_streaming_blocking_call.h new file mode 100644 index 0000000000000..c5b683d09adbd --- /dev/null +++ b/include/grpc_c/codegen/server_streaming_blocking_call.h @@ -0,0 +1,53 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_CODEGEN_SERVER_STREAMING_BLOCKING_CALL_H +#define GRPC_C_CODEGEN_SERVER_STREAMING_BLOCKING_CALL_H + +#include +#include +#include +#include +#include + +GRPC_client_reader *GRPC_server_streaming_blocking_call( + const GRPC_method rpc_method, GRPC_client_context *const context, + const GRPC_message request); + +bool GRPC_server_streaming_blocking_read(GRPC_client_reader *reader, + void *response); + +/* Terminating the writer takes care of ending the call, freeing the writer. */ +GRPC_status GRPC_client_reader_terminate(GRPC_client_reader *reader); + +#endif /* GRPC_C_CODEGEN_SERVER_STREAMING_BLOCKING_CALL_H */ diff --git a/include/grpc_c/codegen/unary_async_call.h b/include/grpc_c/codegen/unary_async_call.h new file mode 100644 index 0000000000000..0128f1e446985 --- /dev/null +++ b/include/grpc_c/codegen/unary_async_call.h @@ -0,0 +1,63 @@ +/* + * + * 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_C_CODEGEN_UNARY_ASYNC_CALL_H +#define GRPC_C_CODEGEN_UNARY_ASYNC_CALL_H + +#include +#include +#include +#include + +GRPC_client_async_response_reader *GRPC_unary_async_call( + GRPC_completion_queue *cq, const GRPC_method rpc_method, + const GRPC_message request, GRPC_client_context *const context); + +void GRPC_client_async_finish(GRPC_client_async_response_reader *reader, + void *response, void *tag); + +void GRPC_client_async_read_metadata(GRPC_client_async_response_reader *reader, + void *tag); + +GRPC_server_async_response_writer *GRPC_unary_async_server_request( + GRPC_registered_service *service, size_t method_index, + GRPC_server_context *const context, void *request, + GRPC_incoming_notification_queue *incoming_queue, + GRPC_completion_queue *processing_queue, void *tag); + +void GRPC_unary_async_server_finish(GRPC_server_async_response_writer *writer, + const GRPC_message response, + const grpc_status_code server_status, + void *tag); + +#endif /* GRPC_C_CODEGEN_UNARY_ASYNC_CALL_H */ diff --git a/include/grpc_c/codegen/unary_blocking_call.h b/include/grpc_c/codegen/unary_blocking_call.h new file mode 100644 index 0000000000000..2dddff8b4fa5c --- /dev/null +++ b/include/grpc_c/codegen/unary_blocking_call.h @@ -0,0 +1,47 @@ +/* + * + * 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_C_CODEGEN_UNARY_BLOCKING_CALL_H +#define GRPC_C_CODEGEN_UNARY_BLOCKING_CALL_H + +#include +#include +#include +#include + +GRPC_status GRPC_unary_blocking_call(const GRPC_method rpc_method, + GRPC_client_context *const context, + const GRPC_message message, + void *response); + +#endif /* GRPC_C_CODEGEN_UNARY_BLOCKING_CALL_H */ diff --git a/include/grpc_c/completion_queue.h b/include/grpc_c/completion_queue.h new file mode 100644 index 0000000000000..96b350155c2ad --- /dev/null +++ b/include/grpc_c/completion_queue.h @@ -0,0 +1,97 @@ +/* + * + * 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_C_COMPLETION_QUEUE_H +#define GRPC_C_COMPLETION_QUEUE_H + +#include +#include + +typedef struct gpr_timespec GRPC_timespec; + +/** Tri-state return for GRPC_completion_queue_next */ +typedef enum GRPC_completion_queue_next_status { + /** + * The completion queue has been shutdown. + * It is guaranteed no more events will be posted. + * The listening thread may exit. + */ + GRPC_COMPLETION_QUEUE_SHUTDOWN, + + /* Got a new event; \a tag will be filled in with its */ + /* associated value; \a ok indicating its success. */ + GRPC_COMPLETION_QUEUE_GOT_EVENT, + + /* Deadline was reached. */ + GRPC_COMPLETION_QUEUE_TIMEOUT +} GRPC_completion_queue_operation_status; + +/** + * Creates a completion queue. You can listen for new events on it. + */ +GRPC_completion_queue *GRPC_completion_queue_create(); + +/** + * Shuts down the completion queue. Call GRPC_completion_queue_shutdown_wait + * to drain all pending events before destroying this queue. + */ +void GRPC_completion_queue_shutdown(GRPC_completion_queue *cq); + +/** + * Destroys the completion queue and frees resources. The queue must be fully + * shutdown before this call. + */ +void GRPC_completion_queue_destroy(GRPC_completion_queue *cq); + +/** + * Swallows events and blocks until it sees the shutdown event. + */ +void GRPC_completion_queue_shutdown_wait(GRPC_completion_queue *cq); + +/** + * Wait for a new event on this completion queue. The event may represent + * completion of a read or write operation, or an incoming call (applicable to + * server) etc. + * \a ok indicates if the operation is successful. + */ +GRPC_completion_queue_operation_status GRPC_completion_queue_next( + GRPC_completion_queue *cq, void **tag, bool *ok); + +/** + * Same as GRPC_completion_queue_next, but lets you specify an execution + * deadline. + */ +GRPC_completion_queue_operation_status GRPC_completion_queue_next_deadline( + GRPC_completion_queue *cq, GRPC_timespec deadline, void **tag, bool *ok); + +#endif /* GRPC_C_COMPLETION_QUEUE_H */ diff --git a/include/grpc_c/declare_serializer.h b/include/grpc_c/declare_serializer.h new file mode 100644 index 0000000000000..f446bb3f1bd9f --- /dev/null +++ b/include/grpc_c/declare_serializer.h @@ -0,0 +1,83 @@ +/* + * + * 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_C_DECLARE_SERIALIZER_H +#define GRPC_C_DECLARE_SERIALIZER_H + +/** + * Procedures to hook up gRPC-C to a user-defined serialization mechanism + * ====================================================================== + * + * First take a look at + * https://github.com/google/flatbuffers/blob/48f37f9e0a04f2b60046dda7fef20a8b0ebc1a70/include/flatbuffers/grpc.h + * which glues FlatBuffers to gRPC-C++. For every new serialization algorithm, + * we need to create a similar file that imports this declare_serializer.h, and + * partially specializes the GRPC_SERIALIZATION_IMPL_MSGTYPE macro defined here. + * This mirrors the C++ template partial specialization method and allows + * plugging in new serialization implementations with zero knowledge from the + * gRPC library. Of course we need to include this file in our message header, + * which is in turn referenced by the generated service implementation. This + * will typically be controlled by a switch in the codegen, so as to avoid + * constantly pulling in the gRPC dependency in any other use cases of the + * serialization library. + * + * Because we wouldn't want to hack the Nanopb, specializations for Nanopb are + * hardcoded in the gRPC library, and are automatically activated when Nanopb + * objects are detected. + * + * The service implementation expands the GRPC_C_RESOLVE_SERIALIZER(MessageType) + * macro, which is expected to provide the grpc_serialization_impl struct + * instance that handles serialization for that particular message type. + */ + +#define GRPC_C_RESOLVE_SERIALIZER(msgType) \ + GRPC_C_FETCH_SERIALIZER(GRPC_C_DECLARE_SERIALIZATION_##msgType) +#define GRPC_C_RESOLVE_DESERIALIZER(msgType) \ + GRPC_C_FETCH_DESERIALIZER(GRPC_C_DECLARE_SERIALIZATION_##msgType) +#define GRPC_C_FETCH_SERIALIZER(...) \ + GRPC_C_FETCH_SERIALIZER_PRIMITIVE(__VA_ARGS__) +#define GRPC_C_FETCH_DESERIALIZER(...) \ + GRPC_C_FETCH_DESERIALIZER_PRIMITIVE(__VA_ARGS__) +#define GRPC_C_FETCH_SERIALIZER_PRIMITIVE(x, y) x +#define GRPC_C_FETCH_DESERIALIZER_PRIMITIVE(x, y) y + +/** + * Syntax: write this before including gRPC service headers. + * + * #define GRPC_C_DECLARE_SERIALIZATION_Foo foo_serialize, foo_deserialize + * + * This will cause gRPC-C to invoke foo_serialize when sending Foo, and + * correspondingly foo_deserialize when receiving Foo. + */ + +#endif /* GRPC_C_DECLARE_SERIALIZER_H */ diff --git a/include/grpc_c/grpc_c.h b/include/grpc_c/grpc_c.h new file mode 100644 index 0000000000000..473074ceb7f48 --- /dev/null +++ b/include/grpc_c/grpc_c.h @@ -0,0 +1,61 @@ +/* + * + * 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_C_GRPC_C_H +#define GRPC_C_GRPC_C_H + +typedef struct grpc_channel GRPC_channel; /* using core data type */ +typedef struct GRPC_context + GRPC_context; /* base class for client and server context */ +typedef struct GRPC_client_context GRPC_client_context; +typedef struct GRPC_server_context GRPC_server_context; +typedef struct grpc_completion_queue + GRPC_completion_queue; /* using core data type */ +typedef struct GRPC_incoming_notification_queue + GRPC_incoming_notification_queue; +typedef struct GRPC_server GRPC_server; +typedef struct GRPC_registered_service GRPC_registered_service; + +typedef struct GRPC_client_reader_writer GRPC_client_reader_writer; +typedef struct GRPC_client_reader GRPC_client_reader; +typedef struct GRPC_client_writer GRPC_client_writer; +typedef struct GRPC_client_async_reader_writer GRPC_client_async_reader_writer; +typedef struct GRPC_client_async_reader GRPC_client_async_reader; +typedef struct GRPC_client_async_writer GRPC_client_async_writer; +typedef struct GRPC_client_async_response_reader + GRPC_client_async_response_reader; + +typedef struct GRPC_server_async_response_writer + GRPC_server_async_response_writer; + +#endif /* GRPC_C_GRPC_C_H */ diff --git a/include/grpc_c/server.h b/include/grpc_c/server.h new file mode 100644 index 0000000000000..3ae9982c31f4c --- /dev/null +++ b/include/grpc_c/server.h @@ -0,0 +1,79 @@ +/* + * + * 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_C_SERVER_H +#define GRPC_C_SERVER_H + +#include + +typedef struct GRPC_build_server_options { + int max_message_size; +} GRPC_build_server_options; + +/** + * Creates a server instance. + */ +GRPC_server *GRPC_build_server(GRPC_build_server_options options); + +/** + * Gets a new completion queue from the server used to monitor incoming + * requests. + * There is no need to manually free this queue. + */ +GRPC_incoming_notification_queue *GRPC_server_new_incoming_queue( + GRPC_server *server); + +/** + * Instructs the server to listening on an address:port combination. + */ +void GRPC_server_listen_host(GRPC_server *server, const char *host); + +/** + * Start listening for requests. The server cannot be modified beyond this + * point. + */ +void GRPC_server_start(GRPC_server *server); + +/** + * A blocking call. Shuts down the server. + * After it returns, no new calls or connections will be admitted. + * Existing calls will be allowed to complete. + */ +void GRPC_server_shutdown(GRPC_server *server); + +/** + * Frees the server and associated resources. + */ +void GRPC_server_destroy(GRPC_server *server); + +#endif /* GRPC_C_SERVER_H */ diff --git a/include/grpc_c/server_context.h b/include/grpc_c/server_context.h new file mode 100644 index 0000000000000..11c87ae00dde5 --- /dev/null +++ b/include/grpc_c/server_context.h @@ -0,0 +1,43 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_SERVER_CONTEXT_H +#define GRPC_C_SERVER_CONTEXT_H + +#include + +GRPC_server_context *GRPC_server_context_create(GRPC_server *server); + +void GRPC_server_context_destroy(GRPC_server_context **context); + +#endif /* GRPC_C_SERVER_CONTEXT_H */ diff --git a/include/grpc_c/server_incoming_queue.h b/include/grpc_c/server_incoming_queue.h new file mode 100644 index 0000000000000..8c3fdeac41711 --- /dev/null +++ b/include/grpc_c/server_incoming_queue.h @@ -0,0 +1,44 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_SERVER_INCOMING_QUEUE_H +#define GRPC_C_SERVER_INCOMING_QUEUE_H + +#include + +struct GRPC_incoming_notification_queue { + /** Call GRPC_completion_queue_next on cq to consume incoming RPC calls */ + GRPC_completion_queue *cq; +}; + +#endif /* GRPC_C_SERVER_INCOMING_QUEUE_H */ diff --git a/include/grpc_c/status.h b/include/grpc_c/status.h new file mode 100644 index 0000000000000..411c5e170743a --- /dev/null +++ b/include/grpc_c/status.h @@ -0,0 +1,67 @@ +/* + * + * 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_C_STATUS_H +#define GRPC_C_STATUS_H + +#include +#include +#include + +typedef grpc_status_code GRPC_status_code; + +typedef struct GRPC_status { + /** + * Indicator of success for the entire RPC operation, including network, + * serialization, etc. + */ + bool ok; + + /** + * Status code coming from the remote server. + */ + GRPC_status_code code; + + /** + * Detailed status string from the server. + * This pointer is managed by client context. + */ + char *details; + + /** + * Length of status string. + */ + size_t details_length; +} GRPC_status; + +#endif /* GRPC_C_STATUS_H */ diff --git a/src/boringssl/gen_build_yaml.py b/src/boringssl/gen_build_yaml.py index 20f6413adfc91..7992448605e34 100755 --- a/src/boringssl/gen_build_yaml.py +++ b/src/boringssl/gen_build_yaml.py @@ -73,7 +73,7 @@ def WriteFiles(self, files, asm_outputs): { 'name': 'boringssl', 'build': 'private', - 'language': 'c', + 'language': 'core', 'secure': 'no', 'src': sorted( map_dir(f) @@ -103,7 +103,7 @@ def WriteFiles(self, files, asm_outputs): 'name': 'boringssl_%s_lib' % os.path.splitext(os.path.basename(test))[0], 'build': 'private', 'secure': 'no', - 'language': 'c' if os.path.splitext(test)[1] == '.c' else 'c++', + 'language': 'core' if os.path.splitext(test)[1] == '.c' else 'c++', 'src': [map_dir(test)], 'vs_proj_dir': 'test/boringssl', 'boringssl': True, diff --git a/src/c/alloc.c b/src/c/alloc.c new file mode 100644 index 0000000000000..7772d76062985 --- /dev/null +++ b/src/c/alloc.c @@ -0,0 +1,41 @@ +/* + * + * 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 "src/c/alloc.h" +#include +#include + +void *GRPC_memdup(const void *dst, size_t size) { + void *p = gpr_malloc(size); + return p ? memcpy(p, dst, size) : NULL; +} diff --git a/src/c/alloc.h b/src/c/alloc.h new file mode 100644 index 0000000000000..e7ad7510fc0c9 --- /dev/null +++ b/src/c/alloc.h @@ -0,0 +1,44 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_INTERNAL_ALLOC_H +#define GRPC_C_INTERNAL_ALLOC_H + +#include + +void* GRPC_memdup(const void* dst, size_t size); + +#define GRPC_ALLOC_STRUCT(type, ...) \ + (type*)GRPC_memdup(&(type)__VA_ARGS__, sizeof(type)) + +#endif // GRPC_C_INTERNAL_ALLOC_H diff --git a/src/c/array.c b/src/c/array.c new file mode 100644 index 0000000000000..d50e8bccd1dd6 --- /dev/null +++ b/src/c/array.c @@ -0,0 +1,72 @@ +/* + * + * 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 "src/c/array.h" +#include + +void GRPC_array_init_impl(GRPC_array_state *state, void *data_ptr, + size_t elem_size) { + void **data = data_ptr; + state->capacity = 4; + state->size = 0; + *data = gpr_malloc(4 * elem_size); +} + +void GRPC_array_pop_back_impl(GRPC_array_state *state, void *data_ptr, + size_t elem_size) { + if (state->size == 0) return; + void **data = data_ptr; + state->size--; + while (state->size * 2 + 1 <= state->capacity) { + *data = gpr_realloc(*data, state->capacity / 2 * elem_size); + state->capacity /= 2; + } +} + +void GRPC_array_ensure_capacity(GRPC_array_state *state, void *data_ptr, + size_t elem_size, size_t target_size) { + if (target_size <= state->capacity) return; + void **data = data_ptr; + while (state->capacity < target_size) { + *data = gpr_realloc(*data, state->capacity * 2 * elem_size); + state->capacity *= 2; + } +} + +void GRPC_array_deinit_impl(GRPC_array_state *state, void *data_ptr, + size_t elem_size) { + void **data = data_ptr; + if (*data) { + gpr_free(*data); + } +} diff --git a/src/c/array.h b/src/c/array.h new file mode 100644 index 0000000000000..924802ed80b84 --- /dev/null +++ b/src/c/array.h @@ -0,0 +1,83 @@ +/* + * + * 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_C_INTERNAL_ARRAY_H +#define GRPC_C_INTERNAL_ARRAY_H + +#include +#include + +/** + * Implements a generic array structure + * Usage: + * GRPC_array(int) arr; + * GRPC_array_init(arr); + * GRPC_array_push_back(arr, 5); + * // arr.data[0] == 5; + * GRPC_array_deinit(arr); + */ + +typedef struct GRPC_array_state { + size_t size; + size_t capacity; +} GRPC_array_state; + +void GRPC_array_init_impl(GRPC_array_state *state, void *data_ptr, + size_t elem_size); +void GRPC_array_pop_back_impl(GRPC_array_state *state, void *data_ptr, + size_t elem_size); +void GRPC_array_deinit_impl(GRPC_array_state *state, void *data_ptr, + size_t elem_size); +void GRPC_array_ensure_capacity(GRPC_array_state *state, void *data_ptr, + size_t elem_size, size_t target_size); + +#define GRPC_array(type) \ + struct { \ + type *data; \ + GRPC_array_state state; \ + } +#define GRPC_array_init(arr) \ + GRPC_array_init_impl(&arr.state, &arr.data, sizeof(*arr.data)); +// Cannot delegate to a function since we do not know the type of input +#define GRPC_array_push_back(arr, ...) \ + { \ + GRPC_array_ensure_capacity(&arr.state, &arr.data, sizeof(*arr.data), \ + arr.state.size + 1); \ + arr.data[arr.state.size++] = (__VA_ARGS__); \ + } +#define GRPC_array_pop_back(arr) \ + GRPC_array_pop_back_impl(&arr.state, &arr.data, sizeof(*arr.data)); +#define GRPC_array_deinit(arr) \ + GRPC_array_deinit_impl(&arr.state, &arr.data, sizeof(*arr.data)); + +#endif // GRPC_C_INTERNAL_ARRAY_H diff --git a/src/c/bidi_streaming_blocking_call.c b/src/c/bidi_streaming_blocking_call.c new file mode 100644 index 0000000000000..799852cfe1131 --- /dev/null +++ b/src/c/bidi_streaming_blocking_call.c @@ -0,0 +1,151 @@ +/* + * + * 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 "src/c/bidi_streaming_blocking_call.h" +#include +#include +#include +#include +#include +#include "src/c/alloc.h" +#include "src/c/completion_queue.h" + +GRPC_client_reader_writer *GRPC_bidi_streaming_blocking_call( + const GRPC_method rpc_method, GRPC_client_context *const context) { + grpc_completion_queue *cq = GRPC_completion_queue_create(); + grpc_call *call = grpc_channel_create_call( + context->channel, NULL, GRPC_PROPAGATE_DEFAULTS, cq, rpc_method.name, "", + context->deadline, NULL); + context->call = call; + context->rpc_method = rpc_method; + + GRPC_call_op_set set = {{grpc_op_send_metadata}, + .context = GRPC_client_context_to_base(context), + .user_tag = &set}; + + GRPC_client_reader_writer *reader_writer = GRPC_ALLOC_STRUCT( + GRPC_client_reader_writer, { + .context = context, .call = call, .cq = cq, + }); + + GRPC_start_batch_from_op_set( + reader_writer->call, &set, + GRPC_client_context_to_base(reader_writer->context), (GRPC_message){0, 0}, + NULL); + bool ok = GRPC_completion_queue_pluck_internal(cq, &set); + if (!ok) { + GRPC_client_reader_writer_terminate(reader_writer); + return NULL; + } else { + return reader_writer; + } +} + +bool GRPC_bidi_streaming_blocking_read(GRPC_client_reader_writer *reader_writer, + void *response) { + GRPC_call_op_set set_meta = { + {grpc_op_recv_metadata, grpc_op_recv_object}, + .context = GRPC_client_context_to_base(reader_writer->context), + .user_tag = &set_meta}; + GRPC_call_op_set set_no_meta = { + {grpc_op_recv_object}, + .context = GRPC_client_context_to_base(reader_writer->context), + .user_tag = &set_no_meta}; + GRPC_call_op_set *pSet = NULL; + if (reader_writer->context->initial_metadata_received == false) { + pSet = &set_meta; + } else { + pSet = &set_no_meta; + } + + GRPC_start_batch_from_op_set( + reader_writer->call, pSet, + GRPC_client_context_to_base(reader_writer->context), (GRPC_message){0, 0}, + response); + bool ok = GRPC_completion_queue_pluck_internal(reader_writer->cq, pSet); + reader_writer->context->status.ok &= ok; + return ok && pSet->message_received; +} + +bool GRPC_bidi_streaming_blocking_write( + GRPC_client_reader_writer *reader_writer, const GRPC_message request) { + GRPC_call_op_set set = { + {grpc_op_send_object}, + .context = GRPC_client_context_to_base(reader_writer->context), + .user_tag = &set}; + + GRPC_start_batch_from_op_set( + reader_writer->call, &set, + GRPC_client_context_to_base(reader_writer->context), request, NULL); + bool ok = GRPC_completion_queue_pluck_internal(reader_writer->cq, &set); + reader_writer->context->status.ok &= ok; + return ok; +} + +bool GRPC_bidi_streaming_blocking_writes_done( + GRPC_client_reader_writer *reader_writer) { + GRPC_call_op_set set = { + {grpc_op_client_send_close}, + .context = GRPC_client_context_to_base(reader_writer->context), + .user_tag = &set}; + + GRPC_start_batch_from_op_set( + reader_writer->call, &set, + GRPC_client_context_to_base(reader_writer->context), (GRPC_message){0, 0}, + NULL); + bool ok = GRPC_completion_queue_pluck_internal(reader_writer->cq, (&set)); + reader_writer->context->status.ok &= ok; + return ok; +} + +GRPC_status GRPC_client_reader_writer_terminate( + GRPC_client_reader_writer *reader_writer) { + GRPC_call_op_set set = { + {grpc_op_client_recv_status}, + .context = GRPC_client_context_to_base(reader_writer->context), + .user_tag = &set}; + GRPC_start_batch_from_op_set( + reader_writer->call, &set, + GRPC_client_context_to_base(reader_writer->context), (GRPC_message){0, 0}, + NULL); + bool ok = GRPC_completion_queue_pluck_internal(reader_writer->cq, &set); + GRPC_completion_queue_shutdown(reader_writer->cq); + GRPC_completion_queue_shutdown_wait(reader_writer->cq); + GRPC_completion_queue_destroy(reader_writer->cq); + grpc_call_destroy(reader_writer->call); + reader_writer->context->call = NULL; + GRPC_client_context *context = reader_writer->context; + gpr_free(reader_writer); + context->status.ok &= ok; + return context->status; +} diff --git a/src/c/bidi_streaming_blocking_call.h b/src/c/bidi_streaming_blocking_call.h new file mode 100644 index 0000000000000..42b48796d6817 --- /dev/null +++ b/src/c/bidi_streaming_blocking_call.h @@ -0,0 +1,48 @@ +/* + * + * 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_C_INTERNAL_BIDI_STREAMING_BLOCKING_CALL_H +#define GRPC_C_INTERNAL_BIDI_STREAMING_BLOCKING_CALL_H + +#include +#include +#include "src/c/call_ops.h" +#include "src/c/client_context.h" + +struct GRPC_client_reader_writer { + GRPC_client_context *const context; + grpc_call *call; + grpc_completion_queue *cq; +}; + +#endif /* GRPC_C_INTERNAL_BIDI_STREAMING_BLOCKING_CALL_H */ diff --git a/src/c/call_ops.c b/src/c/call_ops.c new file mode 100644 index 0000000000000..50dd0c5ed18d0 --- /dev/null +++ b/src/c/call_ops.c @@ -0,0 +1,337 @@ +/* + * + * 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 +#include "src/c/call_ops.h" +#include +#include +#include +#include "src/c/client_context.h" +#include "src/c/server_context.h" + +static bool op_send_metadata_fill(grpc_op *op, GRPC_context *context, + GRPC_call_op_set *set, + const grpc_message message, void *response) { + op->op = GRPC_OP_SEND_INITIAL_METADATA; + op->data.send_initial_metadata.count = 0; + op->flags = 0; + op->reserved = NULL; + return true; +} + +static void op_send_metadata_finish(GRPC_context *context, + GRPC_call_op_set *set, bool *status, + int max_message_size) {} + +const GRPC_op_manager grpc_op_send_metadata = {op_send_metadata_fill, + op_send_metadata_finish}; + +static bool op_send_object_fill(grpc_op *op, GRPC_context *context, + GRPC_call_op_set *set, + const grpc_message message, void *response) { + op->op = GRPC_OP_SEND_MESSAGE; + + grpc_message serialized = context->serialization_impl.serialize(message); + + gpr_slice slice = + gpr_slice_from_copied_buffer(serialized.data, serialized.length); + op->data.send_message = grpc_raw_byte_buffer_create(&slice, 1); + set->send_buffer = op->data.send_message; + GPR_ASSERT(op->data.send_message != NULL); + + GRPC_message_destroy(&serialized); + + op->flags = 0; + op->reserved = NULL; + return true; +} + +static void op_send_object_finish(GRPC_context *context, GRPC_call_op_set *set, + bool *status, int max_message_size) { + if (set->send_buffer) grpc_byte_buffer_destroy(set->send_buffer); +} + +const GRPC_op_manager grpc_op_send_object = {op_send_object_fill, + op_send_object_finish}; + +static bool op_recv_metadata_fill(grpc_op *op, GRPC_context *context, + GRPC_call_op_set *set, + const grpc_message message, void *response) { + if (context->initial_metadata_received) return false; + op->op = GRPC_OP_RECV_INITIAL_METADATA; + grpc_metadata_array_init(&context->recv_metadata_array); + op->data.recv_initial_metadata = &context->recv_metadata_array; + op->flags = 0; + op->reserved = NULL; + return true; +} + +static void op_recv_metadata_finish(GRPC_context *context, + GRPC_call_op_set *set, bool *status, + int max_message_size) { + context->initial_metadata_received = true; +} + +const GRPC_op_manager grpc_op_recv_metadata = {op_recv_metadata_fill, + op_recv_metadata_finish}; + +static bool op_recv_object_fill(grpc_op *op, GRPC_context *context, + GRPC_call_op_set *set, + const grpc_message message, void *response) { + set->message_received = false; + set->received_object = response; + op->op = GRPC_OP_RECV_MESSAGE; + set->recv_buffer = NULL; + op->data.recv_message = &set->recv_buffer; + op->flags = 0; + op->reserved = NULL; + return true; +} + +static void op_recv_object_finish(GRPC_context *context, GRPC_call_op_set *set, + bool *status, int max_message_size) { + if (set->recv_buffer) { + GPR_ASSERT(set->message_received == false); + // deserialize + set->message_received = true; + + grpc_byte_buffer_reader reader; + grpc_byte_buffer_reader_init(&reader, set->recv_buffer); + gpr_slice slice_recv = grpc_byte_buffer_reader_readall(&reader); + uint8_t *resp = GPR_SLICE_START_PTR(slice_recv); + size_t len = GPR_SLICE_LENGTH(slice_recv); + + context->serialization_impl.deserialize((grpc_message){resp, len}, + set->received_object); + + gpr_slice_unref(slice_recv); + grpc_byte_buffer_reader_destroy(&reader); + grpc_byte_buffer_destroy(set->recv_buffer); + set->recv_buffer = NULL; + } +} + +const GRPC_op_manager grpc_op_recv_object = {op_recv_object_fill, + op_recv_object_finish}; + +static bool op_client_send_close_fill(grpc_op *op, GRPC_context *context, + GRPC_call_op_set *set, + const grpc_message message, + void *response) { + op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT; + op->flags = 0; + op->reserved = NULL; + return true; +} + +static void op_client_send_close_finish(GRPC_context *context, + GRPC_call_op_set *set, bool *status, + int max_message_size) {} + +const GRPC_op_manager grpc_op_client_send_close = {op_client_send_close_fill, + op_client_send_close_finish}; + +static bool op_server_recv_close_fill(grpc_op *op, GRPC_context *context, + GRPC_call_op_set *set, + const grpc_message message, + void *response) { + GRPC_server_context *server_context = (GRPC_server_context *)context; + op->op = GRPC_OP_RECV_CLOSE_ON_SERVER; + op->data.recv_close_on_server.cancelled = &server_context->cancelled; + op->flags = 0; + op->reserved = NULL; + return true; +} + +static void op_server_recv_close_finish(GRPC_context *context, + GRPC_call_op_set *set, bool *status, + int max_message_size) {} + +const GRPC_op_manager grpc_op_server_recv_close = {op_server_recv_close_fill, + op_server_recv_close_finish}; + +static bool op_client_recv_status_fill(grpc_op *op, GRPC_context *context, + GRPC_call_op_set *set, + const grpc_message message, + void *response) { + op->op = GRPC_OP_RECV_STATUS_ON_CLIENT; + + GRPC_client_context *client_context = (GRPC_client_context *)context; + grpc_metadata_array_init(&client_context->recv_trailing_metadata_array); + client_context->status.details = NULL; + client_context->status.details_length = 0; + + op->data.recv_status_on_client.trailing_metadata = + &client_context->recv_trailing_metadata_array; + op->data.recv_status_on_client.status = &client_context->status.code; + op->data.recv_status_on_client.status_details = + &client_context->status.details; + op->data.recv_status_on_client.status_details_capacity = + &client_context->status.details_length; + op->flags = 0; + op->reserved = NULL; + return true; +} + +static void op_client_recv_status_finish(GRPC_context *context, + GRPC_call_op_set *set, bool *status, + int max_message_size) {} + +const GRPC_op_manager grpc_op_client_recv_status = { + op_client_recv_status_fill, op_client_recv_status_finish}; + +static bool op_server_send_status_fill(grpc_op *op, GRPC_context *context, + GRPC_call_op_set *set, + const grpc_message message, + void *response) { + GRPC_server_context *server_context = (GRPC_server_context *)context; + op->op = GRPC_OP_SEND_STATUS_FROM_SERVER; + op->data.send_status_from_server.trailing_metadata_count = + server_context->send_trailing_metadata_array.count; + op->data.send_status_from_server.trailing_metadata = + server_context->send_trailing_metadata_array.metadata; + op->data.send_status_from_server.status = + server_context->server_return_status; + op->data.send_status_from_server.status_details = NULL; + op->flags = 0; + op->reserved = NULL; + return true; +} + +static void op_server_send_status_finish(GRPC_context *context, + GRPC_call_op_set *set, bool *status, + int max_message_size) {} + +const GRPC_op_manager grpc_op_server_send_status = { + op_server_send_status_fill, op_server_send_status_finish}; + +static bool op_server_decode_context_payload_fill(grpc_op *op, + GRPC_context *context, + GRPC_call_op_set *set, + const grpc_message message, + void *response) { + set->message_received = false; + set->received_object = response; + ((GRPC_server_context *)context)->payload = NULL; + return false; // don't fill hence won't trigger grpc_call_start_batch +} + +static void op_server_decode_context_payload_finish(GRPC_context *context, + GRPC_call_op_set *set, + bool *status, + int max_message_size) { + // decode payload in server context + GRPC_server_context *server_context = (GRPC_server_context *)context; + grpc_byte_buffer *buffer = server_context->payload; + + if (buffer == NULL) { + *status = false; + return; + } + + if (!set->message_received) { + set->message_received = true; + + grpc_byte_buffer_reader reader; + grpc_byte_buffer_reader_init(&reader, buffer); + gpr_slice slice_recv = grpc_byte_buffer_reader_readall(&reader); + uint8_t *resp = GPR_SLICE_START_PTR(slice_recv); + size_t len = GPR_SLICE_LENGTH(slice_recv); + + context->serialization_impl.deserialize((grpc_message){resp, len}, + set->received_object); + + gpr_slice_unref(slice_recv); + grpc_byte_buffer_reader_destroy(&reader); + } + + grpc_byte_buffer_destroy(buffer); + server_context->payload = NULL; +} + +const GRPC_op_manager grpc_op_server_decode_context_payload = { + op_server_decode_context_payload_fill, + op_server_decode_context_payload_finish}; + +size_t GRPC_fill_op_from_call_set(GRPC_call_op_set *set, GRPC_context *context, + const grpc_message message, void *response, + grpc_op *ops, size_t *nops) { + size_t manager = 0; + size_t filled = 0; + while (manager < GRPC_MAX_OP_COUNT) { + if (set->operations[manager].fill == NULL && + set->operations[manager].finish == NULL) + break; // end of call set + if (set->operations[manager].fill == NULL) continue; + bool result = set->operations[manager].fill(&ops[filled], context, set, + message, response); + manager++; + if (result) filled++; + } + *nops = filled; + return filled; +} + +bool GRPC_finish_op_from_call_set(GRPC_call_op_set *set, + GRPC_context *context) { + size_t count = 0; + bool allStatus = true; + while (count < GRPC_MAX_OP_COUNT) { + if (set->operations[count].fill == NULL && + set->operations[count].finish == NULL) + break; // end of call set + if (set->operations[count].finish == NULL) continue; + int max_message_size = 100; // todo(yifeit): hook up this value + bool status = true; + set->operations[count].finish(context, set, &status, max_message_size); + allStatus &= status; + count++; + } + return allStatus; +} + +void GRPC_start_batch_from_op_set(grpc_call *call, GRPC_call_op_set *set, + GRPC_context *context, + const grpc_message request, void *response) { + size_t nops; + grpc_op ops[GRPC_MAX_OP_COUNT]; + memset(ops, 0, sizeof(ops)); + GRPC_fill_op_from_call_set(set, context, request, response, ops, &nops); + // Server will sometimes use a GRPC_call_op_set to perform post processing, + // in which case there will be zero filled operations but some + // finish operations. + if (nops > 0 && call != NULL) { + grpc_call_error error = grpc_call_start_batch(call, ops, nops, set, NULL); + GPR_ASSERT(GRPC_CALL_OK == error); + } +} diff --git a/src/c/call_ops.h b/src/c/call_ops.h new file mode 100644 index 0000000000000..f83f586c4e506 --- /dev/null +++ b/src/c/call_ops.h @@ -0,0 +1,118 @@ +/* + * + * 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_C_INTERNAL_CALL_OPS_H +#define GRPC_C_INTERNAL_CALL_OPS_H + +#include +#include +#include +#include +#include "src/c/context.h" +#include "src/c/message.h" + +typedef struct GRPC_call_op_set GRPC_call_op_set; + +typedef bool (*GRPC_op_filler)(grpc_op *op, GRPC_context *, GRPC_call_op_set *, + const grpc_message message, void *response); +typedef void (*GRPC_op_finisher)(GRPC_context *, GRPC_call_op_set *, + bool *status, int max_message_size); + +typedef struct GRPC_op_manager { + const GRPC_op_filler fill; + const GRPC_op_finisher finish; +} GRPC_op_manager; + +enum { GRPC_MAX_OP_COUNT = 8 }; + +typedef struct GRPC_closure { + void *arg; + void (*callback)(void *arg); +} GRPC_closure; + +struct GRPC_call_op_set { + const GRPC_op_manager operations[GRPC_MAX_OP_COUNT]; + GRPC_context *const context; + + /* + * These are used to work with completion queue. + */ + /* if this is true (default false), the event tagged by this call_op_set will + * not be emitted + * from the completion queue wrapper. */ + bool hide_from_user; + + // used in async calls + void *user_tag; + bool *user_done; /* for clients reading a stream */ + GRPC_closure async_cleanup; /* will be called when the op_set finishes */ + /* used to cleanup after RPC */ + + /* + * these are used by individual operations. + * don't initialize them by hand + */ + /* pointer to the user-supplied object which shall receive deserialized data + */ + void *received_object; + grpc_byte_buffer *recv_buffer; + /* Holding onto the buffer to free it later */ + grpc_byte_buffer *send_buffer; + bool message_received; +}; + +size_t GRPC_fill_op_from_call_set(GRPC_call_op_set *set, GRPC_context *context, + const grpc_message message, void *response, + grpc_op *ops, size_t *nops); + +/* Runs post processing steps in the call op set. Returns false if something + * wrong happens e.g. serialization. */ +bool GRPC_finish_op_from_call_set(GRPC_call_op_set *set, GRPC_context *context); + +void GRPC_start_batch_from_op_set(grpc_call *call, GRPC_call_op_set *set, + GRPC_context *context, + const grpc_message message, void *response); + +/* list of operations */ + +extern const GRPC_op_manager grpc_op_send_metadata; +extern const GRPC_op_manager grpc_op_recv_metadata; +extern const GRPC_op_manager grpc_op_send_object; +extern const GRPC_op_manager grpc_op_recv_object; +extern const GRPC_op_manager grpc_op_client_send_close; +extern const GRPC_op_manager grpc_op_client_recv_status; +extern const GRPC_op_manager grpc_op_server_recv_close; +extern const GRPC_op_manager grpc_op_server_send_status; +extern const GRPC_op_manager grpc_op_server_decode_context_payload; + +#endif /* GRPC_C_INTERNAL_CALL_OPS_H */ diff --git a/src/c/channel.c b/src/c/channel.c new file mode 100644 index 0000000000000..07edcb470d4f0 --- /dev/null +++ b/src/c/channel.c @@ -0,0 +1,47 @@ +/* + * + * 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 +#include +#include +#include "src/c/init_shutdown.h" + +GRPC_channel *GRPC_channel_create(const char *const target) { + GRPC_ensure_grpc_init(); + return grpc_insecure_channel_create(target, NULL, NULL); +} + +void GRPC_channel_destroy(GRPC_channel **channel) { + grpc_channel_destroy(*channel); + *channel = NULL; +} diff --git a/src/c/client_context.c b/src/c/client_context.c new file mode 100644 index 0000000000000..7207c3756a2cb --- /dev/null +++ b/src/c/client_context.c @@ -0,0 +1,69 @@ +/* + * + * 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 "src/c/client_context.h" +#include +#include +#include +#include "src/c/alloc.h" + +GRPC_client_context *GRPC_client_context_create(grpc_channel *chan) { + GRPC_client_context *context = GRPC_ALLOC_STRUCT( + grpc_client_context, + {.deadline = gpr_inf_future(GPR_CLOCK_REALTIME), + .channel = chan, + .serialization_impl = {.serialize = NULL, .deserialize = NULL}, + .status = {.ok = true}}); + return context; +} + +void GRPC_client_context_destroy(GRPC_client_context **context) { + GRPC_context_destroy(GRPC_client_context_to_base(*context)); + if ((*context)->status.details) { + gpr_free((*context)->status.details); + } + + gpr_free(*context); + *context = NULL; +} + +GRPC_status GRPC_get_call_status(GRPC_client_context *context) { + return context->status; +} + +// We define a conversion function instead of type-casting, which lets the user +// convert +// from any pointer to a grpc_context. +GRPC_context *GRPC_client_context_to_base(GRPC_client_context *client_context) { + return (GRPC_context *)client_context; +} diff --git a/src/c/client_context.h b/src/c/client_context.h new file mode 100644 index 0000000000000..18e4344c7c910 --- /dev/null +++ b/src/c/client_context.h @@ -0,0 +1,53 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_INTERNAL_CLIENT_CONTEXT_H +#define GRPC_C_INTERNAL_CLIENT_CONTEXT_H + +#include "src/c/context.h" + +typedef struct GRPC_client_context grpc_client_context; + +struct GRPC_client_context { + // Emulating inheritance + GRPC_C_CONTEXT_BASE_MEMBERS + + // client-side specific + grpc_metadata_array recv_trailing_metadata_array; + // status of the call + GRPC_status status; +}; + +GRPC_context *GRPC_client_context_to_base(GRPC_client_context *client_context); + +#endif // GRPC_C_INTERNAL_CLIENT_CONTEXT_H diff --git a/src/c/client_streaming_blocking_call.c b/src/c/client_streaming_blocking_call.c new file mode 100644 index 0000000000000..32c87941ceeaf --- /dev/null +++ b/src/c/client_streaming_blocking_call.c @@ -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. + * + */ + +#include "src/c/client_streaming_blocking_call.h" +#include +#include +#include +#include +#include "src/c/alloc.h" +#include "src/c/completion_queue.h" + +GRPC_client_writer *GRPC_client_streaming_blocking_call( + const GRPC_method rpc_method, GRPC_client_context *const context, + void *response) { + grpc_completion_queue *cq = GRPC_completion_queue_create(); + grpc_call *call = grpc_channel_create_call( + context->channel, NULL, GRPC_PROPAGATE_DEFAULTS, cq, rpc_method.name, "", + context->deadline, NULL); + context->call = call; + context->rpc_method = rpc_method; + + GRPC_call_op_set set = {{grpc_op_send_metadata}, + .context = GRPC_client_context_to_base(context), + .user_tag = &set}; + + GRPC_client_writer *writer = GRPC_ALLOC_STRUCT( + GRPC_client_writer, + {.context = context, + .call = call, + .finish_ops = {{grpc_op_recv_metadata, grpc_op_recv_object, + grpc_op_client_send_close, grpc_op_client_recv_status}, + .context = GRPC_client_context_to_base(context)}, + .cq = cq, + .response = response}); + writer->finish_ops.user_tag = &writer->finish_ops; + + GRPC_start_batch_from_op_set(writer->call, &set, + GRPC_client_context_to_base(writer->context), + (GRPC_message){0, 0}, NULL); + GRPC_completion_queue_pluck_internal(cq, &set); + return writer; +} + +bool GRPC_client_streaming_blocking_write(GRPC_client_writer *writer, + const GRPC_message request) { + GRPC_call_op_set set = { + {grpc_op_send_object}, + .context = GRPC_client_context_to_base(writer->context), + .user_tag = &set}; + + GRPC_start_batch_from_op_set(writer->call, &set, + GRPC_client_context_to_base(writer->context), + request, NULL); + return GRPC_completion_queue_pluck_internal(writer->cq, &set); +} + +GRPC_status GRPC_client_writer_terminate(GRPC_client_writer *writer) { + GRPC_start_batch_from_op_set(writer->call, &writer->finish_ops, + GRPC_client_context_to_base(writer->context), + (GRPC_message){0, 0}, writer->response); + GRPC_completion_queue_pluck_internal(writer->cq, &writer->finish_ops); + GRPC_completion_queue_shutdown(writer->cq); + GRPC_completion_queue_shutdown_wait(writer->cq); + GRPC_completion_queue_destroy(writer->cq); + grpc_call_destroy(writer->call); + writer->context->call = NULL; + GRPC_client_context *context = writer->context; + gpr_free(writer); + return context->status; +} diff --git a/src/c/client_streaming_blocking_call.h b/src/c/client_streaming_blocking_call.h new file mode 100644 index 0000000000000..d138290194cfc --- /dev/null +++ b/src/c/client_streaming_blocking_call.h @@ -0,0 +1,51 @@ +/* + * + * 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_C_INTERNAL_CLIENT_STREAMING_BLOCKING_CALL_H +#define GRPC_C_INTERNAL_CLIENT_STREAMING_BLOCKING_CALL_H + +#include +#include +#include "src/c/call_ops.h" +#include "src/c/client_context.h" + +struct GRPC_client_writer { + GRPC_call_op_set finish_ops; + + GRPC_client_context *context; + grpc_call *call; + grpc_completion_queue *cq; + void *response; +}; + +#endif // GRPC_C_INTERNAL_CLIENT_STREAMING_BLOCKING_CALL_H diff --git a/src/c/completion_queue.c b/src/c/completion_queue.c new file mode 100644 index 0000000000000..2dec52609ff06 --- /dev/null +++ b/src/c/completion_queue.c @@ -0,0 +1,127 @@ +/* + * + * 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. + * + */ + +/** + * Wraps the grpc_completion_queue type. + */ + +#include "src/c/completion_queue.h" +#include +#include +#include +#include "src/c/call_ops.h" +#include "src/c/init_shutdown.h" + +GRPC_completion_queue *GRPC_completion_queue_create() { + GRPC_ensure_grpc_init(); + return grpc_completion_queue_create(NULL); +} + +void GRPC_completion_queue_shutdown(GRPC_completion_queue *cq) { + grpc_completion_queue_shutdown(cq); +} + +void GRPC_completion_queue_destroy(GRPC_completion_queue *cq) { + grpc_completion_queue_destroy(cq); +} + +void GRPC_completion_queue_shutdown_wait(GRPC_completion_queue *cq) { + for (;;) { + void *tag; + bool ok; + if (GRPC_completion_queue_next(cq, &tag, &ok) == + GRPC_COMPLETION_QUEUE_SHUTDOWN) + break; + } +} + +GRPC_completion_queue_operation_status GRPC_completion_queue_next_deadline( + GRPC_completion_queue *cq, GRPC_timespec deadline, void **tag, bool *ok) { + for (;;) { + GRPC_call_op_set *set = NULL; + grpc_event ev = grpc_completion_queue_next(cq, deadline, NULL); + switch (ev.type) { + case GRPC_QUEUE_TIMEOUT: + return GRPC_COMPLETION_QUEUE_TIMEOUT; + case GRPC_QUEUE_SHUTDOWN: + return GRPC_COMPLETION_QUEUE_SHUTDOWN; + case GRPC_OP_COMPLETE: + set = (GRPC_call_op_set *)ev.tag; + GPR_ASSERT(set != NULL); + GPR_ASSERT(set->context != NULL); + // run post-processing for async operations + bool status = GRPC_finish_op_from_call_set(set, set->context); + bool hide_from_user = set->hide_from_user; + void *user_tag = set->user_tag; + + // run user-defined cleanup + if (set->async_cleanup.callback) { + set->async_cleanup.callback(set->async_cleanup.arg); + } + // set could be freed from this point onwards + + if (hide_from_user) { + // don't touch user supplied pointers + continue; + } + + *tag = user_tag; + *ok = (ev.success != 0) && status; + + return GRPC_COMPLETION_QUEUE_GOT_EVENT; + } + } +} + +GRPC_completion_queue_operation_status GRPC_completion_queue_next( + GRPC_completion_queue *cq, void **tag, bool *ok) { + return GRPC_completion_queue_next_deadline( + cq, gpr_inf_future(GPR_CLOCK_REALTIME), tag, ok); +} + +bool GRPC_completion_queue_pluck_internal(GRPC_completion_queue *cq, + void *tag) { + gpr_timespec deadline = gpr_inf_future(GPR_CLOCK_REALTIME); + grpc_event ev = grpc_completion_queue_pluck(cq, tag, deadline, NULL); + GRPC_call_op_set *set = (GRPC_call_op_set *)ev.tag; + GPR_ASSERT(set != NULL); + GPR_ASSERT(set->context != NULL); + GPR_ASSERT(set->user_tag == ev.tag); + // run post-processing + bool status = GRPC_finish_op_from_call_set(set, set->context); + // run user-defined cleanup + if (set->async_cleanup.callback) { + set->async_cleanup.callback(set->async_cleanup.arg); + } + return (ev.success != 0) && status; +} diff --git a/src/c/completion_queue.h b/src/c/completion_queue.h new file mode 100644 index 0000000000000..5833f7c7da7e8 --- /dev/null +++ b/src/c/completion_queue.h @@ -0,0 +1,43 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_INTERNAL_COMPLETION_QUEUE_H +#define GRPC_C_INTERNAL_COMPLETION_QUEUE_H + +#include +#include +#include + +bool GRPC_completion_queue_pluck_internal(GRPC_completion_queue *cq, void *tag); + +#endif // GRPC_C_INTERNAL_COMPLETION_QUEUE_H diff --git a/src/c/context.c b/src/c/context.c new file mode 100644 index 0000000000000..43ebc38fb5013 --- /dev/null +++ b/src/c/context.c @@ -0,0 +1,47 @@ +/* + * + * 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 "src/c/context.h" + +void GRPC_context_set_serialization_impl( + GRPC_context *context, grpc_serialization_impl serialization_impl) { + context->serialization_impl = serialization_impl; +} + +void GRPC_context_destroy(GRPC_context *context) { + if (context->call) { + grpc_call_destroy(context->call); + context->call = NULL; + } + grpc_metadata_array_destroy(&context->recv_metadata_array); +} diff --git a/src/c/context.h b/src/c/context.h new file mode 100644 index 0000000000000..3fb87aed57255 --- /dev/null +++ b/src/c/context.h @@ -0,0 +1,69 @@ +/* + * + * 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_C_INTERNAL_CONTEXT_H +#define GRPC_C_INTERNAL_CONTEXT_H + +#include +#include +#include +#include +#include +#include +#include +#include "src/c/message.h" + +/** + * Both client and server context shares this common stub. + */ +#define GRPC_C_CONTEXT_BASE_MEMBERS \ + grpc_metadata *send_metadata_array; \ + grpc_metadata_array recv_metadata_array; \ + gpr_timespec deadline; \ + \ + /* serialization mechanism used in this call */ \ + grpc_serialization_impl serialization_impl; \ + \ + /* state tracking */ \ + bool initial_metadata_received; \ + GRPC_method rpc_method; \ + grpc_channel *channel; \ + grpc_call *call; + +struct GRPC_context { + GRPC_C_CONTEXT_BASE_MEMBERS +}; + +void GRPC_context_destroy(GRPC_context *context); + +#endif // GRPC_C_INTERNAL_CONTEXT_H diff --git a/src/c/init_shutdown.c b/src/c/init_shutdown.c new file mode 100644 index 0000000000000..ac01f1ec761b9 --- /dev/null +++ b/src/c/init_shutdown.c @@ -0,0 +1,48 @@ +/* + * + * 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 "src/c/init_shutdown.h" +#include +#include +#include + +static void perform_grpc_init(void) { + grpc_init(); + /* register grpc_shutdown to be called */ + GPR_ASSERT(atexit(grpc_shutdown) == 0); +} + +void GRPC_ensure_grpc_init() { + static gpr_once once_var = GPR_ONCE_INIT; + gpr_once_init(&once_var, perform_grpc_init); +} diff --git a/src/c/init_shutdown.h b/src/c/init_shutdown.h new file mode 100644 index 0000000000000..3a8075aae2bdb --- /dev/null +++ b/src/c/init_shutdown.h @@ -0,0 +1,39 @@ +/* + * + * 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_C_INTERNAL_GRPC_INIT_SHUTDOWN_H +#define GRPC_C_INTERNAL_GRPC_INIT_SHUTDOWN_H + +void GRPC_ensure_grpc_init(); + +#endif // GRPC_C_INTERNAL_GRPC_INIT_SHUTDOWN_H diff --git a/src/c/message.c b/src/c/message.c new file mode 100644 index 0000000000000..9b707a9ca7715 --- /dev/null +++ b/src/c/message.c @@ -0,0 +1,39 @@ +/* + * + * 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 "src/c/message.h" +#include + +void GRPC_message_destroy(grpc_message *message) { + free((void *)message->data); +} diff --git a/src/c/message.h b/src/c/message.h new file mode 100644 index 0000000000000..33d864305c285 --- /dev/null +++ b/src/c/message.h @@ -0,0 +1,41 @@ +/* + * + * 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_C_INTERNAL_MESSAGE_H +#define GRPC_C_INTERNAL_MESSAGE_H + +#include + +typedef GRPC_message grpc_message; + +#endif // GRPC_C_INTERNAL_MESSAGE_H diff --git a/src/c/pb_compat.c b/src/c/pb_compat.c new file mode 100644 index 0000000000000..5e9e82612ee4a --- /dev/null +++ b/src/c/pb_compat.c @@ -0,0 +1,109 @@ +/* + * + * 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 +#include +#include +#include +#include +#include +#include "src/c/alloc.h" + +/** + * This file implements a Nanopb stream used to collect deserialized data from + * Nanopb. + */ + +typedef struct GRPC_pb_dynamic_array_state { + void *data; + size_t size; + size_t capacity; +} GRPC_pb_dynamic_array_state; + +static size_t upper_power_of_two(size_t v) { + v--; + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + v++; + return v; +} + +GRPC_pb_dynamic_array_state *GRPC_pb_compat_dynamic_array_alloc() { + return GRPC_ALLOC_STRUCT(GRPC_pb_dynamic_array_state, + {.data = NULL, .size = 0, .capacity = 0}); +} + +void GRPC_pb_compat_dynamic_array_free(GRPC_pb_dynamic_array_state *state) { + gpr_free(state); +} + +bool GRPC_pb_compat_dynamic_array_callback(pb_ostream_t *stream, + const uint8_t *buf, size_t count) { + GRPC_pb_dynamic_array_state *state = stream->state; + if (state->size + count > state->capacity) { + state->capacity = upper_power_of_two(state->size + count); + state->data = gpr_realloc(state->data, state->capacity); + } + if (state->data == NULL) return false; + if (buf) memcpy((char *)state->data + state->size, buf, count); + state->size += count; + return true; +} + +void *GRPC_pb_compat_dynamic_array_get_content( + GRPC_pb_dynamic_array_state *state) { + return state->data; +} + +GRPC_message GRPC_pb_compat_generic_serializer(const GRPC_message input, + const void *fields) { + pb_ostream_t ostream = {.callback = GRPC_pb_compat_dynamic_array_callback, + .state = GRPC_pb_compat_dynamic_array_alloc(), + .max_size = SIZE_MAX}; + pb_encode(&ostream, fields, input.data); + GRPC_message msg = + (GRPC_message){GRPC_pb_compat_dynamic_array_get_content(ostream.state), + ostream.bytes_written}; + GRPC_pb_compat_dynamic_array_free(ostream.state); + return msg; +} + +void GRPC_pb_compat_generic_deserializer(const GRPC_message input, void *output, + const void *fields) { + pb_istream_t istream = + pb_istream_from_buffer((void *)input.data, input.length); + pb_decode(&istream, fields, output); +} diff --git a/src/c/server.c b/src/c/server.c new file mode 100644 index 0000000000000..eb7e21f997d59 --- /dev/null +++ b/src/c/server.c @@ -0,0 +1,160 @@ +/* + * + * 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 "src/c/server.h" +#include +#include +#include +#include +#include "src/c/alloc.h" +#include "src/c/init_shutdown.h" +#include "src/c/server_context.h" + +void GRPC_server_listen_host(GRPC_server *server, const char *host) { + grpc_server_add_insecure_http2_port(server->core_server, host); +} + +GRPC_server *GRPC_build_server(GRPC_build_server_options options) { + GRPC_ensure_grpc_init(); + grpc_server *core_server = grpc_server_create(NULL, NULL); + GRPC_server *server = GRPC_ALLOC_STRUCT( + GRPC_server, {.core_server = core_server, + .event_queue = grpc_completion_queue_create(NULL)}); + GRPC_array_init(server->registered_queues); + GRPC_array_init(server->registered_services); + return server; +} + +GRPC_incoming_notification_queue *GRPC_server_new_incoming_queue( + GRPC_server *server) { + GRPC_incoming_notification_queue *queue = + GRPC_incoming_notification_queue_create(); + grpc_server_register_completion_queue(server->core_server, queue->cq, NULL); + // Stores the completion queue for destruction + GRPC_array_push_back(server->registered_queues, queue); + return queue; +} + +void GRPC_server_start(GRPC_server *server) { + grpc_server_start(server->core_server); +} + +void GRPC_server_shutdown(GRPC_server *server) { + grpc_server_shutdown_and_notify(server->core_server, server->event_queue, + NULL); + // Wait for server to shutdown + for (;;) { + grpc_event ev = grpc_completion_queue_next( + server->event_queue, gpr_inf_future(GPR_CLOCK_REALTIME), NULL); + if (ev.type == GRPC_OP_COMPLETE) break; + } + // Shutdown internal server queue + grpc_completion_queue_shutdown(server->event_queue); + // Shutdown all registered queues + size_t i; + for (i = 0; i < server->registered_queues.state.size; i++) { + GRPC_completion_queue_shutdown(server->registered_queues.data[i]->cq); + } + // Wait for them to shutdown + for (i = 0; i < server->registered_queues.state.size; i++) { + GRPC_completion_queue_shutdown_wait(server->registered_queues.data[i]->cq); + } + for (;;) { + grpc_event ev = grpc_completion_queue_next( + server->event_queue, gpr_inf_future(GPR_CLOCK_REALTIME), NULL); + if (ev.type == GRPC_QUEUE_SHUTDOWN) break; + } +} + +void GRPC_server_destroy(GRPC_server *server) { + size_t i; + // release queues + for (i = 0; i < server->registered_queues.state.size; i++) { + GRPC_incoming_notification_queue_destroy(server->registered_queues.data[i]); + } + GRPC_array_deinit(server->registered_queues); + + // release registered methods + for (i = 0; i < server->registered_services.state.size; i++) { + GRPC_array_deinit(server->registered_services.data[i].registered_methods); + } + GRPC_array_deinit(server->registered_services); + + grpc_completion_queue_destroy(server->event_queue); + + grpc_server_destroy(server->core_server); + gpr_free(server); +} + +GRPC_registered_service *GRPC_server_add_service( + GRPC_server *server, GRPC_service_declaration service_declaration, + size_t num_methods) { + // register every method in the service + size_t i; + GRPC_registered_service registered_service; + GRPC_array_init(registered_service.registered_methods); + for (i = 0; i < num_methods; i++) { + GRPC_registered_method registered_method; + registered_method.method = *service_declaration[i]; + grpc_server_register_method_payload_handling handling; + // Let core read the payload for us only in unary or server streaming case + if (registered_method.method.type == GRPC_NORMAL_RPC || + registered_method.method.type == GRPC_SERVER_STREAMING) { + handling = GRPC_SRM_PAYLOAD_READ_INITIAL_BYTE_BUFFER; + } else { + handling = GRPC_SRM_PAYLOAD_NONE; + } + // TODO(yifeit): per-method host + registered_method.core_method_handle = grpc_server_register_method( + server->core_server, registered_method.method.name, NULL, handling, 0); + GRPC_array_push_back(registered_service.registered_methods, + registered_method); + } + GRPC_array_push_back(server->registered_services, registered_service); + return &server->registered_services + .data[server->registered_services.state.size - 1]; +} + +grpc_call_error GRPC_server_request_call( + GRPC_registered_service *service, size_t method_index, + GRPC_server_context *context, + GRPC_incoming_notification_queue *incoming_queue, + GRPC_completion_queue *processing_queue, void *tag) { + void *core_method_handle = + service->registered_methods.data[method_index].core_method_handle; + GPR_ASSERT(core_method_handle != NULL); + return grpc_server_request_registered_call( + context->server->core_server, core_method_handle, &context->call, + &context->deadline, &context->recv_metadata_array, &context->payload, + processing_queue, incoming_queue->cq, tag); +} diff --git a/src/c/server.h b/src/c/server.h new file mode 100644 index 0000000000000..f077cb314b1d0 --- /dev/null +++ b/src/c/server.h @@ -0,0 +1,80 @@ +/* + * + * 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_C_INTERNAL_SERVER_H +#define GRPC_C_INTERNAL_SERVER_H + +#include +#include +#include +#include +#include "src/c/array.h" +#include "src/c/server_incoming_queue.h" + +typedef struct GRPC_registered_method GRPC_registered_method; + +struct GRPC_registered_method { + GRPC_method method; + // An opaque structure used by core to identify this method + void *core_method_handle; +}; + +struct GRPC_registered_service { + GRPC_server *server; + // Index of myself in the server-side service array + size_t index; + + GRPC_array(GRPC_registered_method) registered_methods; +}; + +struct GRPC_server { + grpc_server *core_server; + GRPC_array(char *) listen_hosts; + GRPC_array(GRPC_incoming_notification_queue *) registered_queues; + GRPC_array(GRPC_registered_service) registered_services; + + // used to monitor server events + grpc_completion_queue *event_queue; + + // async + + // TODO(yifeit): synchronous server state +}; + +grpc_call_error GRPC_server_request_call( + GRPC_registered_service *service, size_t method_index, + GRPC_server_context *context, + GRPC_incoming_notification_queue *incoming_queue, + GRPC_completion_queue *processing_queue, void *tag); + +#endif // GRPC_C_INTERNAL_SERVER_H diff --git a/src/c/server_context.c b/src/c/server_context.c new file mode 100644 index 0000000000000..7494bf182ed9b --- /dev/null +++ b/src/c/server_context.c @@ -0,0 +1,60 @@ +/* + * + * 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 "src/c/server_context.h" +#include +#include "src/c/alloc.h" + +GRPC_server_context *GRPC_server_context_create(GRPC_server *server) { + GRPC_server_context *context = GRPC_ALLOC_STRUCT( + GRPC_server_context, + {.deadline = gpr_inf_future(GPR_CLOCK_REALTIME), + .serialization_impl = {.serialize = NULL, .deserialize = NULL}, + .server = server}); + + grpc_metadata_array_init(&context->send_trailing_metadata_array); + return context; +} + +// We define a conversion function instead of type-casting, which lets the user +// convert +// from any pointer to a grpc_context. +GRPC_context *GRPC_server_context_to_base(GRPC_server_context *server_context) { + return (GRPC_context *)server_context; +} + +void GRPC_server_context_destroy(GRPC_server_context **context) { + GRPC_context_destroy(GRPC_server_context_to_base(*context)); + gpr_free(*context); + *context = NULL; +} diff --git a/src/c/server_context.h b/src/c/server_context.h new file mode 100644 index 0000000000000..7a445e168eea3 --- /dev/null +++ b/src/c/server_context.h @@ -0,0 +1,58 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_INTERNAL_SERVER_CONTEXT_H +#define GRPC_C_INTERNAL_SERVER_CONTEXT_H + +#include +#include +#include "src/c/context.h" + +struct GRPC_server_context { + GRPC_C_CONTEXT_BASE_MEMBERS + + // server-side specific + GRPC_server *server; + // set to 1 if call failed in any way (treat as cancelled) + int cancelled; + // optional payload (for unary call) to get from core + grpc_byte_buffer *payload; + // trailing metadata + grpc_metadata_array send_trailing_metadata_array; + // status code to be sent to the client + grpc_status_code server_return_status; +}; + +GRPC_context *GRPC_server_context_to_base(GRPC_server_context *server_context); + +#endif // GRPC_C_INTERNAL_SERVER_CONTEXT_H diff --git a/src/c/server_incoming_queue.c b/src/c/server_incoming_queue.c new file mode 100644 index 0000000000000..6b1c4383ad3c0 --- /dev/null +++ b/src/c/server_incoming_queue.c @@ -0,0 +1,51 @@ +/* + * + * 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 "src/c/server_incoming_queue.h" +#include +#include +#include +#include "src/c/alloc.h" + +GRPC_incoming_notification_queue *GRPC_incoming_notification_queue_create() { + GRPC_completion_queue *cq = GRPC_completion_queue_create(); + GRPC_incoming_notification_queue *queue = + GRPC_ALLOC_STRUCT(GRPC_incoming_notification_queue, {.cq = cq}); + return queue; +} + +void GRPC_incoming_notification_queue_destroy( + GRPC_incoming_notification_queue *queue) { + GRPC_completion_queue_destroy(queue->cq); + gpr_free(queue); +} diff --git a/src/c/server_incoming_queue.h b/src/c/server_incoming_queue.h new file mode 100644 index 0000000000000..a39f1cec10918 --- /dev/null +++ b/src/c/server_incoming_queue.h @@ -0,0 +1,44 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_INTERNAL_SERVER_INCOMING_QUEUE_H +#define GRPC_C_INTERNAL_SERVER_INCOMING_QUEUE_H + +#include +#include + +GRPC_incoming_notification_queue *GRPC_incoming_notification_queue_create(); +void GRPC_incoming_notification_queue_destroy( + GRPC_incoming_notification_queue *queue); + +#endif // GRPC_C_INTERNAL_SERVER_INCOMING_QUEUE_H diff --git a/src/c/server_streaming_blocking_call.c b/src/c/server_streaming_blocking_call.c new file mode 100644 index 0000000000000..a469a292cfdcf --- /dev/null +++ b/src/c/server_streaming_blocking_call.c @@ -0,0 +1,112 @@ +/* + * + * 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 "src/c/server_streaming_blocking_call.h" +#include +#include +#include +#include +#include +#include +#include "src/c/alloc.h" +#include "src/c/completion_queue.h" + +GRPC_client_reader *GRPC_server_streaming_blocking_call( + const GRPC_method rpc_method, GRPC_client_context *const context, + const GRPC_message request) { + grpc_completion_queue *cq = GRPC_completion_queue_create(); + grpc_call *call = grpc_channel_create_call( + context->channel, NULL, GRPC_PROPAGATE_DEFAULTS, cq, rpc_method.name, "", + context->deadline, NULL); + context->call = call; + context->rpc_method = rpc_method; + + GRPC_call_op_set set = { + {grpc_op_send_metadata, grpc_op_send_object, grpc_op_client_send_close}, + .context = GRPC_client_context_to_base(context), + .user_tag = &set}; + + GRPC_client_reader *reader = GRPC_ALLOC_STRUCT( + GRPC_client_reader, { + .context = context, .call = call, .cq = cq, + }); + + GRPC_start_batch_from_op_set(reader->call, &set, + GRPC_client_context_to_base(reader->context), + request, NULL); + GRPC_completion_queue_pluck_internal(cq, &set); + return reader; +} + +bool GRPC_server_streaming_blocking_read(GRPC_client_reader *reader, + void *response) { + GRPC_call_op_set set_meta = { + {grpc_op_recv_metadata, grpc_op_recv_object}, + .context = GRPC_client_context_to_base(reader->context), + .user_tag = &set_meta}; + GRPC_call_op_set set_no_meta = { + {grpc_op_recv_object}, + .context = GRPC_client_context_to_base(reader->context), + .user_tag = &set_no_meta}; + GRPC_call_op_set *pSet = NULL; + if (reader->context->initial_metadata_received == false) { + pSet = &set_meta; + } else { + pSet = &set_no_meta; + } + + GRPC_start_batch_from_op_set(reader->call, pSet, + GRPC_client_context_to_base(reader->context), + (GRPC_message){0, 0}, response); + return GRPC_completion_queue_pluck_internal(reader->cq, pSet) && + pSet->message_received; +} + +GRPC_status GRPC_client_reader_terminate(GRPC_client_reader *reader) { + GRPC_call_op_set set = { + {grpc_op_client_recv_status}, + .context = GRPC_client_context_to_base(reader->context), + .user_tag = &set}; + GRPC_start_batch_from_op_set(reader->call, &set, + GRPC_client_context_to_base(reader->context), + (GRPC_message){0, 0}, NULL); + GRPC_completion_queue_pluck_internal(reader->cq, &set); + GRPC_completion_queue_shutdown(reader->cq); + GRPC_completion_queue_shutdown_wait(reader->cq); + GRPC_completion_queue_destroy(reader->cq); + grpc_call_destroy(reader->call); + reader->context->call = NULL; + GRPC_client_context *context = reader->context; + gpr_free(reader); + return context->status; +} diff --git a/src/c/server_streaming_blocking_call.h b/src/c/server_streaming_blocking_call.h new file mode 100644 index 0000000000000..ea58b6012da5d --- /dev/null +++ b/src/c/server_streaming_blocking_call.h @@ -0,0 +1,48 @@ +/* + * + * 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_C_INTERNAL_SERVER_STREAMING_BLOCKING_CALL_H +#define GRPC_C_INTERNAL_SERVER_STREAMING_BLOCKING_CALL_H + +#include +#include +#include "src/c/call_ops.h" +#include "src/c/client_context.h" + +struct GRPC_client_reader { + GRPC_client_context *context; + grpc_call *call; + grpc_completion_queue *cq; +}; + +#endif // GRPC_C_INTERNAL_SERVER_STREAMING_BLOCKING_CALL_H diff --git a/src/c/unary_async_call.c b/src/c/unary_async_call.c new file mode 100644 index 0000000000000..32172abb5a52c --- /dev/null +++ b/src/c/unary_async_call.c @@ -0,0 +1,152 @@ +/* + * + * 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 "src/c/unary_async_call.h" +#include +#include +#include +#include +#include "src/c/alloc.h" +#include "src/c/server.h" + +// +// Client +// + +static void free_client_reader(void *arg) { + GRPC_client_async_response_reader *reader = arg; + gpr_free(reader); +} + +GRPC_client_async_response_reader *GRPC_unary_async_call( + GRPC_completion_queue *cq, const GRPC_method rpc_method, + const GRPC_message request, GRPC_client_context *const context) { + grpc_call *call = grpc_channel_create_call( + context->channel, NULL, GRPC_PROPAGATE_DEFAULTS, cq, rpc_method.name, "", + context->deadline, NULL); + context->call = call; + context->rpc_method = rpc_method; + GRPC_client_async_response_reader *reader = GRPC_ALLOC_STRUCT( + GRPC_client_async_response_reader, + {.context = context, + .call = call, + .init_buf = {{grpc_op_send_metadata, grpc_op_send_object, + grpc_op_client_send_close}, + .context = GRPC_client_context_to_base(context), + .hide_from_user = true}, + .meta_buf = {{grpc_op_recv_metadata}, + .context = GRPC_client_context_to_base(context)}, + .finish_buf = + { + {grpc_op_recv_metadata, grpc_op_recv_object, + grpc_op_client_recv_status}, + .context = GRPC_client_context_to_base(context), + }}); + + // Different from blocking call, we need to inform completion queue to run + // cleanup for us + reader->finish_buf.async_cleanup = + (GRPC_closure){.arg = reader, .callback = free_client_reader}; + + GRPC_start_batch_from_op_set(reader->call, &reader->init_buf, + GRPC_client_context_to_base(reader->context), + request, NULL); + return reader; +} + +void GRPC_client_async_read_metadata(GRPC_client_async_response_reader *reader, + void *tag) { + reader->meta_buf.user_tag = tag; + GRPC_start_batch_from_op_set(reader->call, &reader->meta_buf, + GRPC_client_context_to_base(reader->context), + (GRPC_message){0, 0}, NULL); +} + +void GRPC_client_async_finish(GRPC_client_async_response_reader *reader, + void *response, void *tag) { + reader->finish_buf.user_tag = tag; + GRPC_start_batch_from_op_set(reader->call, &reader->finish_buf, + GRPC_client_context_to_base(reader->context), + (GRPC_message){0, 0}, response); +} + +// +// Server +// + +static void free_server_writer(void *arg) { + GRPC_server_async_response_writer *writer = arg; + gpr_free(writer); +} + +GRPC_server_async_response_writer *GRPC_unary_async_server_request( + GRPC_registered_service *service, size_t method_index, + GRPC_server_context *const context, void *request, + GRPC_incoming_notification_queue *incoming_queue, + GRPC_completion_queue *processing_queue, void *tag) { + GRPC_server_async_response_writer *writer = GRPC_ALLOC_STRUCT( + GRPC_server_async_response_writer, + {.context = context, + .receive_set = + {// deserialize from the payload read by core after the request comes + // in + .operations = {grpc_op_server_decode_context_payload}, + .context = GRPC_server_context_to_base(context), + .user_tag = tag}, + .finish_set = {.operations = {grpc_op_send_metadata, grpc_op_send_object, + grpc_op_server_recv_close, + grpc_op_server_send_status}, + .context = GRPC_server_context_to_base(context)}}); + + writer->finish_set.async_cleanup = + (GRPC_closure){.arg = writer, .callback = free_server_writer}; + + GPR_ASSERT(GRPC_server_request_call(service, method_index, context, + incoming_queue, processing_queue, + &writer->receive_set) == GRPC_CALL_OK); + GRPC_start_batch_from_op_set(NULL, &writer->receive_set, + GRPC_server_context_to_base(context), + (GRPC_message){0, 0}, request); + return writer; +} + +void GRPC_unary_async_server_finish(GRPC_server_async_response_writer *writer, + const GRPC_message response, + const grpc_status_code server_status, + void *tag) { + writer->finish_set.user_tag = tag; + writer->context->server_return_status = server_status; + GRPC_start_batch_from_op_set(writer->context->call, &writer->finish_set, + GRPC_server_context_to_base(writer->context), + response, NULL); +} diff --git a/src/c/unary_async_call.h b/src/c/unary_async_call.h new file mode 100644 index 0000000000000..6bac132704598 --- /dev/null +++ b/src/c/unary_async_call.h @@ -0,0 +1,58 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_C_INTERNAL_UNARY_ASYNC_CALL_H +#define GRPC_C_INTERNAL_UNARY_ASYNC_CALL_H + +#include +#include "src/c/call_ops.h" +#include "src/c/client_context.h" +#include "src/c/server_context.h" + +struct GRPC_client_async_response_reader { + GRPC_call_op_set init_buf; + GRPC_call_op_set meta_buf; + GRPC_call_op_set finish_buf; + + grpc_completion_queue *cq; + GRPC_client_context *context; + grpc_call *call; +}; + +struct GRPC_server_async_response_writer { + GRPC_server_context *context; + GRPC_call_op_set receive_set; + GRPC_call_op_set finish_set; +}; + +#endif // GRPC_C_INTERNAL_UNARY_ASYNC_CALL_H diff --git a/src/c/unary_blocking_call.c b/src/c/unary_blocking_call.c new file mode 100644 index 0000000000000..f7f6538ddec32 --- /dev/null +++ b/src/c/unary_blocking_call.c @@ -0,0 +1,79 @@ +/* + * + * 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 "src/c/unary_blocking_call.h" +#include +#include +#include "src/c/call_ops.h" +#include "src/c/completion_queue.h" + +GRPC_status GRPC_unary_blocking_call(const GRPC_method rpc_method, + GRPC_client_context *const context, + const GRPC_message message, + void *response) { + grpc_completion_queue *cq = GRPC_completion_queue_create(); + grpc_call *call = grpc_channel_create_call( + context->channel, NULL, GRPC_PROPAGATE_DEFAULTS, cq, rpc_method.name, "", + context->deadline, NULL); + context->call = call; + GRPC_call_op_set set = { + {grpc_op_send_metadata, grpc_op_recv_metadata, grpc_op_send_object, + grpc_op_recv_object, grpc_op_client_send_close, + grpc_op_client_recv_status}, + .context = GRPC_client_context_to_base(context), + .user_tag = &set}; + + GRPC_start_batch_from_op_set(call, &set, GRPC_client_context_to_base(context), + message, response); + for (;;) { + void *tag; + bool ok; + GRPC_completion_queue_operation_status status = + GRPC_completion_queue_next_deadline(cq, context->deadline, &tag, &ok); + GPR_ASSERT(status == GRPC_COMPLETION_QUEUE_GOT_EVENT); + if (tag == &set) { + context->status.ok &= ok; + break; + } + } + + context->status.ok &= (context->status.code == GRPC_STATUS_OK); + + GRPC_completion_queue_shutdown(cq); + GRPC_completion_queue_shutdown_wait(cq); + GRPC_completion_queue_destroy(cq); + grpc_call_destroy(call); + context->call = NULL; + + return context->status; +} diff --git a/src/c/unary_blocking_call.h b/src/c/unary_blocking_call.h new file mode 100644 index 0000000000000..43a9d4f8dc59b --- /dev/null +++ b/src/c/unary_blocking_call.h @@ -0,0 +1,39 @@ +/* + * + * 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_C_INTERNAL_UNARY_BLOCKING_CALL_H +#define GRPC_C_INTERNAL_UNARY_BLOCKING_CALL_H + +#include "src/c/client_context.h" + +#endif // GRPC_C_INTERNAL_UNARY_BLOCKING_CALL_H diff --git a/src/compiler/c_generator.cc b/src/compiler/c_generator.cc new file mode 100644 index 0000000000000..b49f3fbf0b9d4 --- /dev/null +++ b/src/compiler/c_generator.cc @@ -0,0 +1,1007 @@ +/* + * + * Copyright 2016, 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 +#include + +#include "src/compiler/c_generator.h" +#include "src/compiler/c_generator_helpers.h" +#include "src/compiler/cpp_generator_helpers.h" + +/* + * C Generator + * Contains methods for printing comments, service headers, service + * implementations, etc. + */ +namespace grpc_c_generator { + +namespace { + +template +grpc::string as_string(T x) { + std::ostringstream out; + out << x; + return out.str(); +} + +grpc::string FilenameIdentifier(const grpc::string &filename) { + grpc::string result; + for (unsigned i = 0; i < filename.size(); i++) { + char c = filename[i]; + if (isalnum(c)) { + result.push_back(c); + } else { + static char hex[] = "0123456789abcdef"; + result.push_back('_'); + result.push_back(hex[(c >> 4) & 0xf]); + result.push_back(hex[c & 0xf]); + } + } + return result; +} + +grpc::string Join(std::vector lines, grpc::string delim) { + std::ostringstream imploded; + std::copy(lines.begin(), lines.end(), + std::ostream_iterator(imploded, delim.c_str())); + return imploded.str(); +} + +grpc::string BlockifyComments(grpc::string input) { + const int kMaxCharactersPerLine = 90; + std::vector lines = grpc_generator::tokenize(input, "\n"); + // kill trailing new line + if (lines[lines.size() - 1] == "") lines.pop_back(); + for (auto itr = lines.begin(); itr != lines.end(); itr++) { + grpc_generator::StripPrefix(&*itr, "//"); + (*itr).append(std::max(size_t(0), kMaxCharactersPerLine - (*itr).size()), + ' '); + *itr = "/* " + *itr + " */"; + } + return Join(lines, "\n"); +} + +template +T *array_end(T (&array)[N]) { + return array + N; +} + +} // namespace + +using grpc::protobuf::FileDescriptor; +using grpc::protobuf::ServiceDescriptor; +using grpc::protobuf::MethodDescriptor; +using grpc::protobuf::Descriptor; +using grpc::protobuf::io::StringOutputStream; + +using grpc_cpp_generator::File; +using grpc_cpp_generator::Method; +using grpc_cpp_generator::Service; +using grpc_cpp_generator::Printer; + +// Prints a list of header paths as include directives +void PrintIncludes(Printer *printer, const std::vector &headers, + const Parameters ¶ms) { + std::map vars; + + vars["l"] = params.use_system_headers ? '<' : '"'; + vars["r"] = params.use_system_headers ? '>' : '"'; + + auto &s = params.grpc_search_path; + if (!s.empty()) { + vars["l"] += s; + if (s[s.size() - 1] != '/') { + vars["l"] += '/'; + } + } + + for (auto i = headers.begin(); i != headers.end(); i++) { + vars["h"] = *i; + printer->Print(vars, "#include $l$$h$$r$\n"); + } +} + +// Prints declaration of a single server method +void PrintHeaderServerMethod(Printer *printer, const Method *method, + std::map *vars) { + (*vars)["Method"] = method->name(); + (*vars)["Request"] = method->input_type_name(); + (*vars)["Response"] = method->output_type_name(); + + if (method->NoStreaming()) { + // Unary + + printer->Print(*vars, + "/* Async */\n" + "GRPC_server_async_response_writer *" + "$CPrefix$$Service$_$Method$_ServerRequest(\n" + " GRPC_registered_service *service,\n" + " GRPC_server_context *const context,\n" + " $CPrefix$$Request$ *request,\n" + " GRPC_incoming_notification_queue *incoming_queue,\n" + " GRPC_completion_queue *processing_queue,\n" + " void *tag);\n" + "\n"); + + printer->Print(*vars, + "void $CPrefix$$Service$_$Method$_ServerFinish(\n" + " GRPC_server_async_response_writer *writer,\n" + " $CPrefix$$Response$ *response,\n" + " GRPC_status_code server_status,\n" + " void *tag);\n" + "\n"); + } + + printer->Print("\n\n"); +} + +// Prints declaration of a single client method +void PrintHeaderClientMethod(Printer *printer, const Method *method, + std::map *vars) { + (*vars)["Method"] = method->name(); + (*vars)["Request"] = method->input_type_name(); + (*vars)["Response"] = method->output_type_name(); + + if (method->NoStreaming()) { + // Unary + + printer->Print(*vars, + "/* Sync */\n" + "GRPC_status $CPrefix$$Service$_$Method$(\n" + " GRPC_client_context *const context,\n" + " const $CPrefix$$Request$ request,\n" + " $CPrefix$$Response$ *response);\n" + "\n"); + + printer->Print( + *vars, + "\n" + "/* Async */\n" + "GRPC_client_async_response_reader " + "*$CPrefix$$Service$_$Method$_Async(\n" + " GRPC_client_context *const context,\n" + " GRPC_completion_queue *cq,\n" + " const $CPrefix$$Request$ request);\n" + "\n" + "void $CPrefix$$Service$_$Method$_Finish(\n" + " GRPC_client_async_response_reader *reader,\n" + " $CPrefix$$Response$ *response,\n" + " void *tag);\n" + "/* call GRPC_completion_queue_next on the cq to wait for result */\n" + "\n"); + + } else if (method->ClientOnlyStreaming()) { + // Client streaming + + printer->Print( + *vars, + "\n" + "/* Sync */\n" + "GRPC_client_writer *$CPrefix$$Service$_$Method$(\n" + " GRPC_client_context *const context,\n" + " $CPrefix$$Response$ *response);\n" + "\n" + "/* Return value of true means write succeeded */\n" + "bool $CPrefix$$Service$_$Method$_Write(\n" + " GRPC_client_writer *writer,\n" + " $CPrefix$$Request$ request);\n" + "\n" + "/* Call $CPrefix$$Service$_$Method$_Terminate to close the stream and " + "end the call */\n" + "/* The writer is automatically freed when the request ends */\n" + "GRPC_status $CPrefix$$Service$_$Method$_Terminate(GRPC_client_writer " + "*writer);\n" + "\n"); + + printer->Print( + *vars, + "\n" + "/* Async */\n" + "GRPC_client_async_writer *$CPrefix$$Service$_$Method$_Async(\n" + " GRPC_client_context *const context,\n" + " GRPC_completion_queue *cq);\n" + "\n" + "void $CPrefix$$Service$_$Method$_Write_Async(\n" + " GRPC_client_async_writer *writer,\n" + " const $CPrefix$$Request$ request,\n" + " void *tag);\n" + "\n" + "void $CPrefix$$Service$_$Method$_Finish(\n" + " GRPC_client_async_writer *writer,\n" + " $CPrefix$$Response$ *response,\n" + " void *tag);\n" + "/* Call GRPC_completion_queue_next on the cq to wait for result. " + "*/\n" + "/* The writer object is automatically freed when the request ends. " + "*/\n" + "\n"); + + } else if (method->ServerOnlyStreaming()) { + // Server streaming + + printer->Print( + *vars, + "\n" + "/* Sync */\n" + "GRPC_client_reader *$CPrefix$$Service$_$Method$(\n" + " GRPC_client_context *const context,\n" + " $CPrefix$$Request$ request);\n" + "\n" + "/* Return value of true means read succeeded */\n" + "bool $CPrefix$$Service$_$Method$_Read(\n" + " GRPC_client_reader *reader,\n" + " $CPrefix$$Response$ *response);\n" + "\n" + "/* Call $CPrefix$$Service$_$Method$_Terminate to close the stream and " + "end the call */\n" + "/* The reader is automatically freed when the request ends */\n" + "GRPC_status $CPrefix$$Service$_$Method$_Terminate(GRPC_client_reader " + "*reader);\n" + "\n"); + printer->Print( + *vars, + "\n" + "/* Async */\n" + "GRPC_client_async_reader *$CPrefix$$Service$_$Method$_Async(\n" + " GRPC_client_context *const context,\n" + " GRPC_completion_queue *cq,\n" + " const $CPrefix$$Request$ request);\n" + "\n" + "void $CPrefix$$Service$_$Method$_Read_Async(\n" + " GRPC_client_async_reader *reader,\n" + " $CPrefix$$Response$ *response,\n" + " void *tag);\n" + "\n" + "void $CPrefix$$Service$_$Method$_Finish(\n" + " GRPC_client_async_reader *reader,\n" + " void *tag);\n" + "/* call GRPC_completion_queue_next on the cq to wait for result */\n" + "/* the reader object is automatically freed when the request ends */\n" + "\n"); + + } else if (method->BidiStreaming()) { + // Bidi + + printer->Print( + *vars, + "\n" + "/* Sync */\n" + "GRPC_client_reader_writer *$CPrefix$$Service$_$Method$(\n" + " GRPC_client_context *const context);\n" + "\n" + "bool $CPrefix$$Service$_$Method$_Read(\n" + " GRPC_client_reader_writer *reader_writer,\n" + " $CPrefix$$Response$ *response);\n" + "\n" + "bool $CPrefix$$Service$_$Method$_Write(\n" + " GRPC_client_reader_writer *reader_writer,\n" + " $CPrefix$$Request$ request);\n" + "\n" + "/* Signals to the server that we are no longer sending request items " + "*/\n" + "bool " + "$CPrefix$$Service$_$Method$_Writes_Done(GRPC_client_reader_writer " + "*reader_writer);\n" + "\n" + "/* Ends the call. The reader_writer object is automatically freed */\n" + "GRPC_status " + "$CPrefix$$Service$_$Method$_Terminate(GRPC_client_reader_writer " + "*reader_writer);\n" + "\n"); + + printer->Print( + *vars, + "\n" + "/* Async */\n" + "GRPC_client_async_reader_writer *$CPrefix$$Service$_$Method$_Async(\n" + " GRPC_client_context *const context);\n" + "\n" + "void $CPrefix$$Service$_$Method$_Read_Async(\n" + " GRPC_client_async_reader_writer *reader_writer,\n" + " $CPrefix$$Response$ *response,\n" + " void *tag);\n" + "\n" + "void $CPrefix$$Service$_$Method$_Write_Async(\n" + " GRPC_client_async_reader_writer *reader_writer,\n" + " $CPrefix$$Request$ request,\n" + " void *tag);\n" + "\n" + "void $CPrefix$$Service$_$Method$_Finish(\n" + " GRPC_client_async_reader_writer *reader_writer,\n" + " void *tag);\n" + "/* call GRPC_completion_queue_next on the cq to wait for result */\n" + "/* the reader-writer object is automatically freed when the request " + "ends */\n" + "\n"); + } + + printer->Print("\n\n"); +} + +void PrintHeaderServiceDeclaration(Printer *printer, const Service *service, + std::map *vars) { + // Register method + printer->Print(*vars, + "/* Call this to handle this service in the server */\n" + "GRPC_registered_service " + "*$CPrefix$$Service$_Register(GRPC_server *server);\n\n"); +} + +// Prints declaration of a single service +void PrintHeaderService(Printer *printer, const Service *service, + std::map *vars) { + (*vars)["Service"] = service->name(); + + printer->Print(*vars, BlockifyComments("Service metadata for " + + service->name() + "\n\n") + .c_str()); + PrintHeaderServiceDeclaration(printer, service, vars); + + printer->Print(*vars, BlockifyComments("Service declaration for " + + service->name() + "\n") + .c_str()); + printer->Print(BlockifyComments(service->GetLeadingComments()).c_str()); + + // Client side + printer->Print("/* Client */\n"); + for (int i = 0; i < service->method_count(); ++i) { + printer->Print( + BlockifyComments(service->method(i)->GetLeadingComments()).c_str()); + PrintHeaderClientMethod(printer, service->method(i).get(), vars); + printer->Print( + BlockifyComments(service->method(i)->GetTrailingComments()).c_str()); + } + printer->Print("\n\n"); + + // Server side + printer->Print("/* Server */\n"); + for (int i = 0; i < service->method_count(); ++i) { + printer->Print( + BlockifyComments(service->method(i)->GetLeadingComments()).c_str()); + PrintHeaderServerMethod(printer, service->method(i).get(), vars); + printer->Print( + BlockifyComments(service->method(i)->GetTrailingComments()).c_str()); + } + printer->Print("\n\n"); + + printer->Print(BlockifyComments(service->GetTrailingComments()).c_str()); +} + +void PrintSourceServerMethod(Printer *printer, const Method *method, + std::map *vars) { + (*vars)["Method"] = method->name(); + (*vars)["Request"] = method->input_type_name(); + (*vars)["Response"] = method->output_type_name(); + + if (method->NoStreaming()) { + // Unary + + printer->Print( + *vars, + "GRPC_server_async_response_writer *" + "$CPrefix$$Service$_$Method$_ServerRequest(\n" + " GRPC_registered_service *service,\n" + " GRPC_server_context *const context,\n" + " $CPrefix$$Request$ *request,\n" + " GRPC_incoming_notification_queue *incoming_queue,\n" + " GRPC_completion_queue *processing_queue,\n" + " void *tag) {\n" + " GRPC_context_set_serialization_impl((GRPC_context *) context,\n" + " (grpc_serialization_impl) { " + "GRPC_C_RESOLVE_SERIALIZER($CPrefix$$Request$), " + "GRPC_C_RESOLVE_DESERIALIZER($CPrefix$$Response$) });\n" + " return GRPC_unary_async_server_request(\n" + " service,\n" + " GRPC_METHOD_INDEX_$CPrefix$$Service$_$Method$,\n" + " context,\n" + " request,\n" + " incoming_queue,\n" + " processing_queue,\n" + " tag);\n" + "}\n" + "\n"); + + printer->Print( + *vars, + "void $CPrefix$$Service$_$Method$_ServerFinish(\n" + " GRPC_server_async_response_writer *writer,\n" + " $CPrefix$$Response$ *response,\n" + " GRPC_status_code server_status,\n" + " void *tag) {\n" + " const GRPC_message response_msg = { response, sizeof(*response) };\n" + " GRPC_unary_async_server_finish(\n" + " writer,\n" + " response_msg,\n" + " server_status,\n" + " tag);\n" + "}\n" + "\n"); + } +} + +void PrintSourceServiceDeclaration(Printer *printer, const Service *service, + std::map *vars) { + for (int i = 0; i < service->method_count(); i++) { + auto method = service->method(i); + + (*vars)["Method"] = method->name(); + + if (method->NoStreaming()) { + (*vars)["MethodEnum"] = "GRPC_NORMAL_RPC"; + } else if (method->ClientOnlyStreaming()) { + (*vars)["MethodEnum"] = "GRPC_CLIENT_STREAMING"; + } else if (method->ServerOnlyStreaming()) { + (*vars)["MethodEnum"] = "GRPC_SERVER_STREAMING"; + } else if (method->BidiStreaming()) { + (*vars)["MethodEnum"] = "GRPC_BIDI_STREAMING"; + } + + printer->Print(*vars, + "GRPC_method GRPC_method_$CPrefix$$Service$_$Method$ = {\n" + " $MethodEnum$,\n" + " \"/$Package$$Service$/$Method$\"\n" + "};\n" + "\n"); + } + + printer->Print( + *vars, "GRPC_service_declaration GRPC_service_$CPrefix$$Service$ = {\n"); + + // Insert each method definition in the service + for (int i = 0; i < service->method_count(); i++) { + auto method = service->method(i); + (*vars)["Method"] = method->name(); + (*vars)["Terminator"] = i == service->method_count() - 1 ? "" : ","; + printer->Print( + *vars, + " &GRPC_method_$CPrefix$$Service$_$Method$$Terminator$\n"); + } + + printer->Print(*vars, + "};\n" + "\n"); + + // Array index of each method inside the service declaration array + printer->Print(*vars, "enum {\n"); + + for (int i = 0; i < service->method_count(); i++) { + auto inner_vars = *vars; + auto method = service->method(i); + inner_vars["Method"] = method->name(); + inner_vars["Index"] = std::to_string(static_cast(i)); + printer->Print( + inner_vars, + " GRPC_METHOD_INDEX_$CPrefix$$Service$_$Method$ = $Index$,\n"); + } + + (*vars)["MethodCount"] = + std::to_string(static_cast(service->method_count())); + printer->Print( + *vars, + " GRPC_METHOD_COUNT_$CPrefix$$Service$ = $MethodCount$\n" + "};\n" + "\n"); + + printer->Print(*vars, + "GRPC_registered_service " + "*$CPrefix$$Service$_Register(GRPC_server *server) {\n" + " return GRPC_server_add_service(server, " + "GRPC_service_$CPrefix$$Service$, " + "GRPC_METHOD_COUNT_$CPrefix$$Service$);\n" + "}\n" + "\n"); +} + +// Prints implementation of a single client method +void PrintSourceClientMethod(Printer *printer, const Method *method, + std::map *vars) { + (*vars)["Method"] = method->name(); + (*vars)["Request"] = method->input_type_name(); + (*vars)["Response"] = method->output_type_name(); + + if (method->NoStreaming()) { + // Unary + printer->Print( + *vars, + "\n" + "GRPC_status $CPrefix$$Service$_$Method$(\n" + " GRPC_client_context *const context,\n" + " const $CPrefix$$Request$ request,\n" + " $CPrefix$$Response$ *response) {\n" + " const GRPC_message request_msg = { &request, sizeof(request) };\n" + " GRPC_context_set_serialization_impl((GRPC_context *) context,\n" + " (grpc_serialization_impl) { " + "GRPC_C_RESOLVE_SERIALIZER($CPrefix$$Request$), " + "GRPC_C_RESOLVE_DESERIALIZER($CPrefix$$Response$) });\n" + " return " + "GRPC_unary_blocking_call(GRPC_method_$CPrefix$$Service$_$Method$, " + "context, request_msg, response);\n" + "}\n" + "\n"); + printer->Print( + *vars, + "\n" + "/* Async */\n" + "GRPC_client_async_response_reader " + "*$CPrefix$$Service$_$Method$_Async(\n" + " GRPC_client_context *const context,\n" + " GRPC_completion_queue *cq,\n" + " const $CPrefix$$Request$ request) {\n" + " const GRPC_message request_msg = { &request, sizeof(request) };\n" + " GRPC_context_set_serialization_impl((GRPC_context *) context,\n" + " (grpc_serialization_impl) { " + "GRPC_C_RESOLVE_SERIALIZER($CPrefix$$Request$), " + "GRPC_C_RESOLVE_DESERIALIZER($CPrefix$$Response$) });\n" + " return GRPC_unary_async_call(cq, " + "GRPC_method_$CPrefix$$Service$_$Method$, request_msg, context);\n" + "}\n" + "\n" + "void $CPrefix$$Service$_$Method$_Finish(\n" + " GRPC_client_async_response_reader *reader,\n" + " $CPrefix$$Response$ *response,\n" + " void *tag) {\n" + " GRPC_client_async_finish(reader, response, tag);\n" + "}\n" + "\n"); + + } else if (method->ClientOnlyStreaming()) { + printer->Print( + *vars, + "\n" + "GRPC_client_writer *$CPrefix$$Service$_$Method$(\n" + " GRPC_client_context *const context,\n" + " $CPrefix$$Response$ *response) {\n" + " GRPC_context_set_serialization_impl((GRPC_context *) context,\n" + " (grpc_serialization_impl) { " + "GRPC_C_RESOLVE_SERIALIZER($CPrefix$$Request$), " + "GRPC_C_RESOLVE_DESERIALIZER($CPrefix$$Response$) });\n" + " return " + "GRPC_client_streaming_blocking_call(GRPC_method_$CPrefix$$Service$_$" + "Method$, context, response);\n" + "}\n" + "\n" + "bool $CPrefix$$Service$_$Method$_Write(\n" + " GRPC_client_writer *writer,\n" + " $CPrefix$$Request$ request) {\n" + " const GRPC_message request_msg = { &request, sizeof(request) };\n" + " return GRPC_client_streaming_blocking_write(writer, request_msg);\n" + "}\n" + "\n" + "GRPC_status $CPrefix$$Service$_$Method$_Terminate(GRPC_client_writer " + "*writer) {\n" + " return GRPC_client_writer_terminate(writer);\n" + "}\n" + "\n"); + + printer->Print(*vars, + "\n" + "/* Async TBD */\n" + "\n"); + + } else if (method->ServerOnlyStreaming()) { + printer->Print( + *vars, + "\n" + "GRPC_client_reader *$CPrefix$$Service$_$Method$(\n" + " GRPC_client_context *const context,\n" + " $CPrefix$$Request$ request) {\n" + " const GRPC_message request_msg = { &request, sizeof(request) };\n" + " GRPC_context_set_serialization_impl((GRPC_context *) context,\n" + " (grpc_serialization_impl) { " + "GRPC_C_RESOLVE_SERIALIZER($CPrefix$$Request$), " + "GRPC_C_RESOLVE_DESERIALIZER($CPrefix$$Response$) });\n" + " return " + "GRPC_server_streaming_blocking_call(GRPC_method_$CPrefix$$Service$_$" + "Method$, context, request_msg);\n" + "}\n" + "\n" + "bool $CPrefix$$Service$_$Method$_Read(\n" + " GRPC_client_reader *reader,\n" + " $CPrefix$$Response$ *response) {\n" + " return GRPC_server_streaming_blocking_read(reader, response);\n" + "}\n" + "\n" + "GRPC_status $CPrefix$$Service$_$Method$_Terminate(GRPC_client_reader " + "*reader) {\n" + " return GRPC_client_reader_terminate(reader);\n" + "}\n" + "\n"); + printer->Print(*vars, + "\n" + "/* Async TBD */\n" + "\n"); + + } else if (method->BidiStreaming()) { + printer->Print( + *vars, + "\n" + "GRPC_client_reader_writer *$CPrefix$$Service$_$Method$(\n" + " GRPC_client_context *const context) {\n" + " GRPC_context_set_serialization_impl((GRPC_context *) context,\n" + " (grpc_serialization_impl) { " + "GRPC_C_RESOLVE_SERIALIZER($CPrefix$$Request$), " + "GRPC_C_RESOLVE_DESERIALIZER($CPrefix$$Response$) });\n" + " return " + "GRPC_bidi_streaming_blocking_call(GRPC_method_$CPrefix$$Service$_$" + "Method$, context);\n" + "}\n" + "\n" + "bool $CPrefix$$Service$_$Method$_Read(\n" + " GRPC_client_reader_writer *reader_writer,\n" + " $CPrefix$$Response$ *response) {\n" + " return GRPC_bidi_streaming_blocking_read(reader_writer, response);\n" + "}\n" + "\n" + "bool $CPrefix$$Service$_$Method$_Write(\n" + " GRPC_client_reader_writer *reader_writer,\n" + " $CPrefix$$Request$ request) {\n" + " const GRPC_message request_msg = { &request, sizeof(request) };\n" + " return GRPC_bidi_streaming_blocking_write(reader_writer, " + "request_msg);\n" + "}\n" + "\n" + "bool " + "$CPrefix$$Service$_$Method$_Writes_Done(GRPC_client_reader_writer " + "*reader_writer) {\n" + " return GRPC_bidi_streaming_blocking_writes_done(reader_writer);\n" + "}\n" + "\n" + "GRPC_status " + "$CPrefix$$Service$_$Method$_Terminate(GRPC_client_reader_writer " + "*reader_writer) {\n" + " return GRPC_client_reader_writer_terminate(reader_writer);\n" + "}\n" + "\n"); + printer->Print(*vars, + "\n" + "/* Async TBD */\n" + "\n"); + } +} + +// Prints implementation of all methods in a service +void PrintSourceService(Printer *printer, const Service *service, + std::map *vars) { + (*vars)["Service"] = service->name(); + + printer->Print(*vars, BlockifyComments("Service metadata for " + + service->name() + "\n\n") + .c_str()); + PrintSourceServiceDeclaration(printer, service, vars); + + printer->Print(*vars, BlockifyComments("Service implementation for " + + service->name() + "\n\n") + .c_str()); + for (int i = 0; i < service->method_count(); ++i) { + PrintSourceClientMethod(printer, service->method(i).get(), vars); + PrintSourceServerMethod(printer, service->method(i).get(), vars); + } + + printer->Print("\n"); +} + +// +// PUBLIC +// + +grpc::string GetHeaderServices(File *file, const Parameters ¶ms) { + grpc::string output; + { + // Scope the output stream so it closes and finalizes output to the string. + auto printer = file->CreatePrinter(&output); + std::map vars; + // Package string is empty or ends with a dot. It is used to fully qualify + // method names. + vars["Package"] = file->package(); + if (!file->package().empty()) { + vars["Package"].append("."); + } + // TODO(yifeit): hook this up to C prefix + vars["CPrefix"] = + grpc_cpp_generator::DotsToUnderscores(file->package()) + "_"; + + for (int i = 0; i < file->service_count(); ++i) { + PrintHeaderService(printer.get(), file->service(i).get(), &vars); + printer->Print("\n"); + } + } + return output; +} + +grpc::string GetHeaderEpilogue(File *file, const Parameters & /*params*/) { + grpc::string output; + { + // Scope the output stream so it closes and finalizes output to the string. + auto printer = file->CreatePrinter(&output); + std::map vars; + + vars["filename"] = file->filename(); + vars["filename_identifier"] = FilenameIdentifier(file->filename()); + + if (!file->package().empty()) { + std::vector parts = file->package_parts(); + + for (auto part = parts.rbegin(); part != parts.rend(); part++) { + vars["part"] = *part; + } + printer->Print(vars, "\n"); + } + + printer->Print(vars, "\n"); + printer->Print(vars, + "#endif /* GRPC_C_$filename_identifier$__INCLUDED */\n"); + + printer->Print(file->GetTrailingComments().c_str()); + } + return output; +} + +grpc::string GetSourcePrologue(File *file, const Parameters & /*params*/) { + grpc::string output; + { + // Scope the output stream so it closes and finalizes output to the string. + auto printer = file->CreatePrinter(&output); + std::map vars; + + vars["filename"] = file->filename(); + vars["filename_base"] = file->filename_without_ext(); + vars["message_header_ext"] = file->message_header_ext(); + vars["service_header_ext"] = file->service_header_ext(); + + printer->Print( + vars, + BlockifyComments("\n" + "// Generated by the gRPC protobuf plugin.\n" + "// If you make any local change, they will be lost.\n" + "\n") + .c_str()); + + grpc::string filename; + { + auto printer_filename = file->CreatePrinter(&filename); + printer_filename->Print(vars, "// source: $filename$"); + } + printer->Print(vars, BlockifyComments(filename).c_str()); + + printer->Print(vars, "/* Message header */\n"); + printer->Print(vars, "#include \"$filename_base$$message_header_ext$\"\n"); + printer->Print(vars, "/* Other message dependencies */\n"); + // include all other message headers on which this one depends + auto deps = dynamic_cast(file)->dependencies(); + for (auto itr = deps.begin(); itr != deps.end(); itr++) { + std::map depvars(vars); + depvars["filename_base"] = (*itr)->filename_without_ext(); + depvars["service_header_ext"] = (*itr)->service_header_ext(); + printer->Print(depvars, + "#include \"$filename_base$$message_header_ext$\"\n"); + } + printer->Print(vars, "/* Service header */\n"); + printer->Print(vars, "#include \"$filename_base$$service_header_ext$\"\n"); + + printer->Print(vars, file->additional_headers().c_str()); + printer->Print(vars, "\n"); + } + return output; +} + +grpc::string GetSourceIncludes(File *file, const Parameters ¶ms) { + grpc::string output; + { + // Scope the output stream so it closes and finalizes output to the string. + auto printer = file->CreatePrinter(&output); + std::map vars; + + static const char *headers_strs[] = { + "grpc_c/status.h", "grpc_c/grpc_c.h", "grpc_c/channel.h", + "grpc_c/server.h", "grpc_c/server_incoming_queue.h", + "grpc_c/client_context.h", "grpc_c/server_context.h", + "grpc_c/codegen/message.h", "grpc_c/codegen/method.h", + "grpc_c/codegen/unary_blocking_call.h", + "grpc_c/codegen/unary_async_call.h", "grpc_c/codegen/server.h", + "grpc_c/codegen/client_streaming_blocking_call.h", + "grpc_c/codegen/server_streaming_blocking_call.h", + "grpc_c/codegen/bidi_streaming_blocking_call.h", + "grpc_c/codegen/context.h", + // Relying on Nanopb for Protobuf serialization for now + "grpc_c/codegen/pb_compat.h", "grpc_c/declare_serializer.h"}; + std::vector headers(headers_strs, array_end(headers_strs)); + PrintIncludes(printer.get(), headers, params); + + printer->Print(vars, "\n"); + } + return output; +} + +grpc::string GetSourceEpilogue(File *file, const Parameters & /*params*/) { + grpc::string temp; + + temp.append("/* END */\n"); + + return temp; +} + +grpc::string GetHeaderPrologue(File *file, const Parameters & /*params*/) { + grpc::string output; + { + // Scope the output stream so it closes and finalizes output to the string. + auto printer = file->CreatePrinter(&output); + std::map vars; + + vars["filename"] = file->filename(); + vars["filename_identifier"] = FilenameIdentifier(file->filename()); + vars["filename_base"] = file->filename_without_ext(); + vars["message_header_ext"] = file->message_header_ext(); + + printer->Print( + vars, + BlockifyComments("\n" + "// Generated by the gRPC protobuf plugin.\n" + "// If you make any local change, they will be lost.\n" + "\n") + .c_str()); + + grpc::string filename; + { + auto printer_filename = file->CreatePrinter(&filename); + printer_filename->Print(vars, "// source: $filename$"); + } + printer->Print(vars, BlockifyComments(filename).c_str()); + + grpc::string leading_comments = file->GetLeadingComments(); + if (!leading_comments.empty()) { + printer->Print(vars, + BlockifyComments("// Original file comments:\n").c_str()); + printer->Print(BlockifyComments(leading_comments).c_str()); + } + printer->Print(vars, "#ifndef GRPC_C_$filename_identifier$__INCLUDED\n"); + printer->Print(vars, "#define GRPC_C_$filename_identifier$__INCLUDED\n"); + printer->Print(vars, "\n"); + printer->Print(vars, "#include \"$filename_base$$message_header_ext$\"\n"); + printer->Print(vars, "\n"); + } + return output; +} + +grpc::string GetHeaderIncludes(File *file, const Parameters ¶ms) { + grpc::string output; + { + // Scope the output stream so it closes and finalizes output to the string. + auto printer = file->CreatePrinter(&output); + std::map vars; + + static const char *headers_strs[] = { + "grpc_c/grpc_c.h", "grpc_c/status.h", + "grpc_c/channel.h", "grpc_c/client_context.h", + "grpc_c/completion_queue.h", "grpc_c/server_context.h", + "grpc_c/server.h", "grpc_c/server_incoming_queue.h"}; + std::vector headers(headers_strs, array_end(headers_strs)); + PrintIncludes(printer.get(), headers, params); + printer->Print(vars, "\n"); + } + return output; +} + +grpc::string GetSourceServices(File *file, const Parameters ¶ms) { + grpc::string output; + { + // Scope the output stream so it closes and finalizes output to the string. + auto printer = file->CreatePrinter(&output); + std::map vars; + // Package string is empty or ends with a dot. It is used to fully qualify + // method names. + vars["Package"] = file->package(); + if (!file->package().empty()) { + vars["Package"].append("."); + } + // TODO(yifeit): hook this up to C prefix + // TODO(yifeit): what if proto files in the dependency tree had different + // packages + // we are using the same prefix for all referenced type + vars["CPrefix"] = + grpc_cpp_generator::DotsToUnderscores(file->package()) + "_"; + + // The following are Nanopb glue code. Putting them here since we're not + // going to modify Nanopb. + + // We need to generate a declaration of serialization helper for every + // nanopb message type we could use + // in this file. The implementations will be scattered across different + // service implementation files. + auto messages = dynamic_cast(file)->messages(); + std::vector all_message_names; + for (auto itr = messages.begin(); itr != messages.end(); itr++) { + all_message_names.push_back((*itr)->name()); + } + for (int i = 0; i < file->service_count(); i++) { + auto service = file->service(i); + for (int j = 0; j < service->method_count(); j++) { + auto method = service->method(j); + all_message_names.push_back(method->input_type_name()); + all_message_names.push_back(method->output_type_name()); + } + } + std::set dedupe_message_names(all_message_names.begin(), + all_message_names.end()); + for (auto itr = dedupe_message_names.begin(); + itr != dedupe_message_names.end(); itr++) { + std::map vars_msg(vars); + vars_msg["msgType"] = (*itr); + printer->Print( + vars_msg, + "\n" + "#ifdef $CPrefix$$msgType$_init_default\n" + "GRPC_message $CPrefix$$msgType$_nanopb_serializer(const " + "GRPC_message input);\n" + "void $CPrefix$$msgType$_nanopb_deserializer(const GRPC_message " + "input, void *output);\n" + "#define GRPC_C_DECLARE_SERIALIZATION_$CPrefix$$msgType$ \\\n" + " $CPrefix$$msgType$_nanopb_serializer, " + "$CPrefix$$msgType$_nanopb_deserializer\n" + "#endif\n"); + } + printer->Print("\n"); + + // We need to generate a short serialization helper for every message type + // This should be handled in protoc but there's nothing we can do at the + // moment + // given we're on nanopb. + for (auto itr = messages.begin(); itr != messages.end(); itr++) { + std::map vars_msg(vars); + vars_msg["msgType"] = (*itr)->name(); + printer->Print(vars_msg, + "\n" + "#ifdef $CPrefix$$msgType$_init_default\n" + "GRPC_message $CPrefix$$msgType$_nanopb_serializer(const " + "GRPC_message input) {\n" + " return GRPC_pb_compat_generic_serializer(input, " + "$CPrefix$$msgType$_fields);\n" + "}\n" + "void $CPrefix$$msgType$_nanopb_deserializer(const " + "GRPC_message input, void *output) {\n" + " return GRPC_pb_compat_generic_deserializer(input, " + "output, $CPrefix$$msgType$_fields);\n" + "}\n" + "#endif\n"); + } + printer->Print("\n"); + + // Print service implementations + for (int i = 0; i < file->service_count(); ++i) { + PrintSourceService(printer.get(), file->service(i).get(), &vars); + printer->Print("\n"); + } + } + return output; +} + +} // namespace grpc_c_generator diff --git a/src/compiler/c_generator.h b/src/compiler/c_generator.h new file mode 100644 index 0000000000000..1cab66524b404 --- /dev/null +++ b/src/compiler/c_generator.h @@ -0,0 +1,90 @@ +/* + * + * Copyright 2016, 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_INTERNAL_COMPILER_C_GENERATOR_H +#define GRPC_INTERNAL_COMPILER_C_GENERATOR_H + +#include "src/compiler/config.h" +#include "src/compiler/cpp_generator.h" + +namespace grpc_c_generator { + +using ::grpc::protobuf::ServiceDescriptor; +using ::grpc_cpp_generator::File; +using ::grpc::string; + +// Contains all the parameters that are parsed from the command line. +struct Parameters { + // Use system includes (<>) or local includes ("") + bool use_system_headers; + // Prefix to any grpc include + grpc::string grpc_search_path; + // Prefix to nanopb includes + grpc::string nanopb_headers_prefix; +}; + +class CFile : public grpc_cpp_generator::File { + public: + // List of messages defined in the file + virtual std::vector messages() + const = 0; + virtual std::vector > dependencies() const = 0; +}; + +// Return the prologue of the generated header file. +grpc::string GetHeaderPrologue(File *file, const Parameters ¶ms); + +// Return the includes needed for generated header file. +grpc::string GetHeaderIncludes(File *file, const Parameters ¶ms); + +// Return the includes needed for generated source file. +grpc::string GetSourceIncludes(File *file, const Parameters ¶ms); + +// Return the epilogue of the generated header file. +grpc::string GetHeaderEpilogue(File *file, const Parameters ¶ms); + +// Return the prologue of the generated source file. +grpc::string GetSourcePrologue(File *file, const Parameters ¶ms); + +// Return the services for generated header file. +grpc::string GetHeaderServices(File *file, const Parameters ¶ms); + +// Return the services for generated source file. +grpc::string GetSourceServices(File *file, const Parameters ¶ms); + +// Return the epilogue of the generated source file. +grpc::string GetSourceEpilogue(File *file, const Parameters ¶ms); + +} // namespace grpc_c_generator + +#endif // GRPC_INTERNAL_COMPILER_C_GENERATOR_H diff --git a/src/compiler/c_generator_helpers.h b/src/compiler/c_generator_helpers.h new file mode 100644 index 0000000000000..95278fd3e5f9f --- /dev/null +++ b/src/compiler/c_generator_helpers.h @@ -0,0 +1,52 @@ +/* + * + * Copyright 2016, 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_INTERNAL_COMPILER_C_GENERATOR_HELPERS_H +#define GRPC_INTERNAL_COMPILER_C_GENERATOR_HELPERS_H + +#include +#include "src/compiler/config.h" +#include "src/compiler/generator_helpers.h" + +namespace grpc_c_generator { + +// Get leading or trailing comments in a string. Comment lines start with "// ". +// Leading detached comments are put in in front of leading comments. +template +inline grpc::string GetCComments(const DescriptorType *desc, bool leading) { + return grpc_generator::GetPrefixedComments(desc, leading, "//"); +} + +} // namespace grpc_c_generator + +#endif // GRPC_INTERNAL_COMPILER_C_GENERATOR_HELPERS_H diff --git a/src/compiler/c_plugin.cc b/src/compiler/c_plugin.cc new file mode 100644 index 0000000000000..e2f27a259fb5b --- /dev/null +++ b/src/compiler/c_plugin.cc @@ -0,0 +1,301 @@ +/* + * + * Copyright 2016, 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. + * + */ + +// Generates Objective C gRPC service interface out of Protobuf IDL. + +#include + +#include "src/compiler/c_generator.h" +#include "src/compiler/c_generator_helpers.h" +#include "src/compiler/config.h" +#include "src/compiler/cpp_generator.h" +#include "src/compiler/cpp_generator_helpers.h" + +namespace grpc_c_generator { + +using std::map; + +class ProtoBufCMethod : public grpc_cpp_generator::Method { + public: + ProtoBufCMethod(const grpc::protobuf::MethodDescriptor *method) + : method_(method) {} + + grpc::string name() const { return method_->name(); } + + grpc::string input_type_name() const { return method_->input_type()->name(); } + + grpc::string output_type_name() const { + return method_->output_type()->name(); + } + + bool NoStreaming() const { + return !method_->client_streaming() && !method_->server_streaming(); + } + + bool ClientOnlyStreaming() const { + return method_->client_streaming() && !method_->server_streaming(); + } + + bool ServerOnlyStreaming() const { + return !method_->client_streaming() && method_->server_streaming(); + } + + bool BidiStreaming() const { + return method_->client_streaming() && method_->server_streaming(); + } + + grpc::string GetLeadingComments() const { + return GetCComments(method_, true); + } + + grpc::string GetTrailingComments() const { + return GetCComments(method_, false); + } + + private: + const grpc::protobuf::MethodDescriptor *method_; +}; + +class ProtoBufCService : public grpc_cpp_generator::Service { + public: + ProtoBufCService(const grpc::protobuf::ServiceDescriptor *service) + : service_(service) {} + + grpc::string name() const { return service_->name(); } + + int method_count() const { return service_->method_count(); }; + + std::unique_ptr method(int i) const { + return std::unique_ptr( + new ProtoBufCMethod(service_->method(i))); + }; + + grpc::string GetLeadingComments() const { + return GetCComments(service_, true); + } + + grpc::string GetTrailingComments() const { + return GetCComments(service_, false); + } + + private: + const grpc::protobuf::ServiceDescriptor *service_; +}; + +class ProtoBufCPrinter : public grpc_cpp_generator::Printer { + public: + ProtoBufCPrinter(grpc::string *str) + : output_stream_(str), printer_(&output_stream_, '$') {} + + void Print(const std::map &vars, + const char *string_template) { + printer_.Print(vars, string_template); + } + + void Print(const char *string) { printer_.Print(string); } + + void Indent() { printer_.Indent(); } + + void Outdent() { printer_.Outdent(); } + + private: + grpc::protobuf::io::StringOutputStream output_stream_; + grpc::protobuf::io::Printer printer_; +}; + +class ProtoBufCFile : public CFile { + public: + ProtoBufCFile(const grpc::protobuf::FileDescriptor *file) : file_(file) {} + + grpc::string filename() const { return file_->name(); } + + grpc::string filename_without_ext() const { + return grpc_generator::StripProto(filename()); + } + + // TODO(yifeit): We're relying on Nanopb right now. After rolling out our own + // Protobuf-C impl, we should + // use a different extension e.g. ".pbc.h" + grpc::string message_header_ext() const { return ".pbc.h"; } + + grpc::string service_header_ext() const { return ".grpc.pbc.h"; } + + grpc::string package() const { return file_->package(); } + + std::vector package_parts() const { + return grpc_generator::tokenize(package(), "."); + } + + grpc::string additional_headers() const { return ""; } + + int service_count() const { return file_->service_count(); }; + + std::unique_ptr service(int i) const { + return std::unique_ptr( + new ProtoBufCService(file_->service(i))); + } + + std::unique_ptr CreatePrinter( + grpc::string *str) const { + return std::unique_ptr( + new ProtoBufCPrinter(str)); + } + + grpc::string GetLeadingComments() const { return GetCComments(file_, true); } + + grpc::string GetTrailingComments() const { + return GetCComments(file_, false); + } + + virtual std::vector messages() const { + std::vector msgs; + for (int i = 0; i < file_->message_type_count(); i++) { + msgs.push_back(file_->message_type(i)); + } + return msgs; + } + + virtual std::vector > dependencies() const { + std::vector > deps; + for (int i = 0; i < file_->dependency_count(); i++) { + std::unique_ptr dep(new ProtoBufCFile(file_->dependency(i))); + // recursively add dependencies + auto child_dependency = dep->dependencies(); + std::move(child_dependency.begin(), child_dependency.end(), + std::back_inserter(deps)); + // add myself by moving + deps.push_back(std::move(dep)); + } + return deps; + } + + private: + const grpc::protobuf::FileDescriptor *file_; +}; + +} // namespace grpc_c_generator + +class CGrpcGenerator : public grpc::protobuf::compiler::CodeGenerator { + public: + CGrpcGenerator() {} + virtual ~CGrpcGenerator() {} + + virtual bool Generate(const grpc::protobuf::FileDescriptor *file, + const ::grpc::string ¶meter, + grpc::protobuf::compiler::GeneratorContext *context, + ::grpc::string *error) const { + grpc::string file_name = grpc_generator::StripProto(file->name()); + + // TODO(yifeit): Add c_prefix option in protobuf, and update descriptor + //::grpc::string prefix = file->options().c_prefix(); + grpc::string prefix = ""; + + if (file->options().cc_generic_services()) { + *error = + "C grpc proto compiler plugin does not work with generic " + "services. To generate cpp grpc APIs, please set \"" + "cc_generic_service = false\"."; + return false; + } + + grpc_c_generator::Parameters generator_parameters; + generator_parameters.use_system_headers = true; + + grpc_c_generator::ProtoBufCFile pbfile(file); + + if (!parameter.empty()) { + std::vector parameters_list = + grpc_generator::tokenize(parameter, ","); + for (auto parameter_string = parameters_list.begin(); + parameter_string != parameters_list.end(); parameter_string++) { + std::vector param = + grpc_generator::tokenize(*parameter_string, "="); + if (param[0] == "grpc_search_path") { + generator_parameters.grpc_search_path = param[1]; + } else if (param[0] == "nanopb_headers_prefix") { + generator_parameters.nanopb_headers_prefix = param[1]; + } else if (param[0] == "use_system_headers") { + if (param[1] == "true") { + generator_parameters.use_system_headers = true; + } else if (param[1] == "false") { + generator_parameters.use_system_headers = false; + } else { + *error = grpc::string("Invalid parameter: ") + *parameter_string; + return false; + } + } else { + *error = grpc::string("Unknown parameter: ") + *parameter_string; + return false; + } + } + } + + grpc::string header_code = + grpc_c_generator::GetHeaderPrologue(&pbfile, generator_parameters) + + grpc_c_generator::GetHeaderIncludes(&pbfile, generator_parameters) + + grpc_c_generator::GetHeaderServices(&pbfile, generator_parameters) + + grpc_c_generator::GetHeaderEpilogue(&pbfile, generator_parameters); + std::unique_ptr header_output( + context->Open(file_name + ".grpc.pbc.h")); + grpc::protobuf::io::CodedOutputStream header_coded_out(header_output.get()); + header_coded_out.WriteRaw(header_code.data(), header_code.size()); + + grpc::string source_code = + grpc_c_generator::GetSourcePrologue(&pbfile, generator_parameters) + + grpc_c_generator::GetSourceIncludes(&pbfile, generator_parameters) + + grpc_c_generator::GetSourceServices(&pbfile, generator_parameters) + + grpc_c_generator::GetSourceEpilogue(&pbfile, generator_parameters); + std::unique_ptr source_output( + context->Open(file_name + ".grpc.pbc.c")); + grpc::protobuf::io::CodedOutputStream source_coded_out(source_output.get()); + source_coded_out.WriteRaw(source_code.data(), source_code.size()); + + return true; + } + + private: + // Insert the given code into the given file at the given insertion point. + void Insert(grpc::protobuf::compiler::GeneratorContext *context, + const grpc::string &filename, const grpc::string &insertion_point, + const grpc::string &code) const { + std::unique_ptr output( + context->OpenForInsert(filename, insertion_point)); + grpc::protobuf::io::CodedOutputStream coded_out(output.get()); + coded_out.WriteRaw(code.data(), code.size()); + } +}; + +int main(int argc, char *argv[]) { + CGrpcGenerator generator; + return grpc::protobuf::compiler::PluginMain(argc, argv, &generator); +} diff --git a/src/zlib/gen_build_yaml.py b/src/zlib/gen_build_yaml.py index 0692edb753b48..24f7adabf1909 100755 --- a/src/zlib/gen_build_yaml.py +++ b/src/zlib/gen_build_yaml.py @@ -56,7 +56,7 @@ def cmvar(name): 'zlib': True, 'defaults': 'zlib', 'build': 'private', - 'language': 'c', + 'language': 'core', 'secure': 'no', 'src': sorted(cmvar('ZLIB_SRCS')), 'headers': sorted(cmvar('ZLIB_PUBLIC_HDRS') + cmvar('ZLIB_PRIVATE_HDRS')), diff --git a/templates/BUILD.template b/templates/BUILD.template index 23a656c360852..d60a40be45939 100644 --- a/templates/BUILD.template +++ b/templates/BUILD.template @@ -51,6 +51,7 @@ deps.append("//external:protobuf_compiler") if (target_dict['name'] == 'grpc++_unsecure' or target_dict['name'] == 'grpc++' or + target_dict['name'] == 'grpc_c' or target_dict['name'] == 'grpc++_codegen_lib'): deps.append("//external:protobuf_clib") elif target_dict['name'] == 'grpc': diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template index 4e4223493b9ab..d2c8464ffd530 100644 --- a/templates/CMakeLists.txt.template +++ b/templates/CMakeLists.txt.template @@ -48,7 +48,7 @@ deps.append("${_gRPC_PROTOBUF_PROTOC_LIBRARIES}") if target_dict.get('secure', False): deps.append("${_gRPC_SSL_LIBRARIES}") - if target_dict['name'] in ['grpc++', 'grpc++_unsecure', 'grpc++_codegen_lib']: + if target_dict['name'] in ['grpc_c', 'grpc++', 'grpc++_unsecure', 'grpc++_codegen_lib']: deps.append("${_gRPC_PROTOBUF_LIBRARIES}") elif target_dict['name'] in ['grpc']: deps.append("${_gRPC_ZLIB_LIBRARIES}") diff --git a/templates/Makefile.template b/templates/Makefile.template index 9afc6566e2faf..bbc820737baa4 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -47,6 +47,12 @@ return filename return '$(GENDIR)/' + m.group(1) + '.pb.cc $(GENDIR)/' + m.group(1) + '.grpc.pb.cc' + def proto_to_nanoc(filename): + m = proto_re.match(filename) + if not m: + return filename + return '$(GENDIR)/' + m.group(1) + '.pbc.c $(GENDIR)/' + m.group(1) + '.grpc.pbc.c' + sources_that_need_openssl = set() sources_that_don_t_need_openssl = set() @@ -64,6 +70,8 @@ return 'no-' + warning %> + # This is the first (default) target + default: all comma := , @@ -141,6 +149,35 @@ prefix ?= /usr/local + NANOPB_DIR := $(abspath third_party/nanopb) + NANOPB_CORE = $(NANOPB_DIR)/pb_encode.c $(NANOPB_DIR)/pb_decode.c $(NANOPB_DIR)/pb_common.c + NANOPB_DEP := $(NANOPB_DIR)/generator/proto/nanopb_pb2.py $(NANOPB_DIR)/generator/proto/plugin_pb2.py + + <%text> + SYSTEM_PYTHON_PROTOBUF_GOOD := $(shell \ + PYTHONPATH='' version=`python -c 'import google.protobuf; print(google.protobuf.__version__);' 2> /dev/null || true`; \ + major=`echo $$version | sed 's/\([0-9]*\).*/\1/'`; \ + majordef=$${major:-0}; \ + if [ $$majordef -ge 3 ]; then echo true; else echo false; fi;) + SYSTEM_PYTHON_PROTOBUF_FILE := $(shell python -c 'import google.protobuf; print(google.protobuf.__file__);' 2> /dev/null || true) + + + ifeq ($(SYSTEM_PYTHON_PROTOBUF_GOOD), true) + # For systems with built-in python-protobuf + nanopb_protobuf_dep: $(SYSTEM_PYTHON_PROTOBUF_FILE) + NANOPB_ACTIVATE_VENV := + else + # We need to install a local python-protobuf + NANOPB_VENV_DIR := $(abspath third_party/nanopb/nanopb_protobuf_dep/venv) + nanopb_protobuf_dep: $(NANOPB_VENV_DIR)/bin/activate + $(NANOPB_VENV_DIR)/bin/activate: + $(E) "[NANOPB] Installing Nanopb dependencies" + $(Q) virtualenv $(NANOPB_VENV_DIR) >/dev/null; \ + . $(NANOPB_VENV_DIR)/bin/activate; \ + pip install protobuf==3.0.0b2 >/dev/null; + NANOPB_ACTIVATE_VENV := . $(NANOPB_VENV_DIR)/bin/activate; + endif + PROTOC ?= protoc DTRACE ?= dtrace CONFIG ?= opt @@ -650,7 +687,8 @@ CPPFLAGS := -Ithird_party/protobuf/src $(CPPFLAGS) LDFLAGS := -L$(LIBDIR)/$(CONFIG)/protobuf $(LDFLAGS) ifneq ($(USE_BUILT_PROTOC),false) - PROTOC = $(BINDIR)/$(CONFIG)/protobuf/protoc + PROTOC = $(BINDIR)/opt/protobuf/protoc + PROTOC_DEP = $(PROTOC) PROTOC_PLUGINS = $(PROTOC_PLUGINS_ALL) else PROTOC_PLUGINS = @@ -690,6 +728,31 @@ PC_LIB = -lgrpc++ GRPCXX_UNSECURE_PC_FILE := $(PC_TEMPLATE) + + + PC_REQUIRES_GRPC_C = + PC_LIBS_GRPC_C = + + # grpc_c .pc file + PC_NAME = gRPC C + PC_DESCRIPTION = C wrapper for gRPC + PC_CFLAGS = + PC_REQUIRES_PRIVATE = grpc $(PC_REQUIRES_GRPC_C) + PC_LIBS_PRIVATE = $(PC_LIBS_GRPC_C) + PC_LIB = -lgrpc_c + GRPC_C_PC_FILE := $(PC_TEMPLATE) + + # grpc_c_unsecure .pc file + PC_NAME = gRPC C unsecure + PC_DESCRIPTION = C wrapper for gRPC without SSL + PC_CFLAGS = + PC_REQUIRES_PRIVATE = grpc_unsecure $(PC_REQUIRES_GRPC_C) + PC_LIBS_PRIVATE = $(PC_LIBS_GRPC_C) + PC_LIB = -lgrpc_c + GRPC_C_UNSECURE_PC_FILE := $(PC_TEMPLATE) + + + ifeq ($(MAKECMDGOALS),clean) NO_DEPS = true endif @@ -704,7 +767,7 @@ .SECONDARY = %.pb.h %.pb.cc ifeq ($(DEP_MISSING),) - all: static shared plugins\ + all: nanopb_protobuf_dep static shared plugins\ % for tgt in targets: % if tgt.build == 'all': $(BINDIR)/$(CONFIG)/${tgt.name}\ @@ -822,18 +885,24 @@ $(E) "[AUTOGEN] Preparing protobuf" $(Q)(cd third_party/protobuf ; autoreconf -f -i -Wall,no-obsolete) - $(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a: third_party/protobuf/configure + $(BINDIR)/opt/protobuf/protoc: third_party/protobuf/configure + $(E) "[MAKE] Building protoc" + $(Q)(cd third_party/protobuf ; CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS_opt) -g $(PROTOBUF_LDFLAGS_EXTRA)" CPPFLAGS="$(PIC_CPPFLAGS) $(CPPFLAGS_opt) -g $(PROTOBUF_CPPFLAGS_EXTRA)" ./configure --disable-shared --enable-static $(PROTOBUF_CONFIG_OPTS)) + $(Q)$(MAKE) -C third_party/protobuf clean + $(Q)$(MAKE) -C third_party/protobuf + $(Q)mkdir -p $(BINDIR)/opt/protobuf + $(Q)cp third_party/protobuf/src/protoc $(BINDIR)/opt/protobuf + + $(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a: third_party/protobuf/configure $(BINDIR)/opt/protobuf/protoc $(E) "[MAKE] Building protobuf" - $(Q)(cd third_party/protobuf ; CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS_$(CONFIG)) -g $(PROTOBUF_LDFLAGS_EXTRA)" CPPFLAGS="$(PIC_CPPFLAGS) $(CPPFLAGS_$(CONFIG)) -g $(PROTOBUF_CPPFLAGS_EXTRA)" ./configure --disable-shared --enable-static $(PROTOBUF_CONFIG_OPTS)) + $(Q)(cd third_party/protobuf ; CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS_$(CONFIG)) -g $(PROTOBUF_LDFLAGS_EXTRA)" CPPFLAGS="$(PIC_CPPFLAGS) $(CPPFLAGS_$(CONFIG)) -g $(PROTOBUF_CPPFLAGS_EXTRA)" ./configure --disable-shared --enable-static --with-protoc=$(BINDIR)/opt/protobuf/protoc $(PROTOBUF_CONFIG_OPTS)) $(Q)$(MAKE) -C third_party/protobuf clean $(Q)$(MAKE) -C third_party/protobuf $(Q)mkdir -p $(LIBDIR)/$(CONFIG)/protobuf - $(Q)mkdir -p $(BINDIR)/$(CONFIG)/protobuf - $(Q)cp third_party/protobuf/src/.libs/libprotoc.a $(LIBDIR)/$(CONFIG)/protobuf $(Q)cp third_party/protobuf/src/.libs/libprotobuf.a $(LIBDIR)/$(CONFIG)/protobuf - $(Q)cp third_party/protobuf/src/protoc $(BINDIR)/$(CONFIG)/protobuf + $(Q)cp third_party/protobuf/src/.libs/libprotoc.a $(LIBDIR)/$(CONFIG)/protobuf - static: static_c static_cxx + static: static_c static_core static_cxx static_c: pc_c pc_c_unsecure cache.mk \ % for lib in libs: @@ -844,6 +913,14 @@ % endif % endfor + static_core: pc_core pc_core_unsecure cache.mk \ + % for lib in libs: + % if 'Makefile' in lib.get('build_system', ['Makefile']): + % if lib.build == 'all' and lib.language == 'core' and not lib.get('external_deps', None): + $(LIBDIR)/$(CONFIG)/lib${lib.name}.a\ + % endif + % endif + % endfor static_cxx: pc_cxx pc_cxx_unsecure cache.mk \ % for lib in libs: @@ -855,7 +932,7 @@ % endfor - shared: shared_c shared_cxx + shared: shared_c shared_core shared_cxx shared_c: pc_c pc_c_unsecure cache.mk\ % for lib in libs: @@ -866,6 +943,15 @@ % endif % endfor + shared_core: pc_core pc_core_unsecure cache.mk\ + % for lib in libs: + % if 'Makefile' in lib.get('build_system', ['Makefile']): + % if lib.build == 'all' and lib.language == 'core' and not lib.get('external_deps', None): + $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)${lib.name}$(SHARED_VERSION).$(SHARED_EXT)\ + % endif + % endif + % endfor + shared_cxx: pc_cxx pc_cxx_unsecure cache.mk\ % for lib in libs: % if 'Makefile' in lib.get('build_system', ['Makefile']): @@ -876,7 +962,7 @@ % endfor - shared_csharp: shared_c \ + shared_csharp: shared_core \ % for lib in libs: % if 'Makefile' in lib.get('build_system', ['Makefile']): % if lib.build == 'all' and lib.language == 'csharp': @@ -889,7 +975,7 @@ plugins: $(PROTOC_PLUGINS) - privatelibs: privatelibs_c privatelibs_cxx + privatelibs: privatelibs_c privatelibs_core privatelibs_cxx privatelibs_c: \ % for lib in libs: @@ -900,9 +986,22 @@ % endif % endfor - pc_c: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc + privatelibs_core: \ + % for lib in libs: + % if 'Makefile' in lib.get('build_system', ['Makefile']): + % if lib.build == 'private' and lib.language == 'core' and not lib.get('external_deps', None) and not lib.boringssl: + $(LIBDIR)/$(CONFIG)/lib${lib.name}.a\ + % endif + % endif + % endfor + + pc_c: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_c.pc + + pc_c_unsecure: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_c_unsecure.pc - pc_c_unsecure: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc + pc_core: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc + + pc_core_unsecure: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc pc_cxx: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++.pc @@ -931,15 +1030,21 @@ endif - buildtests: buildtests_c buildtests_cxx + buildtests: buildtests_c buildtests_core buildtests_cxx buildtests_c: privatelibs_c <%text>\ % for tgt in targets: - % if tgt.build == 'test' and not tgt.language == 'c++' and not tgt.get('external_deps', None): + % if tgt.build == 'test' and tgt.language == 'c' and not tgt.get('external_deps', None): $(BINDIR)/$(CONFIG)/${tgt.name} <%text>\ % endif % endfor + buildtests_core: privatelibs_core <%text>\ + % for tgt in targets: + % if tgt.build == 'test' and tgt.language == 'core' and not tgt.get('external_deps', None): + $(BINDIR)/$(CONFIG)/${tgt.name} <%text>\ + % endif + % endfor ifeq ($(EMBED_OPENSSL),true) buildtests_cxx: privatelibs_cxx <%text>\ @@ -959,29 +1064,26 @@ endif + test: test_c test_core test_cxx - test: test_c test_cxx - - flaky_test: flaky_test_c flaky_test_cxx + flaky_test: flaky_test_c flaky_test_core flaky_test_cxx test_c: buildtests_c % for tgt in targets: - % if tgt.build == 'test' and tgt.get('run', True) and not tgt.language == 'c++' and not tgt.get('flaky', False) and not tgt.get('external_deps', None): + % if tgt.build == 'test' and tgt.get('run', True) and tgt.language == 'c' and not tgt.get('flaky', False) and not tgt.get('external_deps', None): $(E) "[RUN] Testing ${tgt.name}" $(Q) $(BINDIR)/$(CONFIG)/${tgt.name} || ( echo test ${tgt.name} failed ; exit 1 ) % endif % endfor - flaky_test_c: buildtests_c % for tgt in targets: - % if tgt.build == 'test' and tgt.get('run', True) and not tgt.language == 'c++' and tgt.get('flaky', False) and not tgt.get('external_deps', None): + % if tgt.build == 'test' and tgt.get('run', True) and tgt.language == 'c' and tgt.get('flaky', False) and not tgt.get('external_deps', None): $(E) "[RUN] Testing ${tgt.name}" $(Q) $(BINDIR)/$(CONFIG)/${tgt.name} || ( echo test ${tgt.name} failed ; exit 1 ) % endif % endfor - test_cxx: buildtests_cxx % for tgt in targets: % if tgt.build == 'test' and tgt.get('run', True) and tgt.language == 'c++' and not tgt.get('flaky', False) and not tgt.get('external_deps', None): @@ -990,7 +1092,6 @@ % endif % endfor - flaky_test_cxx: buildtests_cxx % for tgt in targets: % if tgt.build == 'test' and tgt.get('run', True) and tgt.language == 'c++' and tgt.get('flaky', False) and not tgt.get('external_deps', None): @@ -999,26 +1100,47 @@ % endif % endfor + test_core: buildtests_core + % for tgt in targets: + % if tgt.build == 'test' and tgt.get('run', True) and tgt.language == 'core' and not tgt.get('flaky', False) and not tgt.get('external_deps', None): + $(E) "[RUN] Testing ${tgt.name}" + $(Q) $(BINDIR)/$(CONFIG)/${tgt.name} || ( echo test ${tgt.name} failed ; exit 1 ) + % endif + % endfor + + flaky_test_core: buildtests_core + % for tgt in targets: + % if tgt.build == 'test' and tgt.get('run', True) and tgt.language == 'core' and tgt.get('flaky', False) and not tgt.get('external_deps', None): + $(E) "[RUN] Testing ${tgt.name}" + $(Q) $(BINDIR)/$(CONFIG)/${tgt.name} || ( echo test ${tgt.name} failed ; exit 1 ) + % endif + % endfor - test_python: static_c + test_python: static_core $(E) "[RUN] Testing python code" $(Q) tools/run_tests/run_tests.py -lpython -c$(CONFIG) - tools: tools_c tools_cxx + tools: tools_c tools_core tools_cxx tools_c: privatelibs_c\ % for tgt in targets: - % if tgt.build == 'tool' and not tgt.language=='c++': + % if tgt.build == 'tool' and tgt.language == 'c': $(BINDIR)/$(CONFIG)/${tgt.name}\ % endif % endfor + tools_core: privatelibs_core\ + % for tgt in targets: + % if tgt.build == 'tool' and not tgt.language == 'core': + $(BINDIR)/$(CONFIG)/${tgt.name}\ + % endif + % endfor tools_cxx: privatelibs_cxx\ % for tgt in targets: - % if tgt.build == 'tool' and tgt.language=='c++': + % if tgt.build == 'tool' and tgt.language == 'c++': $(BINDIR)/$(CONFIG)/${tgt.name}\ % endif % endfor @@ -1036,9 +1158,9 @@ strip: strip-static strip-shared - strip-static: strip-static_c strip-static_cxx + strip-static: strip-static_c strip-static_core strip-static_cxx - strip-shared: strip-shared_c strip-shared_cxx + strip-shared: strip-shared_c strip-static_core strip-shared_cxx # TODO(nnoble): the strip target is stripping in-place, instead @@ -1061,6 +1183,22 @@ % endfor endif + strip-static_core: static_core + ifeq ($(CONFIG),opt) + % for lib in libs: + % if 'Makefile' in lib.get('build_system', ['Makefile']): + % if lib.language == "core": + % if lib.build == "all": + % if not lib.get('external_deps', None): + $(E) "[STRIP] Stripping lib${lib.name}.a" + $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/lib${lib.name}.a + % endif + % endif + % endif + % endif + % endfor + endif + strip-static_cxx: static_cxx ifeq ($(CONFIG),opt) % for lib in libs: @@ -1091,6 +1229,22 @@ % endfor endif + strip-shared_core: shared_core + ifeq ($(CONFIG),opt) + % for lib in libs: + % if 'Makefile' in lib.get('build_system', ['Makefile']): + % if lib.language == "core": + % if lib.build == "all": + % if not lib.get('external_deps', None): + $(E) "[STRIP] Stripping $(SHARED_PREFIX)${lib.name}$(SHARED_VERSION).$(SHARED_EXT)" + $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)${lib.name}$(SHARED_VERSION).$(SHARED_EXT) + % endif + % endif + % endif + % endif + % endfor + endif + strip-shared_cxx: shared_cxx ifeq ($(CONFIG),opt) % for lib in libs: @@ -1133,6 +1287,16 @@ $(Q) mkdir -p $(@D) $(Q) echo "$(GRPC_UNSECURE_PC_FILE)" | tr , '\n' >$@ + $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_c.pc: + $(E) "[MAKE] Generating $@" + $(Q) mkdir -p $(@D) + $(Q) echo "$(GRPC_C_PC_FILE)" | tr , '\n' >$@ + + $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_c_unsecure.pc: + $(E) "[MAKE] Generating $@" + $(Q) mkdir -p $(@D) + $(Q) echo "$(GRPC_C_UNSECURE_PC_FILE)" | tr , '\n' >$@ + $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++.pc: $(E) "[MAKE] Generating $@" $(Q) mkdir -p $(@D) @@ -1148,15 +1312,25 @@ $(GENDIR)/${p}.pb.cc: protoc_dep_error $(GENDIR)/${p}.grpc.pb.cc: protoc_dep_error else - $(GENDIR)/${p}.pb.cc: ${p}.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) ${' '.join('$(GENDIR)/%s.pb.cc' % q for q in proto_deps.get(p, []))} + $(GENDIR)/${p}.pb.cc: ${p}.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) ${' '.join('$(GENDIR)/%s.pb.cc' % q for q in proto_deps.get(p, []))} $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $< - $(GENDIR)/${p}.grpc.pb.cc: ${p}.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) ${' '.join('$(GENDIR)/%s.pb.cc $(GENDIR)/%s.grpc.pb.cc' % (q,q) for q in proto_deps.get(p, []))} + $(GENDIR)/${p}.pbc.c: ${p}.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(NANOPB_DEP) nanopb_protobuf_dep ${' '.join('$(GENDIR)/%s.pbc.c' % q for q in proto_deps.get(p, []))} + $(E) "[PROTOC] Generating nanopb C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(NANOPB_ACTIVATE_VENV) $(PROTOC) -Ithird_party/protobuf/src -I. --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb --nanopb_out="--extension=.pbc --library-include-format='#include '":$(GENDIR) $<; + + $(GENDIR)/${p}.grpc.pb.cc: ${p}.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) ${' '.join('$(GENDIR)/%s.pb.cc $(GENDIR)/%s.grpc.pb.cc' % (q,q) for q in proto_deps.get(p, []))} $(E) "[GRPC] Generating gRPC's protobuf service CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin $< + + $(GENDIR)/${p}.grpc.pbc.c: ${p}.proto $(PROTOC_DEP) $(PROTOC_PLUGINS) $(GENDIR)/${p}.pbc.c ${' '.join('$(GENDIR)/%s.pbc.c $(GENDIR)/%s.grpc.pbc.c' % (q,q) for q in proto_deps.get(p, []))} + $(E) "[GRPC] Generating gRPC-C's protobuf service C file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=nanopb_headers_prefix=third_party/nanopb/:$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_c_plugin $< endif % endfor @@ -1193,29 +1367,36 @@ $(Q) mkdir -p `dirname $@` $(Q) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< - install: install_c install_cxx install-plugins install-certs verify-install + install: install_c install_core install_cxx install-plugins install-certs verify-install install_c: install-headers_c install-static_c install-shared_c + install_core: install-headers_core install-static_core install-shared_core + install_cxx: install-headers_cxx install-static_cxx install-shared_cxx - install_csharp: install-shared_csharp install_c + install_csharp: install-shared_csharp install_core install_grpc_csharp_ext: install_csharp - install-headers: install-headers_c install-headers_cxx + install-headers: install-headers_c install-headers_core install-headers_cxx install-headers_c: $(E) "[INSTALL] Installing public C headers" $(Q) $(foreach h, $(PUBLIC_HEADERS_C), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1 $(Q) $(foreach h, $(PUBLIC_HEADERS_C), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1 + install-headers_core: + $(E) "[INSTALL] Installing public C core headers" + $(Q) $(foreach h, $(PUBLIC_HEADERS_CORE), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1 + $(Q) $(foreach h, $(PUBLIC_HEADERS_CORE), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1 + install-headers_cxx: $(E) "[INSTALL] Installing public C++ headers" $(Q) $(foreach h, $(PUBLIC_HEADERS_CXX), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1 $(Q) $(foreach h, $(PUBLIC_HEADERS_CXX), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1 - install-static: install-static_c install-static_cxx + install-static: install-static_c install-static_core install-static_cxx install-static_c: static_c strip-static_c install-pkg-config_c % for lib in libs: @@ -1232,6 +1413,21 @@ % endif % endfor + install-static_core: static_core strip-static_core install-pkg-config_core + % for lib in libs: + % if 'Makefile' in lib.get('build_system', ['Makefile']): + % if lib.language == "core": + % if lib.build == "all": + % if not lib.get('external_deps', None): + $(E) "[INSTALL] Installing lib${lib.name}.a" + $(Q) $(INSTALL) -d $(prefix)/lib + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/lib${lib.name}.a $(prefix)/lib/lib${lib.name}.a + % endif + % endif + % endif + % endif + % endfor + install-static_cxx: static_cxx strip-static_cxx install-pkg-config_cxx % for lib in libs: % if 'Makefile' in lib.get('build_system', ['Makefile']): @@ -1275,6 +1471,9 @@ install-shared_c: shared_c strip-shared_c install-pkg-config_c ${install_shared("c")} + install-shared_core: shared_core strip-shared_core install-pkg-config_core + ${install_shared("core")} + install-shared_cxx: shared_cxx strip-shared_cxx install-shared_c install-pkg-config_cxx ${install_shared("c++")} @@ -1297,6 +1496,12 @@ install-pkg-config_c: pc_c pc_c_unsecure $(E) "[INSTALL] Installing C pkg-config files" $(Q) $(INSTALL) -d $(prefix)/lib/pkgconfig + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_c.pc $(prefix)/lib/pkgconfig/grpc_c.pc + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_c_unsecure.pc $(prefix)/lib/pkgconfig/grpc_c_unsecure.pc + + install-pkg-config_core: pc_core pc_core_unsecure + $(E) "[INSTALL] Installing C core pkg-config files" + $(Q) $(INSTALL) -d $(prefix)/lib/pkgconfig $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc $(prefix)/lib/pkgconfig/grpc.pc $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc $(prefix)/lib/pkgconfig/grpc_unsecure.pc @@ -1354,18 +1559,29 @@ % endfor <%def name="makelib(lib)"> + # Using nanopb for C files right now LIB${lib.name.upper()}_SRC = \\ + % if lib.language == "c++": % for src in lib.src: ${proto_to_cc(src)} \\ % endfor + % else: + % for src in lib.src: + ${proto_to_nanoc(src)} \\ + + % endfor + % endif % if "public_headers" in lib: % if lib.language == "c++": PUBLIC_HEADERS_CXX += \\ - % else: + % elif lib.language == "core": + PUBLIC_HEADERS_CORE += \\ + + % elif lib.language == "c": PUBLIC_HEADERS_C += \\ % endif @@ -1559,9 +1775,15 @@ % if lib.get('secure', 'check') == True or lib.get('secure', 'check') == 'check': endif % endif + + # Force compilation of proto files before building code that could potentially depend on them % for src in lib.src: % if not proto_re.match(src) and any(proto_re.match(src2) for src2 in lib.src): - $(OBJDIR)/$(CONFIG)/${os.path.splitext(src)[0]}.o: ${' '.join(proto_to_cc(src2) for src2 in lib.src if proto_re.match(src2))} + % if lib.language == 'c++': + $(OBJDIR)/$(CONFIG)/${os.path.splitext(src)[0]}.o: ${' '.join(proto_to_cc(src2) for src2 in lib.src if proto_re.match(src2))} + % else: + $(OBJDIR)/$(CONFIG)/${os.path.splitext(src)[0]}.o: ${' '.join(proto_to_nanoc(src2) for src2 in lib.src if proto_re.match(src2))} + % endif % endif % endfor @@ -1570,10 +1792,17 @@ % if not has_no_sources: ${tgt.name.upper()}_SRC = \\ + % if tgt.language == "c++": % for src in tgt.src: ${proto_to_cc(src)} \\ % endfor + % else: + % for src in tgt.src: + ${proto_to_nanoc(src)} \\ + + % endfor + % endif ${tgt.name.upper()}_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(${tgt.name.upper()}_SRC)))) % endif @@ -1619,7 +1848,8 @@ $(BINDIR)/$(CONFIG)/${tgt.name}: \ % if not has_no_sources: - $(PROTOBUF_DEP) $(${tgt.name.upper()}_OBJS)\ + $(PROTOBUF_DEP) \ + $(${tgt.name.upper()}_OBJS)\ % endif % else: $(BINDIR)/$(CONFIG)/${tgt.name}: \ @@ -1726,9 +1956,15 @@ endif % endif % endif + + # Force compilation of proto files before building code that could potentially depend on them % for src in tgt.src: % if not proto_re.match(src) and any(proto_re.match(src2) for src2 in tgt.src): - $(OBJDIR)/$(CONFIG)/${os.path.splitext(src)[0]}.o: ${' '.join(proto_to_cc(src2) for src2 in tgt.src if proto_re.match(src2))} + % if tgt.language == 'c++': + $(OBJDIR)/$(CONFIG)/${os.path.splitext(src)[0]}.o: ${' '.join(proto_to_cc(src2) for src2 in tgt.src if proto_re.match(src2))} + % else: + $(OBJDIR)/$(CONFIG)/${os.path.splitext(src)[0]}.o: ${' '.join(proto_to_nanoc(src2) for src2 in tgt.src if proto_re.match(src2))} + % endif % endif % endfor @@ -1744,18 +1980,21 @@ % endfor endif - .PHONY: all strip tools \ + .PHONY: all all strip tools \ dep_error openssl_dep_error openssl_dep_message git_update stop \ - buildtests buildtests_c buildtests_cxx \ - test test_c test_cxx \ - install install_c install_cxx \ - install-headers install-headers_c install-headers_cxx \ - install-shared install-shared_c install-shared_cxx \ - install-static install-static_c install-static_cxx \ + buildtests buildtests_c buildtests_core buildtests_cxx \ + buildtests_c buildtests_cxx \ + test test test_c test_core test_cxx \ + test_c test_cxx \ + install install_c install_core install_cxx \ + install-headers install-headers_c install-headers_core install-headers_cxx \ + install-shared install-shared_c install-shared_core install-shared_cxx \ + install-static install-static_c install-static_core install-static_cxx \ strip strip-shared strip-static \ strip_c strip-shared_c strip-static_c \ + strip_core strip-shared_core strip-static_core \ strip_cxx strip-shared_cxx strip-static_cxx \ - dep_c dep_cxx bins_dep_c bins_dep_cxx \ + dep_c dep_core dep_cxx bins_dep_c bins_dep_core bins_dep_cxx \ clean .PHONY: printvars @@ -1763,3 +2002,8 @@ @$(foreach V,$(sort $(.VARIABLES)), \ $(if $(filter-out environment% default automatic, \ $(origin $V)),$(warning $V=$($V) ($(value $V))))) + + # Build Nanopb before using it (these lines duplicate the functionality of the Nanopb Makefile, which cannot use the PROTOC variable) + $(NANOPB_DIR)/generator/proto/%_pb2.py: $(NANOPB_DIR)/generator/proto/%.proto $(PROTOC_DEP) + $(E) "[NANOPB] Compiling $<" + $(Q) PYTHONPATH=third_party/protobuf/python $(PROTOC) --proto_path=$(dir $<) --python_out=$(dir $<) $<; diff --git a/templates/README.md b/templates/README.md index eedc6e9c09fa5..efbc8b0ead519 100644 --- a/templates/README.md +++ b/templates/README.md @@ -73,6 +73,9 @@ build: "build type", # in which situation we want that library to be # built and potentially installed (see below). language: "...", # the language tag; "c" or "c++" public_headers: # list of public headers to install +do_not_enforce_c89_public_headers: boolean # set to true to exempt this library + # from the C89 header requirement. C public headers + # must be C89 compliant by default. headers: # list of headers used by that target src: # list of files to compile secure: boolean, # see below diff --git a/templates/test/core/surface/public_headers_must_be_c89.c.template b/templates/test/core/surface/public_headers_must_be_c89.c.template index d33ffda583ba9..e892f5572f7aa 100644 --- a/templates/test/core/surface/public_headers_must_be_c89.c.template +++ b/templates/test/core/surface/public_headers_must_be_c89.c.template @@ -40,10 +40,19 @@ if platform_identifier in hdr: return True return False + def is_lib_exempted(lib): + try: + if lib.do_not_enforce_c89_public_headers == True: + return True + else: + return False + except AttributeError: + return False hdrs = set() pfx = 'include/' for lib in libs: - if lib.language != 'c': continue + if lib.language != 'c' and lib.language != 'core': continue + if is_lib_exempted(lib): continue for hdr in lib.get('public_headers', []): if is_platform_header(hdr): continue if 'grpc_cronet.h' in hdr: continue diff --git a/templates/tools/run_tests/sources_and_headers.json.template b/templates/tools/run_tests/sources_and_headers.json.template index 07559828dc49a..713ad5d61cec5 100644 --- a/templates/tools/run_tests/sources_and_headers.json.template +++ b/templates/tools/run_tests/sources_and_headers.json.template @@ -4,12 +4,18 @@ import json import os - def proto_headers(src): + def proto_headers(tgt): out = [] + fmt_strs = [] + if tgt.language == 'c' or tgt.language == 'core': + fmt_strs = ['%s.grpc.pbc.h', '%s.pbc.h'] + else: + fmt_strs = ['%s.grpc.pb.h', '%s.pb.h'] + src = tgt.own_src for f in src: name, ext = os.path.splitext(f) if ext == '.proto': - out.extend(fmt % name for fmt in ['%s.grpc.pb.h', '%s.pb.h']) + out.extend(fmt % name for fmt in fmt_strs) return out def all_targets(targets, libs, filegroups): @@ -46,7 +52,7 @@ "headers": sorted( tgt.own_public_headers + tgt.own_headers + - proto_headers(tgt.own_src)), + proto_headers(tgt)), "deps": sorted(tgt.get('deps', []) + tgt.get('uses', []) + tgt.get('filegroups', []))} diff --git a/templates/vsprojects/buildtests_core.sln.template b/templates/vsprojects/buildtests_core.sln.template new file mode 100644 index 0000000000000..d7310eadf7671 --- /dev/null +++ b/templates/vsprojects/buildtests_core.sln.template @@ -0,0 +1,13 @@ +%YAML 1.2 +--- | + <%namespace file="sln_defs.include" import="gen_solution"/>\ + <% + solution_projects = [ + p for p in vsprojects + if p.build in ['test', 'tool'] + and p.language == 'core' + and not p.boringssl + and not p.zlib + ] + %>\ + ${gen_solution(solution_projects, use_dlls='yes')} diff --git a/templates/vsprojects/grpc.sln.template b/templates/vsprojects/grpc.sln.template index ded98383dad0e..81ce7c8d6b97c 100644 --- a/templates/vsprojects/grpc.sln.template +++ b/templates/vsprojects/grpc.sln.template @@ -2,6 +2,6 @@ --- | <%namespace file="sln_defs.include" import="gen_solution"/>\ <% - solution_projects = [p for p in vsprojects if p.build not in ['protoc', 'test', 'fuzzer'] and p.language in ['c', 'c++'] and p.vs_proj_dir == '.' and not (p.build == 'private' and p.language == 'c++')] + solution_projects = [p for p in vsprojects if p.build not in ['protoc', 'test', 'fuzzer'] and p.language in ['c', 'core', 'c++'] and p.vs_proj_dir == '.' and not (p.build == 'private' and p.language == 'c++')] %>\ ${gen_solution(solution_projects, use_dlls='yes')} diff --git a/test/c/end2end/end2end_test.cc b/test/c/end2end/end2end_test.cc new file mode 100644 index 0000000000000..750f7e861e31e --- /dev/null +++ b/test/c/end2end/end2end_test.cc @@ -0,0 +1,248 @@ +/* + * + * 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. + * + */ + +/** + * Compatibility for GCC 4.4 + */ +#if (__GNUC__ == 4) && (__GNUC_MINOR__ <= 4) +// Workaround macro bug +#define _GLIBCXX_USE_NANOSLEEP +#endif + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Import the relevant bits in gRPC-C runtime +extern "C" { +#include +#include +} + +// Import the C client which actually runs the tests +extern "C" { +#include "test/c/end2end/end2end_test_client.h" +} + +#include "src/core/lib/security/credentials/credentials.h" +#include "test/core/util/port.h" +#include "test/core/util/test_config.h" +#include "test/cpp/end2end/test_service_impl.h" +#include "test/cpp/util/string_ref_helper.h" +#include "test/cpp/util/test_credentials_provider.h" + +/** + * End-to-end tests for the gRPC C API. + * This test involves generated code as well. + * As of early July 2016, this C API does not support creating servers, so we pull in a server implementation for C++ + * and put this test under the C++ build. + */ + +namespace grpc { +namespace testing { +namespace { + +class End2endTest { +public: + End2endTest() + : is_server_started_(false), + kMaxMessageSize_(8192), + c_channel_(NULL) { + } + + ~End2endTest() { + GRPC_channel_destroy(&c_channel_); + } + + void TearDown() { + if (is_server_started_) { + server_->Shutdown(); + } + } + + void StartServer(const std::shared_ptr &processor) { + int port = grpc_pick_unused_port_or_die(); + server_address_ << "127.0.0.1:" << port; + // Setup server + ServerBuilder builder; + + builder.AddListeningPort(server_address_.str(), InsecureServerCredentials()); + builder.RegisterService(&service_); + builder.SetMaxMessageSize( + kMaxMessageSize_); // For testing max message size. + server_ = builder.BuildAndStart(); + is_server_started_ = true; + } + + void ResetChannel() { + if (!is_server_started_) { + StartServer(std::shared_ptr()); + } + EXPECT_TRUE(is_server_started_); + + // TODO(yifeit): add credentials + if (c_channel_) GRPC_channel_destroy(&c_channel_); + c_channel_ = GRPC_channel_create(server_address_.str().c_str()); + } + + void ResetStub() { + ResetChannel(); + } + + bool is_server_started_; + + std::unique_ptr server_; + std::ostringstream server_address_; + const int kMaxMessageSize_; + TestServiceImpl service_; + grpc::string user_agent_prefix_; + + GRPC_channel *c_channel_; +}; + +class UnaryEnd2endTest : public End2endTest { +protected: +}; + +class ClientStreamingEnd2endTest : public End2endTest { +protected: +}; + +class ServerStreamingEnd2endTest : public End2endTest { +protected: +}; + +class BidiStreamingEnd2endTest : public End2endTest { +protected: +}; + +class AsyncUnaryEnd2endTest : public End2endTest { +protected: +}; + +TEST(End2endTest, UnaryRpc) { + UnaryEnd2endTest test; + test.ResetStub(); + test_client_send_unary_rpc(test.c_channel_, 3); + test.TearDown(); +} + +static const int kNumThreads = 50; + +void racing_thread(UnaryEnd2endTest& test, bool& start_racing, std::mutex& mu, std::condition_variable& cv, int id) { + unsigned int seed = time(NULL) * kNumThreads + id; + { + std::unique_lock lock(mu); + while (!start_racing) { + cv.wait(lock); + } + } + for (int j = 0; j < 5; j++) { + std::this_thread::sleep_for(std::chrono::milliseconds(rand_r(&seed) % 3 + 1)); + test_client_send_unary_rpc(test.c_channel_, 5); + } +} + +TEST(End2endTest, UnaryRpcRacing) { + UnaryEnd2endTest test; + test.ResetStub(); + std::vector threads; + std::mutex mu; + std::condition_variable cv; + bool start_racing = false; + for (int i = 0; i < kNumThreads; i++) { + threads.push_back(std::thread(racing_thread, std::ref(test), std::ref(start_racing), std::ref(mu), std::ref(cv), i)); + } + { + std::unique_lock lock(mu); + start_racing = true; + cv.notify_all(); + } + for (int i = 0; i < kNumThreads; i++) { + threads[i].join(); + } + test.TearDown(); +} + +TEST(End2endTest, ClientStreamingRpc) { + ClientStreamingEnd2endTest test; + test.ResetStub(); + test_client_send_client_streaming_rpc(test.c_channel_, 3); + test.TearDown(); +} + +TEST(End2endTest, ServerStreamingRpc) { + ServerStreamingEnd2endTest test; + test.ResetStub(); + test_client_send_server_streaming_rpc(test.c_channel_, 3); + test.TearDown(); +} + +TEST(End2endTest, BidiStreamingRpc) { + BidiStreamingEnd2endTest test; + test.ResetStub(); + test_client_send_bidi_streaming_rpc(test.c_channel_, 3); + test.TearDown(); +} + +TEST(End2endTest, AsyncUnaryRpc) { + AsyncUnaryEnd2endTest test; + test.ResetStub(); + test_client_send_async_unary_rpc(test.c_channel_, 3); + test.TearDown(); +} + +} // namespace +} // namespace testing +} // namespace grpc + +int main(int argc, char** argv) { + grpc_test_init(argc, argv); + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/test/c/end2end/end2end_test_client.c b/test/c/end2end/end2end_test_client.c new file mode 100644 index 0000000000000..81cdafe276901 --- /dev/null +++ b/test/c/end2end/end2end_test_client.c @@ -0,0 +1,202 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/** + * This file contains the C part of end2end test. It is called by the GoogleTest-based C++ code. + */ + +#include "test/c/end2end/end2end_test_client.h" +#include "src/proto/grpc/testing/echo.grpc.pbc.h" +#include +#include +#include +#include +#include + +/** + * Nanopb callbacks for string encoding/decoding. + */ +static bool write_string_from_arg(pb_ostream_t *stream, const pb_field_t *field, void * const *arg) +{ + const char *str = *arg; + if (!pb_encode_tag_for_field(stream, field)) + return false; + + return pb_encode_string(stream, (uint8_t*)str, strlen(str)); +} + +/** + * This callback function reads a string from Nanopb stream and copies it into the callback args. + * Users need to free the string after use. + */ +static bool read_string_store_in_arg(pb_istream_t *stream, const pb_field_t *field, void **arg) { + size_t len = stream->bytes_left; + char *str = malloc(len + 1); + if (!pb_read(stream, (uint8_t *) str, len)) return false; + str[len] = '\0'; + *arg = str; + return true; +} + +void test_client_send_unary_rpc(GRPC_channel *channel, int repeat) { + int i; + for (i = 0; i < repeat; i++) { + grpc_testing_EchoRequest request = {.message = {.arg = "gRPC-C", .funcs.encode = write_string_from_arg}}; + grpc_testing_EchoResponse response = {.message = {.funcs.decode = read_string_store_in_arg}}; + + GRPC_client_context *context = GRPC_client_context_create(channel); + GRPC_status status = grpc_testing_EchoTestService_Echo(context, request, &response); + GPR_ASSERT(status.ok); + GPR_ASSERT(status.code == GRPC_STATUS_OK); + GPR_ASSERT(response.message.arg != NULL); + GPR_ASSERT(strcmp(response.message.arg, "gRPC-C") == 0); + free(response.message.arg); + GRPC_client_context_destroy(&context); + } +} + +void test_client_send_client_streaming_rpc(GRPC_channel *channel, int repeat) { + int i; + for (i = 0; i < repeat; i++) { + grpc_testing_EchoRequest request = {.message = {.arg = "gRPC-C", .funcs.encode = write_string_from_arg}}; + grpc_testing_EchoResponse response = {.message = {.funcs.decode = read_string_store_in_arg}}; + + GRPC_client_context *context = GRPC_client_context_create(channel); + GRPC_client_writer *writer = grpc_testing_EchoTestService_RequestStream(context, &response); + GPR_ASSERT(writer != NULL); + int j; + for (j = 0; j < 3; j++) { + GPR_ASSERT(grpc_testing_EchoTestService_RequestStream_Write(writer, request)); + } + GRPC_status status = grpc_testing_EchoTestService_RequestStream_Terminate(writer); + GPR_ASSERT(status.ok); + GPR_ASSERT(status.code == GRPC_STATUS_OK); + GPR_ASSERT(response.message.arg != NULL); + GPR_ASSERT(strcmp(response.message.arg, "gRPC-CgRPC-CgRPC-C") == 0); + free(response.message.arg); + GRPC_client_context_destroy(&context); + } +} + +void test_client_send_server_streaming_rpc(GRPC_channel *channel, int repeat) { + int i; + for (i = 0; i < repeat; i++) { + grpc_testing_EchoRequest request = {.message = {.arg = "gRPC-C", .funcs.encode = write_string_from_arg}}; + grpc_testing_EchoResponse response = {.message = {.funcs.decode = read_string_store_in_arg}}; + + GRPC_client_context *context = GRPC_client_context_create(channel); + GRPC_client_reader *reader = grpc_testing_EchoTestService_ResponseStream(context, request); + GPR_ASSERT(reader != NULL); + int j = 0; + while (grpc_testing_EchoTestService_ResponseStream_Read(reader, &response)) { + GPR_ASSERT(response.message.arg != NULL); + char *buf = malloc(strlen(response.message.arg) + 10); + sprintf(buf, "%s%d", "gRPC-C", j); + GPR_ASSERT(strcmp(buf, response.message.arg) == 0); + free(buf); + free(response.message.arg); + j++; + } + GPR_ASSERT(j > 0); + GRPC_status status = grpc_testing_EchoTestService_ResponseStream_Terminate(reader); + GPR_ASSERT(status.ok); + GPR_ASSERT(status.code == GRPC_STATUS_OK); + GRPC_client_context_destroy(&context); + } +} + +void test_client_send_bidi_streaming_rpc(GRPC_channel *channel, int repeat) { + int i; + for (i = 0; i < repeat; i++) { + grpc_testing_EchoRequest request = {.message = {.arg = "gRPC-C", .funcs.encode = write_string_from_arg}}; + grpc_testing_EchoResponse response = {.message = {.funcs.decode = read_string_store_in_arg}}; + + GRPC_client_context *context = GRPC_client_context_create(channel); + GRPC_client_reader_writer *reader_writer = grpc_testing_EchoTestService_BidiStream(context); + GPR_ASSERT(reader_writer != NULL); + + const int kNumRequestToSend = 3; + + int j; + for (j = 0; j < kNumRequestToSend; j++) { + GPR_ASSERT(grpc_testing_EchoTestService_BidiStream_Write(reader_writer, request)); + } + GPR_ASSERT(grpc_testing_EchoTestService_BidiStream_Writes_Done(reader_writer)); + + int count = 0; + while (grpc_testing_EchoTestService_BidiStream_Read(reader_writer, &response)) { + GPR_ASSERT(response.message.arg != NULL); + GPR_ASSERT(strcmp("gRPC-C", response.message.arg) == 0); + free(response.message.arg); + count++; + } + + GPR_ASSERT(kNumRequestToSend == count); + GRPC_status status = grpc_testing_EchoTestService_BidiStream_Terminate(reader_writer); + GPR_ASSERT(status.ok); + GPR_ASSERT(status.code == GRPC_STATUS_OK); + GRPC_client_context_destroy(&context); + } +} + +void test_client_send_async_unary_rpc(GRPC_channel *channel, int repeat) { + int i; + for (i = 0; i < repeat; i++) { + grpc_testing_EchoRequest request = {.message = {.arg = "gRPC-C", .funcs.encode = write_string_from_arg}}; + grpc_testing_EchoResponse response = {.message = {.funcs.decode = read_string_store_in_arg}}; + + GRPC_client_context *context = GRPC_client_context_create(channel); + GRPC_completion_queue *cq = GRPC_completion_queue_create(); + + bool ok; + void *tag; + GRPC_client_async_response_reader *async_reader = grpc_testing_EchoTestService_Echo_Async(context, cq, request); + GPR_ASSERT(async_reader != NULL); + grpc_testing_EchoTestService_Echo_Finish(async_reader, &response, (void *) 12345); + GRPC_completion_queue_next(cq, &tag, &ok); + GPR_ASSERT(ok); + GPR_ASSERT(tag == (void*) 12345); + + GRPC_status status = GRPC_get_call_status(context); + GPR_ASSERT(status.ok); + GPR_ASSERT(status.code == GRPC_STATUS_OK); + GPR_ASSERT(response.message.arg != NULL); + GPR_ASSERT(strcmp(response.message.arg, "gRPC-C") == 0); + free(response.message.arg); + + GRPC_client_context_destroy(&context); + GRPC_completion_queue_shutdown(cq); + GRPC_completion_queue_shutdown_wait(cq); + GRPC_completion_queue_destroy(cq); + } +} diff --git a/test/c/end2end/end2end_test_client.h b/test/c/end2end/end2end_test_client.h new file mode 100644 index 0000000000000..ab61e0a2bfee6 --- /dev/null +++ b/test/c/end2end/end2end_test_client.h @@ -0,0 +1,45 @@ +/* + * + * 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_END2END_TEST_CLIENT_H +#define GRPC_END2END_TEST_CLIENT_H + +#include + +void test_client_send_unary_rpc(GRPC_channel *channel, int repeat); +void test_client_send_client_streaming_rpc(GRPC_channel *channel, int repeat); +void test_client_send_server_streaming_rpc(GRPC_channel *channel, int repeat); +void test_client_send_bidi_streaming_rpc(GRPC_channel *channel, int repeat); +void test_client_send_async_unary_rpc(GRPC_channel *channel, int repeat); + +#endif // GRPC_END2END_TEST_CLIENT_H diff --git a/test/c/end2end/generic_end2end_test.cc b/test/c/end2end/generic_end2end_test.cc new file mode 100644 index 0000000000000..89fbe1eac91ee --- /dev/null +++ b/test/c/end2end/generic_end2end_test.cc @@ -0,0 +1,391 @@ +/* + * + * 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 +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +extern "C" { +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +} + +#include "src/core/lib/security/credentials/credentials.h" +#include "test/core/util/port.h" +#include "test/core/util/test_config.h" +#include "test/cpp/end2end/test_service_impl.h" +#include "test/cpp/util/string_ref_helper.h" +#include "test/cpp/util/test_credentials_provider.h" +#include "test/c/end2end/id_serialization.h" + +/** + * End-to-end tests for the gRPC C API. + * This test calls the codegen layer directly instead of exercising generated code. + * As of early July 2016, this C API does not support creating servers, so we pull in a server implementation for C++ + * and put this test under the C++ build. + * TODO(yifeit): Rewrite this in C after we have support for all types of API in server + */ + +using grpc::testing::kTlsCredentialsType; +using std::chrono::system_clock; + +namespace grpc { +namespace testing { +namespace { + +class End2endTest { +public: + End2endTest() + : is_server_started_(false), + kMaxMessageSize_(8192), + c_channel_(NULL) { + } + + ~End2endTest() { + GRPC_channel_destroy(&c_channel_); + } + + void TearDown() { + if (is_server_started_) { + server_->Shutdown(); + } + } + + void StartServer(const std::shared_ptr &processor) { + int port = grpc_pick_unused_port_or_die(); + server_address_ << "127.0.0.1:" << port; + // Setup server + ServerBuilder builder; + + builder.AddListeningPort(server_address_.str(), InsecureServerCredentials()); + builder.RegisterService(&service_); + builder.SetMaxMessageSize( + kMaxMessageSize_); // For testing max message size. + server_ = builder.BuildAndStart(); + is_server_started_ = true; + } + + void ResetChannel() { + if (!is_server_started_) { + StartServer(std::shared_ptr()); + } + EXPECT_TRUE(is_server_started_); + + // TODO(yifeit): add credentials + if (c_channel_) GRPC_channel_destroy(&c_channel_); + c_channel_ = GRPC_channel_create(server_address_.str().c_str()); + } + + void ResetStub() { + ResetChannel(); + } + + bool is_server_started_; + + std::unique_ptr server_; + std::ostringstream server_address_; + const int kMaxMessageSize_; + TestServiceImpl service_; + grpc::string user_agent_prefix_; + + GRPC_channel *c_channel_; +}; + +static void SendUnaryRpc(GRPC_channel *channel, + int num_rpcs) { + for (int i = 0; i < num_rpcs; ++i) { + GRPC_method method = { GRPC_NORMAL_RPC, "/grpc.testing.EchoTestService/Echo" }; + GRPC_client_context *context = GRPC_client_context_create(channel); + GRPC_context_set_serialization_impl((GRPC_context *) context, { GRPC_id_serialize, GRPC_id_deserialize }); + // hardcoded string for "gRPC-C" + char str[] = {0x0A, 0x06, 0x67, 0x52, 0x50, 0x43, 0x2D, 0x43}; + GRPC_message msg = {str, sizeof(str)}; + // using char array to hold RPC result while protobuf is not there yet + char resp[100]; + GRPC_status status = GRPC_unary_blocking_call(method, context, msg, resp); + + EXPECT_TRUE(status.ok) << status.details; + EXPECT_TRUE(status.code == GRPC_STATUS_OK) << status.details; + + // manually deserializing + int resplength = (int) resp[1]; + char *response_string = new char[resplength + 1]; + memcpy(response_string, ((char *) resp) + 2, resplength); + response_string[resplength] = '\0'; + + EXPECT_EQ(grpc::string("gRPC-C"), grpc::string(response_string)); + + delete []response_string; + GRPC_client_context_destroy(&context); + } +} + +static void SendClientStreamingRpc(GRPC_channel *channel, + int num_rpcs) { + for (int i = 0; i < num_rpcs; ++i) { + GRPC_method method = { GRPC_CLIENT_STREAMING, "/grpc.testing.EchoTestService/RequestStream" }; + GRPC_client_context *context = GRPC_client_context_create(channel); + GRPC_context_set_serialization_impl((GRPC_context *) context, { GRPC_id_serialize, GRPC_id_deserialize }); + // hardcoded string for "gRPC-C" + char str[] = {0x0A, 0x06, 0x67, 0x52, 0x50, 0x43, 0x2D, 0x43}; + GRPC_message msg = {str, sizeof(str)}; + // using char array to hold RPC result while protobuf is not there yet + char resp[100]; + + GRPC_client_writer *writer = GRPC_client_streaming_blocking_call(method, context, resp); + for (int i = 0; i < 3; i++) { + bool result = GRPC_client_streaming_blocking_write(writer, msg); + EXPECT_TRUE(result); + } + GRPC_status status = GRPC_client_writer_terminate(writer); + + EXPECT_TRUE(status.ok) << status.details; + EXPECT_TRUE(status.code == GRPC_STATUS_OK) << status.details; + + // manually deserializing + int resplength = (int) resp[1]; + char *response_string = new char[resplength + 1]; + memcpy(response_string, ((char *) resp) + 2, resplength); + response_string[resplength] = '\0'; + + EXPECT_EQ(grpc::string("gRPC-CgRPC-CgRPC-C"), grpc::string(response_string)); + + delete []response_string; + GRPC_client_context_destroy(&context); + } +} + +static void SendServerStreamingRpc(GRPC_channel *channel, + int num_rpcs) { + for (int i = 0; i < num_rpcs; ++i) { + GRPC_method method = { GRPC_SERVER_STREAMING, "/grpc.testing.EchoTestService/ResponseStream" }; + GRPC_client_context *context = GRPC_client_context_create(channel); + GRPC_context_set_serialization_impl((GRPC_context *) context, { GRPC_id_serialize, GRPC_id_deserialize }); + // hardcoded string for "gRPC-C" + char str[] = {0x0A, 0x06, 0x67, 0x52, 0x50, 0x43, 0x2D, 0x43}; + GRPC_message msg = {str, sizeof(str)}; + + GRPC_client_reader *reader = GRPC_server_streaming_blocking_call(method, context, msg); + + // using char array to hold RPC result while protobuf is not there yet + char resp[100]; + + int count = 0; + while (GRPC_server_streaming_blocking_read(reader, resp)) { + // manually deserializing + int resplength = (int) resp[1]; + char *response_string = new char[resplength + 1]; + memcpy(response_string, ((char *) resp) + 2, resplength); + response_string[resplength] = '\0'; + EXPECT_EQ(grpc::string("gRPC-C") + grpc::to_string(count), grpc::string(response_string)); + count++; + delete []response_string; + } + EXPECT_TRUE(count > 0); + + GRPC_status status = GRPC_client_reader_terminate(reader); + EXPECT_TRUE(status.ok) << status.details; + EXPECT_TRUE(status.code == GRPC_STATUS_OK) << status.details; + + GRPC_client_context_destroy(&context); + } +} + +static void SendBidiStreamingRpc(GRPC_channel *channel, + int num_rpcs) { + for (int i = 0; i < num_rpcs; ++i) { + GRPC_method method = { GRPC_BIDI_STREAMING, "/grpc.testing.EchoTestService/BidiStream" }; + GRPC_client_context *context = GRPC_client_context_create(channel); + GRPC_context_set_serialization_impl((GRPC_context *) context, { GRPC_id_serialize, GRPC_id_deserialize }); + // hardcoded string for "gRPC-C" + char str[] = {0x0A, 0x06, 0x67, 0x52, 0x50, 0x43, 0x2D, 0x43}; + GRPC_message msg = {str, sizeof(str)}; + + GRPC_client_reader_writer *reader_writer = GRPC_bidi_streaming_blocking_call(method, context); + + // using char array to hold RPC result while protobuf is not there yet + char resp[100]; + + const int kNumMsgToSend = 3; + for (int i = 0; i < kNumMsgToSend; i++) { + EXPECT_TRUE(GRPC_bidi_streaming_blocking_write(reader_writer, msg)); + } + EXPECT_TRUE(GRPC_bidi_streaming_blocking_writes_done(reader_writer)); + + int received_num = 0; + while (GRPC_bidi_streaming_blocking_read(reader_writer, resp)) { + received_num++; + // manually deserializing + int resplength = (int) resp[1]; + char *response_string = new char[resplength + 1]; + memcpy(response_string, ((char *) resp) + 2, resplength); + response_string[resplength] = '\0'; + EXPECT_EQ(grpc::string("gRPC-C"), grpc::string(response_string)); + delete []response_string; + } + EXPECT_EQ(kNumMsgToSend, received_num); + + GRPC_status status = GRPC_client_reader_writer_terminate(reader_writer); + EXPECT_TRUE(status.ok) << status.details; + EXPECT_TRUE(status.code == GRPC_STATUS_OK) << status.details; + + GRPC_client_context_destroy(&context); + } +} + +static void SendAsyncUnaryRpc(GRPC_channel *channel, + int num_rpcs) { + for (int i = 0; i < num_rpcs; ++i) { + GRPC_method method = { GRPC_NORMAL_RPC, "/grpc.testing.EchoTestService/Echo" }; + GRPC_client_context *context = GRPC_client_context_create(channel); + GRPC_context_set_serialization_impl((GRPC_context *) context, { GRPC_id_serialize, GRPC_id_deserialize }); + GRPC_completion_queue *cq = GRPC_completion_queue_create(); + // hardcoded string for "gRPC-C" + char str[] = {0x0A, 0x06, 0x67, 0x52, 0x50, 0x43, 0x2D, 0x43}; + GRPC_message msg = {str, sizeof(str)}; + // using char array to hold RPC result while protobuf is not there yet + char resp[100]; + + void *tag; + bool ok; + GRPC_client_async_response_reader *reader = GRPC_unary_async_call(cq, method, msg, context); + GRPC_client_async_finish(reader, resp, (void*) 12345); + GRPC_completion_queue_next(cq, &tag, &ok); + EXPECT_TRUE(ok); + EXPECT_TRUE(tag == (void*) 12345); + + GRPC_status status = GRPC_get_call_status(context); + EXPECT_TRUE(status.ok) << status.details; + EXPECT_TRUE(status.code == GRPC_STATUS_OK) << status.details; + + // manually deserializing + int resplength = (int) resp[1]; + char *response_string = new char[resplength + 1]; + memcpy(response_string, ((char *) resp) + 2, resplength); + response_string[resplength] = '\0'; + + EXPECT_EQ(grpc::string("gRPC-C"), grpc::string(response_string)); + + delete []response_string; + GRPC_client_context_destroy(&context); + GRPC_completion_queue_shutdown(cq); + GRPC_completion_queue_shutdown_wait(cq); + GRPC_completion_queue_destroy(cq); + } +} + +class UnaryEnd2endTest : public End2endTest { +protected: +}; + +class ClientStreamingEnd2endTest : public End2endTest { +protected: +}; + +class ServerStreamingEnd2endTest : public End2endTest { +protected: +}; + +class BidiStreamingEnd2endTest : public End2endTest { +protected: +}; + +class AsyncUnaryEnd2endTest : public End2endTest { +protected: +}; + +TEST(End2endTest, UnaryRpc) { + UnaryEnd2endTest test; + test.ResetStub(); + SendUnaryRpc(test.c_channel_, 3); + test.TearDown(); +} + +TEST(End2endTest, ClientStreamingRpc) { + ClientStreamingEnd2endTest test; + test.ResetStub(); + SendClientStreamingRpc(test.c_channel_, 3); + test.TearDown(); +} + +TEST(End2endTest, ServerStreamingRpc) { + ServerStreamingEnd2endTest test; + test.ResetStub(); + SendServerStreamingRpc(test.c_channel_, 3); + test.TearDown(); +} + +TEST(End2endTest, BidiStreamingRpc) { + BidiStreamingEnd2endTest test; + test.ResetStub(); + SendBidiStreamingRpc(test.c_channel_, 3); + test.TearDown(); +} + +TEST(End2endTest, AsyncUnaryRpc) { + AsyncUnaryEnd2endTest test; + test.ResetStub(); + SendAsyncUnaryRpc(test.c_channel_, 3); + test.TearDown(); +} + +} // namespace +} // namespace testing +} // namespace grpc + +int main(int argc, char** argv) { + grpc_test_init(argc, argv); + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/test/c/end2end/id_serialization.cc b/test/c/end2end/id_serialization.cc new file mode 100644 index 0000000000000..1e6d99cb037eb --- /dev/null +++ b/test/c/end2end/id_serialization.cc @@ -0,0 +1,49 @@ +/* + * + * 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 +#include "test/c/end2end/id_serialization.h" + +/** + * Serialization interface that does not transform data. Base implementation of GRPC_serialization_impl. + */ + +GRPC_message GRPC_id_serialize(const GRPC_message input) { + void *tmp = malloc(input.length); + memcpy(tmp, input.data, input.length); + return (GRPC_message) { tmp, input.length }; +} + +void GRPC_id_deserialize(const GRPC_message input, void *output) { + memcpy(output, input.data, input.length); +} diff --git a/test/c/end2end/id_serialization.h b/test/c/end2end/id_serialization.h new file mode 100644 index 0000000000000..623eb498bb071 --- /dev/null +++ b/test/c/end2end/id_serialization.h @@ -0,0 +1,46 @@ +/* + * + * 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_C_MOCK_SERIALIZATION_H +#define GRPC_C_MOCK_SERIALIZATION_H + +#include +#include + +/* Serialization functions that doesn't do anything except duplicating the buffer */ + +GRPC_message GRPC_id_serialize(const GRPC_message input); +void GRPC_id_deserialize(const GRPC_message input, void *output); + +#endif // GRPC_C_MOCK_SERIALIZATION_H diff --git a/test/c/end2end/server_end2end_test.c b/test/c/end2end/server_end2end_test.c new file mode 100644 index 0000000000000..faac22abe16f4 --- /dev/null +++ b/test/c/end2end/server_end2end_test.c @@ -0,0 +1,185 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/** + * This tests both the C client and the server. + */ + +#include "test/c/end2end/server_end2end_test.h" +#include "test/core/util/port.h" +#include "src/proto/grpc/testing/echo.grpc.pbc.h" +#include +#include +#include +#include +#include + +/** + * Nanopb callbacks for string encoding/decoding. + */ + +static bool write_string_from_arg(pb_ostream_t *stream, const pb_field_t *field, + void *const *arg) { + const char *str = *arg; + if (!pb_encode_tag_for_field(stream, field)) return false; + + return pb_encode_string(stream, (uint8_t *)str, strlen(str)); +} + +/** + * This callback function reads a string from Nanopb stream and copies it into + * the callback args. + * Users need to free the string after use. + */ +static bool read_string_store_in_arg(pb_istream_t *stream, + const pb_field_t *field, void **arg) { + size_t len = stream->bytes_left; + char *str = malloc(len + 1); + if (!pb_read(stream, (uint8_t *) str, len)) return false; + str[len] = '\0'; + *arg = str; + return true; +} + +static void *client_thread(void *param) { + char *host = param; + GRPC_channel *channel = GRPC_channel_create(host); + grpc_testing_EchoRequest request = {.message = {.arg = "gRPC-C", .funcs.encode = write_string_from_arg}}; + grpc_testing_EchoResponse response = {.message = {.funcs.decode = read_string_store_in_arg}}; + + GRPC_client_context *context = GRPC_client_context_create(channel); + GRPC_status status = grpc_testing_EchoTestService_Echo(context, request, &response); + GPR_ASSERT(status.ok); + GPR_ASSERT(status.code == GRPC_STATUS_OK); + GPR_ASSERT(response.message.arg != NULL); + GPR_ASSERT(strcmp(response.message.arg, "gRPC-C") == 0); + free(response.message.arg); + GRPC_client_context_destroy(&context); + GRPC_channel_destroy(&channel); + + return NULL; +} + +typedef struct async_server_data { + GRPC_server_context *context; + grpc_testing_EchoRequest request; + grpc_testing_EchoResponse reply; +} async_server_data; + +int main(int argc, char **argv) { + GRPC_server *server = GRPC_build_server((GRPC_build_server_options){ .max_message_size = 0 }); + GRPC_incoming_notification_queue *incoming = + GRPC_server_new_incoming_queue(server); + int port = grpc_pick_unused_port_or_die(); + char *host = malloc(100); + sprintf(host, "0.0.0.0:%d", port); + GRPC_server_listen_host(server, host); + GRPC_registered_service *service = grpc_testing_EchoTestService_Register(server); + GRPC_server_start(server); + + // Start client + pthread_t tid; + pthread_create(&tid, NULL, client_thread, host); + + // Run server + { + async_server_data *data = calloc(sizeof(async_server_data), 1); + data->context = GRPC_server_context_create(server); + data->request.message.funcs.decode = read_string_store_in_arg; + data->reply.message.funcs.encode = write_string_from_arg; + + data->request.message.arg = NULL; + data->reply.message.arg = NULL; + + // Listen for this method + GRPC_server_async_response_writer *writer = + grpc_testing_EchoTestService_Echo_ServerRequest( + service, data->context, &data->request, + incoming, // incoming queue + incoming->cq, // processing queue - we can reuse the + // same underlying completion queue, or + // specify a different one here + data // tag for the completion queues + ); + + // Wait for incoming call + void *tag; + bool ok; + GRPC_completion_queue_operation_status queue_status = + GRPC_completion_queue_next(incoming->cq, &tag, &ok); + + GPR_ASSERT(queue_status == GRPC_COMPLETION_QUEUE_GOT_EVENT); + if (!ok) { + async_server_data *data_new = (async_server_data *) tag; + char *bad_reply = calloc(4, 1); + data_new->reply.message.arg = bad_reply; + + grpc_testing_EchoTestService_Echo_ServerFinish(writer, &data_new->reply, + GRPC_STATUS_DATA_LOSS, data_new); + } else { + // Process the request + async_server_data *data_new = (async_server_data *) tag; + char *input_str = data_new->request.message.arg; + size_t output_len = strlen(input_str); + char *output_str = malloc(output_len + 1); + sprintf(output_str, "%s", input_str); + data_new->reply.message.arg = output_str; + + grpc_testing_EchoTestService_Echo_ServerFinish(writer, &data_new->reply, + GRPC_STATUS_OK, data_new); + } + + // Wait for request termination + queue_status = GRPC_completion_queue_next(incoming->cq, &tag, &ok); + + GPR_ASSERT(queue_status == GRPC_COMPLETION_QUEUE_GOT_EVENT); + GPR_ASSERT(ok); + + // Clean up + { + async_server_data *data_new = (async_server_data *)tag; + free(data_new->request.message.arg); + free(data_new->reply.message.arg); + GRPC_server_context_destroy(&data_new->context); + free(data_new); + } + } + GRPC_server_shutdown(server); + GRPC_server_destroy(server); + + // Wait for client to return + pthread_join(tid, NULL); + + return 0; +} + diff --git a/test/c/end2end/server_end2end_test.h b/test/c/end2end/server_end2end_test.h new file mode 100644 index 0000000000000..7f3b3ad63bf6e --- /dev/null +++ b/test/c/end2end/server_end2end_test.h @@ -0,0 +1,37 @@ +/* + * + * 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_C_SERVER_END2END_TEST_H +#define GRPC_C_SERVER_END2END_TEST_H + +#endif // GRPC_C_SERVER_END2END_TEST_H diff --git a/test/core/bad_client/gen_build_yaml.py b/test/core/bad_client/gen_build_yaml.py index fb86525b1a16f..4bd08909167d7 100755 --- a/test/core/bad_client/gen_build_yaml.py +++ b/test/core/bad_client/gen_build_yaml.py @@ -59,7 +59,7 @@ def main(): { 'name': 'bad_client_test', 'build': 'private', - 'language': 'c', + 'language': 'core', 'src': [ 'test/core/bad_client/bad_client.c' ], @@ -79,7 +79,7 @@ def main(): 'name': '%s_bad_client_test' % t, 'cpu_cost': BAD_CLIENT_TESTS[t].cpu_cost, 'build': 'test', - 'language': 'c', + 'language': 'core', 'secure': 'no', 'src': ['test/core/bad_client/tests/%s.c' % t], 'vs_proj_dir': 'test', diff --git a/test/core/bad_ssl/gen_build_yaml.py b/test/core/bad_ssl/gen_build_yaml.py index 69f921989cded..01e8362af101a 100755 --- a/test/core/bad_ssl/gen_build_yaml.py +++ b/test/core/bad_ssl/gen_build_yaml.py @@ -51,7 +51,7 @@ def main(): { 'name': 'bad_ssl_test_server', 'build': 'private', - 'language': 'c', + 'language': 'core', 'src': ['test/core/bad_ssl/server_common.c'], 'headers': ['test/core/bad_ssl/server_common.h'], 'vs_proj_dir': 'test', @@ -68,7 +68,7 @@ def main(): { 'name': 'bad_ssl_%s_server' % t, 'build': 'test', - 'language': 'c', + 'language': 'core', 'run': False, 'src': ['test/core/bad_ssl/servers/%s.c' % t], 'vs_proj_dir': 'test/bad_ssl', @@ -86,7 +86,7 @@ def main(): 'name': 'bad_ssl_%s_test' % t, 'cpu_cost': BAD_CLIENT_TESTS[t].cpu_cost, 'build': 'test', - 'language': 'c', + 'language': 'core', 'src': ['test/core/bad_ssl/bad_ssl_test.c'], 'vs_proj_dir': 'test', 'platforms': ['linux', 'posix', 'mac'], diff --git a/test/core/end2end/gen_build_yaml.py b/test/core/end2end/gen_build_yaml.py index e59b7dc9fb2f0..d581924455c04 100755 --- a/test/core/end2end/gen_build_yaml.py +++ b/test/core/end2end/gen_build_yaml.py @@ -175,7 +175,7 @@ def main(): { 'name': 'end2end_tests', 'build': 'private', - 'language': 'c', + 'language': 'core', 'secure': True, 'src': ['test/core/end2end/end2end_tests.c'] + [ 'test/core/end2end/tests/%s.c' % t @@ -189,7 +189,7 @@ def main(): { 'name': 'end2end_nosec_tests', 'build': 'private', - 'language': 'c', + 'language': 'core', 'secure': False, 'src': ['test/core/end2end/end2end_nosec_tests.c'] + [ 'test/core/end2end/tests/%s.c' % t @@ -205,7 +205,7 @@ def main(): { 'name': '%s_test' % f, 'build': 'test', - 'language': 'c', + 'language': 'core', 'run': False, 'src': ['test/core/end2end/fixtures/%s.c' % f], 'platforms': END2END_FIXTURES[f].platforms, @@ -222,7 +222,7 @@ def main(): { 'name': '%s_nosec_test' % f, 'build': 'test', - 'language': 'c', + 'language': 'core', 'secure': 'no', 'src': ['test/core/end2end/fixtures/%s.c' % f], 'run': False, @@ -248,7 +248,7 @@ def main(): if END2END_FIXTURES[f].ci_mac else without( END2END_FIXTURES[f].platforms, 'mac')), 'flaky': False, - 'language': 'c', + 'language': 'core', 'cpu_cost': END2END_TESTS[t].cpu_cost, } for f in sorted(END2END_FIXTURES.keys()) @@ -263,7 +263,7 @@ def main(): if END2END_FIXTURES[f].ci_mac else without( END2END_FIXTURES[f].platforms, 'mac')), 'flaky': False, - 'language': 'c', + 'language': 'core', 'cpu_cost': END2END_TESTS[t].cpu_cost, } for f in sorted(END2END_FIXTURES.keys()) diff --git a/test/cpp/end2end/test_service_impl.cc b/test/cpp/end2end/test_service_impl.cc index 52abd80d690b9..7ab6612125c75 100644 --- a/test/cpp/end2end/test_service_impl.cc +++ b/test/cpp/end2end/test_service_impl.cc @@ -201,6 +201,7 @@ Status TestServiceImpl::RequestStream(ServerContext* context, int num_msgs_read = 0; while (reader->Read(&request)) { + num_msgs_read++; if (cancel_after_reads == 1) { gpr_log(GPR_INFO, "return cancel status"); return Status::CANCELLED; diff --git a/tools/buildgen/plugins/expand_filegroups.py b/tools/buildgen/plugins/expand_filegroups.py index 477e69c869638..f367610fc7d47 100755 --- a/tools/buildgen/plugins/expand_filegroups.py +++ b/tools/buildgen/plugins/expand_filegroups.py @@ -54,7 +54,7 @@ def uniquify(lst): FILEGROUP_DEFAULTS = { - 'language': 'c', + 'language': 'core', 'boringssl': False, 'zlib': False, } diff --git a/tools/buildgen/plugins/make_fuzzer_tests.py b/tools/buildgen/plugins/make_fuzzer_tests.py index 1d215e9fe0f2d..f7bc825ef9851 100644 --- a/tools/buildgen/plugins/make_fuzzer_tests.py +++ b/tools/buildgen/plugins/make_fuzzer_tests.py @@ -54,6 +54,6 @@ def mako_plugin(dictionary): 'platforms': ['linux'], 'ci_platforms': ['linux'], 'flaky': False, - 'language': 'c', + 'language': 'core', 'cpu_cost': 0.1, }) diff --git a/tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh b/tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh index 462c65ab5e9be..fae0d83e1d4b8 100755 --- a/tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh +++ b/tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh @@ -44,7 +44,7 @@ for dir in $DIRS do for glob in $GLOB do - files="$files `find /local-code/$dir -name $glob -and -not -name *.generated.* -and -not -name *.pb.h -and -not -name *.pb.c -and -not -name *.pb.cc`" + files="$files `find /local-code/$dir -name $glob -and -not -name *.generated.* -and -not -name *.pb.h -and -not -name *.pb.c -and -not -name *.pb.cc -and -not -name *.pbc.h -and -not -name *.pbc.c`" done done diff --git a/tools/jenkins/run_jenkins.sh b/tools/jenkins/run_jenkins.sh index 7a6dfe3577faa..55375b3873acd 100755 --- a/tools/jenkins/run_jenkins.sh +++ b/tools/jenkins/run_jenkins.sh @@ -45,6 +45,15 @@ then elif [ "$platform" == "freebsd" ] then export MAKE=gmake +elif [ "$platform" == "macos" ] +then + # Install python-protobuf which is needed by nanopb + # the other platforms have it installed by default + MACOS_NANOPB_VIRTUAL_ENV=$(mktemp -d /tmp/grpc-nanopb-XXXXXX) + virtualenv ${MACOS_NANOPB_VIRTUAL_ENV} + source ${MACOS_NANOPB_VIRTUAL_ENV}/bin/activate + pip install protobuf==3.0.0b2 + pip install virtualenv fi unset platform # variable named 'platform' breaks the windows build @@ -64,6 +73,12 @@ then echo 'No reports generated.' > reports/index.html fi +if [ "$platform" == "macos" ] +then + deactivate + rm -rf ${MACOS_NANOPB_VIRTUAL_ENV} +fi + if [ "$TESTS_FAILED" != "" ] then exit 1 diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 78ef05b635774..a6fabc01a5753 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -407,7 +407,7 @@ def pre_build_steps(self): return [] def make_targets(self): - return ['static_c', 'shared_c'] + return ['static_core', 'shared_core'] def make_options(self): return [] @@ -443,7 +443,7 @@ def pre_build_steps(self): return [] def make_targets(self): - return ['static_c', 'shared_c'] + return ['static_core', 'shared_core'] def make_options(self): return [] @@ -840,6 +840,7 @@ def __str__(self): _LANGUAGES = { 'c++': CLanguage('cxx', 'c++'), 'c': CLanguage('c', 'c'), + 'core': CLanguage('core', 'core'), 'node': NodeLanguage(), 'php': PhpLanguage(), 'php7': Php7Language(), diff --git a/tools/run_tests/sanity/check_sources_and_headers.py b/tools/run_tests/sanity/check_sources_and_headers.py index 28c1dc46d7fb8..ebdc82d3af982 100755 --- a/tools/run_tests/sanity/check_sources_and_headers.py +++ b/tools/run_tests/sanity/check_sources_and_headers.py @@ -39,7 +39,7 @@ re_inc1 = re.compile(r'^#\s*include\s*"([^"]*)"') assert re_inc1.match('#include "foo"').group(1) == 'foo' -re_inc2 = re.compile(r'^#\s*include\s*<((grpc|grpc\+\+)/[^"]*)>') +re_inc2 = re.compile(r'^#\s*include\s*<((grpc|grpc\+\+|grpc_c)/[^"]*)>') assert re_inc2.match('#include ').group(1) == 'grpc++/foo' def get_target(name): diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index e5946cc14ab4f..e4f08b3319929 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -6,13 +6,21 @@ "gpr", "gpr_test_util", "grpc", + "grpc_c", "grpc_test_util" ], - "headers": [], + "headers": [ + "src/proto/grpc/testing/echo.grpc.pbc.h", + "src/proto/grpc/testing/echo.pbc.h", + "src/proto/grpc/testing/echo_messages.grpc.pbc.h", + "src/proto/grpc/testing/echo_messages.pbc.h", + "test/c/end2end/server_end2end_test.h" + ], "language": "c", - "name": "alarm_test", + "name": "grpc_c_server_end2end_test", "src": [ - "test/core/surface/alarm_test.c" + "test/c/end2end/server_end2end_test.c", + "test/c/end2end/server_end2end_test.h" ], "third_party": false, "type": "target" @@ -22,27 +30,15 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "algorithm_test", - "src": [ - "test/core/compression/algorithm_test.c" - ], - "third_party": false, - "type": "target" - }, - { - "deps": [ - "gpr", - "gpr_test_util" - ], - "headers": [], - "language": "c", - "name": "alloc_test", + "language": "c++", + "name": "alarm_cpp_test", "src": [ - "test/core/support/alloc_test.c" + "test/cpp/common/alarm_cpp_test.cc" ], "third_party": false, "type": "target" @@ -52,13 +48,15 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "alpn_test", + "language": "c++", + "name": "async_end2end_test", "src": [ - "test/core/transport/chttp2/alpn_test.c" + "test/cpp/end2end/async_end2end_test.cc" ], "third_party": false, "type": "target" @@ -68,13 +66,15 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "api_fuzzer", + "language": "c++", + "name": "auth_property_iterator_test", "src": [ - "test/core/end2end/fuzzers/api_fuzzer.c" + "test/cpp/common/auth_property_iterator_test.cc" ], "third_party": false, "type": "target" @@ -82,44 +82,51 @@ { "deps": [ "gpr", - "gpr_test_util", "grpc", - "grpc_test_util", - "test_tcp_server" + "grpc++" ], "headers": [], - "language": "c", - "name": "bad_server_response_test", + "language": "c++", + "name": "channel_arguments_test", "src": [ - "test/core/end2end/bad_server_response_test.c" + "test/cpp/common/channel_arguments_test.cc" ], "third_party": false, "type": "target" }, { "deps": [ + "gpr", + "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", + "grpc_cli_libs", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "bin_decoder_test", + "language": "c++", + "name": "cli_call_test", "src": [ - "test/core/transport/chttp2/bin_decoder_test.c" + "test/cpp/util/cli_call_test.cc" ], "third_party": false, "type": "target" }, { "deps": [ + "gpr", + "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "bin_encoder_test", + "language": "c++", + "name": "client_crash_test", "src": [ - "test/core/transport/chttp2/bin_encoder_test.c" + "test/cpp/end2end/client_crash_test.cc" ], "third_party": false, "type": "target" @@ -129,13 +136,15 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "census_context_test", + "language": "c++", + "name": "client_crash_test_server", "src": [ - "test/core/census/context_test.c" + "test/cpp/end2end/client_crash_test_server.cc" ], "third_party": false, "type": "target" @@ -143,31 +152,51 @@ { "deps": [ "gpr", - "gpr_test_util", "grpc", - "grpc_test_util" + "grpc++", + "grpc++_codegen_base" ], - "headers": [], - "language": "c", - "name": "census_resource_test", + "headers": [ + "src/proto/grpc/testing/control.grpc.pb.h", + "src/proto/grpc/testing/control.pb.h", + "src/proto/grpc/testing/messages.grpc.pb.h", + "src/proto/grpc/testing/messages.pb.h", + "src/proto/grpc/testing/payloads.grpc.pb.h", + "src/proto/grpc/testing/payloads.pb.h", + "src/proto/grpc/testing/services.grpc.pb.h", + "src/proto/grpc/testing/services.pb.h", + "src/proto/grpc/testing/stats.grpc.pb.h", + "src/proto/grpc/testing/stats.pb.h" + ], + "language": "c++", + "name": "codegen_test_full", "src": [ - "test/core/census/resource_test.c" + "test/cpp/codegen/codegen_test_full.cc" ], "third_party": false, "type": "target" }, { "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "grpc++_codegen_base", + "grpc++_codegen_base_src" ], - "headers": [], - "language": "c", - "name": "channel_create_test", + "headers": [ + "src/proto/grpc/testing/control.grpc.pb.h", + "src/proto/grpc/testing/control.pb.h", + "src/proto/grpc/testing/messages.grpc.pb.h", + "src/proto/grpc/testing/messages.pb.h", + "src/proto/grpc/testing/payloads.grpc.pb.h", + "src/proto/grpc/testing/payloads.pb.h", + "src/proto/grpc/testing/services.grpc.pb.h", + "src/proto/grpc/testing/services.pb.h", + "src/proto/grpc/testing/stats.grpc.pb.h", + "src/proto/grpc/testing/stats.pb.h" + ], + "language": "c++", + "name": "codegen_test_minimal", "src": [ - "test/core/surface/channel_create_test.c" + "test/cpp/codegen/codegen_test_minimal.cc" ], "third_party": false, "type": "target" @@ -175,15 +204,14 @@ { "deps": [ "gpr", - "gpr_test_util", "grpc", - "grpc_test_util" + "grpc++" ], "headers": [], - "language": "c", - "name": "chttp2_hpack_encoder_test", + "language": "c++", + "name": "credentials_test", "src": [ - "test/core/transport/chttp2/hpack_encoder_test.c" + "test/cpp/client/credentials_test.cc" ], "third_party": false, "type": "target" @@ -193,13 +221,14 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "chttp2_status_conversion_test", + "language": "c++", + "name": "cxx_byte_buffer_test", "src": [ - "test/core/transport/chttp2/status_conversion_test.c" + "test/cpp/util/byte_buffer_test.cc" ], "third_party": false, "type": "target" @@ -209,29 +238,27 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "chttp2_stream_map_test", + "language": "c++", + "name": "cxx_slice_test", "src": [ - "test/core/transport/chttp2/stream_map_test.c" + "test/cpp/util/slice_test.cc" ], "third_party": false, "type": "target" }, { "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "grpc++" ], "headers": [], - "language": "c", - "name": "chttp2_varint_test", + "language": "c++", + "name": "cxx_string_ref_test", "src": [ - "test/core/transport/chttp2/varint_test.c" + "test/cpp/util/string_ref_test.cc" ], "third_party": false, "type": "target" @@ -241,13 +268,14 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "client_fuzzer", + "language": "c++", + "name": "cxx_time_test", "src": [ - "test/core/end2end/fuzzers/client_fuzzer.c" + "test/cpp/util/time_test.cc" ], "third_party": false, "type": "target" @@ -257,13 +285,15 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "compression_test", + "language": "c++", + "name": "end2end_test", "src": [ - "test/core/compression/compression_test.c" + "test/cpp/end2end/end2end_test.cc" ], "third_party": false, "type": "target" @@ -273,13 +303,15 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "concurrent_connectivity_test", + "language": "c++", + "name": "filter_end2end_test", "src": [ - "test/core/surface/concurrent_connectivity_test.c" + "test/cpp/end2end/filter_end2end_test.cc" ], "third_party": false, "type": "target" @@ -289,13 +321,15 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "dns_resolver_connectivity_test", + "language": "c++", + "name": "generic_end2end_test", "src": [ - "test/core/client_config/resolvers/dns_resolver_connectivity_test.c" + "test/cpp/end2end/generic_end2end_test.cc" ], "third_party": false, "type": "target" @@ -303,15 +337,17 @@ { "deps": [ "gpr", - "gpr_test_util", "grpc", - "grpc_test_util" + "grpc++" ], - "headers": [], - "language": "c", - "name": "dns_resolver_test", + "headers": [ + "src/proto/grpc/testing/compiler_test.grpc.pb.h", + "src/proto/grpc/testing/compiler_test.pb.h" + ], + "language": "c++", + "name": "golden_file_test", "src": [ - "test/core/client_config/resolvers/dns_resolver_test.c" + "test/cpp/codegen/golden_file_test.cc" ], "third_party": false, "type": "target" @@ -321,13 +357,17 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", + "grpc_c", + "grpc_c_end2end_client_lib", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "dualstack_socket_test", + "language": "c++", + "name": "grpc_c_end2end_test", "src": [ - "test/core/end2end/dualstack_socket_test.c" + "test/c/end2end/end2end_test.cc" ], "third_party": false, "type": "target" @@ -337,29 +377,33 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", + "grpc_c", "grpc_test_util" ], - "headers": [], - "language": "c", - "name": "endpoint_pair_test", + "headers": [ + "test/c/end2end/id_serialization.h" + ], + "language": "c++", + "name": "grpc_c_generic_end2end_test", "src": [ - "test/core/iomgr/endpoint_pair_test.c" + "test/c/end2end/generic_end2end_test.cc", + "test/c/end2end/id_serialization.cc", + "test/c/end2end/id_serialization.h" ], "third_party": false, "type": "target" }, { "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "grpc_plugin_support" ], "headers": [], - "language": "c", - "name": "ev_epoll_linux_test", + "language": "c++", + "name": "grpc_c_plugin", "src": [ - "test/core/iomgr/ev_epoll_linux_test.c" + "src/compiler/c_plugin.cc" ], "third_party": false, "type": "target" @@ -367,31 +411,95 @@ { "deps": [ "gpr", - "gpr_test_util", "grpc", - "grpc_test_util" + "grpc++", + "grpc++_reflection", + "grpc++_test_config", + "grpc_cli_libs" ], "headers": [], - "language": "c", - "name": "fd_conservation_posix_test", + "language": "c++", + "name": "grpc_cli", "src": [ - "test/core/iomgr/fd_conservation_posix_test.c" + "test/cpp/util/grpc_cli.cc" ], "third_party": false, "type": "target" }, { "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "grpc_plugin_support" ], "headers": [], - "language": "c", - "name": "fd_posix_test", + "language": "c++", + "name": "grpc_cpp_plugin", "src": [ - "test/core/iomgr/fd_posix_test.c" + "src/compiler/cpp_plugin.cc" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "grpc_plugin_support" + ], + "headers": [], + "language": "c++", + "name": "grpc_csharp_plugin", + "src": [ + "src/compiler/csharp_plugin.cc" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "grpc_plugin_support" + ], + "headers": [], + "language": "c++", + "name": "grpc_node_plugin", + "src": [ + "src/compiler/node_plugin.cc" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "grpc_plugin_support" + ], + "headers": [], + "language": "c++", + "name": "grpc_objective_c_plugin", + "src": [ + "src/compiler/objective_c_plugin.cc" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "grpc_plugin_support" + ], + "headers": [], + "language": "c++", + "name": "grpc_python_plugin", + "src": [ + "src/compiler/python_plugin.cc" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "grpc_plugin_support" + ], + "headers": [], + "language": "c++", + "name": "grpc_ruby_plugin", + "src": [ + "src/compiler/ruby_plugin.cc" ], "third_party": false, "type": "target" @@ -401,29 +509,45 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_codegen_proto", + "grpc++_config_proto", + "grpc++_reflection", + "grpc_cli_libs", "grpc_test_util" ], - "headers": [], - "language": "c", - "name": "fling_client", + "headers": [ + "src/proto/grpc/testing/echo.grpc.pb.h", + "src/proto/grpc/testing/echo.pb.h", + "src/proto/grpc/testing/echo_messages.grpc.pb.h", + "src/proto/grpc/testing/echo_messages.pb.h", + "test/cpp/util/string_ref_helper.h" + ], + "language": "c++", + "name": "grpc_tool_test", "src": [ - "test/core/fling/client.c" + "test/cpp/util/grpc_tool_test.cc", + "test/cpp/util/string_ref_helper.cc", + "test/cpp/util/string_ref_helper.h" ], "third_party": false, "type": "target" }, { "deps": [ - "gpr", - "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], - "headers": [], - "language": "c", - "name": "fling_server", + "headers": [ + "src/proto/grpc/lb/v1/load_balancer.grpc.pb.h", + "src/proto/grpc/lb/v1/load_balancer.pb.h" + ], + "language": "c++", + "name": "grpclb_api_test", "src": [ - "test/core/fling/server.c" + "test/cpp/grpclb/grpclb_api_test.cc" ], "third_party": false, "type": "target" @@ -433,13 +557,18 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], - "headers": [], - "language": "c", - "name": "fling_stream_test", + "headers": [ + "src/proto/grpc/lb/v1/load_balancer.grpc.pb.h", + "src/proto/grpc/lb/v1/load_balancer.pb.h" + ], + "language": "c++", + "name": "grpclb_test", "src": [ - "test/core/fling/fling_stream_test.c" + "test/cpp/grpclb/grpclb_test.cc" ], "third_party": false, "type": "target" @@ -449,13 +578,15 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "fling_test", + "language": "c++", + "name": "hybrid_end2end_test", "src": [ - "test/core/fling/fling_test.c" + "test/cpp/end2end/hybrid_end2end_test.cc" ], "third_party": false, "type": "target" @@ -463,25 +594,39 @@ { "deps": [ "gpr", - "grpc" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_config", + "grpc++_test_util", + "grpc_test_util", + "interop_client_helper", + "interop_client_main" ], "headers": [], - "language": "c", - "name": "gen_hpack_tables", - "src": [ - "tools/codegen/core/gen_hpack_tables.c" - ], + "language": "c++", + "name": "interop_client", + "src": [], "third_party": false, "type": "target" }, { - "deps": [], - "headers": [], - "language": "c", - "name": "gen_legal_metadata_characters", - "src": [ - "tools/codegen/core/gen_legal_metadata_characters.c" + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_config", + "grpc++_test_util", + "grpc_test_util", + "interop_server_helper", + "interop_server_lib", + "interop_server_main" ], + "headers": [], + "language": "c++", + "name": "interop_server", + "src": [], "third_party": false, "type": "target" }, @@ -493,10 +638,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "goaway_server_test", + "language": "c++", + "name": "interop_test", "src": [ - "test/core/end2end/goaway_server_test.c" + "test/cpp/interop/interop_test.cc" ], "third_party": false, "type": "target" @@ -504,13 +649,18 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_config", + "grpc++_test_util", + "grpc_test_util" ], "headers": [], - "language": "c", - "name": "gpr_avl_test", + "language": "c++", + "name": "json_run_localhost", "src": [ - "test/core/support/avl_test.c" + "test/cpp/qps/json_run_localhost.cc" ], "third_party": false, "type": "target" @@ -518,13 +668,20 @@ { "deps": [ "gpr", - "gpr_test_util" + "grpc", + "grpc++", + "grpc++_test_config" ], - "headers": [], - "language": "c", - "name": "gpr_backoff_test", + "headers": [ + "src/proto/grpc/testing/metrics.grpc.pb.h", + "src/proto/grpc/testing/metrics.pb.h", + "test/cpp/util/metrics_server.h" + ], + "language": "c++", + "name": "metrics_client", "src": [ - "test/core/support/backoff_test.c" + "test/cpp/interop/metrics_client.cc", + "test/cpp/util/metrics_server.h" ], "third_party": false, "type": "target" @@ -532,13 +689,17 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_util", + "grpc_test_util" ], "headers": [], - "language": "c", - "name": "gpr_cmdline_test", + "language": "c++", + "name": "mock_test", "src": [ - "test/core/support/cmdline_test.c" + "test/cpp/end2end/mock_test.cc" ], "third_party": false, "type": "target" @@ -546,13 +707,22 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_reflection", + "grpc++_test_util", + "grpc_test_util" ], - "headers": [], - "language": "c", - "name": "gpr_cpu_test", + "headers": [ + "test/cpp/util/proto_reflection_descriptor_database.h" + ], + "language": "c++", + "name": "proto_server_reflection_test", "src": [ - "test/core/support/cpu_test.c" + "test/cpp/end2end/proto_server_reflection_test.cc", + "test/cpp/util/proto_reflection_descriptor_database.cc", + "test/cpp/util/proto_reflection_descriptor_database.h" ], "third_party": false, "type": "target" @@ -560,13 +730,18 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_util", + "grpc_test_util", + "qps" ], "headers": [], - "language": "c", - "name": "gpr_env_test", + "language": "c++", + "name": "qps_interarrival_test", "src": [ - "test/core/support/env_test.c" + "test/cpp/qps/qps_interarrival_test.cc" ], "third_party": false, "type": "target" @@ -574,13 +749,19 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_config", + "grpc++_test_util", + "grpc_test_util", + "qps" ], "headers": [], - "language": "c", - "name": "gpr_histogram_test", + "language": "c++", + "name": "qps_json_driver", "src": [ - "test/core/support/histogram_test.c" + "test/cpp/qps/qps_json_driver.cc" ], "third_party": false, "type": "target" @@ -588,13 +769,19 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_config", + "grpc++_test_util", + "grpc_test_util", + "qps" ], "headers": [], - "language": "c", - "name": "gpr_host_port_test", + "language": "c++", + "name": "qps_openloop_test", "src": [ - "test/core/support/host_port_test.c" + "test/cpp/qps/qps_openloop_test.cc" ], "third_party": false, "type": "target" @@ -602,13 +789,24 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_config", + "grpc++_test_util", + "grpc_test_util", + "qps" ], - "headers": [], - "language": "c", - "name": "gpr_log_test", + "headers": [ + "test/cpp/qps/client.h", + "test/cpp/qps/server.h" + ], + "language": "c++", + "name": "qps_worker", "src": [ - "test/core/support/log_test.c" + "test/cpp/qps/client.h", + "test/cpp/qps/server.h", + "test/cpp/qps/worker.cc" ], "third_party": false, "type": "target" @@ -616,13 +814,25 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_config", + "grpc++_test_util", + "grpc_test_util" ], - "headers": [], - "language": "c", - "name": "gpr_slice_buffer_test", + "headers": [ + "src/proto/grpc/testing/empty.grpc.pb.h", + "src/proto/grpc/testing/empty.pb.h", + "src/proto/grpc/testing/messages.grpc.pb.h", + "src/proto/grpc/testing/messages.pb.h", + "src/proto/grpc/testing/test.grpc.pb.h", + "src/proto/grpc/testing/test.pb.h" + ], + "language": "c++", + "name": "reconnect_interop_client", "src": [ - "test/core/support/slice_buffer_test.c" + "test/cpp/interop/reconnect_interop_client.cc" ], "third_party": false, "type": "target" @@ -630,13 +840,27 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_config", + "grpc++_test_util", + "grpc_test_util", + "reconnect_server", + "test_tcp_server" ], - "headers": [], - "language": "c", - "name": "gpr_slice_test", + "headers": [ + "src/proto/grpc/testing/empty.grpc.pb.h", + "src/proto/grpc/testing/empty.pb.h", + "src/proto/grpc/testing/messages.grpc.pb.h", + "src/proto/grpc/testing/messages.pb.h", + "src/proto/grpc/testing/test.grpc.pb.h", + "src/proto/grpc/testing/test.pb.h" + ], + "language": "c++", + "name": "reconnect_interop_server", "src": [ - "test/core/support/slice_test.c" + "test/cpp/interop/reconnect_interop_server.cc" ], "third_party": false, "type": "target" @@ -644,13 +868,17 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_util", + "grpc_test_util" ], "headers": [], - "language": "c", - "name": "gpr_stack_lockfree_test", + "language": "c++", + "name": "secure_auth_context_test", "src": [ - "test/core/support/stack_lockfree_test.c" + "test/cpp/common/secure_auth_context_test.cc" ], "third_party": false, "type": "target" @@ -658,13 +886,18 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_util", + "grpc_test_util", + "qps" ], "headers": [], - "language": "c", - "name": "gpr_string_test", + "language": "c++", + "name": "secure_sync_unary_ping_pong_test", "src": [ - "test/core/support/string_test.c" + "test/cpp/qps/secure_sync_unary_ping_pong_test.cc" ], "third_party": false, "type": "target" @@ -672,13 +905,17 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_util", + "grpc_test_util" ], "headers": [], - "language": "c", - "name": "gpr_sync_test", + "language": "c++", + "name": "server_builder_plugin_test", "src": [ - "test/core/support/sync_test.c" + "test/cpp/end2end/server_builder_plugin_test.cc" ], "third_party": false, "type": "target" @@ -686,13 +923,17 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_util", + "grpc_test_util" ], "headers": [], - "language": "c", - "name": "gpr_thd_test", + "language": "c++", + "name": "server_crash_test", "src": [ - "test/core/support/thd_test.c" + "test/cpp/end2end/server_crash_test.cc" ], "third_party": false, "type": "target" @@ -700,13 +941,17 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_util", + "grpc_test_util" ], "headers": [], - "language": "c", - "name": "gpr_time_test", + "language": "c++", + "name": "server_crash_test_client", "src": [ - "test/core/support/time_test.c" + "test/cpp/end2end/server_crash_test_client.cc" ], "third_party": false, "type": "target" @@ -714,13 +959,17 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test_util", + "grpc_test_util" ], "headers": [], - "language": "c", - "name": "gpr_tls_test", + "language": "c++", + "name": "shutdown_test", "src": [ - "test/core/support/tls_test.c" + "test/cpp/end2end/shutdown_test.cc" ], "third_party": false, "type": "target" @@ -728,13 +977,16 @@ { "deps": [ "gpr", - "gpr_test_util" + "gpr_test_util", + "grpc", + "grpc++", + "grpc_test_util" ], "headers": [], - "language": "c", - "name": "gpr_useful_test", + "language": "c++", + "name": "status_test", "src": [ - "test/core/support/useful_test.c" + "test/cpp/util/status_test.cc" ], "third_party": false, "type": "target" @@ -744,13 +996,15 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "grpc_auth_context_test", + "language": "c++", + "name": "streaming_throughput_test", "src": [ - "test/core/security/auth_context_test.c" + "test/cpp/end2end/streaming_throughput_test.cc" ], "third_party": false, "type": "target" @@ -760,13 +1014,36 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_config", + "grpc++_test_util", "grpc_test_util" ], - "headers": [], - "language": "c", - "name": "grpc_b64_test", + "headers": [ + "src/proto/grpc/testing/empty.grpc.pb.h", + "src/proto/grpc/testing/empty.pb.h", + "src/proto/grpc/testing/messages.grpc.pb.h", + "src/proto/grpc/testing/messages.pb.h", + "src/proto/grpc/testing/metrics.grpc.pb.h", + "src/proto/grpc/testing/metrics.pb.h", + "src/proto/grpc/testing/test.grpc.pb.h", + "src/proto/grpc/testing/test.pb.h", + "test/cpp/interop/client_helper.h", + "test/cpp/interop/interop_client.h", + "test/cpp/interop/stress_interop_client.h", + "test/cpp/util/metrics_server.h" + ], + "language": "c++", + "name": "stress_test", "src": [ - "test/core/security/b64_test.c" + "test/cpp/interop/client_helper.h", + "test/cpp/interop/interop_client.cc", + "test/cpp/interop/interop_client.h", + "test/cpp/interop/stress_interop_client.cc", + "test/cpp/interop/stress_interop_client.h", + "test/cpp/interop/stress_test.cc", + "test/cpp/util/metrics_server.cc", + "test/cpp/util/metrics_server.h" ], "third_party": false, "type": "target" @@ -776,13 +1053,15 @@ "gpr", "gpr_test_util", "grpc", + "grpc++", + "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "grpc_byte_buffer_reader_test", + "language": "c++", + "name": "thread_stress_test", "src": [ - "test/core/surface/byte_buffer_reader_test.c" + "test/cpp/end2end/thread_stress_test.cc" ], "third_party": false, "type": "target" @@ -790,15 +1069,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "grpc" ], "headers": [], - "language": "c", - "name": "grpc_channel_args_test", + "language": "c89", + "name": "public_headers_must_be_c89", "src": [ - "test/core/channel/channel_args_test.c" + "test/core/surface/public_headers_must_be_c89.c" ], "third_party": false, "type": "target" @@ -811,10 +1088,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "grpc_channel_stack_test", + "language": "core", + "name": "alarm_test", "src": [ - "test/core/channel/channel_stack_test.c" + "test/core/surface/alarm_test.c" ], "third_party": false, "type": "target" @@ -827,10 +1104,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "grpc_completion_queue_test", + "language": "core", + "name": "algorithm_test", "src": [ - "test/core/surface/completion_queue_test.c" + "test/core/compression/algorithm_test.c" ], "third_party": false, "type": "target" @@ -838,13 +1115,13 @@ { "deps": [ "gpr", - "grpc" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "grpc_create_jwt", + "language": "core", + "name": "alloc_test", "src": [ - "test/core/security/create_jwt.c" + "test/core/support/alloc_test.c" ], "third_party": false, "type": "target" @@ -857,10 +1134,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "grpc_credentials_test", + "language": "core", + "name": "alpn_test", "src": [ - "test/core/security/credentials_test.c" + "test/core/transport/chttp2/alpn_test.c" ], "third_party": false, "type": "target" @@ -873,10 +1150,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "grpc_fetch_oauth2", + "language": "core", + "name": "api_fuzzer", "src": [ - "test/core/security/fetch_oauth2.c" + "test/core/end2end/fuzzers/api_fuzzer.c" ], "third_party": false, "type": "target" @@ -886,59 +1163,42 @@ "gpr", "gpr_test_util", "grpc", - "grpc_test_util" + "grpc_test_util", + "test_tcp_server" ], "headers": [], - "language": "c", - "name": "grpc_invalid_channel_args_test", + "language": "core", + "name": "bad_server_response_test", "src": [ - "test/core/surface/invalid_channel_args_test.c" + "test/core/end2end/bad_server_response_test.c" ], "third_party": false, "type": "target" }, { "deps": [ - "gpr", - "gpr_test_util", "grpc", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "grpc_json_token_test", + "language": "core", + "name": "bin_decoder_test", "src": [ - "test/core/security/json_token_test.c" + "test/core/transport/chttp2/bin_decoder_test.c" ], "third_party": false, "type": "target" }, { "deps": [ - "gpr", - "gpr_test_util", "grpc", "grpc_test_util" ], "headers": [], - "language": "c", - "name": "grpc_jwt_verifier_test", - "src": [ - "test/core/security/jwt_verifier_test.c" - ], - "third_party": false, - "type": "target" - }, - { - "deps": [ - "gpr", - "grpc" - ], - "headers": [], - "language": "c", - "name": "grpc_print_google_default_creds_token", + "language": "core", + "name": "bin_encoder_test", "src": [ - "test/core/security/print_google_default_creds_token.c" + "test/core/transport/chttp2/bin_encoder_test.c" ], "third_party": false, "type": "target" @@ -951,10 +1211,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "grpc_security_connector_test", + "language": "core", + "name": "census_context_test", "src": [ - "test/core/security/security_connector_test.c" + "test/core/census/context_test.c" ], "third_party": false, "type": "target" @@ -962,13 +1222,15 @@ { "deps": [ "gpr", - "grpc" + "gpr_test_util", + "grpc", + "grpc_test_util" ], "headers": [], - "language": "c", - "name": "grpc_verify_jwt", + "language": "core", + "name": "census_resource_test", "src": [ - "test/core/security/verify_jwt.c" + "test/core/census/resource_test.c" ], "third_party": false, "type": "target" @@ -981,10 +1243,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "hpack_parser_fuzzer_test", + "language": "core", + "name": "channel_create_test", "src": [ - "test/core/transport/chttp2/hpack_parser_fuzzer_test.c" + "test/core/surface/channel_create_test.c" ], "third_party": false, "type": "target" @@ -997,10 +1259,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "hpack_parser_test", + "language": "core", + "name": "chttp2_hpack_encoder_test", "src": [ - "test/core/transport/chttp2/hpack_parser_test.c" + "test/core/transport/chttp2/hpack_encoder_test.c" ], "third_party": false, "type": "target" @@ -1013,10 +1275,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "hpack_table_test", + "language": "core", + "name": "chttp2_status_conversion_test", "src": [ - "test/core/transport/chttp2/hpack_table_test.c" + "test/core/transport/chttp2/status_conversion_test.c" ], "third_party": false, "type": "target" @@ -1029,10 +1291,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "http_parser_test", + "language": "core", + "name": "chttp2_stream_map_test", "src": [ - "test/core/http/parser_test.c" + "test/core/transport/chttp2/stream_map_test.c" ], "third_party": false, "type": "target" @@ -1045,10 +1307,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "http_request_fuzzer_test", + "language": "core", + "name": "chttp2_varint_test", "src": [ - "test/core/http/request_fuzzer.c" + "test/core/transport/chttp2/varint_test.c" ], "third_party": false, "type": "target" @@ -1061,10 +1323,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "http_response_fuzzer_test", + "language": "core", + "name": "client_fuzzer", "src": [ - "test/core/http/response_fuzzer.c" + "test/core/end2end/fuzzers/client_fuzzer.c" ], "third_party": false, "type": "target" @@ -1077,10 +1339,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "httpcli_format_request_test", + "language": "core", + "name": "compression_test", "src": [ - "test/core/http/format_request_test.c" + "test/core/compression/compression_test.c" ], "third_party": false, "type": "target" @@ -1093,10 +1355,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "httpcli_test", + "language": "core", + "name": "concurrent_connectivity_test", "src": [ - "test/core/http/httpcli_test.c" + "test/core/surface/concurrent_connectivity_test.c" ], "third_party": false, "type": "target" @@ -1109,10 +1371,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "httpscli_test", + "language": "core", + "name": "dns_resolver_connectivity_test", "src": [ - "test/core/http/httpscli_test.c" + "test/core/client_config/resolvers/dns_resolver_connectivity_test.c" ], "third_party": false, "type": "target" @@ -1125,10 +1387,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "init_test", + "language": "core", + "name": "dns_resolver_test", "src": [ - "test/core/surface/init_test.c" + "test/core/client_config/resolvers/dns_resolver_test.c" ], "third_party": false, "type": "target" @@ -1141,10 +1403,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "internal_api_canary_iomgr_test", + "language": "core", + "name": "dualstack_socket_test", "src": [ - "test/core/internal_api_canaries/iomgr.c" + "test/core/end2end/dualstack_socket_test.c" ], "third_party": false, "type": "target" @@ -1157,10 +1419,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "internal_api_canary_support_test", + "language": "core", + "name": "endpoint_pair_test", "src": [ - "test/core/internal_api_canaries/iomgr.c" + "test/core/iomgr/endpoint_pair_test.c" ], "third_party": false, "type": "target" @@ -1173,10 +1435,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "internal_api_canary_transport_test", + "language": "core", + "name": "ev_epoll_linux_test", "src": [ - "test/core/internal_api_canaries/iomgr.c" + "test/core/iomgr/ev_epoll_linux_test.c" ], "third_party": false, "type": "target" @@ -1189,10 +1451,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "invalid_call_argument_test", + "language": "core", + "name": "fd_conservation_posix_test", "src": [ - "test/core/end2end/invalid_call_argument_test.c" + "test/core/iomgr/fd_conservation_posix_test.c" ], "third_party": false, "type": "target" @@ -1205,10 +1467,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "json_fuzzer_test", + "language": "core", + "name": "fd_posix_test", "src": [ - "test/core/json/fuzzer.c" + "test/core/iomgr/fd_posix_test.c" ], "third_party": false, "type": "target" @@ -1216,13 +1478,15 @@ { "deps": [ "gpr", - "grpc" + "gpr_test_util", + "grpc", + "grpc_test_util" ], "headers": [], - "language": "c", - "name": "json_rewrite", + "language": "core", + "name": "fling_client", "src": [ - "test/core/json/json_rewrite.c" + "test/core/fling/client.c" ], "third_party": false, "type": "target" @@ -1235,10 +1499,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "json_rewrite_test", + "language": "core", + "name": "fling_server", "src": [ - "test/core/json/json_rewrite_test.c" + "test/core/fling/server.c" ], "third_party": false, "type": "target" @@ -1251,10 +1515,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "json_stream_error_test", + "language": "core", + "name": "fling_stream_test", "src": [ - "test/core/json/json_stream_error_test.c" + "test/core/fling/fling_stream_test.c" ], "third_party": false, "type": "target" @@ -1267,10 +1531,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "json_test", + "language": "core", + "name": "fling_test", "src": [ - "test/core/json/json_test.c" + "test/core/fling/fling_test.c" ], "third_party": false, "type": "target" @@ -1278,31 +1542,24 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "grpc" ], "headers": [], - "language": "c", - "name": "lame_client_test", + "language": "core", + "name": "gen_hpack_tables", "src": [ - "test/core/surface/lame_client_test.c" + "tools/codegen/core/gen_hpack_tables.c" ], "third_party": false, "type": "target" }, { - "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], + "deps": [], "headers": [], - "language": "c", - "name": "lb_policies_test", + "language": "core", + "name": "gen_legal_metadata_characters", "src": [ - "test/core/client_config/lb_policies_test.c" + "tools/codegen/core/gen_legal_metadata_characters.c" ], "third_party": false, "type": "target" @@ -1315,10 +1572,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "load_file_test", + "language": "core", + "name": "goaway_server_test", "src": [ - "test/core/iomgr/load_file_test.c" + "test/core/end2end/goaway_server_test.c" ], "third_party": false, "type": "target" @@ -1326,15 +1583,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "low_level_ping_pong_benchmark", + "language": "core", + "name": "gpr_avl_test", "src": [ - "test/core/network_benchmarks/low_level_ping_pong.c" + "test/core/support/avl_test.c" ], "third_party": false, "type": "target" @@ -1342,15 +1597,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "message_compress_test", + "language": "core", + "name": "gpr_backoff_test", "src": [ - "test/core/compression/message_compress_test.c" + "test/core/support/backoff_test.c" ], "third_party": false, "type": "target" @@ -1358,15 +1611,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "mlog_test", + "language": "core", + "name": "gpr_cmdline_test", "src": [ - "test/core/census/mlog_test.c" + "test/core/support/cmdline_test.c" ], "third_party": false, "type": "target" @@ -1374,15 +1625,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "multiple_server_queues_test", + "language": "core", + "name": "gpr_cpu_test", "src": [ - "test/core/end2end/multiple_server_queues_test.c" + "test/core/support/cpu_test.c" ], "third_party": false, "type": "target" @@ -1393,10 +1642,10 @@ "gpr_test_util" ], "headers": [], - "language": "c", - "name": "murmur_hash_test", + "language": "core", + "name": "gpr_env_test", "src": [ - "test/core/support/murmur_hash_test.c" + "test/core/support/env_test.c" ], "third_party": false, "type": "target" @@ -1404,15 +1653,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "nanopb_fuzzer_response_test", + "language": "core", + "name": "gpr_histogram_test", "src": [ - "test/core/nanopb/fuzzer_response.c" + "test/core/support/histogram_test.c" ], "third_party": false, "type": "target" @@ -1420,15 +1667,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "nanopb_fuzzer_serverlist_test", + "language": "core", + "name": "gpr_host_port_test", "src": [ - "test/core/nanopb/fuzzer_serverlist.c" + "test/core/support/host_port_test.c" ], "third_party": false, "type": "target" @@ -1436,15 +1681,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "no_server_test", + "language": "core", + "name": "gpr_log_test", "src": [ - "test/core/end2end/no_server_test.c" + "test/core/support/log_test.c" ], "third_party": false, "type": "target" @@ -1452,15 +1695,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "resolve_address_test", + "language": "core", + "name": "gpr_slice_buffer_test", "src": [ - "test/core/iomgr/resolve_address_test.c" + "test/core/support/slice_buffer_test.c" ], "third_party": false, "type": "target" @@ -1468,15 +1709,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "secure_channel_create_test", + "language": "core", + "name": "gpr_slice_test", "src": [ - "test/core/surface/secure_channel_create_test.c" + "test/core/support/slice_test.c" ], "third_party": false, "type": "target" @@ -1484,15 +1723,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "secure_endpoint_test", + "language": "core", + "name": "gpr_stack_lockfree_test", "src": [ - "test/core/security/secure_endpoint_test.c" + "test/core/support/stack_lockfree_test.c" ], "third_party": false, "type": "target" @@ -1500,15 +1737,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "sequential_connectivity_test", + "language": "core", + "name": "gpr_string_test", "src": [ - "test/core/surface/sequential_connectivity_test.c" + "test/core/support/string_test.c" ], "third_party": false, "type": "target" @@ -1516,15 +1751,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "server_chttp2_test", + "language": "core", + "name": "gpr_sync_test", "src": [ - "test/core/surface/server_chttp2_test.c" + "test/core/support/sync_test.c" ], "third_party": false, "type": "target" @@ -1532,15 +1765,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "server_fuzzer", + "language": "core", + "name": "gpr_thd_test", "src": [ - "test/core/end2end/fuzzers/server_fuzzer.c" + "test/core/support/thd_test.c" ], "third_party": false, "type": "target" @@ -1548,15 +1779,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "server_test", + "language": "core", + "name": "gpr_time_test", "src": [ - "test/core/surface/server_test.c" + "test/core/support/time_test.c" ], "third_party": false, "type": "target" @@ -1564,16 +1793,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util", - "test_tcp_server" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "set_initial_connect_string_test", + "language": "core", + "name": "gpr_tls_test", "src": [ - "test/core/client_config/set_initial_connect_string_test.c" + "test/core/support/tls_test.c" ], "third_party": false, "type": "target" @@ -1581,15 +1807,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "gpr_test_util" ], "headers": [], - "language": "c", - "name": "sockaddr_resolver_test", + "language": "core", + "name": "gpr_useful_test", "src": [ - "test/core/client_config/resolvers/sockaddr_resolver_test.c" + "test/core/support/useful_test.c" ], "third_party": false, "type": "target" @@ -1602,10 +1826,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "sockaddr_utils_test", + "language": "core", + "name": "grpc_auth_context_test", "src": [ - "test/core/iomgr/sockaddr_utils_test.c" + "test/core/security/auth_context_test.c" ], "third_party": false, "type": "target" @@ -1618,10 +1842,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "socket_utils_test", + "language": "core", + "name": "grpc_b64_test", "src": [ - "test/core/iomgr/socket_utils_test.c" + "test/core/security/b64_test.c" ], "third_party": false, "type": "target" @@ -1634,10 +1858,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "tcp_client_posix_test", + "language": "core", + "name": "grpc_byte_buffer_reader_test", "src": [ - "test/core/iomgr/tcp_client_posix_test.c" + "test/core/surface/byte_buffer_reader_test.c" ], "third_party": false, "type": "target" @@ -1650,10 +1874,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "tcp_posix_test", + "language": "core", + "name": "grpc_channel_args_test", "src": [ - "test/core/iomgr/tcp_posix_test.c" + "test/core/channel/channel_args_test.c" ], "third_party": false, "type": "target" @@ -1666,10 +1890,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "tcp_server_posix_test", + "language": "core", + "name": "grpc_channel_stack_test", "src": [ - "test/core/iomgr/tcp_server_posix_test.c" + "test/core/channel/channel_stack_test.c" ], "third_party": false, "type": "target" @@ -1682,10 +1906,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "time_averaged_stats_test", + "language": "core", + "name": "grpc_completion_queue_test", "src": [ - "test/core/iomgr/time_averaged_stats_test.c" + "test/core/surface/completion_queue_test.c" ], "third_party": false, "type": "target" @@ -1693,15 +1917,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "grpc" ], "headers": [], - "language": "c", - "name": "timeout_encoding_test", + "language": "core", + "name": "grpc_create_jwt", "src": [ - "test/core/transport/timeout_encoding_test.c" + "test/core/security/create_jwt.c" ], "third_party": false, "type": "target" @@ -1714,10 +1936,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "timer_heap_test", + "language": "core", + "name": "grpc_credentials_test", "src": [ - "test/core/iomgr/timer_heap_test.c" + "test/core/security/credentials_test.c" ], "third_party": false, "type": "target" @@ -1730,10 +1952,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "timer_list_test", + "language": "core", + "name": "grpc_fetch_oauth2", "src": [ - "test/core/iomgr/timer_list_test.c" + "test/core/security/fetch_oauth2.c" ], "third_party": false, "type": "target" @@ -1746,10 +1968,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "transport_connectivity_state_test", + "language": "core", + "name": "grpc_invalid_channel_args_test", "src": [ - "test/core/transport/connectivity_state_test.c" + "test/core/surface/invalid_channel_args_test.c" ], "third_party": false, "type": "target" @@ -1762,10 +1984,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "transport_metadata_test", + "language": "core", + "name": "grpc_json_token_test", "src": [ - "test/core/transport/metadata_test.c" + "test/core/security/json_token_test.c" ], "third_party": false, "type": "target" @@ -1778,10 +2000,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "transport_security_test", + "language": "core", + "name": "grpc_jwt_verifier_test", "src": [ - "test/core/tsi/transport_security_test.c" + "test/core/security/jwt_verifier_test.c" ], "third_party": false, "type": "target" @@ -1789,15 +2011,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "grpc" ], "headers": [], - "language": "c", - "name": "udp_server_test", + "language": "core", + "name": "grpc_print_google_default_creds_token", "src": [ - "test/core/iomgr/udp_server_test.c" + "test/core/security/print_google_default_creds_token.c" ], "third_party": false, "type": "target" @@ -1810,10 +2030,10 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "uri_fuzzer_test", + "language": "core", + "name": "grpc_security_connector_test", "src": [ - "test/core/client_config/uri_fuzzer_test.c" + "test/core/security/security_connector_test.c" ], "third_party": false, "type": "target" @@ -1821,15 +2041,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" + "grpc" ], "headers": [], - "language": "c", - "name": "uri_parser_test", + "language": "core", + "name": "grpc_verify_jwt", "src": [ - "test/core/client_config/uri_parser_test.c" + "test/core/security/verify_jwt.c" ], "third_party": false, "type": "target" @@ -1839,15 +2057,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "alarm_cpp_test", + "language": "core", + "name": "hpack_parser_fuzzer_test", "src": [ - "test/cpp/common/alarm_cpp_test.cc" + "test/core/transport/chttp2/hpack_parser_fuzzer_test.c" ], "third_party": false, "type": "target" @@ -1857,15 +2073,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "async_end2end_test", + "language": "core", + "name": "hpack_parser_test", "src": [ - "test/cpp/end2end/async_end2end_test.cc" + "test/core/transport/chttp2/hpack_parser_test.c" ], "third_party": false, "type": "target" @@ -1875,15 +2089,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "auth_property_iterator_test", + "language": "core", + "name": "hpack_table_test", "src": [ - "test/cpp/common/auth_property_iterator_test.cc" + "test/core/transport/chttp2/hpack_table_test.c" ], "third_party": false, "type": "target" @@ -1891,14 +2103,15 @@ { "deps": [ "gpr", + "gpr_test_util", "grpc", - "grpc++" + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "channel_arguments_test", + "language": "core", + "name": "http_parser_test", "src": [ - "test/cpp/common/channel_arguments_test.cc" + "test/core/http/parser_test.c" ], "third_party": false, "type": "target" @@ -1906,18 +2119,15 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc++", - "grpc++_test_util", - "grpc_cli_libs", + "gpr_test_util", + "grpc", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "cli_call_test", + "language": "core", + "name": "http_request_fuzzer_test", "src": [ - "test/cpp/util/cli_call_test.cc" + "test/core/http/request_fuzzer.c" ], "third_party": false, "type": "target" @@ -1927,15 +2137,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "client_crash_test", + "language": "core", + "name": "http_response_fuzzer_test", "src": [ - "test/cpp/end2end/client_crash_test.cc" + "test/core/http/response_fuzzer.c" ], "third_party": false, "type": "target" @@ -1945,15 +2153,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "client_crash_test_server", + "language": "core", + "name": "httpcli_format_request_test", "src": [ - "test/cpp/end2end/client_crash_test_server.cc" + "test/core/http/format_request_test.c" ], "third_party": false, "type": "target" @@ -1961,51 +2167,31 @@ { "deps": [ "gpr", + "gpr_test_util", "grpc", - "grpc++", - "grpc++_codegen_base" - ], - "headers": [ - "src/proto/grpc/testing/control.grpc.pb.h", - "src/proto/grpc/testing/control.pb.h", - "src/proto/grpc/testing/messages.grpc.pb.h", - "src/proto/grpc/testing/messages.pb.h", - "src/proto/grpc/testing/payloads.grpc.pb.h", - "src/proto/grpc/testing/payloads.pb.h", - "src/proto/grpc/testing/services.grpc.pb.h", - "src/proto/grpc/testing/services.pb.h", - "src/proto/grpc/testing/stats.grpc.pb.h", - "src/proto/grpc/testing/stats.pb.h" + "grpc_test_util" ], - "language": "c++", - "name": "codegen_test_full", + "headers": [], + "language": "core", + "name": "httpcli_test", "src": [ - "test/cpp/codegen/codegen_test_full.cc" + "test/core/http/httpcli_test.c" ], "third_party": false, "type": "target" }, { "deps": [ - "grpc++_codegen_base", - "grpc++_codegen_base_src" - ], - "headers": [ - "src/proto/grpc/testing/control.grpc.pb.h", - "src/proto/grpc/testing/control.pb.h", - "src/proto/grpc/testing/messages.grpc.pb.h", - "src/proto/grpc/testing/messages.pb.h", - "src/proto/grpc/testing/payloads.grpc.pb.h", - "src/proto/grpc/testing/payloads.pb.h", - "src/proto/grpc/testing/services.grpc.pb.h", - "src/proto/grpc/testing/services.pb.h", - "src/proto/grpc/testing/stats.grpc.pb.h", - "src/proto/grpc/testing/stats.pb.h" + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" ], - "language": "c++", - "name": "codegen_test_minimal", + "headers": [], + "language": "core", + "name": "httpscli_test", "src": [ - "test/cpp/codegen/codegen_test_minimal.cc" + "test/core/http/httpscli_test.c" ], "third_party": false, "type": "target" @@ -2013,14 +2199,15 @@ { "deps": [ "gpr", + "gpr_test_util", "grpc", - "grpc++" + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "credentials_test", + "language": "core", + "name": "init_test", "src": [ - "test/cpp/client/credentials_test.cc" + "test/core/surface/init_test.c" ], "third_party": false, "type": "target" @@ -2030,14 +2217,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "cxx_byte_buffer_test", + "language": "core", + "name": "internal_api_canary_iomgr_test", "src": [ - "test/cpp/util/byte_buffer_test.cc" + "test/core/internal_api_canaries/iomgr.c" ], "third_party": false, "type": "target" @@ -2047,27 +2233,29 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "cxx_slice_test", + "language": "core", + "name": "internal_api_canary_support_test", "src": [ - "test/cpp/util/slice_test.cc" + "test/core/internal_api_canaries/iomgr.c" ], "third_party": false, "type": "target" }, { "deps": [ - "grpc++" + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "cxx_string_ref_test", + "language": "core", + "name": "internal_api_canary_transport_test", "src": [ - "test/cpp/util/string_ref_test.cc" + "test/core/internal_api_canaries/iomgr.c" ], "third_party": false, "type": "target" @@ -2077,14 +2265,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "cxx_time_test", + "language": "core", + "name": "invalid_call_argument_test", "src": [ - "test/cpp/util/time_test.cc" + "test/core/end2end/invalid_call_argument_test.c" ], "third_party": false, "type": "target" @@ -2094,15 +2281,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "end2end_test", + "language": "core", + "name": "json_fuzzer_test", "src": [ - "test/cpp/end2end/end2end_test.cc" + "test/core/json/fuzzer.c" ], "third_party": false, "type": "target" @@ -2110,17 +2295,13 @@ { "deps": [ "gpr", - "gpr_test_util", - "grpc", - "grpc++", - "grpc++_test_util", - "grpc_test_util" + "grpc" ], "headers": [], - "language": "c++", - "name": "filter_end2end_test", + "language": "core", + "name": "json_rewrite", "src": [ - "test/cpp/end2end/filter_end2end_test.cc" + "test/core/json/json_rewrite.c" ], "third_party": false, "type": "target" @@ -2130,15 +2311,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "generic_end2end_test", + "language": "core", + "name": "json_rewrite_test", "src": [ - "test/cpp/end2end/generic_end2end_test.cc" + "test/core/json/json_rewrite_test.c" ], "third_party": false, "type": "target" @@ -2146,17 +2325,15 @@ { "deps": [ "gpr", + "gpr_test_util", "grpc", - "grpc++" - ], - "headers": [ - "src/proto/grpc/testing/compiler_test.grpc.pb.h", - "src/proto/grpc/testing/compiler_test.pb.h" + "grpc_test_util" ], - "language": "c++", - "name": "golden_file_test", + "headers": [], + "language": "core", + "name": "json_stream_error_test", "src": [ - "test/cpp/codegen/golden_file_test.cc" + "test/core/json/json_stream_error_test.c" ], "third_party": false, "type": "target" @@ -2164,95 +2341,111 @@ { "deps": [ "gpr", + "gpr_test_util", "grpc", - "grpc++", - "grpc++_reflection", - "grpc++_test_config", - "grpc_cli_libs" + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "grpc_cli", + "language": "core", + "name": "json_test", "src": [ - "test/cpp/util/grpc_cli.cc" + "test/core/json/json_test.c" ], "third_party": false, "type": "target" }, { "deps": [ - "grpc_plugin_support" + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "grpc_cpp_plugin", + "language": "core", + "name": "lame_client_test", "src": [ - "src/compiler/cpp_plugin.cc" + "test/core/surface/lame_client_test.c" ], "third_party": false, "type": "target" }, { "deps": [ - "grpc_plugin_support" + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "grpc_csharp_plugin", + "language": "core", + "name": "lb_policies_test", "src": [ - "src/compiler/csharp_plugin.cc" + "test/core/client_config/lb_policies_test.c" ], "third_party": false, "type": "target" }, { "deps": [ - "grpc_plugin_support" + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "grpc_node_plugin", + "language": "core", + "name": "load_file_test", "src": [ - "src/compiler/node_plugin.cc" + "test/core/iomgr/load_file_test.c" ], "third_party": false, "type": "target" }, { "deps": [ - "grpc_plugin_support" + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "grpc_objective_c_plugin", + "language": "core", + "name": "low_level_ping_pong_benchmark", "src": [ - "src/compiler/objective_c_plugin.cc" + "test/core/network_benchmarks/low_level_ping_pong.c" ], "third_party": false, "type": "target" }, { "deps": [ - "grpc_plugin_support" + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "grpc_python_plugin", + "language": "core", + "name": "message_compress_test", "src": [ - "src/compiler/python_plugin.cc" + "test/core/compression/message_compress_test.c" ], "third_party": false, "type": "target" }, { "deps": [ - "grpc_plugin_support" + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "grpc_ruby_plugin", + "language": "core", + "name": "mlog_test", "src": [ - "src/compiler/ruby_plugin.cc" + "test/core/census/mlog_test.c" ], "third_party": false, "type": "target" @@ -2262,45 +2455,27 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_codegen_proto", - "grpc++_config_proto", - "grpc++_reflection", - "grpc_cli_libs", "grpc_test_util" ], - "headers": [ - "src/proto/grpc/testing/echo.grpc.pb.h", - "src/proto/grpc/testing/echo.pb.h", - "src/proto/grpc/testing/echo_messages.grpc.pb.h", - "src/proto/grpc/testing/echo_messages.pb.h", - "test/cpp/util/string_ref_helper.h" - ], - "language": "c++", - "name": "grpc_tool_test", + "headers": [], + "language": "core", + "name": "multiple_server_queues_test", "src": [ - "test/cpp/util/grpc_tool_test.cc", - "test/cpp/util/string_ref_helper.cc", - "test/cpp/util/string_ref_helper.h" + "test/core/end2end/multiple_server_queues_test.c" ], "third_party": false, "type": "target" }, { "deps": [ - "grpc", - "grpc++", - "grpc++_test_util", - "grpc_test_util" - ], - "headers": [ - "src/proto/grpc/lb/v1/load_balancer.grpc.pb.h", - "src/proto/grpc/lb/v1/load_balancer.pb.h" + "gpr", + "gpr_test_util" ], - "language": "c++", - "name": "grpclb_api_test", + "headers": [], + "language": "core", + "name": "murmur_hash_test", "src": [ - "test/cpp/grpclb/grpclb_api_test.cc" + "test/core/support/murmur_hash_test.c" ], "third_party": false, "type": "target" @@ -2309,19 +2484,14 @@ "deps": [ "gpr", "gpr_test_util", - "grpc", - "grpc++", - "grpc++_test_util", - "grpc_test_util" - ], - "headers": [ - "src/proto/grpc/lb/v1/load_balancer.grpc.pb.h", - "src/proto/grpc/lb/v1/load_balancer.pb.h" + "grpc", + "grpc_test_util" ], - "language": "c++", - "name": "grpclb_test", + "headers": [], + "language": "core", + "name": "nanopb_fuzzer_response_test", "src": [ - "test/cpp/grpclb/grpclb_test.cc" + "test/core/nanopb/fuzzer_response.c" ], "third_party": false, "type": "target" @@ -2331,15 +2501,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "hybrid_end2end_test", + "language": "core", + "name": "nanopb_fuzzer_serverlist_test", "src": [ - "test/cpp/end2end/hybrid_end2end_test.cc" + "test/core/nanopb/fuzzer_serverlist.c" ], "third_party": false, "type": "target" @@ -2349,17 +2517,14 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_config", - "grpc++_test_util", - "grpc_test_util", - "interop_client_helper", - "interop_client_main" + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "interop_client", - "src": [], + "language": "core", + "name": "no_server_test", + "src": [ + "test/core/end2end/no_server_test.c" + ], "third_party": false, "type": "target" }, @@ -2368,18 +2533,14 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_config", - "grpc++_test_util", - "grpc_test_util", - "interop_server_helper", - "interop_server_lib", - "interop_server_main" + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "interop_server", - "src": [], + "language": "core", + "name": "resolve_address_test", + "src": [ + "test/core/iomgr/resolve_address_test.c" + ], "third_party": false, "type": "target" }, @@ -2391,10 +2552,10 @@ "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "interop_test", + "language": "core", + "name": "secure_channel_create_test", "src": [ - "test/cpp/interop/interop_test.cc" + "test/core/surface/secure_channel_create_test.c" ], "third_party": false, "type": "target" @@ -2404,16 +2565,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_config", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "json_run_localhost", + "language": "core", + "name": "secure_endpoint_test", "src": [ - "test/cpp/qps/json_run_localhost.cc" + "test/core/security/secure_endpoint_test.c" ], "third_party": false, "type": "target" @@ -2421,20 +2579,15 @@ { "deps": [ "gpr", + "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_config" - ], - "headers": [ - "src/proto/grpc/testing/metrics.grpc.pb.h", - "src/proto/grpc/testing/metrics.pb.h", - "test/cpp/util/metrics_server.h" + "grpc_test_util" ], - "language": "c++", - "name": "metrics_client", + "headers": [], + "language": "core", + "name": "sequential_connectivity_test", "src": [ - "test/cpp/interop/metrics_client.cc", - "test/cpp/util/metrics_server.h" + "test/core/surface/sequential_connectivity_test.c" ], "third_party": false, "type": "target" @@ -2444,15 +2597,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "mock_test", + "language": "core", + "name": "server_chttp2_test", "src": [ - "test/cpp/end2end/mock_test.cc" + "test/core/surface/server_chttp2_test.c" ], "third_party": false, "type": "target" @@ -2462,20 +2613,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_reflection", - "grpc++_test_util", "grpc_test_util" ], - "headers": [ - "test/cpp/util/proto_reflection_descriptor_database.h" - ], - "language": "c++", - "name": "proto_server_reflection_test", + "headers": [], + "language": "core", + "name": "server_fuzzer", "src": [ - "test/cpp/end2end/proto_server_reflection_test.cc", - "test/cpp/util/proto_reflection_descriptor_database.cc", - "test/cpp/util/proto_reflection_descriptor_database.h" + "test/core/end2end/fuzzers/server_fuzzer.c" ], "third_party": false, "type": "target" @@ -2485,16 +2629,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", - "grpc_test_util", - "qps" + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "qps_interarrival_test", + "language": "core", + "name": "server_test", "src": [ - "test/cpp/qps/qps_interarrival_test.cc" + "test/core/surface/server_test.c" ], "third_party": false, "type": "target" @@ -2504,17 +2645,14 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_config", - "grpc++_test_util", "grpc_test_util", - "qps" + "test_tcp_server" ], "headers": [], - "language": "c++", - "name": "qps_json_driver", + "language": "core", + "name": "set_initial_connect_string_test", "src": [ - "test/cpp/qps/qps_json_driver.cc" + "test/core/client_config/set_initial_connect_string_test.c" ], "third_party": false, "type": "target" @@ -2524,17 +2662,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_config", - "grpc++_test_util", - "grpc_test_util", - "qps" + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "qps_openloop_test", + "language": "core", + "name": "sockaddr_resolver_test", "src": [ - "test/cpp/qps/qps_openloop_test.cc" + "test/core/client_config/resolvers/sockaddr_resolver_test.c" ], "third_party": false, "type": "target" @@ -2544,22 +2678,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_config", - "grpc++_test_util", - "grpc_test_util", - "qps" - ], - "headers": [ - "test/cpp/qps/client.h", - "test/cpp/qps/server.h" + "grpc_test_util" ], - "language": "c++", - "name": "qps_worker", + "headers": [], + "language": "core", + "name": "sockaddr_utils_test", "src": [ - "test/cpp/qps/client.h", - "test/cpp/qps/server.h", - "test/cpp/qps/worker.cc" + "test/core/iomgr/sockaddr_utils_test.c" ], "third_party": false, "type": "target" @@ -2569,23 +2694,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_config", - "grpc++_test_util", "grpc_test_util" ], - "headers": [ - "src/proto/grpc/testing/empty.grpc.pb.h", - "src/proto/grpc/testing/empty.pb.h", - "src/proto/grpc/testing/messages.grpc.pb.h", - "src/proto/grpc/testing/messages.pb.h", - "src/proto/grpc/testing/test.grpc.pb.h", - "src/proto/grpc/testing/test.pb.h" - ], - "language": "c++", - "name": "reconnect_interop_client", + "headers": [], + "language": "core", + "name": "socket_utils_test", "src": [ - "test/cpp/interop/reconnect_interop_client.cc" + "test/core/iomgr/socket_utils_test.c" ], "third_party": false, "type": "target" @@ -2595,25 +2710,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_config", - "grpc++_test_util", - "grpc_test_util", - "reconnect_server", - "test_tcp_server" - ], - "headers": [ - "src/proto/grpc/testing/empty.grpc.pb.h", - "src/proto/grpc/testing/empty.pb.h", - "src/proto/grpc/testing/messages.grpc.pb.h", - "src/proto/grpc/testing/messages.pb.h", - "src/proto/grpc/testing/test.grpc.pb.h", - "src/proto/grpc/testing/test.pb.h" + "grpc_test_util" ], - "language": "c++", - "name": "reconnect_interop_server", + "headers": [], + "language": "core", + "name": "tcp_client_posix_test", "src": [ - "test/cpp/interop/reconnect_interop_server.cc" + "test/core/iomgr/tcp_client_posix_test.c" ], "third_party": false, "type": "target" @@ -2623,15 +2726,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "secure_auth_context_test", + "language": "core", + "name": "tcp_posix_test", "src": [ - "test/cpp/common/secure_auth_context_test.cc" + "test/core/iomgr/tcp_posix_test.c" ], "third_party": false, "type": "target" @@ -2641,16 +2742,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", - "grpc_test_util", - "qps" + "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "secure_sync_unary_ping_pong_test", + "language": "core", + "name": "tcp_server_posix_test", "src": [ - "test/cpp/qps/secure_sync_unary_ping_pong_test.cc" + "test/core/iomgr/tcp_server_posix_test.c" ], "third_party": false, "type": "target" @@ -2660,15 +2758,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "server_builder_plugin_test", + "language": "core", + "name": "time_averaged_stats_test", "src": [ - "test/cpp/end2end/server_builder_plugin_test.cc" + "test/core/iomgr/time_averaged_stats_test.c" ], "third_party": false, "type": "target" @@ -2678,15 +2774,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "server_crash_test", + "language": "core", + "name": "timeout_encoding_test", "src": [ - "test/cpp/end2end/server_crash_test.cc" + "test/core/transport/timeout_encoding_test.c" ], "third_party": false, "type": "target" @@ -2696,15 +2790,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "server_crash_test_client", + "language": "core", + "name": "timer_heap_test", "src": [ - "test/cpp/end2end/server_crash_test_client.cc" + "test/core/iomgr/timer_heap_test.c" ], "third_party": false, "type": "target" @@ -2714,15 +2806,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "shutdown_test", + "language": "core", + "name": "timer_list_test", "src": [ - "test/cpp/end2end/shutdown_test.cc" + "test/core/iomgr/timer_list_test.c" ], "third_party": false, "type": "target" @@ -2732,14 +2822,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "status_test", + "language": "core", + "name": "transport_connectivity_state_test", "src": [ - "test/cpp/util/status_test.cc" + "test/core/transport/connectivity_state_test.c" ], "third_party": false, "type": "target" @@ -2749,15 +2838,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "streaming_throughput_test", + "language": "core", + "name": "transport_metadata_test", "src": [ - "test/cpp/end2end/streaming_throughput_test.cc" + "test/core/transport/metadata_test.c" ], "third_party": false, "type": "target" @@ -2767,36 +2854,29 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_config", - "grpc++_test_util", "grpc_test_util" ], - "headers": [ - "src/proto/grpc/testing/empty.grpc.pb.h", - "src/proto/grpc/testing/empty.pb.h", - "src/proto/grpc/testing/messages.grpc.pb.h", - "src/proto/grpc/testing/messages.pb.h", - "src/proto/grpc/testing/metrics.grpc.pb.h", - "src/proto/grpc/testing/metrics.pb.h", - "src/proto/grpc/testing/test.grpc.pb.h", - "src/proto/grpc/testing/test.pb.h", - "test/cpp/interop/client_helper.h", - "test/cpp/interop/interop_client.h", - "test/cpp/interop/stress_interop_client.h", - "test/cpp/util/metrics_server.h" + "headers": [], + "language": "core", + "name": "transport_security_test", + "src": [ + "test/core/tsi/transport_security_test.c" ], - "language": "c++", - "name": "stress_test", + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "core", + "name": "udp_server_test", "src": [ - "test/cpp/interop/client_helper.h", - "test/cpp/interop/interop_client.cc", - "test/cpp/interop/interop_client.h", - "test/cpp/interop/stress_interop_client.cc", - "test/cpp/interop/stress_interop_client.h", - "test/cpp/interop/stress_test.cc", - "test/cpp/util/metrics_server.cc", - "test/cpp/util/metrics_server.h" + "test/core/iomgr/udp_server_test.c" ], "third_party": false, "type": "target" @@ -2806,15 +2886,13 @@ "gpr", "gpr_test_util", "grpc", - "grpc++", - "grpc++_test_util", "grpc_test_util" ], "headers": [], - "language": "c++", - "name": "thread_stress_test", + "language": "core", + "name": "uri_fuzzer_test", "src": [ - "test/cpp/end2end/thread_stress_test.cc" + "test/core/client_config/uri_fuzzer_test.c" ], "third_party": false, "type": "target" @@ -2822,13 +2900,15 @@ { "deps": [ "gpr", - "grpc" + "gpr_test_util", + "grpc", + "grpc_test_util" ], "headers": [], - "language": "c89", - "name": "public_headers_must_be_c89", + "language": "core", + "name": "uri_parser_test", "src": [ - "test/core/surface/public_headers_must_be_c89.c" + "test/core/client_config/uri_parser_test.c" ], "third_party": false, "type": "target" @@ -3336,7 +3416,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "badreq_bad_client_test", "src": [ "test/core/bad_client/tests/badreq.c" @@ -3353,7 +3433,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "connection_prefix_bad_client_test", "src": [ "test/core/bad_client/tests/connection_prefix.c" @@ -3370,7 +3450,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "head_of_line_blocking_bad_client_test", "src": [ "test/core/bad_client/tests/head_of_line_blocking.c" @@ -3387,7 +3467,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "headers_bad_client_test", "src": [ "test/core/bad_client/tests/headers.c" @@ -3404,7 +3484,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "initial_settings_frame_bad_client_test", "src": [ "test/core/bad_client/tests/initial_settings_frame.c" @@ -3421,7 +3501,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "large_metadata_bad_client_test", "src": [ "test/core/bad_client/tests/large_metadata.c" @@ -3438,7 +3518,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "server_registered_method_bad_client_test", "src": [ "test/core/bad_client/tests/server_registered_method.c" @@ -3455,7 +3535,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "simple_request_bad_client_test", "src": [ "test/core/bad_client/tests/simple_request.c" @@ -3472,7 +3552,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "unknown_frame_bad_client_test", "src": [ "test/core/bad_client/tests/unknown_frame.c" @@ -3489,7 +3569,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "window_overflow_bad_client_test", "src": [ "test/core/bad_client/tests/window_overflow.c" @@ -3506,7 +3586,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "bad_ssl_alpn_server", "src": [ "test/core/bad_ssl/servers/alpn.c" @@ -3523,7 +3603,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "bad_ssl_cert_server", "src": [ "test/core/bad_ssl/servers/cert.c" @@ -3539,7 +3619,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "bad_ssl_alpn_test", "src": [ "test/core/bad_ssl/bad_ssl_test.c" @@ -3555,7 +3635,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "bad_ssl_cert_test", "src": [ "test/core/bad_ssl/bad_ssl_test.c" @@ -3572,7 +3652,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_census_test", "src": [ "test/core/end2end/fixtures/h2_census.c" @@ -3589,7 +3669,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_compress_test", "src": [ "test/core/end2end/fixtures/h2_compress.c" @@ -3606,7 +3686,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_fakesec_test", "src": [ "test/core/end2end/fixtures/h2_fakesec.c" @@ -3623,7 +3703,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_fd_test", "src": [ "test/core/end2end/fixtures/h2_fd.c" @@ -3640,7 +3720,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_full_test", "src": [ "test/core/end2end/fixtures/h2_full.c" @@ -3657,7 +3737,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "src": [ "test/core/end2end/fixtures/h2_full+pipe.c" @@ -3674,7 +3754,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_full+trace_test", "src": [ "test/core/end2end/fixtures/h2_full+trace.c" @@ -3691,7 +3771,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "src": [ "test/core/end2end/fixtures/h2_load_reporting.c" @@ -3708,7 +3788,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_oauth2_test", "src": [ "test/core/end2end/fixtures/h2_oauth2.c" @@ -3725,7 +3805,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_proxy_test", "src": [ "test/core/end2end/fixtures/h2_proxy.c" @@ -3742,7 +3822,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_sockpair_test", "src": [ "test/core/end2end/fixtures/h2_sockpair.c" @@ -3759,7 +3839,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "src": [ "test/core/end2end/fixtures/h2_sockpair+trace.c" @@ -3776,7 +3856,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "src": [ "test/core/end2end/fixtures/h2_sockpair_1byte.c" @@ -3793,7 +3873,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_ssl_test", "src": [ "test/core/end2end/fixtures/h2_ssl.c" @@ -3810,7 +3890,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "src": [ "test/core/end2end/fixtures/h2_ssl_cert.c" @@ -3827,7 +3907,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "src": [ "test/core/end2end/fixtures/h2_ssl_proxy.c" @@ -3844,7 +3924,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_uds_test", "src": [ "test/core/end2end/fixtures/h2_uds.c" @@ -3861,7 +3941,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "src": [ "test/core/end2end/fixtures/h2_census.c" @@ -3878,7 +3958,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "src": [ "test/core/end2end/fixtures/h2_compress.c" @@ -3895,7 +3975,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "src": [ "test/core/end2end/fixtures/h2_fd.c" @@ -3912,7 +3992,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "src": [ "test/core/end2end/fixtures/h2_full.c" @@ -3929,7 +4009,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "src": [ "test/core/end2end/fixtures/h2_full+pipe.c" @@ -3946,7 +4026,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "src": [ "test/core/end2end/fixtures/h2_full+trace.c" @@ -3963,7 +4043,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "src": [ "test/core/end2end/fixtures/h2_load_reporting.c" @@ -3980,7 +4060,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "src": [ "test/core/end2end/fixtures/h2_proxy.c" @@ -3997,7 +4077,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "src": [ "test/core/end2end/fixtures/h2_sockpair.c" @@ -4014,7 +4094,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "src": [ "test/core/end2end/fixtures/h2_sockpair+trace.c" @@ -4031,7 +4111,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "src": [ "test/core/end2end/fixtures/h2_sockpair_1byte.c" @@ -4048,7 +4128,7 @@ "grpc_unsecure" ], "headers": [], - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "src": [ "test/core/end2end/fixtures/h2_uds.c" @@ -4064,7 +4144,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "src": [ "test/core/end2end/fuzzers/api_fuzzer.c", @@ -4081,7 +4161,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "src": [ "test/core/end2end/fuzzers/client_fuzzer.c", @@ -4098,7 +4178,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "src": [ "test/core/transport/chttp2/hpack_parser_fuzzer_test.c", @@ -4115,7 +4195,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "http_request_fuzzer_test_one_entry", "src": [ "test/core/http/request_fuzzer.c", @@ -4132,7 +4212,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "http_response_fuzzer_test_one_entry", "src": [ "test/core/http/response_fuzzer.c", @@ -4149,7 +4229,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "src": [ "test/core/json/fuzzer.c", @@ -4166,7 +4246,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "src": [ "test/core/nanopb/fuzzer_response.c", @@ -4183,7 +4263,7 @@ "grpc_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "src": [ "test/core/nanopb/fuzzer_serverlist.c", @@ -4200,194 +4280,132 @@ "grpc_test_util" ], "headers": [], - "language": "c", - "name": "server_fuzzer_one_entry", - "src": [ - "test/core/end2end/fuzzers/server_fuzzer.c", - "test/core/util/one_corpus_entry_fuzzer.c" - ], - "third_party": false, - "type": "target" - }, - { - "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [], - "language": "c", - "name": "uri_fuzzer_test_one_entry", - "src": [ - "test/core/client_config/uri_fuzzer_test.c", - "test/core/util/one_corpus_entry_fuzzer.c" - ], - "third_party": false, - "type": "target" - }, - { - "deps": [ - "gpr_base" - ], - "headers": [], - "language": "c", - "name": "gpr", - "src": [], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "gpr" - ], - "headers": [ - "test/core/util/test_config.h" - ], - "language": "c", - "name": "gpr_test_util", - "src": [ - "test/core/util/test_config.c", - "test/core/util/test_config.h" - ], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "census", - "gpr", - "grpc_base", - "grpc_lb_policy_grpclb", - "grpc_lb_policy_pick_first", - "grpc_lb_policy_round_robin", - "grpc_load_reporting", - "grpc_resolver_dns_native", - "grpc_resolver_sockaddr", - "grpc_secure", - "grpc_transport_chttp2_client_insecure", - "grpc_transport_chttp2_client_secure", - "grpc_transport_chttp2_server_insecure", - "grpc_transport_chttp2_server_secure" - ], - "headers": [], - "language": "c", - "name": "grpc", - "src": [ - "src/core/lib/surface/init.c" - ], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "gpr", - "grpc_base", - "grpc_transport_chttp2_client_secure", - "grpc_transport_cronet_client_secure" - ], - "headers": [], - "language": "c", - "name": "grpc_cronet", - "src": [ - "src/core/lib/surface/init.c" - ], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "gpr", - "grpc" - ], - "headers": [], - "language": "c", - "name": "grpc_dll", - "src": [], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_base", - "grpc_test_util_base" - ], - "headers": [ - "test/core/end2end/data/ssl_test_data.h", - "test/core/security/oauth2_utils.h" - ], - "language": "c", - "name": "grpc_test_util", - "src": [ - "test/core/end2end/data/client_certs.c", - "test/core/end2end/data/server1_cert.c", - "test/core/end2end/data/server1_key.c", - "test/core/end2end/data/ssl_test_data.h", - "test/core/end2end/data/test_root_cert.c", - "test/core/security/oauth2_utils.c", - "test/core/security/oauth2_utils.h" - ], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util_base", - "grpc_unsecure" - ], - "headers": [], - "language": "c", - "name": "grpc_test_util_unsecure", - "src": [], - "third_party": false, - "type": "lib" - }, - { - "deps": [ - "census", - "gpr", - "grpc_base", - "grpc_lb_policy_grpclb", - "grpc_lb_policy_pick_first", - "grpc_lb_policy_round_robin", - "grpc_load_reporting", - "grpc_resolver_dns_native", - "grpc_resolver_sockaddr", - "grpc_transport_chttp2_client_insecure", - "grpc_transport_chttp2_server_insecure" - ], - "headers": [], - "language": "c", - "name": "grpc_unsecure", + "language": "core", + "name": "server_fuzzer_one_entry", "src": [ - "src/core/lib/surface/init.c", - "src/core/lib/surface/init_unsecure.c" + "test/core/end2end/fuzzers/server_fuzzer.c", + "test/core/util/one_corpus_entry_fuzzer.c" ], "third_party": false, - "type": "lib" + "type": "target" }, { "deps": [ "gpr", "gpr_test_util", "grpc", - "grpc_test_util", - "test_tcp_server" - ], - "headers": [ - "test/core/util/reconnect_server.h" + "grpc_test_util" ], - "language": "c", - "name": "reconnect_server", + "headers": [], + "language": "core", + "name": "uri_fuzzer_test_one_entry", "src": [ - "test/core/util/reconnect_server.c", - "test/core/util/reconnect_server.h" + "test/core/client_config/uri_fuzzer_test.c", + "test/core/util/one_corpus_entry_fuzzer.c" + ], + "third_party": false, + "type": "target" + }, + { + "deps": [ + "gpr", + "grpc" + ], + "headers": [ + "include/grpc_c/channel.h", + "include/grpc_c/client_context.h", + "include/grpc_c/codegen/bidi_streaming_blocking_call.h", + "include/grpc_c/codegen/client_streaming_blocking_call.h", + "include/grpc_c/codegen/context.h", + "include/grpc_c/codegen/message.h", + "include/grpc_c/codegen/method.h", + "include/grpc_c/codegen/pb_compat.h", + "include/grpc_c/codegen/serialization.h", + "include/grpc_c/codegen/server.h", + "include/grpc_c/codegen/server_streaming_blocking_call.h", + "include/grpc_c/codegen/unary_async_call.h", + "include/grpc_c/codegen/unary_blocking_call.h", + "include/grpc_c/completion_queue.h", + "include/grpc_c/declare_serializer.h", + "include/grpc_c/grpc_c.h", + "include/grpc_c/server.h", + "include/grpc_c/server_context.h", + "include/grpc_c/server_incoming_queue.h", + "include/grpc_c/status.h", + "src/c/alloc.h", + "src/c/array.h", + "src/c/bidi_streaming_blocking_call.h", + "src/c/call_ops.h", + "src/c/client_context.h", + "src/c/client_streaming_blocking_call.h", + "src/c/completion_queue.h", + "src/c/context.h", + "src/c/init_shutdown.h", + "src/c/message.h", + "src/c/server.h", + "src/c/server_context.h", + "src/c/server_incoming_queue.h", + "src/c/server_streaming_blocking_call.h", + "src/c/unary_async_call.h", + "src/c/unary_blocking_call.h" + ], + "language": "c", + "name": "grpc_c", + "src": [ + "include/grpc_c/channel.h", + "include/grpc_c/client_context.h", + "include/grpc_c/codegen/bidi_streaming_blocking_call.h", + "include/grpc_c/codegen/client_streaming_blocking_call.h", + "include/grpc_c/codegen/context.h", + "include/grpc_c/codegen/message.h", + "include/grpc_c/codegen/method.h", + "include/grpc_c/codegen/pb_compat.h", + "include/grpc_c/codegen/serialization.h", + "include/grpc_c/codegen/server.h", + "include/grpc_c/codegen/server_streaming_blocking_call.h", + "include/grpc_c/codegen/unary_async_call.h", + "include/grpc_c/codegen/unary_blocking_call.h", + "include/grpc_c/completion_queue.h", + "include/grpc_c/declare_serializer.h", + "include/grpc_c/grpc_c.h", + "include/grpc_c/server.h", + "include/grpc_c/server_context.h", + "include/grpc_c/server_incoming_queue.h", + "include/grpc_c/status.h", + "src/c/alloc.c", + "src/c/alloc.h", + "src/c/array.c", + "src/c/array.h", + "src/c/bidi_streaming_blocking_call.c", + "src/c/bidi_streaming_blocking_call.h", + "src/c/call_ops.c", + "src/c/call_ops.h", + "src/c/channel.c", + "src/c/client_context.c", + "src/c/client_context.h", + "src/c/client_streaming_blocking_call.c", + "src/c/client_streaming_blocking_call.h", + "src/c/completion_queue.c", + "src/c/completion_queue.h", + "src/c/context.c", + "src/c/context.h", + "src/c/init_shutdown.c", + "src/c/init_shutdown.h", + "src/c/message.c", + "src/c/message.h", + "src/c/pb_compat.c", + "src/c/server.c", + "src/c/server.h", + "src/c/server_context.c", + "src/c/server_context.h", + "src/c/server_incoming_queue.c", + "src/c/server_incoming_queue.h", + "src/c/server_streaming_blocking_call.c", + "src/c/server_streaming_blocking_call.h", + "src/c/unary_async_call.c", + "src/c/unary_async_call.h", + "src/c/unary_blocking_call.c", + "src/c/unary_blocking_call.h" ], "third_party": false, "type": "lib" @@ -4397,16 +4415,22 @@ "gpr", "gpr_test_util", "grpc", - "grpc_test_util" + "grpc_c", + "grpc_test_util", + "nanopb" ], "headers": [ - "test/core/util/test_tcp_server.h" + "src/proto/grpc/testing/echo.grpc.pbc.h", + "src/proto/grpc/testing/echo.pbc.h", + "src/proto/grpc/testing/echo_messages.grpc.pbc.h", + "src/proto/grpc/testing/echo_messages.pbc.h", + "test/c/end2end/end2end_test_client.h" ], "language": "c", - "name": "test_tcp_server", + "name": "grpc_c_end2end_client_lib", "src": [ - "test/core/util/test_tcp_server.c", - "test/core/util/test_tcp_server.h" + "test/c/end2end/end2end_test_client.c", + "test/c/end2end/end2end_test_client.h" ], "third_party": false, "type": "lib" @@ -4585,6 +4609,8 @@ "grpc++_config_proto" ], "headers": [ + "src/compiler/c_generator.h", + "src/compiler/c_generator_helpers.h", "src/compiler/config.h", "src/compiler/cpp_generator.h", "src/compiler/cpp_generator_helpers.h", @@ -4604,6 +4630,9 @@ "language": "c++", "name": "grpc_plugin_support", "src": [ + "src/compiler/c_generator.cc", + "src/compiler/c_generator.h", + "src/compiler/c_generator_helpers.h", "src/compiler/config.h", "src/compiler/cpp_generator.cc", "src/compiler/cpp_generator.h", @@ -4800,6 +4829,191 @@ "third_party": false, "type": "lib" }, + { + "deps": [ + "gpr_base" + ], + "headers": [], + "language": "core", + "name": "gpr", + "src": [], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr" + ], + "headers": [ + "test/core/util/test_config.h" + ], + "language": "core", + "name": "gpr_test_util", + "src": [ + "test/core/util/test_config.c", + "test/core/util/test_config.h" + ], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "census", + "gpr", + "grpc_base", + "grpc_lb_policy_grpclb", + "grpc_lb_policy_pick_first", + "grpc_lb_policy_round_robin", + "grpc_load_reporting", + "grpc_resolver_dns_native", + "grpc_resolver_sockaddr", + "grpc_secure", + "grpc_transport_chttp2_client_insecure", + "grpc_transport_chttp2_client_secure", + "grpc_transport_chttp2_server_insecure", + "grpc_transport_chttp2_server_secure" + ], + "headers": [], + "language": "core", + "name": "grpc", + "src": [ + "src/core/lib/surface/init.c" + ], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "grpc_base", + "grpc_transport_chttp2_client_secure", + "grpc_transport_cronet_client_secure" + ], + "headers": [], + "language": "core", + "name": "grpc_cronet", + "src": [ + "src/core/lib/surface/init.c" + ], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "grpc" + ], + "headers": [], + "language": "core", + "name": "grpc_dll", + "src": [], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_base", + "grpc_test_util_base" + ], + "headers": [ + "test/core/end2end/data/ssl_test_data.h", + "test/core/security/oauth2_utils.h" + ], + "language": "core", + "name": "grpc_test_util", + "src": [ + "test/core/end2end/data/client_certs.c", + "test/core/end2end/data/server1_cert.c", + "test/core/end2end/data/server1_key.c", + "test/core/end2end/data/ssl_test_data.h", + "test/core/end2end/data/test_root_cert.c", + "test/core/security/oauth2_utils.c", + "test/core/security/oauth2_utils.h" + ], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util_base", + "grpc_unsecure" + ], + "headers": [], + "language": "core", + "name": "grpc_test_util_unsecure", + "src": [], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "census", + "gpr", + "grpc_base", + "grpc_lb_policy_grpclb", + "grpc_lb_policy_pick_first", + "grpc_lb_policy_round_robin", + "grpc_load_reporting", + "grpc_resolver_dns_native", + "grpc_resolver_sockaddr", + "grpc_transport_chttp2_client_insecure", + "grpc_transport_chttp2_server_insecure" + ], + "headers": [], + "language": "core", + "name": "grpc_unsecure", + "src": [ + "src/core/lib/surface/init.c", + "src/core/lib/surface/init_unsecure.c" + ], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util", + "test_tcp_server" + ], + "headers": [ + "test/core/util/reconnect_server.h" + ], + "language": "core", + "name": "reconnect_server", + "src": [ + "test/core/util/reconnect_server.c", + "test/core/util/reconnect_server.h" + ], + "third_party": false, + "type": "lib" + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [ + "test/core/util/test_tcp_server.h" + ], + "language": "core", + "name": "test_tcp_server", + "src": [ + "test/core/util/test_tcp_server.c", + "test/core/util/test_tcp_server.h" + ], + "third_party": false, + "type": "lib" + }, { "deps": [ "gpr", @@ -4925,7 +5139,7 @@ "third_party/boringssl/ssl/test/scoped_types.h", "third_party/boringssl/ssl/test/test_config.h" ], - "language": "c", + "language": "core", "name": "boringssl", "src": [ "src/boringssl/err_data.c" @@ -5056,7 +5270,7 @@ "boringssl_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "boringssl_constant_time_test_lib", "src": [], "third_party": true, @@ -5116,7 +5330,7 @@ "boringssl_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "boringssl_dsa_test_lib", "src": [], "third_party": true, @@ -5140,7 +5354,7 @@ "boringssl_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "boringssl_example_mul_lib", "src": [], "third_party": true, @@ -5212,7 +5426,7 @@ "boringssl_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "boringssl_hkdf_test_lib", "src": [], "third_party": true, @@ -5236,7 +5450,7 @@ "boringssl_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "boringssl_lhash_test_lib", "src": [], "third_party": true, @@ -5248,7 +5462,7 @@ "boringssl_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "boringssl_gcm_test_lib", "src": [], "third_party": true, @@ -5296,7 +5510,7 @@ "boringssl_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "boringssl_refcount_test_lib", "src": [], "third_party": true, @@ -5320,7 +5534,7 @@ "boringssl_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "boringssl_thread_test_lib", "src": [], "third_party": true, @@ -5332,7 +5546,7 @@ "boringssl_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "boringssl_pkcs7_test_lib", "src": [], "third_party": true, @@ -5356,7 +5570,7 @@ "boringssl_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "boringssl_tab_test_lib", "src": [], "third_party": true, @@ -5368,7 +5582,7 @@ "boringssl_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "boringssl_v3name_test_lib", "src": [], "third_party": true, @@ -5380,7 +5594,7 @@ "boringssl_test_util" ], "headers": [], - "language": "c", + "language": "core", "name": "boringssl_pqueue_test_lib", "src": [], "third_party": true, @@ -5413,7 +5627,7 @@ "third_party/zlib/zlib.h", "third_party/zlib/zutil.h" ], - "language": "c", + "language": "core", "name": "z", "src": [], "third_party": true, @@ -5429,7 +5643,7 @@ "headers": [ "test/core/bad_client/bad_client.h" ], - "language": "c", + "language": "core", "name": "bad_client_test", "src": [ "test/core/bad_client/bad_client.c", @@ -5448,7 +5662,7 @@ "headers": [ "test/core/bad_ssl/server_common.h" ], - "language": "c", + "language": "core", "name": "bad_ssl_test_server", "src": [ "test/core/bad_ssl/server_common.c", @@ -5468,7 +5682,7 @@ "test/core/end2end/end2end_tests.h", "test/core/end2end/tests/cancel_test_helpers.h" ], - "language": "c", + "language": "core", "name": "end2end_tests", "src": [ "test/core/end2end/end2end_tests.c", @@ -5531,7 +5745,7 @@ "test/core/end2end/end2end_tests.h", "test/core/end2end/tests/cancel_test_helpers.h" ], - "language": "c", + "language": "core", "name": "end2end_nosec_tests", "src": [ "test/core/end2end/end2end_nosec_tests.c", @@ -5600,7 +5814,7 @@ "src/core/ext/census/resource.h", "src/core/ext/census/rpc_metric_id.h" ], - "language": "c", + "language": "core", "name": "census", "src": [ "include/grpc/census.h", @@ -5674,7 +5888,7 @@ "src/core/lib/support/time_precise.h", "src/core/lib/support/tmpfile.h" ], - "language": "c", + "language": "core", "name": "gpr_base", "src": [ "include/grpc/support/alloc.h", @@ -5783,7 +5997,7 @@ "include/grpc/impl/codegen/sync_windows.h", "include/grpc/impl/codegen/time.h" ], - "language": "c", + "language": "core", "name": "gpr_codegen", "src": [ "include/grpc/impl/codegen/alloc.h", @@ -5897,7 +6111,7 @@ "src/core/lib/transport/transport.h", "src/core/lib/transport/transport_impl.h" ], - "language": "c", + "language": "core", "name": "grpc_base", "src": [ "include/grpc/byte_buffer.h", @@ -6102,7 +6316,7 @@ "src/core/ext/client_config/subchannel_index.h", "src/core/ext/client_config/uri_parser.h" ], - "language": "c", + "language": "core", "name": "grpc_client_config", "src": [ "src/core/ext/client_config/channel_connectivity.c", @@ -6157,7 +6371,7 @@ "include/grpc/impl/codegen/propagation_bits.h", "include/grpc/impl/codegen/status.h" ], - "language": "c", + "language": "core", "name": "grpc_codegen", "src": [ "include/grpc/impl/codegen/byte_buffer.h", @@ -6183,7 +6397,7 @@ "src/core/ext/lb_policy/grpclb/load_balancer_api.h", "src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h" ], - "language": "c", + "language": "core", "name": "grpc_lb_policy_grpclb", "src": [ "src/core/ext/lb_policy/grpclb/grpclb.c", @@ -6203,7 +6417,7 @@ "grpc_client_config" ], "headers": [], - "language": "c", + "language": "core", "name": "grpc_lb_policy_pick_first", "src": [ "src/core/ext/lb_policy/pick_first/pick_first.c" @@ -6218,7 +6432,7 @@ "grpc_client_config" ], "headers": [], - "language": "c", + "language": "core", "name": "grpc_lb_policy_round_robin", "src": [ "src/core/ext/lb_policy/round_robin/round_robin.c" @@ -6235,7 +6449,7 @@ "src/core/ext/load_reporting/load_reporting.h", "src/core/ext/load_reporting/load_reporting_filter.h" ], - "language": "c", + "language": "core", "name": "grpc_load_reporting", "src": [ "src/core/ext/load_reporting/load_reporting.c", @@ -6253,7 +6467,7 @@ "grpc_client_config" ], "headers": [], - "language": "c", + "language": "core", "name": "grpc_resolver_dns_native", "src": [ "src/core/ext/resolver/dns/native/dns_resolver.c" @@ -6268,7 +6482,7 @@ "grpc_client_config" ], "headers": [], - "language": "c", + "language": "core", "name": "grpc_resolver_sockaddr", "src": [ "src/core/ext/resolver/sockaddr/sockaddr_resolver.c" @@ -6306,7 +6520,7 @@ "src/core/lib/security/util/b64.h", "src/core/lib/security/util/json_util.h" ], - "language": "c", + "language": "core", "name": "grpc_secure", "src": [ "include/grpc/grpc_security.h", @@ -6377,7 +6591,7 @@ "test/core/util/port_server_client.h", "test/core/util/slice_splitter.h" ], - "language": "c", + "language": "core", "name": "grpc_test_util_base", "src": [ "test/core/end2end/cq_verifier.c", @@ -6435,7 +6649,7 @@ "src/core/ext/transport/chttp2/transport/stream_map.h", "src/core/ext/transport/chttp2/transport/varint.h" ], - "language": "c", + "language": "core", "name": "grpc_transport_chttp2", "src": [ "src/core/ext/transport/chttp2/transport/bin_decoder.c", @@ -6490,7 +6704,7 @@ "headers": [ "src/core/ext/transport/chttp2/alpn/alpn.h" ], - "language": "c", + "language": "core", "name": "grpc_transport_chttp2_alpn", "src": [ "src/core/ext/transport/chttp2/alpn/alpn.c", @@ -6507,7 +6721,7 @@ "grpc_transport_chttp2" ], "headers": [], - "language": "c", + "language": "core", "name": "grpc_transport_chttp2_client_insecure", "src": [ "src/core/ext/transport/chttp2/client/insecure/channel_create.c", @@ -6525,7 +6739,7 @@ "grpc_transport_chttp2" ], "headers": [], - "language": "c", + "language": "core", "name": "grpc_transport_chttp2_client_secure", "src": [ "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c" @@ -6540,7 +6754,7 @@ "grpc_transport_chttp2" ], "headers": [], - "language": "c", + "language": "core", "name": "grpc_transport_chttp2_server_insecure", "src": [ "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c", @@ -6557,7 +6771,7 @@ "grpc_transport_chttp2" ], "headers": [], - "language": "c", + "language": "core", "name": "grpc_transport_chttp2_server_secure", "src": [ "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c" @@ -6576,7 +6790,7 @@ "include/grpc/grpc_security_constants.h", "third_party/objective_c/Cronet/cronet_c_for_grpc.h" ], - "language": "c", + "language": "core", "name": "grpc_transport_cronet_client_secure", "src": [ "include/grpc/grpc_cronet.h", @@ -6597,7 +6811,7 @@ "third_party/nanopb/pb_decode.h", "third_party/nanopb/pb_encode.h" ], - "language": "c", + "language": "core", "name": "nanopb", "src": [], "third_party": false, @@ -6614,7 +6828,7 @@ "src/core/lib/tsi/transport_security.h", "src/core/lib/tsi/transport_security_interface.h" ], - "language": "c", + "language": "core", "name": "tsi", "src": [ "src/core/lib/tsi/fake_transport_security.c", diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index b0c09ace5b2cd..b793fae1cbe7b 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -14,7 +14,7 @@ "flaky": false, "gtest": false, "language": "c", - "name": "alarm_test", + "name": "grpc_c_server_end2end_test", "platforms": [ "linux", "mac", @@ -33,9 +33,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "algorithm_test", + "gtest": true, + "language": "c++", + "name": "alarm_cpp_test", "platforms": [ "linux", "mac", @@ -54,9 +54,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "alloc_test", + "gtest": true, + "language": "c++", + "name": "async_end2end_test", "platforms": [ "linux", "mac", @@ -75,9 +75,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "alpn_test", + "gtest": true, + "language": "c++", + "name": "auth_property_iterator_test", "platforms": [ "linux", "mac", @@ -96,9 +96,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "bad_server_response_test", + "gtest": true, + "language": "c++", + "name": "channel_arguments_test", "platforms": [ "linux", "mac", @@ -117,9 +117,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "bin_decoder_test", + "gtest": true, + "language": "c++", + "name": "cli_call_test", "platforms": [ "linux", "mac", @@ -127,6 +127,25 @@ "windows" ] }, + { + "args": [], + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "cpu_cost": 0.1, + "exclude_configs": [], + "flaky": false, + "gtest": true, + "language": "c++", + "name": "client_crash_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, { "args": [], "ci_platforms": [ @@ -138,9 +157,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "bin_encoder_test", + "gtest": true, + "language": "c++", + "name": "codegen_test_full", "platforms": [ "linux", "mac", @@ -159,9 +178,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "census_context_test", + "gtest": true, + "language": "c++", + "name": "codegen_test_minimal", "platforms": [ "linux", "mac", @@ -180,9 +199,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "census_resource_test", + "gtest": true, + "language": "c++", + "name": "credentials_test", "platforms": [ "linux", "mac", @@ -201,9 +220,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "channel_create_test", + "gtest": true, + "language": "c++", + "name": "cxx_byte_buffer_test", "platforms": [ "linux", "mac", @@ -222,9 +241,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "chttp2_hpack_encoder_test", + "gtest": true, + "language": "c++", + "name": "cxx_slice_test", "platforms": [ "linux", "mac", @@ -243,9 +262,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "chttp2_status_conversion_test", + "gtest": true, + "language": "c++", + "name": "cxx_string_ref_test", "platforms": [ "linux", "mac", @@ -264,9 +283,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "chttp2_stream_map_test", + "gtest": true, + "language": "c++", + "name": "cxx_time_test", "platforms": [ "linux", "mac", @@ -282,12 +301,12 @@ "posix", "windows" ], - "cpu_cost": 1.0, + "cpu_cost": 0.5, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "chttp2_varint_test", + "gtest": true, + "language": "c++", + "name": "end2end_test", "platforms": [ "linux", "mac", @@ -306,9 +325,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "compression_test", + "gtest": true, + "language": "c++", + "name": "filter_end2end_test", "platforms": [ "linux", "mac", @@ -327,9 +346,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "concurrent_connectivity_test", + "gtest": true, + "language": "c++", + "name": "generic_end2end_test", "platforms": [ "linux", "mac", @@ -345,12 +364,12 @@ "posix", "windows" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "dns_resolver_connectivity_test", + "gtest": true, + "language": "c++", + "name": "golden_file_test", "platforms": [ "linux", "mac", @@ -369,9 +388,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "dns_resolver_test", + "gtest": true, + "language": "c++", + "name": "grpc_c_end2end_test", "platforms": [ "linux", "mac", @@ -384,18 +403,20 @@ "ci_platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "dualstack_socket_test", + "gtest": true, + "language": "c++", + "name": "grpc_c_generic_end2end_test", "platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ] }, { @@ -409,9 +430,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "endpoint_pair_test", + "gtest": true, + "language": "c++", + "name": "grpc_tool_test", "platforms": [ "linux", "mac", @@ -422,16 +443,22 @@ { "args": [], "ci_platforms": [ - "linux" + "linux", + "mac", + "posix", + "windows" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "ev_epoll_linux_test", + "gtest": true, + "language": "c++", + "name": "grpclb_api_test", "platforms": [ - "linux" + "linux", + "mac", + "posix", + "windows" ] }, { @@ -439,18 +466,20 @@ "ci_platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "fd_conservation_posix_test", + "language": "c++", + "name": "grpclb_test", "platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ] }, { @@ -458,18 +487,20 @@ "ci_platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "fd_posix_test", + "gtest": true, + "language": "c++", + "name": "hybrid_end2end_test", "platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ] }, { @@ -479,12 +510,12 @@ "mac", "posix" ], - "cpu_cost": 1.5, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "fling_stream_test", + "language": "c++", + "name": "interop_test", "platforms": [ "linux", "mac", @@ -496,18 +527,41 @@ "ci_platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ], - "cpu_cost": 1.5, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "fling_test", + "gtest": true, + "language": "c++", + "name": "mock_test", "platforms": [ "linux", "mac", - "posix" + "posix", + "windows" + ] + }, + { + "args": [], + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "gtest": true, + "language": "c++", + "name": "proto_server_reflection_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" ] }, { @@ -517,12 +571,12 @@ "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 0.5, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "goaway_server_test", + "language": "c++", + "name": "qps_openloop_test", "platforms": [ "linux", "mac", @@ -540,9 +594,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "gpr_avl_test", + "gtest": true, + "language": "c++", + "name": "secure_auth_context_test", "platforms": [ "linux", "mac", @@ -555,20 +609,18 @@ "ci_platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "gpr_backoff_test", + "language": "c++", + "name": "secure_sync_unary_ping_pong_test", "platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ] }, { @@ -582,9 +634,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "gpr_cmdline_test", + "gtest": true, + "language": "c++", + "name": "server_builder_plugin_test", "platforms": [ "linux", "mac", @@ -597,20 +649,18 @@ "ci_platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "gpr_cpu_test", + "gtest": true, + "language": "c++", + "name": "server_crash_test", "platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ] }, { @@ -624,9 +674,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "gpr_env_test", + "gtest": true, + "language": "c++", + "name": "shutdown_test", "platforms": [ "linux", "mac", @@ -646,8 +696,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "gpr_histogram_test", + "language": "c++", + "name": "status_test", "platforms": [ "linux", "mac", @@ -660,20 +710,18 @@ "ci_platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "gpr_host_port_test", + "gtest": true, + "language": "c++", + "name": "streaming_throughput_test", "platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ] }, { @@ -684,12 +732,12 @@ "posix", "windows" ], - "cpu_cost": 1.0, + "cpu_cost": 100, "exclude_configs": [], "flaky": false, - "gtest": false, - "language": "c", - "name": "gpr_log_test", + "gtest": true, + "language": "c++", + "name": "thread_stress_test", "platforms": [ "linux", "mac", @@ -709,8 +757,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "gpr_slice_buffer_test", + "language": "c89", + "name": "public_headers_must_be_c89", "platforms": [ "linux", "mac", @@ -730,8 +778,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "gpr_slice_test", + "language": "core", + "name": "alarm_test", "platforms": [ "linux", "mac", @@ -747,12 +795,12 @@ "posix", "windows" ], - "cpu_cost": 7, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "gpr_stack_lockfree_test", + "language": "core", + "name": "algorithm_test", "platforms": [ "linux", "mac", @@ -772,8 +820,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "gpr_string_test", + "language": "core", + "name": "alloc_test", "platforms": [ "linux", "mac", @@ -789,12 +837,12 @@ "posix", "windows" ], - "cpu_cost": 10, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "gpr_sync_test", + "language": "core", + "name": "alpn_test", "platforms": [ "linux", "mac", @@ -810,12 +858,12 @@ "posix", "windows" ], - "cpu_cost": 10, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "gpr_thd_test", + "language": "core", + "name": "bad_server_response_test", "platforms": [ "linux", "mac", @@ -835,8 +883,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "gpr_time_test", + "language": "core", + "name": "bin_decoder_test", "platforms": [ "linux", "mac", @@ -856,8 +904,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "gpr_tls_test", + "language": "core", + "name": "bin_encoder_test", "platforms": [ "linux", "mac", @@ -877,8 +925,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "gpr_useful_test", + "language": "core", + "name": "census_context_test", "platforms": [ "linux", "mac", @@ -898,8 +946,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "grpc_auth_context_test", + "language": "core", + "name": "census_resource_test", "platforms": [ "linux", "mac", @@ -919,8 +967,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "grpc_b64_test", + "language": "core", + "name": "channel_create_test", "platforms": [ "linux", "mac", @@ -940,8 +988,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "grpc_byte_buffer_reader_test", + "language": "core", + "name": "chttp2_hpack_encoder_test", "platforms": [ "linux", "mac", @@ -961,8 +1009,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "grpc_channel_args_test", + "language": "core", + "name": "chttp2_status_conversion_test", "platforms": [ "linux", "mac", @@ -982,8 +1030,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "grpc_channel_stack_test", + "language": "core", + "name": "chttp2_stream_map_test", "platforms": [ "linux", "mac", @@ -1003,8 +1051,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "grpc_completion_queue_test", + "language": "core", + "name": "chttp2_varint_test", "platforms": [ "linux", "mac", @@ -1024,8 +1072,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "grpc_credentials_test", + "language": "core", + "name": "compression_test", "platforms": [ "linux", "mac", @@ -1045,8 +1093,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "grpc_invalid_channel_args_test", + "language": "core", + "name": "concurrent_connectivity_test", "platforms": [ "linux", "mac", @@ -1059,18 +1107,20 @@ "ci_platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "grpc_json_token_test", + "language": "core", + "name": "dns_resolver_connectivity_test", "platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ] }, { @@ -1085,8 +1135,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "grpc_jwt_verifier_test", + "language": "core", + "name": "dns_resolver_test", "platforms": [ "linux", "mac", @@ -1099,20 +1149,18 @@ "ci_platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "grpc_security_connector_test", + "language": "core", + "name": "dualstack_socket_test", "platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ] }, { @@ -1127,8 +1175,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "hpack_parser_test", + "language": "core", + "name": "endpoint_pair_test", "platforms": [ "linux", "mac", @@ -1136,25 +1184,38 @@ "windows" ] }, + { + "args": [], + "ci_platforms": [ + "linux" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "gtest": false, + "language": "core", + "name": "ev_epoll_linux_test", + "platforms": [ + "linux" + ] + }, { "args": [], "ci_platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "hpack_table_test", + "language": "core", + "name": "fd_conservation_posix_test", "platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ] }, { @@ -1162,20 +1223,18 @@ "ci_platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "http_parser_test", + "language": "core", + "name": "fd_posix_test", "platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ] }, { @@ -1183,20 +1242,18 @@ "ci_platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 1.5, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "httpcli_format_request_test", + "language": "core", + "name": "fling_stream_test", "platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ] }, { @@ -1206,12 +1263,12 @@ "mac", "posix" ], - "cpu_cost": 0.5, + "cpu_cost": 1.5, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "httpcli_test", + "language": "core", + "name": "fling_test", "platforms": [ "linux", "mac", @@ -1221,16 +1278,20 @@ { "args": [], "ci_platforms": [ - "linux" + "linux", + "mac", + "posix" ], - "cpu_cost": 0.5, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "httpscli_test", + "language": "core", + "name": "goaway_server_test", "platforms": [ - "linux" + "linux", + "mac", + "posix" ] }, { @@ -1245,8 +1306,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "init_test", + "language": "core", + "name": "gpr_avl_test", "platforms": [ "linux", "mac", @@ -1262,12 +1323,12 @@ "posix", "windows" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "invalid_call_argument_test", + "language": "core", + "name": "gpr_backoff_test", "platforms": [ "linux", "mac", @@ -1287,8 +1348,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "json_rewrite_test", + "language": "core", + "name": "gpr_cmdline_test", "platforms": [ "linux", "mac", @@ -1308,8 +1369,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "json_stream_error_test", + "language": "core", + "name": "gpr_cpu_test", "platforms": [ "linux", "mac", @@ -1329,8 +1390,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "json_test", + "language": "core", + "name": "gpr_env_test", "platforms": [ "linux", "mac", @@ -1350,8 +1411,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "lame_client_test", + "language": "core", + "name": "gpr_histogram_test", "platforms": [ "linux", "mac", @@ -1367,12 +1428,12 @@ "posix", "windows" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], - "flaky": true, + "flaky": false, "gtest": false, - "language": "c", - "name": "lb_policies_test", + "language": "core", + "name": "gpr_host_port_test", "platforms": [ "linux", "mac", @@ -1392,8 +1453,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "load_file_test", + "language": "core", + "name": "gpr_log_test", "platforms": [ "linux", "mac", @@ -1413,8 +1474,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "message_compress_test", + "language": "core", + "name": "gpr_slice_buffer_test", "platforms": [ "linux", "mac", @@ -1432,10 +1493,10 @@ ], "cpu_cost": 1.0, "exclude_configs": [], - "flaky": true, + "flaky": false, "gtest": false, - "language": "c", - "name": "mlog_test", + "language": "core", + "name": "gpr_slice_test", "platforms": [ "linux", "mac", @@ -1451,12 +1512,12 @@ "posix", "windows" ], - "cpu_cost": 1.0, + "cpu_cost": 7, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "multiple_server_queues_test", + "language": "core", + "name": "gpr_stack_lockfree_test", "platforms": [ "linux", "mac", @@ -1476,8 +1537,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "murmur_hash_test", + "language": "core", + "name": "gpr_string_test", "platforms": [ "linux", "mac", @@ -1493,12 +1554,12 @@ "posix", "windows" ], - "cpu_cost": 0.1, + "cpu_cost": 10, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "no_server_test", + "language": "core", + "name": "gpr_sync_test", "platforms": [ "linux", "mac", @@ -1514,12 +1575,12 @@ "posix", "windows" ], - "cpu_cost": 1.0, + "cpu_cost": 10, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "resolve_address_test", + "language": "core", + "name": "gpr_thd_test", "platforms": [ "linux", "mac", @@ -1539,8 +1600,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "secure_channel_create_test", + "language": "core", + "name": "gpr_time_test", "platforms": [ "linux", "mac", @@ -1560,8 +1621,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "secure_endpoint_test", + "language": "core", + "name": "gpr_tls_test", "platforms": [ "linux", "mac", @@ -1581,8 +1642,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "sequential_connectivity_test", + "language": "core", + "name": "gpr_useful_test", "platforms": [ "linux", "mac", @@ -1602,8 +1663,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "server_chttp2_test", + "language": "core", + "name": "grpc_auth_context_test", "platforms": [ "linux", "mac", @@ -1623,8 +1684,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "server_test", + "language": "core", + "name": "grpc_b64_test", "platforms": [ "linux", "mac", @@ -1640,12 +1701,12 @@ "posix", "windows" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "set_initial_connect_string_test", + "language": "core", + "name": "grpc_byte_buffer_reader_test", "platforms": [ "linux", "mac", @@ -1665,8 +1726,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "sockaddr_resolver_test", + "language": "core", + "name": "grpc_channel_args_test", "platforms": [ "linux", "mac", @@ -1686,8 +1747,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "sockaddr_utils_test", + "language": "core", + "name": "grpc_channel_stack_test", "platforms": [ "linux", "mac", @@ -1700,18 +1761,20 @@ "ci_platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "socket_utils_test", + "language": "core", + "name": "grpc_completion_queue_test", "platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ] }, { @@ -1719,18 +1782,20 @@ "ci_platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ], - "cpu_cost": 0.5, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "tcp_client_posix_test", + "language": "core", + "name": "grpc_credentials_test", "platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ] }, { @@ -1738,18 +1803,20 @@ "ci_platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ], - "cpu_cost": 0.2, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "tcp_posix_test", + "language": "core", + "name": "grpc_invalid_channel_args_test", "platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ] }, { @@ -1763,8 +1830,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "tcp_server_posix_test", + "language": "core", + "name": "grpc_json_token_test", "platforms": [ "linux", "mac", @@ -1783,8 +1850,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "time_averaged_stats_test", + "language": "core", + "name": "grpc_jwt_verifier_test", "platforms": [ "linux", "mac", @@ -1804,8 +1871,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "timeout_encoding_test", + "language": "core", + "name": "grpc_security_connector_test", "platforms": [ "linux", "mac", @@ -1825,8 +1892,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "timer_heap_test", + "language": "core", + "name": "hpack_parser_test", "platforms": [ "linux", "mac", @@ -1846,8 +1913,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "timer_list_test", + "language": "core", + "name": "hpack_table_test", "platforms": [ "linux", "mac", @@ -1867,8 +1934,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "transport_connectivity_state_test", + "language": "core", + "name": "http_parser_test", "platforms": [ "linux", "mac", @@ -1888,8 +1955,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "transport_metadata_test", + "language": "core", + "name": "httpcli_format_request_test", "platforms": [ "linux", "mac", @@ -1904,12 +1971,12 @@ "mac", "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.5, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "transport_security_test", + "language": "core", + "name": "httpcli_test", "platforms": [ "linux", "mac", @@ -1919,20 +1986,16 @@ { "args": [], "ci_platforms": [ - "linux", - "mac", - "posix" + "linux" ], - "cpu_cost": 1.0, + "cpu_cost": 0.5, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "udp_server_test", + "language": "core", + "name": "httpscli_test", "platforms": [ - "linux", - "mac", - "posix" + "linux" ] }, { @@ -1947,8 +2010,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", - "name": "uri_parser_test", + "language": "core", + "name": "init_test", "platforms": [ "linux", "mac", @@ -1964,12 +2027,12 @@ "posix", "windows" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "alarm_cpp_test", + "gtest": false, + "language": "core", + "name": "invalid_call_argument_test", "platforms": [ "linux", "mac", @@ -1988,9 +2051,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "async_end2end_test", + "gtest": false, + "language": "core", + "name": "json_rewrite_test", "platforms": [ "linux", "mac", @@ -2009,9 +2072,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "auth_property_iterator_test", + "gtest": false, + "language": "core", + "name": "json_stream_error_test", "platforms": [ "linux", "mac", @@ -2030,9 +2093,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "channel_arguments_test", + "gtest": false, + "language": "core", + "name": "json_test", "platforms": [ "linux", "mac", @@ -2051,9 +2114,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "cli_call_test", + "gtest": false, + "language": "core", + "name": "lame_client_test", "platforms": [ "linux", "mac", @@ -2066,18 +2129,20 @@ "ci_platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ], "cpu_cost": 0.1, "exclude_configs": [], - "flaky": false, - "gtest": true, - "language": "c++", - "name": "client_crash_test", + "flaky": true, + "gtest": false, + "language": "core", + "name": "lb_policies_test", "platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ] }, { @@ -2091,9 +2156,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "codegen_test_full", + "gtest": false, + "language": "core", + "name": "load_file_test", "platforms": [ "linux", "mac", @@ -2112,9 +2177,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "codegen_test_minimal", + "gtest": false, + "language": "core", + "name": "message_compress_test", "platforms": [ "linux", "mac", @@ -2132,10 +2197,10 @@ ], "cpu_cost": 1.0, "exclude_configs": [], - "flaky": false, - "gtest": true, - "language": "c++", - "name": "credentials_test", + "flaky": true, + "gtest": false, + "language": "core", + "name": "mlog_test", "platforms": [ "linux", "mac", @@ -2154,9 +2219,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "cxx_byte_buffer_test", + "gtest": false, + "language": "core", + "name": "multiple_server_queues_test", "platforms": [ "linux", "mac", @@ -2175,9 +2240,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "cxx_slice_test", + "gtest": false, + "language": "core", + "name": "murmur_hash_test", "platforms": [ "linux", "mac", @@ -2193,12 +2258,12 @@ "posix", "windows" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "cxx_string_ref_test", + "gtest": false, + "language": "core", + "name": "no_server_test", "platforms": [ "linux", "mac", @@ -2217,9 +2282,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "cxx_time_test", + "gtest": false, + "language": "core", + "name": "resolve_address_test", "platforms": [ "linux", "mac", @@ -2235,12 +2300,12 @@ "posix", "windows" ], - "cpu_cost": 0.5, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "end2end_test", + "gtest": false, + "language": "core", + "name": "secure_channel_create_test", "platforms": [ "linux", "mac", @@ -2259,9 +2324,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "filter_end2end_test", + "gtest": false, + "language": "core", + "name": "secure_endpoint_test", "platforms": [ "linux", "mac", @@ -2280,9 +2345,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "generic_end2end_test", + "gtest": false, + "language": "core", + "name": "sequential_connectivity_test", "platforms": [ "linux", "mac", @@ -2301,9 +2366,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "golden_file_test", + "gtest": false, + "language": "core", + "name": "server_chttp2_test", "platforms": [ "linux", "mac", @@ -2322,9 +2387,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "grpc_tool_test", + "gtest": false, + "language": "core", + "name": "server_test", "platforms": [ "linux", "mac", @@ -2340,12 +2405,12 @@ "posix", "windows" ], - "cpu_cost": 1.0, + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "grpclb_api_test", + "gtest": false, + "language": "core", + "name": "set_initial_connect_string_test", "platforms": [ "linux", "mac", @@ -2365,8 +2430,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c++", - "name": "grpclb_test", + "language": "core", + "name": "sockaddr_resolver_test", "platforms": [ "linux", "mac", @@ -2385,9 +2450,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "hybrid_end2end_test", + "gtest": false, + "language": "core", + "name": "sockaddr_utils_test", "platforms": [ "linux", "mac", @@ -2402,12 +2467,12 @@ "mac", "posix" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c++", - "name": "interop_test", + "language": "core", + "name": "socket_utils_test", "platforms": [ "linux", "mac", @@ -2419,20 +2484,18 @@ "ci_platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.5, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "mock_test", + "gtest": false, + "language": "core", + "name": "tcp_client_posix_test", "platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ] }, { @@ -2440,20 +2503,18 @@ "ci_platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ], - "cpu_cost": 1.0, + "cpu_cost": 0.2, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "proto_server_reflection_test", + "gtest": false, + "language": "core", + "name": "tcp_posix_test", "platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ] }, { @@ -2463,12 +2524,12 @@ "mac", "posix" ], - "cpu_cost": 0.5, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c++", - "name": "qps_openloop_test", + "language": "core", + "name": "tcp_server_posix_test", "platforms": [ "linux", "mac", @@ -2486,9 +2547,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "secure_auth_context_test", + "gtest": false, + "language": "core", + "name": "time_averaged_stats_test", "platforms": [ "linux", "mac", @@ -2501,18 +2562,20 @@ "ci_platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ], "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c++", - "name": "secure_sync_unary_ping_pong_test", + "language": "core", + "name": "timeout_encoding_test", "platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ] }, { @@ -2526,9 +2589,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "server_builder_plugin_test", + "gtest": false, + "language": "core", + "name": "timer_heap_test", "platforms": [ "linux", "mac", @@ -2541,18 +2604,20 @@ "ci_platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ], - "cpu_cost": 0.1, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "server_crash_test", + "gtest": false, + "language": "core", + "name": "timer_list_test", "platforms": [ "linux", "mac", - "posix" + "posix", + "windows" ] }, { @@ -2566,9 +2631,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "shutdown_test", + "gtest": false, + "language": "core", + "name": "transport_connectivity_state_test", "platforms": [ "linux", "mac", @@ -2588,8 +2653,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c++", - "name": "status_test", + "language": "core", + "name": "transport_metadata_test", "platforms": [ "linux", "mac", @@ -2607,9 +2672,9 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "streaming_throughput_test", + "gtest": false, + "language": "core", + "name": "transport_security_test", "platforms": [ "linux", "mac", @@ -2621,20 +2686,18 @@ "ci_platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ], - "cpu_cost": 100, + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "gtest": true, - "language": "c++", - "name": "thread_stress_test", + "gtest": false, + "language": "core", + "name": "udp_server_test", "platforms": [ "linux", "mac", - "posix", - "windows" + "posix" ] }, { @@ -2649,8 +2712,8 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c89", - "name": "public_headers_must_be_c89", + "language": "core", + "name": "uri_parser_test", "platforms": [ "linux", "mac", @@ -2670,7 +2733,7 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", + "language": "core", "name": "badreq_bad_client_test", "platforms": [ "linux", @@ -2691,7 +2754,7 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", + "language": "core", "name": "connection_prefix_bad_client_test", "platforms": [ "linux", @@ -2712,7 +2775,7 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", + "language": "core", "name": "head_of_line_blocking_bad_client_test", "platforms": [ "linux", @@ -2733,7 +2796,7 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", + "language": "core", "name": "headers_bad_client_test", "platforms": [ "linux", @@ -2754,7 +2817,7 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", + "language": "core", "name": "initial_settings_frame_bad_client_test", "platforms": [ "linux", @@ -2775,7 +2838,7 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", + "language": "core", "name": "large_metadata_bad_client_test", "platforms": [ "linux", @@ -2796,7 +2859,7 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", + "language": "core", "name": "server_registered_method_bad_client_test", "platforms": [ "linux", @@ -2817,7 +2880,7 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", + "language": "core", "name": "simple_request_bad_client_test", "platforms": [ "linux", @@ -2838,7 +2901,7 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", + "language": "core", "name": "unknown_frame_bad_client_test", "platforms": [ "linux", @@ -2859,7 +2922,7 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", + "language": "core", "name": "window_overflow_bad_client_test", "platforms": [ "linux", @@ -2879,7 +2942,7 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", + "language": "core", "name": "bad_ssl_alpn_test", "platforms": [ "linux", @@ -2898,7 +2961,7 @@ "exclude_configs": [], "flaky": false, "gtest": false, - "language": "c", + "language": "core", "name": "bad_ssl_cert_test", "platforms": [ "linux", @@ -4465,7 +4528,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4487,7 +4550,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4509,7 +4572,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4531,7 +4594,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4553,7 +4616,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4575,7 +4638,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4597,7 +4660,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4619,7 +4682,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4641,7 +4704,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4663,7 +4726,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4685,7 +4748,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4707,7 +4770,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4729,7 +4792,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4751,7 +4814,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4773,7 +4836,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4795,7 +4858,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4817,7 +4880,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4839,7 +4902,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4861,7 +4924,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4883,7 +4946,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4905,7 +4968,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4927,7 +4990,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4949,7 +5012,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4971,7 +5034,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -4993,7 +5056,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5015,7 +5078,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5037,7 +5100,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5059,7 +5122,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5081,7 +5144,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5103,7 +5166,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5125,7 +5188,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5147,7 +5210,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5169,7 +5232,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5191,7 +5254,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5213,7 +5276,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5235,7 +5298,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5257,7 +5320,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5279,7 +5342,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5301,7 +5364,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5323,7 +5386,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5345,7 +5408,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5367,7 +5430,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_test", "platforms": [ "windows", @@ -5389,7 +5452,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5411,7 +5474,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5433,7 +5496,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5455,7 +5518,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5477,7 +5540,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5499,7 +5562,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5521,7 +5584,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5543,7 +5606,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5565,7 +5628,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5587,7 +5650,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5609,7 +5672,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5631,7 +5694,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5653,7 +5716,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5675,7 +5738,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5697,7 +5760,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5719,7 +5782,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5741,7 +5804,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5763,7 +5826,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5785,7 +5848,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5807,7 +5870,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5829,7 +5892,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5851,7 +5914,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5873,7 +5936,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5895,7 +5958,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5917,7 +5980,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5939,7 +6002,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5961,7 +6024,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -5983,7 +6046,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6005,7 +6068,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6027,7 +6090,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6049,7 +6112,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6071,7 +6134,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6093,7 +6156,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6115,7 +6178,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6137,7 +6200,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6159,7 +6222,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6181,7 +6244,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6203,7 +6266,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6225,7 +6288,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6247,7 +6310,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6269,7 +6332,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6291,7 +6354,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_test", "platforms": [ "windows", @@ -6312,7 +6375,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6333,7 +6396,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6354,7 +6417,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6375,7 +6438,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6396,7 +6459,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6417,7 +6480,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6438,7 +6501,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6459,7 +6522,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6480,7 +6543,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6501,7 +6564,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6522,7 +6585,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6543,7 +6606,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6564,7 +6627,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6585,7 +6648,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6606,7 +6669,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6627,7 +6690,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6648,7 +6711,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6669,7 +6732,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6690,7 +6753,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6711,7 +6774,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6732,7 +6795,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6753,7 +6816,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6774,7 +6837,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6795,7 +6858,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6816,7 +6879,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6837,7 +6900,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6858,7 +6921,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6879,7 +6942,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6900,7 +6963,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6921,7 +6984,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6942,7 +7005,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6963,7 +7026,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -6984,7 +7047,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -7005,7 +7068,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -7026,7 +7089,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -7047,7 +7110,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -7068,7 +7131,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -7089,7 +7152,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -7110,7 +7173,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -7131,7 +7194,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -7152,7 +7215,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -7173,7 +7236,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fakesec_test", "platforms": [ "windows", @@ -7194,7 +7257,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7214,7 +7277,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7234,7 +7297,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7254,7 +7317,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7274,7 +7337,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7294,7 +7357,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7314,7 +7377,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7334,7 +7397,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7354,7 +7417,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7374,7 +7437,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7394,7 +7457,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7414,7 +7477,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7434,7 +7497,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7454,7 +7517,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7474,7 +7537,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7494,7 +7557,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7514,7 +7577,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7534,7 +7597,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7554,7 +7617,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7574,7 +7637,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7594,7 +7657,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7614,7 +7677,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7634,7 +7697,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7654,7 +7717,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7674,7 +7737,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7694,7 +7757,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7714,7 +7777,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7734,7 +7797,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7754,7 +7817,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7774,7 +7837,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7794,7 +7857,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7814,7 +7877,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7834,7 +7897,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7854,7 +7917,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7874,7 +7937,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7894,7 +7957,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7914,7 +7977,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_test", "platforms": [ "linux", @@ -7935,7 +7998,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -7957,7 +8020,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -7979,7 +8042,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8001,7 +8064,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8023,7 +8086,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8045,7 +8108,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8067,7 +8130,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8089,7 +8152,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8111,7 +8174,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8133,7 +8196,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8155,7 +8218,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8177,7 +8240,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8199,7 +8262,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8221,7 +8284,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8243,7 +8306,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8265,7 +8328,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8287,7 +8350,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8309,7 +8372,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8331,7 +8394,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8353,7 +8416,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8375,7 +8438,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8397,7 +8460,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8419,7 +8482,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8441,7 +8504,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8463,7 +8526,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8485,7 +8548,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8507,7 +8570,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8529,7 +8592,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8551,7 +8614,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8573,7 +8636,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8595,7 +8658,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8617,7 +8680,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8639,7 +8702,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8661,7 +8724,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8683,7 +8746,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8705,7 +8768,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8727,7 +8790,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8749,7 +8812,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8771,7 +8834,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8793,7 +8856,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8815,7 +8878,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8837,7 +8900,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_test", "platforms": [ "windows", @@ -8856,7 +8919,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -8872,7 +8935,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -8888,7 +8951,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -8904,7 +8967,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -8920,7 +8983,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -8936,7 +8999,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -8952,7 +9015,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -8968,7 +9031,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -8984,7 +9047,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9000,7 +9063,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9016,7 +9079,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9032,7 +9095,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9048,7 +9111,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9064,7 +9127,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9080,7 +9143,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9096,7 +9159,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9112,7 +9175,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9128,7 +9191,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9144,7 +9207,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9160,7 +9223,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9176,7 +9239,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9192,7 +9255,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9208,7 +9271,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9224,7 +9287,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9240,7 +9303,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9256,7 +9319,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9272,7 +9335,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9288,7 +9351,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9304,7 +9367,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9320,7 +9383,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9336,7 +9399,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9352,7 +9415,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9368,7 +9431,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9384,7 +9447,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9400,7 +9463,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9416,7 +9479,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9432,7 +9495,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9448,7 +9511,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9464,7 +9527,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9480,7 +9543,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9496,7 +9559,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9512,7 +9575,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_test", "platforms": [ "linux" @@ -9531,7 +9594,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9553,7 +9616,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9575,7 +9638,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9597,7 +9660,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9619,7 +9682,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9641,7 +9704,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9663,7 +9726,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9685,7 +9748,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9707,7 +9770,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9729,7 +9792,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9751,7 +9814,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9773,7 +9836,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9795,7 +9858,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9817,7 +9880,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9839,7 +9902,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9861,7 +9924,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9883,7 +9946,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9905,7 +9968,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9927,7 +9990,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9949,7 +10012,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9971,7 +10034,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -9993,7 +10056,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10015,7 +10078,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10037,7 +10100,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10059,7 +10122,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10081,7 +10144,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10103,7 +10166,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10125,7 +10188,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10147,7 +10210,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10169,7 +10232,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10191,7 +10254,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10213,7 +10276,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10235,7 +10298,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10257,7 +10320,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10279,7 +10342,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10301,7 +10364,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10323,7 +10386,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10345,7 +10408,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10367,7 +10430,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10389,7 +10452,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10411,7 +10474,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_test", "platforms": [ "windows", @@ -10433,7 +10496,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10455,7 +10518,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10477,7 +10540,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10499,7 +10562,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10521,7 +10584,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10543,7 +10606,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10565,7 +10628,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10587,7 +10650,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10609,7 +10672,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10631,7 +10694,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10653,7 +10716,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10675,7 +10738,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10697,7 +10760,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10719,7 +10782,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10741,7 +10804,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10763,7 +10826,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10785,7 +10848,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10807,7 +10870,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10829,7 +10892,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10851,7 +10914,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10873,7 +10936,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10895,7 +10958,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10917,7 +10980,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10939,7 +11002,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10961,7 +11024,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -10983,7 +11046,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11005,7 +11068,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11027,7 +11090,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11049,7 +11112,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11071,7 +11134,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11093,7 +11156,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11115,7 +11178,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11137,7 +11200,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11159,7 +11222,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11181,7 +11244,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11203,7 +11266,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11225,7 +11288,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11247,7 +11310,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11269,7 +11332,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11291,7 +11354,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11313,7 +11376,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11335,7 +11398,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_test", "platforms": [ "windows", @@ -11356,7 +11419,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11377,7 +11440,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11398,7 +11461,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11419,7 +11482,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11440,7 +11503,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11461,7 +11524,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11482,7 +11545,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11503,7 +11566,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11524,7 +11587,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11545,7 +11608,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11566,7 +11629,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11587,7 +11650,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11608,7 +11671,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11629,7 +11692,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11650,7 +11713,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11671,7 +11734,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11692,7 +11755,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11713,7 +11776,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11734,7 +11797,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11755,7 +11818,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11776,7 +11839,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11797,7 +11860,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11818,7 +11881,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11839,7 +11902,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11860,7 +11923,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11881,7 +11944,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11902,7 +11965,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11923,7 +11986,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11944,7 +12007,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11965,7 +12028,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -11986,7 +12049,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -12007,7 +12070,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -12028,7 +12091,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -12049,7 +12112,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -12070,7 +12133,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -12091,7 +12154,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -12112,7 +12175,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -12133,7 +12196,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -12154,7 +12217,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -12175,7 +12238,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -12196,7 +12259,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -12217,7 +12280,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_oauth2_test", "platforms": [ "windows", @@ -12238,7 +12301,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12259,7 +12322,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12280,7 +12343,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12301,7 +12364,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12322,7 +12385,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12343,7 +12406,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12364,7 +12427,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12385,7 +12448,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12406,7 +12469,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12427,7 +12490,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12448,7 +12511,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12469,7 +12532,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12490,7 +12553,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12511,7 +12574,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12532,7 +12595,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12553,7 +12616,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12574,7 +12637,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12595,7 +12658,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12616,7 +12679,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12637,7 +12700,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12658,7 +12721,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12679,7 +12742,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12700,7 +12763,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12721,7 +12784,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12742,7 +12805,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12763,7 +12826,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12784,7 +12847,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12805,7 +12868,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12826,7 +12889,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12847,7 +12910,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12868,7 +12931,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12889,7 +12952,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12910,7 +12973,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12931,7 +12994,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12952,7 +13015,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12973,7 +13036,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_test", "platforms": [ "windows", @@ -12994,7 +13057,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13015,7 +13078,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13036,7 +13099,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13057,7 +13120,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13078,7 +13141,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13099,7 +13162,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13120,7 +13183,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13141,7 +13204,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13162,7 +13225,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13183,7 +13246,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13204,7 +13267,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13225,7 +13288,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13246,7 +13309,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13267,7 +13330,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13288,7 +13351,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13309,7 +13372,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13330,7 +13393,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13351,7 +13414,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13372,7 +13435,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13393,7 +13456,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13414,7 +13477,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13435,7 +13498,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13456,7 +13519,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13477,7 +13540,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13498,7 +13561,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13519,7 +13582,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13540,7 +13603,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13561,7 +13624,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13582,7 +13645,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13603,7 +13666,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13624,7 +13687,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13645,7 +13708,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13666,7 +13729,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13687,7 +13750,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13708,7 +13771,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13729,7 +13792,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13750,7 +13813,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_test", "platforms": [ "windows", @@ -13771,7 +13834,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -13792,7 +13855,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -13813,7 +13876,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -13834,7 +13897,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -13855,7 +13918,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -13876,7 +13939,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -13897,7 +13960,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -13918,7 +13981,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -13939,7 +14002,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -13960,7 +14023,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -13981,7 +14044,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14002,7 +14065,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14023,7 +14086,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14044,7 +14107,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14065,7 +14128,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14086,7 +14149,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14107,7 +14170,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14128,7 +14191,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14149,7 +14212,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14170,7 +14233,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14191,7 +14254,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14212,7 +14275,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14233,7 +14296,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14254,7 +14317,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14275,7 +14338,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14296,7 +14359,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14317,7 +14380,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14338,7 +14401,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14359,7 +14422,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14380,7 +14443,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14401,7 +14464,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14422,7 +14485,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14443,7 +14506,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14464,7 +14527,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14485,7 +14548,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14506,7 +14569,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_test", "platforms": [ "windows", @@ -14527,7 +14590,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14548,7 +14611,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14569,7 +14632,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14590,7 +14653,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14611,7 +14674,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14632,7 +14695,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14653,7 +14716,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14674,7 +14737,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14695,7 +14758,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14716,7 +14779,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14737,7 +14800,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14758,7 +14821,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14779,7 +14842,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14800,7 +14863,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14821,7 +14884,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14842,7 +14905,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14863,7 +14926,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14884,7 +14947,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14905,7 +14968,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14926,7 +14989,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14947,7 +15010,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14968,7 +15031,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -14989,7 +15052,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15010,7 +15073,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15031,7 +15094,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15052,7 +15115,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15073,7 +15136,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15094,7 +15157,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15115,7 +15178,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15136,7 +15199,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15157,7 +15220,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15178,7 +15241,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15199,7 +15262,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15220,7 +15283,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15241,7 +15304,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15262,7 +15325,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15283,7 +15346,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_test", "platforms": [ "windows", @@ -15305,7 +15368,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15327,7 +15390,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15349,7 +15412,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15371,7 +15434,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15393,7 +15456,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15415,7 +15478,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15437,7 +15500,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15459,7 +15522,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15481,7 +15544,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15503,7 +15566,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15525,7 +15588,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15547,7 +15610,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15569,7 +15632,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15591,7 +15654,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15613,7 +15676,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15635,7 +15698,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15657,7 +15720,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15679,7 +15742,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15701,7 +15764,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15723,7 +15786,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15745,7 +15808,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15767,7 +15830,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15789,7 +15852,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15811,7 +15874,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15833,7 +15896,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15855,7 +15918,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15877,7 +15940,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15899,7 +15962,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15921,7 +15984,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15943,7 +16006,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15965,7 +16028,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -15987,7 +16050,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -16009,7 +16072,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -16031,7 +16094,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -16053,7 +16116,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -16075,7 +16138,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -16097,7 +16160,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -16119,7 +16182,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -16141,7 +16204,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -16163,7 +16226,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -16185,7 +16248,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -16207,7 +16270,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_test", "platforms": [ "windows", @@ -16229,7 +16292,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16251,7 +16314,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16273,7 +16336,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16295,7 +16358,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16317,7 +16380,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16339,7 +16402,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16361,7 +16424,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16383,7 +16446,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16405,7 +16468,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16427,7 +16490,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16449,7 +16512,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16471,7 +16534,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16493,7 +16556,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16515,7 +16578,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16537,7 +16600,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16559,7 +16622,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16581,7 +16644,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16603,7 +16666,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16625,7 +16688,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16647,7 +16710,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16669,7 +16732,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16691,7 +16754,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16713,7 +16776,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16735,7 +16798,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16757,7 +16820,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16779,7 +16842,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16801,7 +16864,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16823,7 +16886,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16845,7 +16908,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16867,7 +16930,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16889,7 +16952,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16911,7 +16974,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16933,7 +16996,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16955,7 +17018,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16977,7 +17040,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -16999,7 +17062,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -17021,7 +17084,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -17043,7 +17106,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -17065,7 +17128,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -17087,7 +17150,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -17109,7 +17172,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -17131,7 +17194,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_cert_test", "platforms": [ "windows", @@ -17152,7 +17215,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17173,7 +17236,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17194,7 +17257,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17215,7 +17278,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17236,7 +17299,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17257,7 +17320,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17278,7 +17341,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17299,7 +17362,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17320,7 +17383,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17341,7 +17404,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17362,7 +17425,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17383,7 +17446,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17404,7 +17467,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17425,7 +17488,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17446,7 +17509,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17467,7 +17530,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17488,7 +17551,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17509,7 +17572,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17530,7 +17593,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17551,7 +17614,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17572,7 +17635,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17593,7 +17656,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17614,7 +17677,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17635,7 +17698,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17656,7 +17719,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17677,7 +17740,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17698,7 +17761,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17719,7 +17782,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17740,7 +17803,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17761,7 +17824,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17782,7 +17845,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17803,7 +17866,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17824,7 +17887,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17845,7 +17908,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17866,7 +17929,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17887,7 +17950,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_ssl_proxy_test", "platforms": [ "windows", @@ -17908,7 +17971,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -17928,7 +17991,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -17948,7 +18011,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -17968,7 +18031,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -17988,7 +18051,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18008,7 +18071,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18028,7 +18091,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18048,7 +18111,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18068,7 +18131,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18088,7 +18151,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18108,7 +18171,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18128,7 +18191,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18148,7 +18211,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18168,7 +18231,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18188,7 +18251,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18208,7 +18271,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18228,7 +18291,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18248,7 +18311,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18268,7 +18331,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18288,7 +18351,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18308,7 +18371,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18328,7 +18391,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18348,7 +18411,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18368,7 +18431,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18388,7 +18451,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18408,7 +18471,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18428,7 +18491,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18448,7 +18511,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18468,7 +18531,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18488,7 +18551,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18508,7 +18571,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18528,7 +18591,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18548,7 +18611,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18568,7 +18631,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18588,7 +18651,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18608,7 +18671,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18628,7 +18691,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18648,7 +18711,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18668,7 +18731,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18688,7 +18751,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18708,7 +18771,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_test", "platforms": [ "linux", @@ -18729,7 +18792,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -18751,7 +18814,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -18773,7 +18836,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -18795,7 +18858,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -18817,7 +18880,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -18839,7 +18902,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -18861,7 +18924,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -18883,7 +18946,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -18905,7 +18968,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -18927,7 +18990,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -18949,7 +19012,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -18971,7 +19034,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -18993,7 +19056,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19015,7 +19078,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19037,7 +19100,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19059,7 +19122,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19081,7 +19144,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19103,7 +19166,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19125,7 +19188,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19147,7 +19210,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19169,7 +19232,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19191,7 +19254,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19213,7 +19276,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19235,7 +19298,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19257,7 +19320,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19279,7 +19342,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19301,7 +19364,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19323,7 +19386,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19345,7 +19408,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19367,7 +19430,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19389,7 +19452,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19411,7 +19474,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19433,7 +19496,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19455,7 +19518,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19477,7 +19540,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19499,7 +19562,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19521,7 +19584,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19543,7 +19606,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19565,7 +19628,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19587,7 +19650,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19609,7 +19672,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_census_nosec_test", "platforms": [ "windows", @@ -19631,7 +19694,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19653,7 +19716,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19675,7 +19738,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19697,7 +19760,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19719,7 +19782,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19741,7 +19804,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19763,7 +19826,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19785,7 +19848,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19807,7 +19870,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19829,7 +19892,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19851,7 +19914,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19873,7 +19936,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19895,7 +19958,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19917,7 +19980,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19939,7 +20002,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19961,7 +20024,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -19983,7 +20046,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20005,7 +20068,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20027,7 +20090,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20049,7 +20112,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20071,7 +20134,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20093,7 +20156,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20115,7 +20178,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20137,7 +20200,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20159,7 +20222,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20181,7 +20244,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20203,7 +20266,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20225,7 +20288,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20247,7 +20310,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20269,7 +20332,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20291,7 +20354,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20313,7 +20376,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20335,7 +20398,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20357,7 +20420,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20379,7 +20442,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20401,7 +20464,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20423,7 +20486,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20445,7 +20508,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20467,7 +20530,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20489,7 +20552,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20511,7 +20574,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_compress_nosec_test", "platforms": [ "windows", @@ -20532,7 +20595,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20552,7 +20615,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20572,7 +20635,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20592,7 +20655,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20612,7 +20675,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20632,7 +20695,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20652,7 +20715,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20672,7 +20735,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20692,7 +20755,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20712,7 +20775,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20732,7 +20795,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20752,7 +20815,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20772,7 +20835,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20792,7 +20855,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20812,7 +20875,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20832,7 +20895,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20852,7 +20915,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20872,7 +20935,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20892,7 +20955,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20912,7 +20975,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20932,7 +20995,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20952,7 +21015,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20972,7 +21035,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -20992,7 +21055,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21012,7 +21075,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21032,7 +21095,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21052,7 +21115,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21072,7 +21135,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21092,7 +21155,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21112,7 +21175,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21132,7 +21195,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21152,7 +21215,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21172,7 +21235,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21192,7 +21255,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21212,7 +21275,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21232,7 +21295,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_fd_nosec_test", "platforms": [ "linux", @@ -21253,7 +21316,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21275,7 +21338,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21297,7 +21360,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21319,7 +21382,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21341,7 +21404,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21363,7 +21426,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21385,7 +21448,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21407,7 +21470,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21429,7 +21492,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21451,7 +21514,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21473,7 +21536,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21495,7 +21558,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21517,7 +21580,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21539,7 +21602,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21561,7 +21624,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21583,7 +21646,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21605,7 +21668,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21627,7 +21690,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21649,7 +21712,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21671,7 +21734,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21693,7 +21756,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21715,7 +21778,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21737,7 +21800,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21759,7 +21822,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21781,7 +21844,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21803,7 +21866,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21825,7 +21888,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21847,7 +21910,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21869,7 +21932,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21891,7 +21954,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21913,7 +21976,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21935,7 +21998,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21957,7 +22020,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -21979,7 +22042,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -22001,7 +22064,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -22023,7 +22086,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -22045,7 +22108,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -22067,7 +22130,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -22089,7 +22152,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -22111,7 +22174,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -22133,7 +22196,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full_nosec_test", "platforms": [ "windows", @@ -22152,7 +22215,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22168,7 +22231,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22184,7 +22247,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22200,7 +22263,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22216,7 +22279,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22232,7 +22295,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22248,7 +22311,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22264,7 +22327,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22280,7 +22343,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22296,7 +22359,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22312,7 +22375,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22328,7 +22391,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22344,7 +22407,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22360,7 +22423,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22376,7 +22439,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22392,7 +22455,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22408,7 +22471,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22424,7 +22487,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22440,7 +22503,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22456,7 +22519,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22472,7 +22535,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22488,7 +22551,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22504,7 +22567,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22520,7 +22583,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22536,7 +22599,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22552,7 +22615,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22568,7 +22631,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22584,7 +22647,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22600,7 +22663,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22616,7 +22679,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22632,7 +22695,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22648,7 +22711,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22664,7 +22727,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22680,7 +22743,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22696,7 +22759,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22712,7 +22775,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22728,7 +22791,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22744,7 +22807,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22760,7 +22823,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22776,7 +22839,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22792,7 +22855,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+pipe_nosec_test", "platforms": [ "linux" @@ -22811,7 +22874,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -22833,7 +22896,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -22855,7 +22918,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -22877,7 +22940,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -22899,7 +22962,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -22921,7 +22984,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -22943,7 +23006,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -22965,7 +23028,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -22987,7 +23050,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23009,7 +23072,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23031,7 +23094,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23053,7 +23116,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23075,7 +23138,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23097,7 +23160,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23119,7 +23182,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23141,7 +23204,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23163,7 +23226,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23185,7 +23248,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23207,7 +23270,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23229,7 +23292,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23251,7 +23314,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23273,7 +23336,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23295,7 +23358,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23317,7 +23380,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23339,7 +23402,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23361,7 +23424,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23383,7 +23446,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23405,7 +23468,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23427,7 +23490,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23449,7 +23512,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23471,7 +23534,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23493,7 +23556,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23515,7 +23578,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23537,7 +23600,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23559,7 +23622,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23581,7 +23644,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23603,7 +23666,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23625,7 +23688,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23647,7 +23710,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23669,7 +23732,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_full+trace_nosec_test", "platforms": [ "windows", @@ -23691,7 +23754,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23713,7 +23776,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23735,7 +23798,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23757,7 +23820,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23779,7 +23842,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23801,7 +23864,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23823,7 +23886,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23845,7 +23908,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23867,7 +23930,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23889,7 +23952,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23911,7 +23974,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23933,7 +23996,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23955,7 +24018,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23977,7 +24040,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -23999,7 +24062,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24021,7 +24084,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24043,7 +24106,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24065,7 +24128,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24087,7 +24150,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24109,7 +24172,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24131,7 +24194,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24153,7 +24216,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24175,7 +24238,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24197,7 +24260,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24219,7 +24282,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24241,7 +24304,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24263,7 +24326,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24285,7 +24348,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24307,7 +24370,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24329,7 +24392,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24351,7 +24414,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24373,7 +24436,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24395,7 +24458,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24417,7 +24480,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24439,7 +24502,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24461,7 +24524,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24483,7 +24546,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24505,7 +24568,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24527,7 +24590,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24549,7 +24612,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24571,7 +24634,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_load_reporting_nosec_test", "platforms": [ "windows", @@ -24592,7 +24655,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24613,7 +24676,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24634,7 +24697,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24655,7 +24718,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24676,7 +24739,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24697,7 +24760,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24718,7 +24781,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24739,7 +24802,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24760,7 +24823,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24781,7 +24844,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24802,7 +24865,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24823,7 +24886,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24844,7 +24907,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24865,7 +24928,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24886,7 +24949,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24907,7 +24970,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24928,7 +24991,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24949,7 +25012,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24970,7 +25033,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -24991,7 +25054,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25012,7 +25075,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25033,7 +25096,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25054,7 +25117,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25075,7 +25138,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25096,7 +25159,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25117,7 +25180,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25138,7 +25201,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25159,7 +25222,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25180,7 +25243,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25201,7 +25264,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25222,7 +25285,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25243,7 +25306,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25264,7 +25327,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25285,7 +25348,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25306,7 +25369,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_proxy_nosec_test", "platforms": [ "windows", @@ -25327,7 +25390,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25348,7 +25411,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25369,7 +25432,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25390,7 +25453,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25411,7 +25474,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25432,7 +25495,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25453,7 +25516,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25474,7 +25537,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25495,7 +25558,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25516,7 +25579,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25537,7 +25600,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25558,7 +25621,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25579,7 +25642,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25600,7 +25663,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25621,7 +25684,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25642,7 +25705,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25663,7 +25726,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25684,7 +25747,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25705,7 +25768,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25726,7 +25789,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25747,7 +25810,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25768,7 +25831,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25789,7 +25852,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25810,7 +25873,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25831,7 +25894,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25852,7 +25915,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25873,7 +25936,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25894,7 +25957,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25915,7 +25978,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25936,7 +25999,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25957,7 +26020,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25978,7 +26041,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -25999,7 +26062,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -26020,7 +26083,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -26041,7 +26104,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -26062,7 +26125,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_nosec_test", "platforms": [ "windows", @@ -26083,7 +26146,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26104,7 +26167,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26125,7 +26188,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26146,7 +26209,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26167,7 +26230,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26188,7 +26251,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26209,7 +26272,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26230,7 +26293,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26251,7 +26314,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26272,7 +26335,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26293,7 +26356,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26314,7 +26377,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26335,7 +26398,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26356,7 +26419,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26377,7 +26440,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26398,7 +26461,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26419,7 +26482,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26440,7 +26503,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26461,7 +26524,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26482,7 +26545,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26503,7 +26566,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26524,7 +26587,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26545,7 +26608,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26566,7 +26629,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26587,7 +26650,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26608,7 +26671,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26629,7 +26692,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26650,7 +26713,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26671,7 +26734,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26692,7 +26755,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26713,7 +26776,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26734,7 +26797,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26755,7 +26818,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26776,7 +26839,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26797,7 +26860,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair+trace_nosec_test", "platforms": [ "windows", @@ -26820,7 +26883,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -26843,7 +26906,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -26866,7 +26929,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -26889,7 +26952,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -26912,7 +26975,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -26935,7 +26998,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -26958,7 +27021,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -26981,7 +27044,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27004,7 +27067,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27027,7 +27090,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27050,7 +27113,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27073,7 +27136,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27096,7 +27159,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27119,7 +27182,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27142,7 +27205,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27165,7 +27228,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27188,7 +27251,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27211,7 +27274,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27234,7 +27297,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27257,7 +27320,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27280,7 +27343,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27303,7 +27366,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27326,7 +27389,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27349,7 +27412,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27372,7 +27435,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27395,7 +27458,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27418,7 +27481,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27441,7 +27504,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27464,7 +27527,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27487,7 +27550,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27510,7 +27573,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27533,7 +27596,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27556,7 +27619,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27579,7 +27642,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27602,7 +27665,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27625,7 +27688,7 @@ "msan" ], "flaky": false, - "language": "c", + "language": "core", "name": "h2_sockpair_1byte_nosec_test", "platforms": [ "windows", @@ -27646,7 +27709,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27666,7 +27729,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27686,7 +27749,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27706,7 +27769,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27726,7 +27789,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27746,7 +27809,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27766,7 +27829,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27786,7 +27849,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27806,7 +27869,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27826,7 +27889,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27846,7 +27909,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27866,7 +27929,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27886,7 +27949,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27906,7 +27969,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27926,7 +27989,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27946,7 +28009,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27966,7 +28029,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -27986,7 +28049,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28006,7 +28069,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28026,7 +28089,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28046,7 +28109,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28066,7 +28129,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28086,7 +28149,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28106,7 +28169,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28126,7 +28189,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28146,7 +28209,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28166,7 +28229,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28186,7 +28249,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28206,7 +28269,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28226,7 +28289,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28246,7 +28309,7 @@ "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28266,7 +28329,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28286,7 +28349,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28306,7 +28369,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28326,7 +28389,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28346,7 +28409,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28366,7 +28429,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28386,7 +28449,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28406,7 +28469,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28426,7 +28489,7 @@ "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, - "language": "c", + "language": "core", "name": "h2_uds_nosec_test", "platforms": [ "linux", @@ -28878,7 +28941,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -28897,7 +28960,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -28916,7 +28979,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -28935,7 +28998,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -28954,7 +29017,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -28973,7 +29036,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -28992,7 +29055,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29011,7 +29074,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29030,7 +29093,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29049,7 +29112,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29068,7 +29131,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29087,7 +29150,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29106,7 +29169,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29125,7 +29188,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29144,7 +29207,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29163,7 +29226,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29182,7 +29245,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29201,7 +29264,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29220,7 +29283,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29239,7 +29302,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29258,7 +29321,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29277,7 +29340,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29296,7 +29359,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29315,7 +29378,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29334,7 +29397,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29353,7 +29416,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29372,7 +29435,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29391,7 +29454,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29410,7 +29473,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29429,7 +29492,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29448,7 +29511,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29467,7 +29530,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29486,7 +29549,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29505,7 +29568,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29524,7 +29587,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29543,7 +29606,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29562,7 +29625,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29581,7 +29644,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29600,7 +29663,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29619,7 +29682,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29638,7 +29701,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29657,7 +29720,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29676,7 +29739,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29695,7 +29758,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29714,7 +29777,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29733,7 +29796,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29752,7 +29815,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29771,7 +29834,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29790,7 +29853,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29809,7 +29872,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29828,7 +29891,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29847,7 +29910,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29866,7 +29929,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29885,7 +29948,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29904,7 +29967,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29923,7 +29986,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29942,7 +30005,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29961,7 +30024,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29980,7 +30043,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -29999,7 +30062,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30018,7 +30081,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30037,7 +30100,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30056,7 +30119,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30075,7 +30138,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30094,7 +30157,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30113,7 +30176,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30132,7 +30195,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30151,7 +30214,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30170,7 +30233,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30189,7 +30252,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30208,7 +30271,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30227,7 +30290,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30246,7 +30309,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30265,7 +30328,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30284,7 +30347,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30303,7 +30366,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30322,7 +30385,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30341,7 +30404,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30360,7 +30423,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30379,7 +30442,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30398,7 +30461,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30417,7 +30480,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30436,7 +30499,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30455,7 +30518,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30474,7 +30537,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30493,7 +30556,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30512,7 +30575,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30531,7 +30594,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30550,7 +30613,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30569,7 +30632,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30588,7 +30651,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30607,7 +30670,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30626,7 +30689,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30645,7 +30708,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30664,7 +30727,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30683,7 +30746,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30702,7 +30765,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30721,7 +30784,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30740,7 +30803,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30759,7 +30822,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30778,7 +30841,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30797,7 +30860,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30816,7 +30879,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30835,7 +30898,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30854,7 +30917,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30873,7 +30936,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30892,7 +30955,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30911,7 +30974,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30930,7 +30993,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30949,7 +31012,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30968,7 +31031,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -30987,7 +31050,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31006,7 +31069,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31025,7 +31088,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31044,7 +31107,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31063,7 +31126,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31082,7 +31145,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31101,7 +31164,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31120,7 +31183,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31139,7 +31202,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31158,7 +31221,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31177,7 +31240,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31196,7 +31259,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31215,7 +31278,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31234,7 +31297,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31253,7 +31316,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31272,7 +31335,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31291,7 +31354,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31310,7 +31373,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31329,7 +31392,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31348,7 +31411,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31367,7 +31430,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31386,7 +31449,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31405,7 +31468,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31424,7 +31487,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31443,7 +31506,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31462,7 +31525,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31481,7 +31544,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31500,7 +31563,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31519,7 +31582,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31538,7 +31601,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31557,7 +31620,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31576,7 +31639,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31595,7 +31658,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31614,7 +31677,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31633,7 +31696,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31652,7 +31715,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31671,7 +31734,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31690,7 +31753,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31709,7 +31772,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31728,7 +31791,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31747,7 +31810,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31766,7 +31829,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31785,7 +31848,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31804,7 +31867,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31823,7 +31886,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31842,7 +31905,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31861,7 +31924,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31880,7 +31943,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31899,7 +31962,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31918,7 +31981,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31937,7 +32000,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31956,7 +32019,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31975,7 +32038,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -31994,7 +32057,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32013,7 +32076,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32032,7 +32095,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32051,7 +32114,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32070,7 +32133,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32089,7 +32152,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32108,7 +32171,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32127,7 +32190,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32146,7 +32209,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32165,7 +32228,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32184,7 +32247,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32203,7 +32266,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32222,7 +32285,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32241,7 +32304,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32260,7 +32323,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32279,7 +32342,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32298,7 +32361,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32317,7 +32380,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32336,7 +32399,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32355,7 +32418,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32374,7 +32437,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32393,7 +32456,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32412,7 +32475,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32431,7 +32494,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32450,7 +32513,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32469,7 +32532,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32488,7 +32551,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32507,7 +32570,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32526,7 +32589,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32545,7 +32608,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32564,7 +32627,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32583,7 +32646,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32602,7 +32665,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32621,7 +32684,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32640,7 +32703,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32659,7 +32722,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32678,7 +32741,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32697,7 +32760,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32716,7 +32779,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32735,7 +32798,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32754,7 +32817,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32773,7 +32836,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32792,7 +32855,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32811,7 +32874,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32830,7 +32893,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32849,7 +32912,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32868,7 +32931,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32887,7 +32950,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32906,7 +32969,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32925,7 +32988,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32944,7 +33007,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32963,7 +33026,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -32982,7 +33045,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33001,7 +33064,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33020,7 +33083,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33039,7 +33102,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33058,7 +33121,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33077,7 +33140,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33096,7 +33159,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33115,7 +33178,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33134,7 +33197,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33153,7 +33216,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33172,7 +33235,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33191,7 +33254,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33210,7 +33273,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33229,7 +33292,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33248,7 +33311,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33267,7 +33330,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33286,7 +33349,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33305,7 +33368,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33324,7 +33387,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33343,7 +33406,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33362,7 +33425,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33381,7 +33444,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33400,7 +33463,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33419,7 +33482,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33438,7 +33501,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33457,7 +33520,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33476,7 +33539,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33495,7 +33558,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33514,7 +33577,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33533,7 +33596,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33552,7 +33615,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33571,7 +33634,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33590,7 +33653,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33609,7 +33672,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33628,7 +33691,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33647,7 +33710,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33666,7 +33729,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33685,7 +33748,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33704,7 +33767,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33723,7 +33786,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33742,7 +33805,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33761,7 +33824,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33780,7 +33843,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33799,7 +33862,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33818,7 +33881,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33837,7 +33900,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33856,7 +33919,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33875,7 +33938,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33894,7 +33957,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33913,7 +33976,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33932,7 +33995,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33951,7 +34014,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33970,7 +34033,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -33989,7 +34052,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34008,7 +34071,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34027,7 +34090,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34046,7 +34109,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34065,7 +34128,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34084,7 +34147,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34103,7 +34166,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34122,7 +34185,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34141,7 +34204,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34160,7 +34223,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34179,7 +34242,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34198,7 +34261,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34217,7 +34280,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34236,7 +34299,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34255,7 +34318,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34274,7 +34337,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34293,7 +34356,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34312,7 +34375,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34331,7 +34394,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34350,7 +34413,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34369,7 +34432,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34388,7 +34451,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34407,7 +34470,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34426,7 +34489,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34445,7 +34508,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34464,7 +34527,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34483,7 +34546,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34502,7 +34565,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34521,7 +34584,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34540,7 +34603,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34559,7 +34622,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34578,7 +34641,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34597,7 +34660,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34616,7 +34679,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34635,7 +34698,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34654,7 +34717,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34673,7 +34736,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34692,7 +34755,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34711,7 +34774,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34730,7 +34793,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34749,7 +34812,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34768,7 +34831,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34787,7 +34850,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34806,7 +34869,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34825,7 +34888,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34844,7 +34907,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34863,7 +34926,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34882,7 +34945,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34901,7 +34964,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34920,7 +34983,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34939,7 +35002,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34958,7 +35021,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34977,7 +35040,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -34996,7 +35059,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35015,7 +35078,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35034,7 +35097,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35053,7 +35116,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35072,7 +35135,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35091,7 +35154,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35110,7 +35173,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35129,7 +35192,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35148,7 +35211,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35167,7 +35230,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35186,7 +35249,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35205,7 +35268,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35224,7 +35287,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35243,7 +35306,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35262,7 +35325,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35281,7 +35344,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35300,7 +35363,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35319,7 +35382,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35338,7 +35401,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35357,7 +35420,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35376,7 +35439,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35395,7 +35458,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35414,7 +35477,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35433,7 +35496,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35452,7 +35515,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35471,7 +35534,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35490,7 +35553,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35509,7 +35572,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35528,7 +35591,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35547,7 +35610,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35566,7 +35629,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35585,7 +35648,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35604,7 +35667,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35623,7 +35686,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35642,7 +35705,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35661,7 +35724,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35680,7 +35743,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35699,7 +35762,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35718,7 +35781,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35737,7 +35800,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35756,7 +35819,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35775,7 +35838,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35794,7 +35857,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35813,7 +35876,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35832,7 +35895,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35851,7 +35914,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35870,7 +35933,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35889,7 +35952,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35908,7 +35971,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35927,7 +35990,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35946,7 +36009,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35965,7 +36028,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -35984,7 +36047,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36003,7 +36066,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36022,7 +36085,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36041,7 +36104,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36060,7 +36123,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36079,7 +36142,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36098,7 +36161,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36117,7 +36180,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36136,7 +36199,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36155,7 +36218,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36174,7 +36237,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36193,7 +36256,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36212,7 +36275,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36231,7 +36294,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36250,7 +36313,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36269,7 +36332,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36288,7 +36351,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36307,7 +36370,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36326,7 +36389,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36345,7 +36408,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36364,7 +36427,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36383,7 +36446,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36402,7 +36465,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36421,7 +36484,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36440,7 +36503,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36459,7 +36522,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36478,7 +36541,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36497,7 +36560,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36516,7 +36579,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36535,7 +36598,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36554,7 +36617,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36573,7 +36636,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36592,7 +36655,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36611,7 +36674,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36630,7 +36693,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36649,7 +36712,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36668,7 +36731,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36687,7 +36750,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36706,7 +36769,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36725,7 +36788,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36744,7 +36807,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36763,7 +36826,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36782,7 +36845,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36801,7 +36864,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36820,7 +36883,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36839,7 +36902,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36858,7 +36921,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36877,7 +36940,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36896,7 +36959,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36915,7 +36978,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36934,7 +36997,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36953,7 +37016,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36972,7 +37035,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -36991,7 +37054,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37010,7 +37073,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37029,7 +37092,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37048,7 +37111,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37067,7 +37130,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37086,7 +37149,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37105,7 +37168,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37124,7 +37187,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37143,7 +37206,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37162,7 +37225,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37181,7 +37244,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37200,7 +37263,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37219,7 +37282,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37238,7 +37301,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37257,7 +37320,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37276,7 +37339,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37295,7 +37358,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37314,7 +37377,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37333,7 +37396,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37352,7 +37415,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37371,7 +37434,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37390,7 +37453,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37409,7 +37472,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37428,7 +37491,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37447,7 +37510,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37466,7 +37529,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37485,7 +37548,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37504,7 +37567,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37523,7 +37586,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37542,7 +37605,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37561,7 +37624,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37580,7 +37643,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37599,7 +37662,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37618,7 +37681,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37637,7 +37700,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37656,7 +37719,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37675,7 +37738,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37694,7 +37757,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37713,7 +37776,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37732,7 +37795,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37751,7 +37814,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37770,7 +37833,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37789,7 +37852,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37808,7 +37871,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37827,7 +37890,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37846,7 +37909,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37865,7 +37928,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37884,7 +37947,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37903,7 +37966,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37922,7 +37985,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37941,7 +38004,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37960,7 +38023,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37979,7 +38042,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -37998,7 +38061,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38017,7 +38080,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38036,7 +38099,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38055,7 +38118,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38074,7 +38137,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38093,7 +38156,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38112,7 +38175,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38131,7 +38194,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38150,7 +38213,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38169,7 +38232,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38188,7 +38251,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38207,7 +38270,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38226,7 +38289,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38245,7 +38308,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38264,7 +38327,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38283,7 +38346,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38302,7 +38365,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38321,7 +38384,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38340,7 +38403,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38359,7 +38422,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38378,7 +38441,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38397,7 +38460,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38416,7 +38479,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38435,7 +38498,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38454,7 +38517,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38473,7 +38536,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38492,7 +38555,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38511,7 +38574,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38530,7 +38593,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38549,7 +38612,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38568,7 +38631,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38587,7 +38650,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38606,7 +38669,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38625,7 +38688,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38644,7 +38707,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38663,7 +38726,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38682,7 +38745,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38701,7 +38764,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38720,7 +38783,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38739,7 +38802,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38758,7 +38821,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38777,7 +38840,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38796,7 +38859,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38815,7 +38878,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38834,7 +38897,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38853,7 +38916,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38872,7 +38935,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38891,7 +38954,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38910,7 +38973,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38929,7 +38992,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38948,7 +39011,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38967,7 +39030,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -38986,7 +39049,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39005,7 +39068,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39024,7 +39087,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39043,7 +39106,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39062,7 +39125,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39081,7 +39144,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39100,7 +39163,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39119,7 +39182,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39138,7 +39201,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39157,7 +39220,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39176,7 +39239,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39195,7 +39258,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39214,7 +39277,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39233,7 +39296,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39252,7 +39315,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39271,7 +39334,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39290,7 +39353,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39309,7 +39372,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39328,7 +39391,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39347,7 +39410,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39366,7 +39429,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39385,7 +39448,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39404,7 +39467,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39423,7 +39486,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39442,7 +39505,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39461,7 +39524,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39480,7 +39543,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39499,7 +39562,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39518,7 +39581,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39537,7 +39600,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39556,7 +39619,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39575,7 +39638,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39594,7 +39657,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39613,7 +39676,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39632,7 +39695,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39651,7 +39714,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39670,7 +39733,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39689,7 +39752,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39708,7 +39771,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39727,7 +39790,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39746,7 +39809,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39765,7 +39828,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39784,7 +39847,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39803,7 +39866,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39822,7 +39885,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39841,7 +39904,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39860,7 +39923,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39879,7 +39942,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39898,7 +39961,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39917,7 +39980,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39936,7 +39999,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39955,7 +40018,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39974,7 +40037,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -39993,7 +40056,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40012,7 +40075,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40031,7 +40094,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40050,7 +40113,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40069,7 +40132,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40088,7 +40151,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40107,7 +40170,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40126,7 +40189,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40145,7 +40208,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40164,7 +40227,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40183,7 +40246,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40202,7 +40265,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40221,7 +40284,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40240,7 +40303,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40259,7 +40322,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40278,7 +40341,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40297,7 +40360,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40316,7 +40379,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40335,7 +40398,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40354,7 +40417,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40373,7 +40436,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40392,7 +40455,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40411,7 +40474,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40430,7 +40493,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40449,7 +40512,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40468,7 +40531,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40487,7 +40550,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40506,7 +40569,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40525,7 +40588,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40544,7 +40607,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40563,7 +40626,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40582,7 +40645,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40601,7 +40664,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40620,7 +40683,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40639,7 +40702,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40658,7 +40721,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40677,7 +40740,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40696,7 +40759,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40715,7 +40778,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40734,7 +40797,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40753,7 +40816,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40772,7 +40835,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40791,7 +40854,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40810,7 +40873,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40829,7 +40892,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40848,7 +40911,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40867,7 +40930,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40886,7 +40949,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40905,7 +40968,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40924,7 +40987,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40943,7 +41006,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40962,7 +41025,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -40981,7 +41044,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41000,7 +41063,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41019,7 +41082,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41038,7 +41101,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41057,7 +41120,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41076,7 +41139,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41095,7 +41158,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41114,7 +41177,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41133,7 +41196,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41152,7 +41215,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41171,7 +41234,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41190,7 +41253,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41209,7 +41272,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41228,7 +41291,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41247,7 +41310,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41266,7 +41329,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41285,7 +41348,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41304,7 +41367,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41323,7 +41386,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41342,7 +41405,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41361,7 +41424,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41380,7 +41443,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41399,7 +41462,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41418,7 +41481,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41437,7 +41500,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41456,7 +41519,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41475,7 +41538,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41494,7 +41557,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41513,7 +41576,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41532,7 +41595,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41551,7 +41614,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41570,7 +41633,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41589,7 +41652,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41608,7 +41671,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41627,7 +41690,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41646,7 +41709,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41665,7 +41728,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41684,7 +41747,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41703,7 +41766,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41722,7 +41785,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41741,7 +41804,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41760,7 +41823,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41779,7 +41842,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41798,7 +41861,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41817,7 +41880,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41836,7 +41899,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41855,7 +41918,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41874,7 +41937,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41893,7 +41956,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41912,7 +41975,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41931,7 +41994,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41950,7 +42013,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41969,7 +42032,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -41988,7 +42051,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42007,7 +42070,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42026,7 +42089,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42045,7 +42108,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42064,7 +42127,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42083,7 +42146,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42102,7 +42165,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42121,7 +42184,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42140,7 +42203,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42159,7 +42222,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42178,7 +42241,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42197,7 +42260,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42216,7 +42279,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42235,7 +42298,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42254,7 +42317,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42273,7 +42336,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42292,7 +42355,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42311,7 +42374,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42330,7 +42393,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42349,7 +42412,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42368,7 +42431,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42387,7 +42450,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42406,7 +42469,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42425,7 +42488,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42444,7 +42507,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42463,7 +42526,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42482,7 +42545,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42501,7 +42564,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42520,7 +42583,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42539,7 +42602,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42558,7 +42621,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42577,7 +42640,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42596,7 +42659,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42615,7 +42678,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42634,7 +42697,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42653,7 +42716,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42672,7 +42735,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42691,7 +42754,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42710,7 +42773,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42729,7 +42792,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42748,7 +42811,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42767,7 +42830,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42786,7 +42849,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42805,7 +42868,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42824,7 +42887,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42843,7 +42906,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42862,7 +42925,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42881,7 +42944,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42900,7 +42963,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42919,7 +42982,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42938,7 +43001,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42957,7 +43020,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42976,7 +43039,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -42995,7 +43058,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43014,7 +43077,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43033,7 +43096,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43052,7 +43115,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43071,7 +43134,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43090,7 +43153,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43109,7 +43172,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43128,7 +43191,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43147,7 +43210,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43166,7 +43229,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43185,7 +43248,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43204,7 +43267,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43223,7 +43286,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43242,7 +43305,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43261,7 +43324,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43280,7 +43343,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43299,7 +43362,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43318,7 +43381,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43337,7 +43400,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43356,7 +43419,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43375,7 +43438,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43394,7 +43457,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43413,7 +43476,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43432,7 +43495,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43451,7 +43514,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43470,7 +43533,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43489,7 +43552,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43508,7 +43571,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43527,7 +43590,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43546,7 +43609,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43565,7 +43628,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43584,7 +43647,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43603,7 +43666,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43622,7 +43685,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43641,7 +43704,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43660,7 +43723,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43679,7 +43742,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43698,7 +43761,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43717,7 +43780,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43736,7 +43799,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43755,7 +43818,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43774,7 +43837,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43793,7 +43856,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43812,7 +43875,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43831,7 +43894,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43850,7 +43913,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43869,7 +43932,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43888,7 +43951,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43907,7 +43970,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43926,7 +43989,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43945,7 +44008,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43964,7 +44027,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -43983,7 +44046,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44002,7 +44065,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44021,7 +44084,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44040,7 +44103,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44059,7 +44122,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44078,7 +44141,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44097,7 +44160,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44116,7 +44179,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44135,7 +44198,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44154,7 +44217,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44173,7 +44236,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44192,7 +44255,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44211,7 +44274,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44230,7 +44293,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44249,7 +44312,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44268,7 +44331,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44287,7 +44350,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44306,7 +44369,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44325,7 +44388,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44344,7 +44407,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44363,7 +44426,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44382,7 +44445,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44401,7 +44464,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44420,7 +44483,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44439,7 +44502,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44458,7 +44521,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44477,7 +44540,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44496,7 +44559,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44515,7 +44578,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44534,7 +44597,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44553,7 +44616,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44572,7 +44635,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44591,7 +44654,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44610,7 +44673,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44629,7 +44692,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44648,7 +44711,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44667,7 +44730,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44686,7 +44749,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44705,7 +44768,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44724,7 +44787,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44743,7 +44806,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44762,7 +44825,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44781,7 +44844,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44800,7 +44863,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44819,7 +44882,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44838,7 +44901,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44857,7 +44920,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44876,7 +44939,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44895,7 +44958,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44914,7 +44977,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44933,7 +44996,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44952,7 +45015,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44971,7 +45034,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -44990,7 +45053,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45009,7 +45072,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45028,7 +45091,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45047,7 +45110,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45066,7 +45129,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45085,7 +45148,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45104,7 +45167,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45123,7 +45186,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45142,7 +45205,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45161,7 +45224,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45180,7 +45243,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45199,7 +45262,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45218,7 +45281,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45237,7 +45300,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45256,7 +45319,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45275,7 +45338,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45294,7 +45357,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45313,7 +45376,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45332,7 +45395,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45351,7 +45414,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45370,7 +45433,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45389,7 +45452,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45408,7 +45471,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45427,7 +45490,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45446,7 +45509,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45465,7 +45528,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45484,7 +45547,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45503,7 +45566,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45522,7 +45585,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45541,7 +45604,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45560,7 +45623,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45579,7 +45642,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45598,7 +45661,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45617,7 +45680,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45636,7 +45699,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45655,7 +45718,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45674,7 +45737,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45693,7 +45756,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45712,7 +45775,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45731,7 +45794,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45750,7 +45813,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45769,7 +45832,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45788,7 +45851,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45807,7 +45870,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45826,7 +45889,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45845,7 +45908,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45864,7 +45927,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45883,7 +45946,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45902,7 +45965,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45921,7 +45984,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45940,7 +46003,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45959,7 +46022,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45978,7 +46041,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -45997,7 +46060,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46016,7 +46079,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46035,7 +46098,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46054,7 +46117,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46073,7 +46136,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46092,7 +46155,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46111,7 +46174,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46130,7 +46193,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46149,7 +46212,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46168,7 +46231,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46187,7 +46250,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46206,7 +46269,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46225,7 +46288,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46244,7 +46307,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46263,7 +46326,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46282,7 +46345,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46301,7 +46364,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46320,7 +46383,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46339,7 +46402,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46358,7 +46421,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46377,7 +46440,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46396,7 +46459,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46415,7 +46478,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46434,7 +46497,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46453,7 +46516,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46472,7 +46535,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46491,7 +46554,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46510,7 +46573,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46529,7 +46592,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46548,7 +46611,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46567,7 +46630,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46586,7 +46649,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46605,7 +46668,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46624,7 +46687,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46643,7 +46706,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46662,7 +46725,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46681,7 +46744,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46700,7 +46763,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46719,7 +46782,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46738,7 +46801,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46757,7 +46820,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46776,7 +46839,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46795,7 +46858,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46814,7 +46877,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46833,7 +46896,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46852,7 +46915,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46871,7 +46934,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46890,7 +46953,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46909,7 +46972,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46928,7 +46991,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46947,7 +47010,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46966,7 +47029,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -46985,7 +47048,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47004,7 +47067,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47023,7 +47086,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47042,7 +47105,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47061,7 +47124,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47080,7 +47143,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47099,7 +47162,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47118,7 +47181,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47137,7 +47200,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47156,7 +47219,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47175,7 +47238,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47194,7 +47257,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47213,7 +47276,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47232,7 +47295,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47251,7 +47314,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47270,7 +47333,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47289,7 +47352,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47308,7 +47371,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47327,7 +47390,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47346,7 +47409,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47365,7 +47428,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47384,7 +47447,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47403,7 +47466,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47422,7 +47485,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47441,7 +47504,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47460,7 +47523,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47479,7 +47542,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47498,7 +47561,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47517,7 +47580,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47536,7 +47599,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47555,7 +47618,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47574,7 +47637,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47593,7 +47656,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47612,7 +47675,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47631,7 +47694,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47650,7 +47713,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47669,7 +47732,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47688,7 +47751,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47707,7 +47770,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47726,7 +47789,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47745,7 +47808,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47764,7 +47827,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47783,7 +47846,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47802,7 +47865,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47821,7 +47884,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47840,7 +47903,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47859,7 +47922,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47878,7 +47941,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47897,7 +47960,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47916,7 +47979,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47935,7 +47998,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47954,7 +48017,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47973,7 +48036,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -47992,7 +48055,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48011,7 +48074,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48030,7 +48093,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48049,7 +48112,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48068,7 +48131,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48087,7 +48150,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48106,7 +48169,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48125,7 +48188,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48144,7 +48207,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48163,7 +48226,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48182,7 +48245,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48201,7 +48264,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48220,7 +48283,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48239,7 +48302,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48258,7 +48321,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48277,7 +48340,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48296,7 +48359,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48315,7 +48378,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48334,7 +48397,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48353,7 +48416,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48372,7 +48435,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48391,7 +48454,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48410,7 +48473,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48429,7 +48492,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48448,7 +48511,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48467,7 +48530,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48486,7 +48549,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48505,7 +48568,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48524,7 +48587,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48543,7 +48606,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48562,7 +48625,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48581,7 +48644,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48600,7 +48663,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48619,7 +48682,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48638,7 +48701,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48657,7 +48720,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48676,7 +48739,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48695,7 +48758,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48714,7 +48777,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48733,7 +48796,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48752,7 +48815,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48771,7 +48834,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48790,7 +48853,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48809,7 +48872,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48828,7 +48891,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48847,7 +48910,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48866,7 +48929,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48885,7 +48948,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48904,7 +48967,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48923,7 +48986,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48942,7 +49005,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48961,7 +49024,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48980,7 +49043,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -48999,7 +49062,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49018,7 +49081,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49037,7 +49100,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49056,7 +49119,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49075,7 +49138,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49094,7 +49157,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49113,7 +49176,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49132,7 +49195,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49151,7 +49214,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49170,7 +49233,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49189,7 +49252,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49208,7 +49271,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49227,7 +49290,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49246,7 +49309,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49265,7 +49328,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49284,7 +49347,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49303,7 +49366,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49322,7 +49385,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49341,7 +49404,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49360,7 +49423,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49379,7 +49442,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49398,7 +49461,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49417,7 +49480,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49436,7 +49499,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49455,7 +49518,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49474,7 +49537,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49493,7 +49556,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49512,7 +49575,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49531,7 +49594,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49550,7 +49613,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49569,7 +49632,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49588,7 +49651,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49607,7 +49670,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49626,7 +49689,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49645,7 +49708,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49664,7 +49727,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49683,7 +49746,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49702,7 +49765,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49721,7 +49784,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49740,7 +49803,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49759,7 +49822,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49778,7 +49841,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49797,7 +49860,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49816,7 +49879,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49835,7 +49898,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49854,7 +49917,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49873,7 +49936,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49892,7 +49955,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49911,7 +49974,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49930,7 +49993,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49949,7 +50012,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49968,7 +50031,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -49987,7 +50050,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50006,7 +50069,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50025,7 +50088,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50044,7 +50107,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50063,7 +50126,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50082,7 +50145,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50101,7 +50164,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50120,7 +50183,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50139,7 +50202,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50158,7 +50221,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50177,7 +50240,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50196,7 +50259,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50215,7 +50278,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50234,7 +50297,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50253,7 +50316,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50272,7 +50335,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50291,7 +50354,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50310,7 +50373,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50329,7 +50392,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50348,7 +50411,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50367,7 +50430,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50386,7 +50449,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50405,7 +50468,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50424,7 +50487,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50443,7 +50506,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50462,7 +50525,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50481,7 +50544,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50500,7 +50563,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50519,7 +50582,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50538,7 +50601,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50557,7 +50620,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50576,7 +50639,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50595,7 +50658,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50614,7 +50677,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50633,7 +50696,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50652,7 +50715,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50671,7 +50734,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50690,7 +50753,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50709,7 +50772,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50728,7 +50791,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50747,7 +50810,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50766,7 +50829,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50785,7 +50848,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50804,7 +50867,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50823,7 +50886,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50842,7 +50905,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50861,7 +50924,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50880,7 +50943,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50899,7 +50962,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50918,7 +50981,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50937,7 +51000,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50956,7 +51019,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50975,7 +51038,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -50994,7 +51057,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51013,7 +51076,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51032,7 +51095,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51051,7 +51114,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51070,7 +51133,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51089,7 +51152,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51108,7 +51171,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51127,7 +51190,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51146,7 +51209,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51165,7 +51228,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51184,7 +51247,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51203,7 +51266,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51222,7 +51285,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51241,7 +51304,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51260,7 +51323,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51279,7 +51342,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51298,7 +51361,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51317,7 +51380,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51336,7 +51399,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51355,7 +51418,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51374,7 +51437,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51393,7 +51456,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51412,7 +51475,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51431,7 +51494,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51450,7 +51513,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51469,7 +51532,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51488,7 +51551,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51507,7 +51570,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51526,7 +51589,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51545,7 +51608,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51564,7 +51627,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51583,7 +51646,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51602,7 +51665,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51621,7 +51684,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51640,7 +51703,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51659,7 +51722,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51678,7 +51741,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51697,7 +51760,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51716,7 +51779,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51735,7 +51798,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51754,7 +51817,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51773,7 +51836,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51792,7 +51855,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51811,7 +51874,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51830,7 +51893,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51849,7 +51912,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51868,7 +51931,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51887,7 +51950,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51906,7 +51969,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51925,7 +51988,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51944,7 +52007,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51963,7 +52026,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -51982,7 +52045,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52001,7 +52064,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52020,7 +52083,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52039,7 +52102,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52058,7 +52121,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52077,7 +52140,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52096,7 +52159,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52115,7 +52178,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52134,7 +52197,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52153,7 +52216,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52172,7 +52235,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52191,7 +52254,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52210,7 +52273,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52229,7 +52292,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52248,7 +52311,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52267,7 +52330,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52286,7 +52349,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52305,7 +52368,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52324,7 +52387,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52343,7 +52406,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52362,7 +52425,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52381,7 +52444,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52400,7 +52463,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52419,7 +52482,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52438,7 +52501,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52457,7 +52520,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52476,7 +52539,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52495,7 +52558,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52514,7 +52577,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52533,7 +52596,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52552,7 +52615,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52571,7 +52634,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52590,7 +52653,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52609,7 +52672,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52628,7 +52691,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52647,7 +52710,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52666,7 +52729,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52685,7 +52748,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52704,7 +52767,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52723,7 +52786,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52742,7 +52805,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52761,7 +52824,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52780,7 +52843,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52799,7 +52862,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52818,7 +52881,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52837,7 +52900,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52856,7 +52919,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52875,7 +52938,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52894,7 +52957,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52913,7 +52976,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52932,7 +52995,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52951,7 +53014,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52970,7 +53033,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -52989,7 +53052,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53008,7 +53071,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53027,7 +53090,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53046,7 +53109,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53065,7 +53128,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53084,7 +53147,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53103,7 +53166,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53122,7 +53185,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53141,7 +53204,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53160,7 +53223,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53179,7 +53242,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53198,7 +53261,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53217,7 +53280,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53236,7 +53299,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53255,7 +53318,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53274,7 +53337,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53293,7 +53356,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53312,7 +53375,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53331,7 +53394,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53350,7 +53413,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53369,7 +53432,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53388,7 +53451,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53407,7 +53470,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53426,7 +53489,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53445,7 +53508,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53464,7 +53527,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53483,7 +53546,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53502,7 +53565,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53521,7 +53584,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53540,7 +53603,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53559,7 +53622,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53578,7 +53641,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53597,7 +53660,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53616,7 +53679,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53635,7 +53698,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53654,7 +53717,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53673,7 +53736,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53692,7 +53755,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53711,7 +53774,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53730,7 +53793,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53749,7 +53812,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53768,7 +53831,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53787,7 +53850,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53806,7 +53869,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53825,7 +53888,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53844,7 +53907,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53863,7 +53926,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53882,7 +53945,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53901,7 +53964,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53920,7 +53983,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53939,7 +54002,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53958,7 +54021,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53977,7 +54040,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -53996,7 +54059,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54015,7 +54078,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54034,7 +54097,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54053,7 +54116,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54072,7 +54135,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54091,7 +54154,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54110,7 +54173,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54129,7 +54192,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54148,7 +54211,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54167,7 +54230,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54186,7 +54249,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54205,7 +54268,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54224,7 +54287,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54243,7 +54306,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54262,7 +54325,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54281,7 +54344,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54300,7 +54363,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54319,7 +54382,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54338,7 +54401,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54357,7 +54420,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54376,7 +54439,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54395,7 +54458,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54414,7 +54477,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54433,7 +54496,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54452,7 +54515,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54471,7 +54534,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54490,7 +54553,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54509,7 +54572,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54528,7 +54591,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54547,7 +54610,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54566,7 +54629,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54585,7 +54648,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54604,7 +54667,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54623,7 +54686,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54642,7 +54705,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54661,7 +54724,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54680,7 +54743,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54699,7 +54762,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54718,7 +54781,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54737,7 +54800,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54756,7 +54819,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54775,7 +54838,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54794,7 +54857,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54813,7 +54876,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54832,7 +54895,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "api_fuzzer_one_entry", "platforms": [ "linux" @@ -54851,7 +54914,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -54870,7 +54933,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -54889,7 +54952,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -54908,7 +54971,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -54927,7 +54990,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -54946,7 +55009,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -54965,7 +55028,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -54984,7 +55047,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55003,7 +55066,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55022,7 +55085,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55041,7 +55104,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55060,7 +55123,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55079,7 +55142,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55098,7 +55161,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55117,7 +55180,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55136,7 +55199,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55155,7 +55218,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55174,7 +55237,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55193,7 +55256,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55212,7 +55275,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55231,7 +55294,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55250,7 +55313,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55269,7 +55332,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55288,7 +55351,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55307,7 +55370,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55326,7 +55389,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55345,7 +55408,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55364,7 +55427,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55383,7 +55446,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55402,7 +55465,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55421,7 +55484,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55440,7 +55503,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55459,7 +55522,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55478,7 +55541,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55497,7 +55560,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55516,7 +55579,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55535,7 +55598,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55554,7 +55617,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55573,7 +55636,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55592,7 +55655,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55611,7 +55674,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55630,7 +55693,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55649,7 +55712,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55668,7 +55731,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55687,7 +55750,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55706,7 +55769,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55725,7 +55788,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55744,7 +55807,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55763,7 +55826,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55782,7 +55845,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55801,7 +55864,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55820,7 +55883,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55839,7 +55902,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55858,7 +55921,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55877,7 +55940,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55896,7 +55959,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55915,7 +55978,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55934,7 +55997,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55953,7 +56016,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55972,7 +56035,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -55991,7 +56054,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56010,7 +56073,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56029,7 +56092,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56048,7 +56111,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56067,7 +56130,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56086,7 +56149,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56105,7 +56168,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56124,7 +56187,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56143,7 +56206,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56162,7 +56225,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56181,7 +56244,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56200,7 +56263,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56219,7 +56282,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56238,7 +56301,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56257,7 +56320,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56276,7 +56339,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56295,7 +56358,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56314,7 +56377,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56333,7 +56396,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56352,7 +56415,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56371,7 +56434,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56390,7 +56453,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56409,7 +56472,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56428,7 +56491,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56447,7 +56510,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56466,7 +56529,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56485,7 +56548,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56504,7 +56567,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56523,7 +56586,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56542,7 +56605,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56561,7 +56624,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56580,7 +56643,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56599,7 +56662,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56618,7 +56681,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56637,7 +56700,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56656,7 +56719,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56675,7 +56738,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56694,7 +56757,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56713,7 +56776,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56732,7 +56795,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56751,7 +56814,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56770,7 +56833,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56789,7 +56852,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56808,7 +56871,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56827,7 +56890,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56846,7 +56909,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56865,7 +56928,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56884,7 +56947,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56903,7 +56966,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56922,7 +56985,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56941,7 +57004,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56960,7 +57023,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56979,7 +57042,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -56998,7 +57061,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57017,7 +57080,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57036,7 +57099,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57055,7 +57118,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57074,7 +57137,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57093,7 +57156,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57112,7 +57175,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57131,7 +57194,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57150,7 +57213,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57169,7 +57232,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57188,7 +57251,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57207,7 +57270,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57226,7 +57289,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57245,7 +57308,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57264,7 +57327,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57283,7 +57346,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57302,7 +57365,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57321,7 +57384,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57340,7 +57403,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57359,7 +57422,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57378,7 +57441,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57397,7 +57460,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57416,7 +57479,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57435,7 +57498,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57454,7 +57517,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57473,7 +57536,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57492,7 +57555,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57511,7 +57574,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57530,7 +57593,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57549,7 +57612,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57568,7 +57631,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57587,7 +57650,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57606,7 +57669,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57625,7 +57688,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57644,7 +57707,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57663,7 +57726,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57682,7 +57745,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57701,7 +57764,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57720,7 +57783,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57739,7 +57802,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57758,7 +57821,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57777,7 +57840,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57796,7 +57859,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57815,7 +57878,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57834,7 +57897,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57853,7 +57916,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57872,7 +57935,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57891,7 +57954,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57910,7 +57973,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57929,7 +57992,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57948,7 +58011,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57967,7 +58030,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -57986,7 +58049,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58005,7 +58068,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58024,7 +58087,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58043,7 +58106,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58062,7 +58125,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58081,7 +58144,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58100,7 +58163,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58119,7 +58182,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58138,7 +58201,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58157,7 +58220,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58176,7 +58239,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58195,7 +58258,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58214,7 +58277,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58233,7 +58296,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58252,7 +58315,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58271,7 +58334,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58290,7 +58353,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58309,7 +58372,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58328,7 +58391,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58347,7 +58410,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58366,7 +58429,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58385,7 +58448,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58404,7 +58467,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58423,7 +58486,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58442,7 +58505,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58461,7 +58524,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58480,7 +58543,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58499,7 +58562,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58518,7 +58581,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58537,7 +58600,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58556,7 +58619,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58575,7 +58638,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58594,7 +58657,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58613,7 +58676,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58632,7 +58695,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58651,7 +58714,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58670,7 +58733,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58689,7 +58752,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58708,7 +58771,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58727,7 +58790,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58746,7 +58809,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58765,7 +58828,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58784,7 +58847,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58803,7 +58866,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58822,7 +58885,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58841,7 +58904,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58860,7 +58923,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58879,7 +58942,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58898,7 +58961,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58917,7 +58980,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58936,7 +58999,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58955,7 +59018,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58974,7 +59037,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -58993,7 +59056,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59012,7 +59075,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59031,7 +59094,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59050,7 +59113,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59069,7 +59132,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59088,7 +59151,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59107,7 +59170,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59126,7 +59189,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59145,7 +59208,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59164,7 +59227,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59183,7 +59246,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59202,7 +59265,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59221,7 +59284,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59240,7 +59303,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59259,7 +59322,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59278,7 +59341,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59297,7 +59360,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59316,7 +59379,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59335,7 +59398,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59354,7 +59417,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59373,7 +59436,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59392,7 +59455,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59411,7 +59474,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59430,7 +59493,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59449,7 +59512,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59468,7 +59531,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59487,7 +59550,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59506,7 +59569,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59525,7 +59588,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59544,7 +59607,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59563,7 +59626,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59582,7 +59645,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59601,7 +59664,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59620,7 +59683,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59639,7 +59702,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59658,7 +59721,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59677,7 +59740,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59696,7 +59759,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59715,7 +59778,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59734,7 +59797,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59753,7 +59816,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59772,7 +59835,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59791,7 +59854,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59810,7 +59873,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59829,7 +59892,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59848,7 +59911,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59867,7 +59930,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59886,7 +59949,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59905,7 +59968,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59924,7 +59987,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59943,7 +60006,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59962,7 +60025,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -59981,7 +60044,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60000,7 +60063,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60019,7 +60082,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60038,7 +60101,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60057,7 +60120,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60076,7 +60139,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60095,7 +60158,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60114,7 +60177,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60133,7 +60196,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60152,7 +60215,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60171,7 +60234,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60190,7 +60253,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60209,7 +60272,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60228,7 +60291,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60247,7 +60310,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60266,7 +60329,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60285,7 +60348,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60304,7 +60367,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60323,7 +60386,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60342,7 +60405,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60361,7 +60424,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60380,7 +60443,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60399,7 +60462,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60418,7 +60481,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60437,7 +60500,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60456,7 +60519,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60475,7 +60538,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60494,7 +60557,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60513,7 +60576,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60532,7 +60595,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60551,7 +60614,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60570,7 +60633,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60589,7 +60652,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60608,7 +60671,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60627,7 +60690,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60646,7 +60709,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60665,7 +60728,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60684,7 +60747,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60703,7 +60766,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60722,7 +60785,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60741,7 +60804,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60760,7 +60823,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60779,7 +60842,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60798,7 +60861,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60817,7 +60880,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60836,7 +60899,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60855,7 +60918,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60874,7 +60937,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60893,7 +60956,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60912,7 +60975,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60931,7 +60994,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60950,7 +61013,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60969,7 +61032,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -60988,7 +61051,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61007,7 +61070,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61026,7 +61089,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61045,7 +61108,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61064,7 +61127,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61083,7 +61146,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61102,7 +61165,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61121,7 +61184,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61140,7 +61203,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61159,7 +61222,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61178,7 +61241,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61197,7 +61260,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61216,7 +61279,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61235,7 +61298,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61254,7 +61317,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61273,7 +61336,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61292,7 +61355,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61311,7 +61374,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61330,7 +61393,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61349,7 +61412,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61368,7 +61431,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61387,7 +61450,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61406,7 +61469,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61425,7 +61488,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61444,7 +61507,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61463,7 +61526,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61482,7 +61545,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61501,7 +61564,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61520,7 +61583,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61539,7 +61602,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61558,7 +61621,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61577,7 +61640,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61596,7 +61659,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61615,7 +61678,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61634,7 +61697,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61653,7 +61716,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61672,7 +61735,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61691,7 +61754,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61710,7 +61773,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61729,7 +61792,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61748,7 +61811,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61767,7 +61830,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61786,7 +61849,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61805,7 +61868,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61824,7 +61887,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61843,7 +61906,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61862,7 +61925,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61881,7 +61944,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61900,7 +61963,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61919,7 +61982,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61938,7 +62001,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61957,7 +62020,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61976,7 +62039,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -61995,7 +62058,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62014,7 +62077,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62033,7 +62096,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62052,7 +62115,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62071,7 +62134,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62090,7 +62153,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62109,7 +62172,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62128,7 +62191,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62147,7 +62210,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62166,7 +62229,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62185,7 +62248,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62204,7 +62267,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62223,7 +62286,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62242,7 +62305,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62261,7 +62324,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62280,7 +62343,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62299,7 +62362,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62318,7 +62381,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62337,7 +62400,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62356,7 +62419,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62375,7 +62438,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62394,7 +62457,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62413,7 +62476,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62432,7 +62495,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62451,7 +62514,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62470,7 +62533,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62489,7 +62552,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62508,7 +62571,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62527,7 +62590,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62546,7 +62609,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62565,7 +62628,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62584,7 +62647,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62603,7 +62666,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62622,7 +62685,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62641,7 +62704,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62660,7 +62723,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62679,7 +62742,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62698,7 +62761,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62717,7 +62780,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62736,7 +62799,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62755,7 +62818,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62774,7 +62837,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62793,7 +62856,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62812,7 +62875,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62831,7 +62894,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62850,7 +62913,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62869,7 +62932,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62888,7 +62951,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62907,7 +62970,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62926,7 +62989,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62945,7 +63008,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62964,7 +63027,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -62983,7 +63046,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63002,7 +63065,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63021,7 +63084,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63040,7 +63103,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63059,7 +63122,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63078,7 +63141,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63097,7 +63160,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63116,7 +63179,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63135,7 +63198,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63154,7 +63217,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63173,7 +63236,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63192,7 +63255,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63211,7 +63274,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63230,7 +63293,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63249,7 +63312,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63268,7 +63331,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63287,7 +63350,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63306,7 +63369,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63325,7 +63388,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63344,7 +63407,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63363,7 +63426,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63382,7 +63445,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63401,7 +63464,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63420,7 +63483,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63439,7 +63502,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63458,7 +63521,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63477,7 +63540,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63496,7 +63559,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63515,7 +63578,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63534,7 +63597,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63553,7 +63616,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63572,7 +63635,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63591,7 +63654,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63610,7 +63673,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63629,7 +63692,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63648,7 +63711,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63667,7 +63730,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63686,7 +63749,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63705,7 +63768,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63724,7 +63787,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63743,7 +63806,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63762,7 +63825,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63781,7 +63844,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63800,7 +63863,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63819,7 +63882,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63838,7 +63901,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63857,7 +63920,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63876,7 +63939,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63895,7 +63958,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63914,7 +63977,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63933,7 +63996,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63952,7 +64015,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63971,7 +64034,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -63990,7 +64053,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -64009,7 +64072,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -64028,7 +64091,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -64047,7 +64110,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -64066,7 +64129,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "client_fuzzer_one_entry", "platforms": [ "linux" @@ -64085,7 +64148,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64104,7 +64167,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64123,7 +64186,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64142,7 +64205,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64161,7 +64224,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64180,7 +64243,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64199,7 +64262,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64218,7 +64281,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64237,7 +64300,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64256,7 +64319,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64275,7 +64338,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64294,7 +64357,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64313,7 +64376,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64332,7 +64395,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64351,7 +64414,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64370,7 +64433,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64389,7 +64452,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64408,7 +64471,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64427,7 +64490,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64446,7 +64509,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64465,7 +64528,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64484,7 +64547,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64503,7 +64566,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64522,7 +64585,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64541,7 +64604,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64560,7 +64623,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64579,7 +64642,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64598,7 +64661,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64617,7 +64680,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64636,7 +64699,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64655,7 +64718,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64674,7 +64737,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64693,7 +64756,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64712,7 +64775,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64731,7 +64794,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64750,7 +64813,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64769,7 +64832,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64788,7 +64851,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64807,7 +64870,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64826,7 +64889,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64845,7 +64908,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64864,7 +64927,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64883,7 +64946,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64902,7 +64965,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64921,7 +64984,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64940,7 +65003,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64959,7 +65022,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64978,7 +65041,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -64997,7 +65060,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65016,7 +65079,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65035,7 +65098,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65054,7 +65117,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65073,7 +65136,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65092,7 +65155,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65111,7 +65174,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65130,7 +65193,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65149,7 +65212,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65168,7 +65231,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65187,7 +65250,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65206,7 +65269,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65225,7 +65288,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65244,7 +65307,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65263,7 +65326,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65282,7 +65345,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65301,7 +65364,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65320,7 +65383,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65339,7 +65402,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65358,7 +65421,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65377,7 +65440,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65396,7 +65459,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65415,7 +65478,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65434,7 +65497,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65453,7 +65516,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65472,7 +65535,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65491,7 +65554,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65510,7 +65573,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65529,7 +65592,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65548,7 +65611,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65567,7 +65630,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65586,7 +65649,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65605,7 +65668,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65624,7 +65687,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65643,7 +65706,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65662,7 +65725,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65681,7 +65744,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65700,7 +65763,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65719,7 +65782,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65738,7 +65801,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65757,7 +65820,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65776,7 +65839,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65795,7 +65858,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65814,7 +65877,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65833,7 +65896,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65852,7 +65915,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65871,7 +65934,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65890,7 +65953,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65909,7 +65972,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65928,7 +65991,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65947,7 +66010,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65966,7 +66029,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -65985,7 +66048,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66004,7 +66067,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66023,7 +66086,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66042,7 +66105,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66061,7 +66124,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66080,7 +66143,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66099,7 +66162,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66118,7 +66181,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66137,7 +66200,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66156,7 +66219,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66175,7 +66238,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66194,7 +66257,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66213,7 +66276,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66232,7 +66295,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66251,7 +66314,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66270,7 +66333,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66289,7 +66352,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66308,7 +66371,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66327,7 +66390,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66346,7 +66409,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66365,7 +66428,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66384,7 +66447,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66403,7 +66466,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66422,7 +66485,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66441,7 +66504,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66460,7 +66523,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66479,7 +66542,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66498,7 +66561,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66517,7 +66580,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66536,7 +66599,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66555,7 +66618,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66574,7 +66637,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66593,7 +66656,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66612,7 +66675,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66631,7 +66694,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66650,7 +66713,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66669,7 +66732,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66688,7 +66751,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66707,7 +66770,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66726,7 +66789,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66745,7 +66808,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66764,7 +66827,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66783,7 +66846,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66802,7 +66865,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66821,7 +66884,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66840,7 +66903,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66859,7 +66922,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66878,7 +66941,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66897,7 +66960,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66916,7 +66979,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66935,7 +66998,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66954,7 +67017,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66973,7 +67036,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -66992,7 +67055,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67011,7 +67074,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67030,7 +67093,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67049,7 +67112,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67068,7 +67131,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67087,7 +67150,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67106,7 +67169,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67125,7 +67188,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67144,7 +67207,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67163,7 +67226,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67182,7 +67245,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67201,7 +67264,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67220,7 +67283,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67239,7 +67302,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67258,7 +67321,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67277,7 +67340,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67296,7 +67359,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67315,7 +67378,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67334,7 +67397,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67353,7 +67416,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67372,7 +67435,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67391,7 +67454,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67410,7 +67473,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67429,7 +67492,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67448,7 +67511,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67467,7 +67530,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67486,7 +67549,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67505,7 +67568,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67524,7 +67587,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67543,7 +67606,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67562,7 +67625,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67581,7 +67644,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67600,7 +67663,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67619,7 +67682,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67638,7 +67701,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67657,7 +67720,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67676,7 +67739,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67695,7 +67758,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67714,7 +67777,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67733,7 +67796,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67752,7 +67815,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67771,7 +67834,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67790,7 +67853,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67809,7 +67872,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67828,7 +67891,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67847,7 +67910,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67866,7 +67929,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67885,7 +67948,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67904,7 +67967,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67923,7 +67986,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67942,7 +68005,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67961,7 +68024,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67980,7 +68043,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -67999,7 +68062,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68018,7 +68081,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68037,7 +68100,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68056,7 +68119,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68075,7 +68138,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68094,7 +68157,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68113,7 +68176,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68132,7 +68195,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68151,7 +68214,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68170,7 +68233,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68189,7 +68252,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68208,7 +68271,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68227,7 +68290,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68246,7 +68309,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68265,7 +68328,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68284,7 +68347,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68303,7 +68366,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68322,7 +68385,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68341,7 +68404,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68360,7 +68423,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68379,7 +68442,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68398,7 +68461,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68417,7 +68480,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68436,7 +68499,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68455,7 +68518,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68474,7 +68537,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68493,7 +68556,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68512,7 +68575,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68531,7 +68594,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68550,7 +68613,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68569,7 +68632,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68588,7 +68651,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68607,7 +68670,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68626,7 +68689,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68645,7 +68708,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68664,7 +68727,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68683,7 +68746,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68702,7 +68765,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68721,7 +68784,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68740,7 +68803,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68759,7 +68822,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68778,7 +68841,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68797,7 +68860,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68816,7 +68879,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68835,7 +68898,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68854,7 +68917,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68873,7 +68936,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68892,7 +68955,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68911,7 +68974,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68930,7 +68993,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68949,7 +69012,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68968,7 +69031,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -68987,7 +69050,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69006,7 +69069,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69025,7 +69088,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69044,7 +69107,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69063,7 +69126,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69082,7 +69145,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69101,7 +69164,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69120,7 +69183,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69139,7 +69202,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69158,7 +69221,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69177,7 +69240,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69196,7 +69259,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69215,7 +69278,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69234,7 +69297,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69253,7 +69316,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69272,7 +69335,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69291,7 +69354,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69310,7 +69373,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69329,7 +69392,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69348,7 +69411,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69367,7 +69430,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69386,7 +69449,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69405,7 +69468,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69424,7 +69487,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69443,7 +69506,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69462,7 +69525,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69481,7 +69544,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69500,7 +69563,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69519,7 +69582,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69538,7 +69601,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69557,7 +69620,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69576,7 +69639,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69595,7 +69658,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69614,7 +69677,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69633,7 +69696,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69652,7 +69715,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69671,7 +69734,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69690,7 +69753,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69709,7 +69772,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69728,7 +69791,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69747,7 +69810,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69766,7 +69829,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69785,7 +69848,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69804,7 +69867,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69823,7 +69886,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69842,7 +69905,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69861,7 +69924,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69880,7 +69943,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69899,7 +69962,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69918,7 +69981,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69937,7 +70000,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69956,7 +70019,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69975,7 +70038,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -69994,7 +70057,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70013,7 +70076,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70032,7 +70095,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70051,7 +70114,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70070,7 +70133,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70089,7 +70152,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70108,7 +70171,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70127,7 +70190,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70146,7 +70209,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70165,7 +70228,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70184,7 +70247,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70203,7 +70266,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70222,7 +70285,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70241,7 +70304,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70260,7 +70323,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70279,7 +70342,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70298,7 +70361,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "hpack_parser_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70317,7 +70380,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70336,7 +70399,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70355,7 +70418,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70374,7 +70437,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70393,7 +70456,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70412,7 +70475,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70431,7 +70494,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70450,7 +70513,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70469,7 +70532,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70488,7 +70551,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70507,7 +70570,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70526,7 +70589,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70545,7 +70608,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70564,7 +70627,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70583,7 +70646,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70602,7 +70665,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70621,7 +70684,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70640,7 +70703,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70659,7 +70722,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70678,7 +70741,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70697,7 +70760,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70716,7 +70779,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70735,7 +70798,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70754,7 +70817,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70773,7 +70836,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70792,7 +70855,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70811,7 +70874,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70830,7 +70893,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70849,7 +70912,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70868,7 +70931,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70887,7 +70950,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70906,7 +70969,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70925,7 +70988,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70944,7 +71007,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70963,7 +71026,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -70982,7 +71045,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71001,7 +71064,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71020,7 +71083,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71039,7 +71102,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71058,7 +71121,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71077,7 +71140,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71096,7 +71159,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71115,7 +71178,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71134,7 +71197,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71153,7 +71216,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71172,7 +71235,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71191,7 +71254,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71210,7 +71273,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71229,7 +71292,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71248,7 +71311,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71267,7 +71330,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71286,7 +71349,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71305,7 +71368,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71324,7 +71387,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71343,7 +71406,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71362,7 +71425,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71381,7 +71444,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71400,7 +71463,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71419,7 +71482,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71438,7 +71501,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71457,7 +71520,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71476,7 +71539,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71495,7 +71558,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71514,7 +71577,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71533,7 +71596,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71552,7 +71615,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71571,7 +71634,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71590,7 +71653,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71609,7 +71672,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71628,7 +71691,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71647,7 +71710,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71666,7 +71729,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71685,7 +71748,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71704,7 +71767,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71723,7 +71786,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71742,7 +71805,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71761,7 +71824,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71780,7 +71843,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71799,7 +71862,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71818,7 +71881,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71837,7 +71900,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71856,7 +71919,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71875,7 +71938,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71894,7 +71957,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71913,7 +71976,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71932,7 +71995,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71951,7 +72014,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71970,7 +72033,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -71989,7 +72052,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72008,7 +72071,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72027,7 +72090,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72046,7 +72109,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72065,7 +72128,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72084,7 +72147,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72103,7 +72166,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72122,7 +72185,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72141,7 +72204,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72160,7 +72223,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72179,7 +72242,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72198,7 +72261,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72217,7 +72280,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72236,7 +72299,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72255,7 +72318,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72274,7 +72337,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72293,7 +72356,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72312,7 +72375,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72331,7 +72394,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72350,7 +72413,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72369,7 +72432,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72388,7 +72451,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72407,7 +72470,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72426,7 +72489,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72445,7 +72508,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72464,7 +72527,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72483,7 +72546,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72502,7 +72565,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72521,7 +72584,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72540,7 +72603,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72559,7 +72622,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72578,7 +72641,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72597,7 +72660,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72616,7 +72679,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72635,7 +72698,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72654,7 +72717,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72673,7 +72736,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72692,7 +72755,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72711,7 +72774,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72730,7 +72793,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72749,7 +72812,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72768,7 +72831,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72787,7 +72850,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72806,7 +72869,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72825,7 +72888,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72844,7 +72907,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72863,7 +72926,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72882,7 +72945,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72901,7 +72964,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72920,7 +72983,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72939,7 +73002,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72958,7 +73021,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72977,7 +73040,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -72996,7 +73059,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73015,7 +73078,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73034,7 +73097,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73053,7 +73116,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73072,7 +73135,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73091,7 +73154,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73110,7 +73173,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73129,7 +73192,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73148,7 +73211,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73167,7 +73230,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73186,7 +73249,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73205,7 +73268,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73224,7 +73287,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73243,7 +73306,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73262,7 +73325,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73281,7 +73344,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73300,7 +73363,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73319,7 +73382,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73338,7 +73401,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73357,7 +73420,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73376,7 +73439,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73395,7 +73458,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73414,7 +73477,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73433,7 +73496,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73452,7 +73515,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73471,7 +73534,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73490,7 +73553,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73509,7 +73572,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73528,7 +73591,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73547,7 +73610,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73566,7 +73629,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73585,7 +73648,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73604,7 +73667,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73623,7 +73686,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73642,7 +73705,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73661,7 +73724,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73680,7 +73743,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73699,7 +73762,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73718,7 +73781,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73737,7 +73800,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73756,7 +73819,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73775,7 +73838,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73794,7 +73857,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73813,7 +73876,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73832,7 +73895,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73851,7 +73914,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73870,7 +73933,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73889,7 +73952,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73908,7 +73971,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73927,7 +73990,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73946,7 +74009,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73965,7 +74028,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -73984,7 +74047,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74003,7 +74066,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74022,7 +74085,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74041,7 +74104,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74060,7 +74123,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74079,7 +74142,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74098,7 +74161,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74117,7 +74180,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74136,7 +74199,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74155,7 +74218,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74174,7 +74237,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74193,7 +74256,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74212,7 +74275,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74231,7 +74294,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74250,7 +74313,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74269,7 +74332,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74288,7 +74351,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74307,7 +74370,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74326,7 +74389,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74345,7 +74408,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74364,7 +74427,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74383,7 +74446,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74402,7 +74465,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74421,7 +74484,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74440,7 +74503,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74459,7 +74522,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74478,7 +74541,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74497,7 +74560,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74516,7 +74579,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74535,7 +74598,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74554,7 +74617,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74573,7 +74636,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74592,7 +74655,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74611,7 +74674,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74630,7 +74693,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74649,7 +74712,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74668,7 +74731,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74687,7 +74750,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74706,7 +74769,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74725,7 +74788,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74744,7 +74807,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74763,7 +74826,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74782,7 +74845,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74801,7 +74864,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74820,7 +74883,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74839,7 +74902,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74858,7 +74921,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74877,7 +74940,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74896,7 +74959,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74915,7 +74978,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74934,7 +74997,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74953,7 +75016,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74972,7 +75035,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -74991,7 +75054,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75010,7 +75073,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75029,7 +75092,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75048,7 +75111,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75067,7 +75130,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75086,7 +75149,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75105,7 +75168,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75124,7 +75187,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75143,7 +75206,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75162,7 +75225,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75181,7 +75244,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75200,7 +75263,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75219,7 +75282,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75238,7 +75301,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75257,7 +75320,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75276,7 +75339,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75295,7 +75358,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75314,7 +75377,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75333,7 +75396,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75352,7 +75415,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75371,7 +75434,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75390,7 +75453,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75409,7 +75472,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75428,7 +75491,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75447,7 +75510,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75466,7 +75529,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75485,7 +75548,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75504,7 +75567,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75523,7 +75586,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75542,7 +75605,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75561,7 +75624,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75580,7 +75643,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75599,7 +75662,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75618,7 +75681,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75637,7 +75700,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75656,7 +75719,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75675,7 +75738,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75694,7 +75757,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75713,7 +75776,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75732,7 +75795,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75751,7 +75814,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75770,7 +75833,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75789,7 +75852,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75808,7 +75871,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75827,7 +75890,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75846,7 +75909,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75865,7 +75928,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75884,7 +75947,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75903,7 +75966,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75922,7 +75985,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75941,7 +76004,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75960,7 +76023,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75979,7 +76042,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -75998,7 +76061,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76017,7 +76080,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76036,7 +76099,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76055,7 +76118,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76074,7 +76137,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76093,7 +76156,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76112,7 +76175,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76131,7 +76194,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76150,7 +76213,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76169,7 +76232,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76188,7 +76251,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76207,7 +76270,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76226,7 +76289,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76245,7 +76308,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76264,7 +76327,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76283,7 +76346,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76302,7 +76365,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76321,7 +76384,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76340,7 +76403,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76359,7 +76422,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76378,7 +76441,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76397,7 +76460,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76416,7 +76479,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76435,7 +76498,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76454,7 +76517,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76473,7 +76536,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76492,7 +76555,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76511,7 +76574,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76530,7 +76593,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76549,7 +76612,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76568,7 +76631,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76587,7 +76650,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76606,7 +76669,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76625,7 +76688,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76644,7 +76707,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76663,7 +76726,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76682,7 +76745,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76701,7 +76764,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76720,7 +76783,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76739,7 +76802,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76758,7 +76821,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76777,7 +76840,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76796,7 +76859,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76815,7 +76878,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76834,7 +76897,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76853,7 +76916,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76872,7 +76935,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76891,7 +76954,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76910,7 +76973,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "json_fuzzer_test_one_entry", "platforms": [ "linux" @@ -76929,7 +76992,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -76948,7 +77011,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -76967,7 +77030,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -76986,7 +77049,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77005,7 +77068,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77024,7 +77087,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77043,7 +77106,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77062,7 +77125,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77081,7 +77144,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77100,7 +77163,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77119,7 +77182,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77138,7 +77201,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77157,7 +77220,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77176,7 +77239,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77195,7 +77258,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77214,7 +77277,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77233,7 +77296,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77252,7 +77315,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77271,7 +77334,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77290,7 +77353,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77309,7 +77372,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77328,7 +77391,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77347,7 +77410,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77366,7 +77429,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77385,7 +77448,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77404,7 +77467,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77423,7 +77486,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77442,7 +77505,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77461,7 +77524,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77480,7 +77543,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77499,7 +77562,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77518,7 +77581,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77537,7 +77600,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77556,7 +77619,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77575,7 +77638,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77594,7 +77657,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77613,7 +77676,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77632,7 +77695,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77651,7 +77714,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77670,7 +77733,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77689,7 +77752,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77708,7 +77771,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77727,7 +77790,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77746,7 +77809,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77765,7 +77828,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77784,7 +77847,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77803,7 +77866,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77822,7 +77885,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77841,7 +77904,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77860,7 +77923,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77879,7 +77942,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77898,7 +77961,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77917,7 +77980,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77936,7 +77999,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77955,7 +78018,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77974,7 +78037,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -77993,7 +78056,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -78012,7 +78075,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -78031,7 +78094,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -78050,7 +78113,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -78069,7 +78132,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -78088,7 +78151,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -78107,7 +78170,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_response_test_one_entry", "platforms": [ "linux" @@ -78126,7 +78189,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78145,7 +78208,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78164,7 +78227,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78183,7 +78246,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78202,7 +78265,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78221,7 +78284,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78240,7 +78303,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78259,7 +78322,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78278,7 +78341,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78297,7 +78360,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78316,7 +78379,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78335,7 +78398,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78354,7 +78417,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78373,7 +78436,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78392,7 +78455,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78411,7 +78474,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78430,7 +78493,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78449,7 +78512,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78468,7 +78531,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78487,7 +78550,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78506,7 +78569,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78525,7 +78588,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78544,7 +78607,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78563,7 +78626,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78582,7 +78645,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78601,7 +78664,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78620,7 +78683,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78639,7 +78702,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78658,7 +78721,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78677,7 +78740,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78696,7 +78759,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78715,7 +78778,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78734,7 +78797,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78753,7 +78816,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78772,7 +78835,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78791,7 +78854,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78810,7 +78873,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78829,7 +78892,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78848,7 +78911,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78867,7 +78930,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78886,7 +78949,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78905,7 +78968,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78924,7 +78987,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78943,7 +79006,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78962,7 +79025,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -78981,7 +79044,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79000,7 +79063,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79019,7 +79082,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79038,7 +79101,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79057,7 +79120,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79076,7 +79139,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79095,7 +79158,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79114,7 +79177,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79133,7 +79196,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79152,7 +79215,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79171,7 +79234,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79190,7 +79253,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79209,7 +79272,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79228,7 +79291,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79247,7 +79310,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79266,7 +79329,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79285,7 +79348,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79304,7 +79367,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79323,7 +79386,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79342,7 +79405,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79361,7 +79424,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79380,7 +79443,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79399,7 +79462,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79418,7 +79481,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79437,7 +79500,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79456,7 +79519,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79475,7 +79538,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79494,7 +79557,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79513,7 +79576,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79532,7 +79595,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79551,7 +79614,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79570,7 +79633,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79589,7 +79652,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79608,7 +79671,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79627,7 +79690,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79646,7 +79709,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79665,7 +79728,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79684,7 +79747,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79703,7 +79766,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79722,7 +79785,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79741,7 +79804,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79760,7 +79823,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79779,7 +79842,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79798,7 +79861,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79817,7 +79880,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79836,7 +79899,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79855,7 +79918,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79874,7 +79937,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79893,7 +79956,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79912,7 +79975,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79931,7 +79994,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79950,7 +80013,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79969,7 +80032,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -79988,7 +80051,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80007,7 +80070,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80026,7 +80089,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80045,7 +80108,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80064,7 +80127,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80083,7 +80146,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80102,7 +80165,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80121,7 +80184,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80140,7 +80203,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80159,7 +80222,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80178,7 +80241,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80197,7 +80260,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80216,7 +80279,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80235,7 +80298,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80254,7 +80317,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80273,7 +80336,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80292,7 +80355,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80311,7 +80374,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80330,7 +80393,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80349,7 +80412,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80368,7 +80431,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80387,7 +80450,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80406,7 +80469,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80425,7 +80488,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80444,7 +80507,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80463,7 +80526,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80482,7 +80545,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80501,7 +80564,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80520,7 +80583,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80539,7 +80602,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80558,7 +80621,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80577,7 +80640,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80596,7 +80659,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80615,7 +80678,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80634,7 +80697,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80653,7 +80716,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80672,7 +80735,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80691,7 +80754,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80710,7 +80773,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80729,7 +80792,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80748,7 +80811,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80767,7 +80830,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80786,7 +80849,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80805,7 +80868,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80824,7 +80887,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80843,7 +80906,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80862,7 +80925,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80881,7 +80944,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80900,7 +80963,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80919,7 +80982,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80938,7 +81001,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80957,7 +81020,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80976,7 +81039,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -80995,7 +81058,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81014,7 +81077,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81033,7 +81096,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81052,7 +81115,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81071,7 +81134,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81090,7 +81153,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81109,7 +81172,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81128,7 +81191,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81147,7 +81210,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81166,7 +81229,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81185,7 +81248,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81204,7 +81267,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81223,7 +81286,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81242,7 +81305,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81261,7 +81324,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81280,7 +81343,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81299,7 +81362,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81318,7 +81381,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81337,7 +81400,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81356,7 +81419,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81375,7 +81438,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81394,7 +81457,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81413,7 +81476,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81432,7 +81495,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81451,7 +81514,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81470,7 +81533,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81489,7 +81552,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81508,7 +81571,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81527,7 +81590,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81546,7 +81609,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81565,7 +81628,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81584,7 +81647,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81603,7 +81666,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81622,7 +81685,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81641,7 +81704,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81660,7 +81723,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81679,7 +81742,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81698,7 +81761,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81717,7 +81780,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81736,7 +81799,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81755,7 +81818,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81774,7 +81837,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81793,7 +81856,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81812,7 +81875,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81831,7 +81894,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81850,7 +81913,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81869,7 +81932,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81888,7 +81951,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81907,7 +81970,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81926,7 +81989,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81945,7 +82008,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81964,7 +82027,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -81983,7 +82046,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82002,7 +82065,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82021,7 +82084,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82040,7 +82103,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82059,7 +82122,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82078,7 +82141,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82097,7 +82160,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82116,7 +82179,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82135,7 +82198,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82154,7 +82217,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82173,7 +82236,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82192,7 +82255,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82211,7 +82274,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82230,7 +82293,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82249,7 +82312,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82268,7 +82331,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82287,7 +82350,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82306,7 +82369,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82325,7 +82388,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82344,7 +82407,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82363,7 +82426,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82382,7 +82445,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82401,7 +82464,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82420,7 +82483,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82439,7 +82502,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82458,7 +82521,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82477,7 +82540,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82496,7 +82559,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82515,7 +82578,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82534,7 +82597,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82553,7 +82616,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82572,7 +82635,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82591,7 +82654,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82610,7 +82673,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82629,7 +82692,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82648,7 +82711,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82667,7 +82730,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82686,7 +82749,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82705,7 +82768,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82724,7 +82787,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82743,7 +82806,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82762,7 +82825,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82781,7 +82844,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82800,7 +82863,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82819,7 +82882,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82838,7 +82901,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82857,7 +82920,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82876,7 +82939,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82895,7 +82958,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82914,7 +82977,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82933,7 +82996,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82952,7 +83015,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82971,7 +83034,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -82990,7 +83053,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83009,7 +83072,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83028,7 +83091,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83047,7 +83110,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83066,7 +83129,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83085,7 +83148,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83104,7 +83167,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83123,7 +83186,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83142,7 +83205,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83161,7 +83224,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83180,7 +83243,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83199,7 +83262,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83218,7 +83281,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83237,7 +83300,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83256,7 +83319,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83275,7 +83338,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "nanopb_fuzzer_serverlist_test_one_entry", "platforms": [ "linux" @@ -83294,7 +83357,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83313,7 +83376,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83332,7 +83395,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83351,7 +83414,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83370,7 +83433,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83389,7 +83452,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83408,7 +83471,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83427,7 +83490,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83446,7 +83509,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83465,7 +83528,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83484,7 +83547,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83503,7 +83566,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83522,7 +83585,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83541,7 +83604,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83560,7 +83623,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83579,7 +83642,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83598,7 +83661,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83617,7 +83680,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83636,7 +83699,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83655,7 +83718,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83674,7 +83737,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83693,7 +83756,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83712,7 +83775,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83731,7 +83794,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83750,7 +83813,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83769,7 +83832,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83788,7 +83851,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83807,7 +83870,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83826,7 +83889,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83845,7 +83908,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83864,7 +83927,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83883,7 +83946,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83902,7 +83965,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83921,7 +83984,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83940,7 +84003,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83959,7 +84022,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83978,7 +84041,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -83997,7 +84060,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84016,7 +84079,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84035,7 +84098,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84054,7 +84117,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84073,7 +84136,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84092,7 +84155,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84111,7 +84174,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84130,7 +84193,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84149,7 +84212,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84168,7 +84231,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84187,7 +84250,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84206,7 +84269,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84225,7 +84288,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84244,7 +84307,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84263,7 +84326,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84282,7 +84345,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84301,7 +84364,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84320,7 +84383,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84339,7 +84402,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84358,7 +84421,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84377,7 +84440,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84396,7 +84459,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84415,7 +84478,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84434,7 +84497,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84453,7 +84516,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84472,7 +84535,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84491,7 +84554,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84510,7 +84573,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84529,7 +84592,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84548,7 +84611,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84567,7 +84630,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84586,7 +84649,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84605,7 +84668,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84624,7 +84687,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84643,7 +84706,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84662,7 +84725,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84681,7 +84744,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84700,7 +84763,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84719,7 +84782,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84738,7 +84801,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84757,7 +84820,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84776,7 +84839,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84795,7 +84858,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84814,7 +84877,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84833,7 +84896,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84852,7 +84915,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84871,7 +84934,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84890,7 +84953,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84909,7 +84972,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84928,7 +84991,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84947,7 +85010,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84966,7 +85029,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -84985,7 +85048,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85004,7 +85067,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85023,7 +85086,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85042,7 +85105,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85061,7 +85124,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85080,7 +85143,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85099,7 +85162,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85118,7 +85181,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85137,7 +85200,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85156,7 +85219,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85175,7 +85238,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85194,7 +85257,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85213,7 +85276,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85232,7 +85295,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85251,7 +85314,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85270,7 +85333,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85289,7 +85352,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85308,7 +85371,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85327,7 +85390,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85346,7 +85409,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85365,7 +85428,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85384,7 +85447,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85403,7 +85466,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85422,7 +85485,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85441,7 +85504,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85460,7 +85523,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85479,7 +85542,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85498,7 +85561,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85517,7 +85580,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85536,7 +85599,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85555,7 +85618,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85574,7 +85637,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85593,7 +85656,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85612,7 +85675,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85631,7 +85694,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85650,7 +85713,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85669,7 +85732,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85688,7 +85751,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85707,7 +85770,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85726,7 +85789,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85745,7 +85808,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85764,7 +85827,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85783,7 +85846,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85802,7 +85865,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85821,7 +85884,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85840,7 +85903,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85859,7 +85922,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85878,7 +85941,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85897,7 +85960,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85916,7 +85979,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85935,7 +85998,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85954,7 +86017,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85973,7 +86036,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -85992,7 +86055,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86011,7 +86074,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86030,7 +86093,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86049,7 +86112,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86068,7 +86131,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86087,7 +86150,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86106,7 +86169,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86125,7 +86188,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86144,7 +86207,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86163,7 +86226,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86182,7 +86245,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86201,7 +86264,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86220,7 +86283,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86239,7 +86302,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86258,7 +86321,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86277,7 +86340,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86296,7 +86359,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86315,7 +86378,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86334,7 +86397,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86353,7 +86416,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86372,7 +86435,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86391,7 +86454,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86410,7 +86473,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86429,7 +86492,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86448,7 +86511,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86467,7 +86530,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86486,7 +86549,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86505,7 +86568,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86524,7 +86587,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86543,7 +86606,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86562,7 +86625,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86581,7 +86644,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86600,7 +86663,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86619,7 +86682,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86638,7 +86701,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86657,7 +86720,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86676,7 +86739,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86695,7 +86758,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86714,7 +86777,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86733,7 +86796,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86752,7 +86815,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86771,7 +86834,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86790,7 +86853,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86809,7 +86872,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86828,7 +86891,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86847,7 +86910,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86866,7 +86929,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86885,7 +86948,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86904,7 +86967,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86923,7 +86986,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86942,7 +87005,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86961,7 +87024,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86980,7 +87043,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -86999,7 +87062,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87018,7 +87081,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87037,7 +87100,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87056,7 +87119,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87075,7 +87138,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87094,7 +87157,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87113,7 +87176,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87132,7 +87195,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87151,7 +87214,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87170,7 +87233,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87189,7 +87252,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87208,7 +87271,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87227,7 +87290,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87246,7 +87309,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87265,7 +87328,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87284,7 +87347,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87303,7 +87366,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87322,7 +87385,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87341,7 +87404,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87360,7 +87423,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87379,7 +87442,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87398,7 +87461,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87417,7 +87480,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87436,7 +87499,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87455,7 +87518,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87474,7 +87537,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87493,7 +87556,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87512,7 +87575,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87531,7 +87594,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87550,7 +87613,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87569,7 +87632,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87588,7 +87651,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87607,7 +87670,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87626,7 +87689,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87645,7 +87708,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87664,7 +87727,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87683,7 +87746,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87702,7 +87765,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87721,7 +87784,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87740,7 +87803,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87759,7 +87822,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87778,7 +87841,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87797,7 +87860,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87816,7 +87879,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87835,7 +87898,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87854,7 +87917,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87873,7 +87936,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87892,7 +87955,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87911,7 +87974,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87930,7 +87993,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87949,7 +88012,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87968,7 +88031,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -87987,7 +88050,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88006,7 +88069,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88025,7 +88088,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88044,7 +88107,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88063,7 +88126,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88082,7 +88145,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88101,7 +88164,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88120,7 +88183,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88139,7 +88202,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88158,7 +88221,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88177,7 +88240,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88196,7 +88259,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88215,7 +88278,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88234,7 +88297,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88253,7 +88316,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88272,7 +88335,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88291,7 +88354,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88310,7 +88373,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88329,7 +88392,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88348,7 +88411,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88367,7 +88430,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88386,7 +88449,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88405,7 +88468,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88424,7 +88487,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88443,7 +88506,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88462,7 +88525,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88481,7 +88544,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88500,7 +88563,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88519,7 +88582,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88538,7 +88601,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88557,7 +88620,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88576,7 +88639,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88595,7 +88658,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88614,7 +88677,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88633,7 +88696,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88652,7 +88715,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88671,7 +88734,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88690,7 +88753,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88709,7 +88772,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88728,7 +88791,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88747,7 +88810,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88766,7 +88829,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88785,7 +88848,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88804,7 +88867,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88823,7 +88886,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88842,7 +88905,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88861,7 +88924,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88880,7 +88943,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88899,7 +88962,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88918,7 +88981,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88937,7 +89000,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88956,7 +89019,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88975,7 +89038,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -88994,7 +89057,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89013,7 +89076,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89032,7 +89095,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89051,7 +89114,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89070,7 +89133,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89089,7 +89152,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89108,7 +89171,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89127,7 +89190,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89146,7 +89209,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89165,7 +89228,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89184,7 +89247,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89203,7 +89266,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89222,7 +89285,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89241,7 +89304,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89260,7 +89323,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89279,7 +89342,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89298,7 +89361,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89317,7 +89380,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89336,7 +89399,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89355,7 +89418,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89374,7 +89437,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89393,7 +89456,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89412,7 +89475,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89431,7 +89494,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89450,7 +89513,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89469,7 +89532,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89488,7 +89551,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89507,7 +89570,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89526,7 +89589,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89545,7 +89608,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89564,7 +89627,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89583,7 +89646,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89602,7 +89665,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89621,7 +89684,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89640,7 +89703,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89659,7 +89722,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89678,7 +89741,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89697,7 +89760,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89716,7 +89779,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89735,7 +89798,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89754,7 +89817,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89773,7 +89836,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89792,7 +89855,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89811,7 +89874,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89830,7 +89893,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89849,7 +89912,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89868,7 +89931,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89887,7 +89950,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89906,7 +89969,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89925,7 +89988,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89944,7 +90007,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89963,7 +90026,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -89982,7 +90045,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90001,7 +90064,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90020,7 +90083,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90039,7 +90102,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90058,7 +90121,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90077,7 +90140,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90096,7 +90159,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90115,7 +90178,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90134,7 +90197,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90153,7 +90216,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90172,7 +90235,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90191,7 +90254,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90210,7 +90273,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90229,7 +90292,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90248,7 +90311,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90267,7 +90330,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90286,7 +90349,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90305,7 +90368,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90324,7 +90387,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90343,7 +90406,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90362,7 +90425,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90381,7 +90444,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90400,7 +90463,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90419,7 +90482,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90438,7 +90501,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90457,7 +90520,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90476,7 +90539,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90495,7 +90558,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90514,7 +90577,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90533,7 +90596,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90552,7 +90615,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90571,7 +90634,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90590,7 +90653,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90609,7 +90672,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90628,7 +90691,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90647,7 +90710,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90666,7 +90729,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90685,7 +90748,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90704,7 +90767,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90723,7 +90786,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90742,7 +90805,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90761,7 +90824,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90780,7 +90843,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90799,7 +90862,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90818,7 +90881,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90837,7 +90900,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90856,7 +90919,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90875,7 +90938,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90894,7 +90957,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90913,7 +90976,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90932,7 +90995,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90951,7 +91014,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90970,7 +91033,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -90989,7 +91052,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91008,7 +91071,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91027,7 +91090,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91046,7 +91109,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91065,7 +91128,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91084,7 +91147,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91103,7 +91166,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91122,7 +91185,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91141,7 +91204,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91160,7 +91223,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91179,7 +91242,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91198,7 +91261,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91217,7 +91280,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91236,7 +91299,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91255,7 +91318,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91274,7 +91337,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91293,7 +91356,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91312,7 +91375,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91331,7 +91394,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91350,7 +91413,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91369,7 +91432,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91388,7 +91451,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91407,7 +91470,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91426,7 +91489,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91445,7 +91508,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "server_fuzzer_one_entry", "platforms": [ "linux" @@ -91464,7 +91527,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91483,7 +91546,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91502,7 +91565,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91521,7 +91584,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91540,7 +91603,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91559,7 +91622,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91578,7 +91641,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91597,7 +91660,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91616,7 +91679,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91635,7 +91698,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91654,7 +91717,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91673,7 +91736,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91692,7 +91755,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91711,7 +91774,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91730,7 +91793,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91749,7 +91812,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91768,7 +91831,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91787,7 +91850,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91806,7 +91869,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91825,7 +91888,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91844,7 +91907,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91863,7 +91926,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91882,7 +91945,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91901,7 +91964,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91920,7 +91983,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91939,7 +92002,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91958,7 +92021,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91977,7 +92040,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -91996,7 +92059,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92015,7 +92078,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92034,7 +92097,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92053,7 +92116,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92072,7 +92135,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92091,7 +92154,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92110,7 +92173,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92129,7 +92192,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92148,7 +92211,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92167,7 +92230,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92186,7 +92249,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92205,7 +92268,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92224,7 +92287,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92243,7 +92306,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92262,7 +92325,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92281,7 +92344,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92300,7 +92363,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92319,7 +92382,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92338,7 +92401,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92357,7 +92420,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92376,7 +92439,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92395,7 +92458,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92414,7 +92477,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92433,7 +92496,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92452,7 +92515,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92471,7 +92534,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92490,7 +92553,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92509,7 +92572,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92528,7 +92591,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92547,7 +92610,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92566,7 +92629,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92585,7 +92648,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92604,7 +92667,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92623,7 +92686,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" @@ -92642,7 +92705,7 @@ "tsan" ], "flaky": false, - "language": "c", + "language": "core", "name": "uri_fuzzer_test_one_entry", "platforms": [ "linux" diff --git a/vsprojects/buildtests_c.sln b/vsprojects/buildtests_c.sln index c28f3ba39c359..009c0b1b9a7d5 100644 --- a/vsprojects/buildtests_c.sln +++ b/vsprojects/buildtests_c.sln @@ -3,1439 +3,56 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 VisualStudioVersion = 12.0.21005.1 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "alarm_test", "vcxproj\test\alarm_test\alarm_test.vcxproj", "{AFD362D7-0E2A-E700-1F27-9D90F76166DF}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "algorithm_test", "vcxproj\test\algorithm_test\algorithm_test.vcxproj", "{216FDCB2-9D93-0D86-F0F1-12E16312A191}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "alloc_test", "vcxproj\test\alloc_test\alloc_test.vcxproj", "{DD37D527-9DFF-1F53-B97F-50CF80AE0650}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "alpn_test", "vcxproj\test\alpn_test\alpn_test.vcxproj", "{5BAAE7EA-A972-DD80-F190-29B9E3110BB3}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bad_client_test", "vcxproj\test/bad_client\bad_client_test\bad_client_test.vcxproj", "{BA67B418-B699-E41A-9CC4-0279C49481A5}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr", "vcxproj\.\gpr\gpr.vcxproj", "{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}" ProjectSection(myProperties) = preProject lib = "True" EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bad_server_response_test", "vcxproj\test\bad_server_response_test\bad_server_response_test.vcxproj", "{2B73DA77-EF66-362C-24AD-317E3B8B28C1}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {E3110C46-A148-FF65-08FD-3324829BE7FE} = {E3110C46-A148-FF65-08FD-3324829BE7FE} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "badreq_bad_client_test", "vcxproj\test\badreq_bad_client_test\badreq_bad_client_test.vcxproj", "{8A811C28-E04E-A444-E4C1-7588DF5B90AE}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bin_decoder_test", "vcxproj\test\bin_decoder_test\bin_decoder_test.vcxproj", "{6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bin_encoder_test", "vcxproj\test\bin_encoder_test\bin_encoder_test.vcxproj", "{D5C70922-D68E-0E9D-9988-995E0F9A79AE}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "census_context_test", "vcxproj\test\census_context_test\census_context_test.vcxproj", "{5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "census_resource_test", "vcxproj\test\census_resource_test\census_resource_test.vcxproj", "{18CF99B5-3C61-EC3D-9509-3C95334C3B88}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "channel_create_test", "vcxproj\test\channel_create_test\channel_create_test.vcxproj", "{AFC88484-3A2E-32BC-25B2-23DF741D4F3D}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chttp2_hpack_encoder_test", "vcxproj\test\chttp2_hpack_encoder_test\chttp2_hpack_encoder_test.vcxproj", "{19F92966-3B0E-4FF8-CD7C-435D353E079E}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chttp2_status_conversion_test", "vcxproj\test\chttp2_status_conversion_test\chttp2_status_conversion_test.vcxproj", "{ABAD3D2C-078C-7850-B413-3352A07C6176}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chttp2_stream_map_test", "vcxproj\test\chttp2_stream_map_test\chttp2_stream_map_test.vcxproj", "{12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chttp2_varint_test", "vcxproj\test\chttp2_varint_test\chttp2_varint_test.vcxproj", "{6B29F634-1277-74B8-47F6-78756190BA7B}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "compression_test", "vcxproj\test\compression_test\compression_test.vcxproj", "{5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "concurrent_connectivity_test", "vcxproj\test\concurrent_connectivity_test\concurrent_connectivity_test.vcxproj", "{391B366C-D916-45AA-3FE5-67363A46193B}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "connection_prefix_bad_client_test", "vcxproj\test\connection_prefix_bad_client_test\connection_prefix_bad_client_test.vcxproj", "{AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dns_resolver_connectivity_test", "vcxproj\test\dns_resolver_connectivity_test\dns_resolver_connectivity_test.vcxproj", "{F7B6FE68-E847-D7CA-4062-E737E542BCC3}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dns_resolver_test", "vcxproj\test\dns_resolver_test\dns_resolver_test.vcxproj", "{D06E10DC-272A-5203-7066-2698A247DF26}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "end2end_nosec_tests", "vcxproj\test/end2end/tests\end2end_nosec_tests\end2end_nosec_tests.vcxproj", "{47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_test_util", "vcxproj\.\gpr_test_util\gpr_test_util.vcxproj", "{EAB0A629-17A9-44DB-B5FF-E91A721FE037}" ProjectSection(myProperties) = preProject lib = "True" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "end2end_tests", "vcxproj\test/end2end/tests\end2end_tests\end2end_tests.vcxproj", "{1F1F9084-2A93-B80E-364F-5754894AFAB4}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc", "vcxproj\.\grpc\grpc.vcxproj", "{29D16885-7228-4C31-81ED-5F9187C7F2A9}" ProjectSection(myProperties) = preProject lib = "True" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "endpoint_pair_test", "vcxproj\test\endpoint_pair_test\endpoint_pair_test.vcxproj", "{37166D50-3AAA-1156-19F6-5901DFA55172}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fling_client", "vcxproj\test\fling_client\fling_client.vcxproj", "{0647D598-9611-F659-EA36-DF995C9F736B}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_c", "vcxproj\.\grpc_c\grpc_c.vcxproj", "{8AC0CB05-6E3C-4A40-B45E-FDA77644F432}" ProjectSection(myProperties) = preProject - lib = "False" + lib = "True" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fling_server", "vcxproj\test\fling_server\fling_server.vcxproj", "{5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_c_server_end2end_test", "vcxproj\test\grpc_c_server_end2end_test\grpc_c_server_end2end_test.vcxproj", "{16C2143B-0A13-AE30-7D09-05AD48928A8B}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432} = {8AC0CB05-6E3C-4A40-B45E-FDA77644F432} {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gen_hpack_tables", "vcxproj\.\gen_hpack_tables\gen_hpack_tables.vcxproj", "{FCDEA4C7-7F26-05DB-D08F-A08F499026E6}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gen_legal_metadata_characters", "vcxproj\.\gen_legal_metadata_characters\gen_legal_metadata_characters.vcxproj", "{A635DE99-B131-CA00-2D3B-8691D60B76C2}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr", "vcxproj\.\gpr\gpr.vcxproj", "{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util", "vcxproj\.\grpc_test_util\grpc_test_util.vcxproj", "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}" ProjectSection(myProperties) = preProject lib = "True" EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_avl_test", "vcxproj\test\gpr_avl_test\gpr_avl_test.vcxproj", "{144D8CFF-2737-A18A-DCFD-01603533D63F}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_backoff_test", "vcxproj\test\gpr_backoff_test\gpr_backoff_test.vcxproj", "{889F570D-E046-BD52-9E4C-B4CD13DFE2DB}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_cmdline_test", "vcxproj\test\gpr_cmdline_test\gpr_cmdline_test.vcxproj", "{10668A5D-65CD-F530-22D0-747B395B4C26}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection ProjectSection(ProjectDependencies) = postProject {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_cpu_test", "vcxproj\test\gpr_cpu_test\gpr_cpu_test.vcxproj", "{0CB6DF66-4346-CCD0-C94B-318321C46501}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_env_test", "vcxproj\test\gpr_env_test\gpr_env_test.vcxproj", "{07149650-E8AF-B3D8-9D5B-BC34DC909DB8}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_histogram_test", "vcxproj\test\gpr_histogram_test\gpr_histogram_test.vcxproj", "{EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_host_port_test", "vcxproj\test\gpr_host_port_test\gpr_host_port_test.vcxproj", "{64728265-92F9-103E-6720-8935385458DF}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_log_test", "vcxproj\test\gpr_log_test\gpr_log_test.vcxproj", "{38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_slice_buffer_test", "vcxproj\test\gpr_slice_buffer_test\gpr_slice_buffer_test.vcxproj", "{E679773D-DE89-AEBB-9787-59019989B825}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_slice_test", "vcxproj\test\gpr_slice_test\gpr_slice_test.vcxproj", "{7F2D1623-AF04-DD98-BCE6-61ADB9A52366}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_stack_lockfree_test", "vcxproj\test\gpr_stack_lockfree_test\gpr_stack_lockfree_test.vcxproj", "{AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_string_test", "vcxproj\test\gpr_string_test\gpr_string_test.vcxproj", "{B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_sync_test", "vcxproj\test\gpr_sync_test\gpr_sync_test.vcxproj", "{98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_test_util", "vcxproj\.\gpr_test_util\gpr_test_util.vcxproj", "{EAB0A629-17A9-44DB-B5FF-E91A721FE037}" - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_thd_test", "vcxproj\test\gpr_thd_test\gpr_thd_test.vcxproj", "{459B2FAC-5FC8-1F47-8053-66D46EA39A49}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_time_test", "vcxproj\test\gpr_time_test\gpr_time_test.vcxproj", "{9779680E-3218-1528-E922-605871A20C3F}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_tls_test", "vcxproj\test\gpr_tls_test\gpr_tls_test.vcxproj", "{F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_useful_test", "vcxproj\test\gpr_useful_test\gpr_useful_test.vcxproj", "{40B790A8-BB01-9F12-5309-C0BEA97C75BC}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc", "vcxproj\.\grpc\grpc.vcxproj", "{29D16885-7228-4C31-81ED-5F9187C7F2A9}" - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_auth_context_test", "vcxproj\test\grpc_auth_context_test\grpc_auth_context_test.vcxproj", "{C65A4336-92D6-D6A0-EB86-E3AA425222D0}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_b64_test", "vcxproj\test\grpc_b64_test\grpc_b64_test.vcxproj", "{A19FD81D-DF19-B8A4-4A8A-6967217FEC85}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_byte_buffer_reader_test", "vcxproj\test\grpc_byte_buffer_reader_test\grpc_byte_buffer_reader_test.vcxproj", "{82124768-C986-6C10-8BCC-B255B7C84722}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_channel_args_test", "vcxproj\test\grpc_channel_args_test\grpc_channel_args_test.vcxproj", "{58FB566F-DCD5-3ECE-233E-C1FD13CA2185}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_channel_stack_test", "vcxproj\test\grpc_channel_stack_test\grpc_channel_stack_test.vcxproj", "{E3CEAFE1-8CE9-61F6-A720-E26662246B1F}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_completion_queue_test", "vcxproj\test\grpc_completion_queue_test\grpc_completion_queue_test.vcxproj", "{16CDF507-EB91-D76C-F0A7-A914ABFD8C17}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_create_jwt", "vcxproj\.\grpc_create_jwt\grpc_create_jwt.vcxproj", "{77971F8D-F583-3E77-0E3C-6C1FB6B1749C}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_credentials_test", "vcxproj\test\grpc_credentials_test\grpc_credentials_test.vcxproj", "{8305CC95-25CD-E15F-EA1A-11626FCF5AF9}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_fetch_oauth2", "vcxproj\test\grpc_fetch_oauth2\grpc_fetch_oauth2.vcxproj", "{43722E98-54EC-5058-3DAC-327F45964971}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_invalid_channel_args_test", "vcxproj\test\grpc_invalid_channel_args_test\grpc_invalid_channel_args_test.vcxproj", "{B50FD4F7-5628-9BEC-81B9-EB79A0A45577}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_jwt_verifier_test", "vcxproj\test\grpc_jwt_verifier_test\grpc_jwt_verifier_test.vcxproj", "{60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_print_google_default_creds_token", "vcxproj\.\grpc_print_google_default_creds_token\grpc_print_google_default_creds_token.vcxproj", "{C002965C-8457-CCE5-B1BA-E748FF9A11B6}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_security_connector_test", "vcxproj\test\grpc_security_connector_test\grpc_security_connector_test.vcxproj", "{74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util", "vcxproj\.\grpc_test_util\grpc_test_util.vcxproj", "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}" - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util_unsecure", "vcxproj\.\grpc_test_util_unsecure\grpc_test_util_unsecure.vcxproj", "{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}" - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_unsecure", "vcxproj\.\grpc_unsecure\grpc_unsecure.vcxproj", "{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}" - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_verify_jwt", "vcxproj\.\grpc_verify_jwt\grpc_verify_jwt.vcxproj", "{02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_census_nosec_test", "vcxproj\test/end2end/fixtures\h2_census_nosec_test\h2_census_nosec_test.vcxproj", "{A8039D43-910E-4248-2A22-74366E8C4DCD}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_census_test", "vcxproj\test/end2end/fixtures\h2_census_test\h2_census_test.vcxproj", "{9E4180B0-81ED-7305-333F-653CE9AB819B}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_compress_nosec_test", "vcxproj\test/end2end/fixtures\h2_compress_nosec_test\h2_compress_nosec_test.vcxproj", "{42826C1F-DCF0-918E-D247-0376DC1EFD50}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_compress_test", "vcxproj\test/end2end/fixtures\h2_compress_test\h2_compress_test.vcxproj", "{C7E516E9-B80F-4BC1-A617-095FC6E14BC9}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_fakesec_test", "vcxproj\test/end2end/fixtures\h2_fakesec_test\h2_fakesec_test.vcxproj", "{0E980562-3AA0-91B1-C590-85C9A899BE44}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full+trace_nosec_test", "vcxproj\test/end2end/fixtures\h2_full+trace_nosec_test\h2_full+trace_nosec_test.vcxproj", "{DFD51943-4906-8051-7D66-6A7D50E0D87E}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full+trace_test", "vcxproj\test/end2end/fixtures\h2_full+trace_test\h2_full+trace_test.vcxproj", "{16C713C6-062E-F71F-A44C-52DC35494B27}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full_nosec_test", "vcxproj\test/end2end/fixtures\h2_full_nosec_test\h2_full_nosec_test.vcxproj", "{345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full_test", "vcxproj\test/end2end/fixtures\h2_full_test\h2_full_test.vcxproj", "{EEBEFA75-C625-C823-FE96-9AD64887B57D}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_load_reporting_nosec_test", "vcxproj\test/end2end/fixtures\h2_load_reporting_nosec_test\h2_load_reporting_nosec_test.vcxproj", "{4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_load_reporting_test", "vcxproj\test/end2end/fixtures\h2_load_reporting_test\h2_load_reporting_test.vcxproj", "{F0A06723-2E3E-FE97-34B7-A2BA26D98B83}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_oauth2_test", "vcxproj\test/end2end/fixtures\h2_oauth2_test\h2_oauth2_test.vcxproj", "{0F761FF3-342A-C429-711F-F76181BAA52D}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_proxy_nosec_test", "vcxproj\test/end2end/fixtures\h2_proxy_nosec_test\h2_proxy_nosec_test.vcxproj", "{6EC72045-98CB-8A8D-9788-BC94209E23C8}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_proxy_test", "vcxproj\test/end2end/fixtures\h2_proxy_test\h2_proxy_test.vcxproj", "{5753B14F-0C69-2E56-6264-5541B2DCDF67}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair+trace_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair+trace_nosec_test\h2_sockpair+trace_nosec_test.vcxproj", "{962380E0-1C06-8917-8F7F-1A02E0E93BE7}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair+trace_test", "vcxproj\test/end2end/fixtures\h2_sockpair+trace_test\h2_sockpair+trace_test.vcxproj", "{82878169-5A89-FD1E-31A6-E9F07BB92418}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_1byte_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair_1byte_nosec_test\h2_sockpair_1byte_nosec_test.vcxproj", "{485E6713-487D-F274-BDE7-5D29300C93FE}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_1byte_test", "vcxproj\test/end2end/fixtures\h2_sockpair_1byte_test\h2_sockpair_1byte_test.vcxproj", "{03A65361-E139-5344-1868-8E8FC269C6E6}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair_nosec_test\h2_sockpair_nosec_test.vcxproj", "{B3F26242-A43D-4F77-A84C-0F478741A061}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_test", "vcxproj\test/end2end/fixtures\h2_sockpair_test\h2_sockpair_test.vcxproj", "{67458AF8-A122-7740-F195-C2E74A106FAB}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_cert_test", "vcxproj\test/end2end/fixtures\h2_ssl_cert_test\h2_ssl_cert_test.vcxproj", "{B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_proxy_test", "vcxproj\test/end2end/fixtures\h2_ssl_proxy_test\h2_ssl_proxy_test.vcxproj", "{A9092608-E45E-AC96-6533-A6E7DD98211D}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_test", "vcxproj\test/end2end/fixtures\h2_ssl_test\h2_ssl_test.vcxproj", "{EA78D290-4098-FF04-C647-013F6B81E4E7}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "head_of_line_blocking_bad_client_test", "vcxproj\test\head_of_line_blocking_bad_client_test\head_of_line_blocking_bad_client_test.vcxproj", "{23DF0572-DBF1-08DA-8EAD-8508354C90A4}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "headers_bad_client_test", "vcxproj\test\headers_bad_client_test\headers_bad_client_test.vcxproj", "{7819A11E-607E-F0C0-FC47-C704CF7D818C}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hpack_parser_test", "vcxproj\test\hpack_parser_test\hpack_parser_test.vcxproj", "{4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hpack_table_test", "vcxproj\test\hpack_table_test\hpack_table_test.vcxproj", "{FF2CEE6D-850F-E22C-53A0-8C5912B14B20}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_parser_test", "vcxproj\test\http_parser_test\http_parser_test.vcxproj", "{49D7E690-BDA1-5236-1ABF-3D81C1559DF7}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "httpcli_format_request_test", "vcxproj\test\httpcli_format_request_test\httpcli_format_request_test.vcxproj", "{A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "init_test", "vcxproj\test\init_test\init_test.vcxproj", "{117CA7AD-C42B-9217-6C95-42A801777BC5}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "initial_settings_frame_bad_client_test", "vcxproj\test\initial_settings_frame_bad_client_test\initial_settings_frame_bad_client_test.vcxproj", "{6756895E-05BF-8CC7-58F2-868DF0C0300C}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "internal_api_canary_iomgr_test", "vcxproj\test\internal_api_canary_iomgr_test\internal_api_canary_iomgr_test.vcxproj", "{28AE726B-1BFB-202B-48D2-41AF9D09B9EA}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "internal_api_canary_support_test", "vcxproj\test\internal_api_canary_support_test\internal_api_canary_support_test.vcxproj", "{D53575C6-713C-E6E3-FD74-E65F20916498}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "internal_api_canary_transport_test", "vcxproj\test\internal_api_canary_transport_test\internal_api_canary_transport_test.vcxproj", "{ED24E700-964E-B426-6A6A-1944E2EF7BCB}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "invalid_call_argument_test", "vcxproj\test\invalid_call_argument_test\invalid_call_argument_test.vcxproj", "{C32CA8A3-58E6-8EB9-B72F-C295547D36A6}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "json_rewrite", "vcxproj\test\json_rewrite\json_rewrite.vcxproj", "{57B36FF6-25B1-2475-D07A-2E9097E2C792}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "json_rewrite_test", "vcxproj\test\json_rewrite_test\json_rewrite_test.vcxproj", "{DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "json_stream_error_test", "vcxproj\test\json_stream_error_test\json_stream_error_test.vcxproj", "{8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "json_test", "vcxproj\test\json_test\json_test.vcxproj", "{05230AC7-4529-E6CF-0506-A063B5FF6642}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lame_client_test", "vcxproj\test\lame_client_test\lame_client_test.vcxproj", "{6E60B394-E17D-658A-6648-A2E6E183226F}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "large_metadata_bad_client_test", "vcxproj\test\large_metadata_bad_client_test\large_metadata_bad_client_test.vcxproj", "{B706A9EC-7982-0DBC-495D-07B165F6CF56}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lb_policies_test", "vcxproj\test\lb_policies_test\lb_policies_test.vcxproj", "{62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "load_file_test", "vcxproj\test\load_file_test\load_file_test.vcxproj", "{DC76C089-0D55-DF19-7CCA-49DAE5D29E49}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "message_compress_test", "vcxproj\test\message_compress_test\message_compress_test.vcxproj", "{07170557-CCB0-D23C-8018-C2909D115DF9}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mlog_test", "vcxproj\test\mlog_test\mlog_test.vcxproj", "{9345E329-80F3-DED4-FDC3-BF63FCEA2C03}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multiple_server_queues_test", "vcxproj\test\multiple_server_queues_test\multiple_server_queues_test.vcxproj", "{88AF688E-E43C-5E20-6966-CF559F597D82}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "murmur_hash_test", "vcxproj\test\murmur_hash_test\murmur_hash_test.vcxproj", "{0B136077-8522-3C25-7704-1C386C9FDCD5}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "no_server_test", "vcxproj\test\no_server_test\no_server_test.vcxproj", "{A66AC548-E2B9-74CD-293C-43526EE51DCE}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "resolve_address_test", "vcxproj\test\resolve_address_test\resolve_address_test.vcxproj", "{8279AF6C-9584-67F3-1547-B204864FCCA7}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "secure_channel_create_test", "vcxproj\test\secure_channel_create_test\secure_channel_create_test.vcxproj", "{62B25398-7173-928E-689E-53860B0ACFC4}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "secure_endpoint_test", "vcxproj\test\secure_endpoint_test\secure_endpoint_test.vcxproj", "{A7747106-A6BC-62D4-2A21-04A4F0CC2683}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sequential_connectivity_test", "vcxproj\test\sequential_connectivity_test\sequential_connectivity_test.vcxproj", "{F164F666-C866-D607-E1DF-E7BF3CF98255}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server_chttp2_test", "vcxproj\test\server_chttp2_test\server_chttp2_test.vcxproj", "{BF9F909B-8266-6AAC-A81B-05F8210AA8CA}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server_registered_method_bad_client_test", "vcxproj\test\server_registered_method_bad_client_test\server_registered_method_bad_client_test.vcxproj", "{B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server_test", "vcxproj\test\server_test\server_test.vcxproj", "{E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "set_initial_connect_string_test", "vcxproj\test\set_initial_connect_string_test\set_initial_connect_string_test.vcxproj", "{4A48E5A5-2E69-ED6D-063C-C297180A54D0}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {E3110C46-A148-FF65-08FD-3324829BE7FE} = {E3110C46-A148-FF65-08FD-3324829BE7FE} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_request_bad_client_test", "vcxproj\test\simple_request_bad_client_test\simple_request_bad_client_test.vcxproj", "{63422647-93FA-46BB-4827-95473D9D503C}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sockaddr_resolver_test", "vcxproj\test\sockaddr_resolver_test\sockaddr_resolver_test.vcxproj", "{9889A80C-F1D7-99C9-FE7E-657724BEDC62}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sockaddr_utils_test", "vcxproj\test\sockaddr_utils_test\sockaddr_utils_test.vcxproj", "{529771F0-10B0-9B1A-1E7E-8A8E01870348}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_tcp_server", "vcxproj\.\test_tcp_server\test_tcp_server.vcxproj", "{E3110C46-A148-FF65-08FD-3324829BE7FE}" - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "time_averaged_stats_test", "vcxproj\test\time_averaged_stats_test\time_averaged_stats_test.vcxproj", "{D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "timeout_encoding_test", "vcxproj\test\timeout_encoding_test\timeout_encoding_test.vcxproj", "{EA073C36-A527-F749-AD4A-243A38B9BFF5}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "timer_heap_test", "vcxproj\test\timer_heap_test\timer_heap_test.vcxproj", "{A2110C60-E75A-F76E-205E-1836F86C4D53}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "timer_list_test", "vcxproj\test\timer_list_test\timer_list_test.vcxproj", "{C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "transport_connectivity_state_test", "vcxproj\test\transport_connectivity_state_test\transport_connectivity_state_test.vcxproj", "{659121F6-1639-AC6B-053E-9D17A8B94D56}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "transport_metadata_test", "vcxproj\test\transport_metadata_test\transport_metadata_test.vcxproj", "{89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unknown_frame_bad_client_test", "vcxproj\test\unknown_frame_bad_client_test\unknown_frame_bad_client_test.vcxproj", "{9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uri_parser_test", "vcxproj\test\uri_parser_test\uri_parser_test.vcxproj", "{E35C24A0-8725-E773-FE78-CC0C67071EF7}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "window_overflow_bad_client_test", "vcxproj\test\window_overflow_bad_client_test\window_overflow_bad_client_test.vcxproj", "{658D7F7F-9628-6545-743C-D949301DC5DC}" - ProjectSection(myProperties) = preProject - lib = "False" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject Global @@ -1450,454 +67,6 @@ Global Release-DLL|x64 = Release-DLL|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug|Win32.ActiveCfg = Debug|Win32 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug|x64.ActiveCfg = Debug|x64 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release|Win32.ActiveCfg = Release|Win32 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release|x64.ActiveCfg = Release|x64 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug|Win32.Build.0 = Debug|Win32 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug|x64.Build.0 = Debug|x64 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release|Win32.Build.0 = Release|Win32 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release|x64.Build.0 = Release|x64 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug-DLL|x64.Build.0 = Debug|x64 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release-DLL|Win32.Build.0 = Release|Win32 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release-DLL|x64.ActiveCfg = Release|x64 - {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release-DLL|x64.Build.0 = Release|x64 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug|Win32.ActiveCfg = Debug|Win32 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug|x64.ActiveCfg = Debug|x64 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release|Win32.ActiveCfg = Release|Win32 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release|x64.ActiveCfg = Release|x64 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug|Win32.Build.0 = Debug|Win32 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug|x64.Build.0 = Debug|x64 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release|Win32.Build.0 = Release|Win32 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release|x64.Build.0 = Release|x64 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug-DLL|x64.Build.0 = Debug|x64 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release-DLL|Win32.Build.0 = Release|Win32 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release-DLL|x64.ActiveCfg = Release|x64 - {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release-DLL|x64.Build.0 = Release|x64 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug|Win32.ActiveCfg = Debug|Win32 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug|x64.ActiveCfg = Debug|x64 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release|Win32.ActiveCfg = Release|Win32 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release|x64.ActiveCfg = Release|x64 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug|Win32.Build.0 = Debug|Win32 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug|x64.Build.0 = Debug|x64 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release|Win32.Build.0 = Release|Win32 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release|x64.Build.0 = Release|x64 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug-DLL|x64.Build.0 = Debug|x64 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release-DLL|Win32.Build.0 = Release|Win32 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release-DLL|x64.ActiveCfg = Release|x64 - {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release-DLL|x64.Build.0 = Release|x64 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug|Win32.ActiveCfg = Debug|Win32 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug|x64.ActiveCfg = Debug|x64 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release|Win32.ActiveCfg = Release|Win32 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release|x64.ActiveCfg = Release|x64 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug|Win32.Build.0 = Debug|Win32 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug|x64.Build.0 = Debug|x64 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release|Win32.Build.0 = Release|Win32 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release|x64.Build.0 = Release|x64 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug-DLL|x64.Build.0 = Debug|x64 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release-DLL|Win32.Build.0 = Release|Win32 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release-DLL|x64.ActiveCfg = Release|x64 - {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release-DLL|x64.Build.0 = Release|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|Win32.ActiveCfg = Debug|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|x64.ActiveCfg = Debug|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|Win32.ActiveCfg = Release|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|x64.ActiveCfg = Release|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|Win32.Build.0 = Debug|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|x64.Build.0 = Debug|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|Win32.Build.0 = Release|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|x64.Build.0 = Release|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|x64.Build.0 = Debug|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|Win32.Build.0 = Release|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|x64.ActiveCfg = Release|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|x64.Build.0 = Release|x64 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug|Win32.ActiveCfg = Debug|Win32 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug|x64.ActiveCfg = Debug|x64 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release|Win32.ActiveCfg = Release|Win32 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release|x64.ActiveCfg = Release|x64 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug|Win32.Build.0 = Debug|Win32 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug|x64.Build.0 = Debug|x64 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release|Win32.Build.0 = Release|Win32 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release|x64.Build.0 = Release|x64 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug-DLL|x64.Build.0 = Debug|x64 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release-DLL|Win32.Build.0 = Release|Win32 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release-DLL|x64.ActiveCfg = Release|x64 - {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release-DLL|x64.Build.0 = Release|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|Win32.ActiveCfg = Debug|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|x64.ActiveCfg = Debug|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|Win32.ActiveCfg = Release|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|x64.ActiveCfg = Release|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|Win32.Build.0 = Debug|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|x64.Build.0 = Debug|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|Win32.Build.0 = Release|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|x64.Build.0 = Release|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|x64.Build.0 = Debug|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|Win32.Build.0 = Release|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|x64.ActiveCfg = Release|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|x64.Build.0 = Release|x64 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug|Win32.ActiveCfg = Debug|Win32 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug|x64.ActiveCfg = Debug|x64 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release|Win32.ActiveCfg = Release|Win32 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release|x64.ActiveCfg = Release|x64 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug|Win32.Build.0 = Debug|Win32 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug|x64.Build.0 = Debug|x64 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release|Win32.Build.0 = Release|Win32 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release|x64.Build.0 = Release|x64 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug-DLL|x64.Build.0 = Debug|x64 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release-DLL|Win32.Build.0 = Release|Win32 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release-DLL|x64.ActiveCfg = Release|x64 - {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release-DLL|x64.Build.0 = Release|x64 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug|Win32.ActiveCfg = Debug|Win32 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug|x64.ActiveCfg = Debug|x64 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release|Win32.ActiveCfg = Release|Win32 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release|x64.ActiveCfg = Release|x64 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug|Win32.Build.0 = Debug|Win32 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug|x64.Build.0 = Debug|x64 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release|Win32.Build.0 = Release|Win32 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release|x64.Build.0 = Release|x64 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug-DLL|x64.Build.0 = Debug|x64 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release-DLL|Win32.Build.0 = Release|Win32 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release-DLL|x64.ActiveCfg = Release|x64 - {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release-DLL|x64.Build.0 = Release|x64 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug|Win32.ActiveCfg = Debug|Win32 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug|x64.ActiveCfg = Debug|x64 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release|Win32.ActiveCfg = Release|Win32 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release|x64.ActiveCfg = Release|x64 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug|Win32.Build.0 = Debug|Win32 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug|x64.Build.0 = Debug|x64 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release|Win32.Build.0 = Release|Win32 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release|x64.Build.0 = Release|x64 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug-DLL|x64.Build.0 = Debug|x64 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release-DLL|Win32.Build.0 = Release|Win32 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release-DLL|x64.ActiveCfg = Release|x64 - {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release-DLL|x64.Build.0 = Release|x64 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug|Win32.ActiveCfg = Debug|Win32 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug|x64.ActiveCfg = Debug|x64 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release|Win32.ActiveCfg = Release|Win32 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release|x64.ActiveCfg = Release|x64 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug|Win32.Build.0 = Debug|Win32 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug|x64.Build.0 = Debug|x64 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release|Win32.Build.0 = Release|Win32 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release|x64.Build.0 = Release|x64 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug-DLL|x64.Build.0 = Debug|x64 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release-DLL|Win32.Build.0 = Release|Win32 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release-DLL|x64.ActiveCfg = Release|x64 - {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release-DLL|x64.Build.0 = Release|x64 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug|Win32.ActiveCfg = Debug|Win32 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug|x64.ActiveCfg = Debug|x64 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release|Win32.ActiveCfg = Release|Win32 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release|x64.ActiveCfg = Release|x64 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug|Win32.Build.0 = Debug|Win32 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug|x64.Build.0 = Debug|x64 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release|Win32.Build.0 = Release|Win32 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release|x64.Build.0 = Release|x64 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug-DLL|x64.Build.0 = Debug|x64 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release-DLL|Win32.Build.0 = Release|Win32 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release-DLL|x64.ActiveCfg = Release|x64 - {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release-DLL|x64.Build.0 = Release|x64 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug|Win32.ActiveCfg = Debug|Win32 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug|x64.ActiveCfg = Debug|x64 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release|Win32.ActiveCfg = Release|Win32 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release|x64.ActiveCfg = Release|x64 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug|Win32.Build.0 = Debug|Win32 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug|x64.Build.0 = Debug|x64 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release|Win32.Build.0 = Release|Win32 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release|x64.Build.0 = Release|x64 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug-DLL|x64.Build.0 = Debug|x64 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release-DLL|Win32.Build.0 = Release|Win32 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release-DLL|x64.ActiveCfg = Release|x64 - {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release-DLL|x64.Build.0 = Release|x64 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug|Win32.ActiveCfg = Debug|Win32 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug|x64.ActiveCfg = Debug|x64 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release|Win32.ActiveCfg = Release|Win32 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release|x64.ActiveCfg = Release|x64 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug|Win32.Build.0 = Debug|Win32 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug|x64.Build.0 = Debug|x64 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release|Win32.Build.0 = Release|Win32 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release|x64.Build.0 = Release|x64 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug-DLL|x64.Build.0 = Debug|x64 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release-DLL|Win32.Build.0 = Release|Win32 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release-DLL|x64.ActiveCfg = Release|x64 - {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release-DLL|x64.Build.0 = Release|x64 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug|Win32.ActiveCfg = Debug|Win32 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug|x64.ActiveCfg = Debug|x64 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release|Win32.ActiveCfg = Release|Win32 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release|x64.ActiveCfg = Release|x64 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug|Win32.Build.0 = Debug|Win32 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug|x64.Build.0 = Debug|x64 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release|Win32.Build.0 = Release|Win32 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release|x64.Build.0 = Release|x64 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug-DLL|x64.Build.0 = Debug|x64 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release-DLL|Win32.Build.0 = Release|Win32 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release-DLL|x64.ActiveCfg = Release|x64 - {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release-DLL|x64.Build.0 = Release|x64 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug|Win32.ActiveCfg = Debug|Win32 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug|x64.ActiveCfg = Debug|x64 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Release|Win32.ActiveCfg = Release|Win32 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Release|x64.ActiveCfg = Release|x64 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug|Win32.Build.0 = Debug|Win32 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug|x64.Build.0 = Debug|x64 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Release|Win32.Build.0 = Release|Win32 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Release|x64.Build.0 = Release|x64 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug-DLL|x64.Build.0 = Debug|x64 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Release-DLL|Win32.Build.0 = Release|Win32 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Release-DLL|x64.ActiveCfg = Release|x64 - {6B29F634-1277-74B8-47F6-78756190BA7B}.Release-DLL|x64.Build.0 = Release|x64 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug|Win32.ActiveCfg = Debug|Win32 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug|x64.ActiveCfg = Debug|x64 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release|Win32.ActiveCfg = Release|Win32 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release|x64.ActiveCfg = Release|x64 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug|Win32.Build.0 = Debug|Win32 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug|x64.Build.0 = Debug|x64 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release|Win32.Build.0 = Release|Win32 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release|x64.Build.0 = Release|x64 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug-DLL|x64.Build.0 = Debug|x64 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release-DLL|Win32.Build.0 = Release|Win32 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release-DLL|x64.ActiveCfg = Release|x64 - {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release-DLL|x64.Build.0 = Release|x64 - {391B366C-D916-45AA-3FE5-67363A46193B}.Debug|Win32.ActiveCfg = Debug|Win32 - {391B366C-D916-45AA-3FE5-67363A46193B}.Debug|x64.ActiveCfg = Debug|x64 - {391B366C-D916-45AA-3FE5-67363A46193B}.Release|Win32.ActiveCfg = Release|Win32 - {391B366C-D916-45AA-3FE5-67363A46193B}.Release|x64.ActiveCfg = Release|x64 - {391B366C-D916-45AA-3FE5-67363A46193B}.Debug|Win32.Build.0 = Debug|Win32 - {391B366C-D916-45AA-3FE5-67363A46193B}.Debug|x64.Build.0 = Debug|x64 - {391B366C-D916-45AA-3FE5-67363A46193B}.Release|Win32.Build.0 = Release|Win32 - {391B366C-D916-45AA-3FE5-67363A46193B}.Release|x64.Build.0 = Release|x64 - {391B366C-D916-45AA-3FE5-67363A46193B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {391B366C-D916-45AA-3FE5-67363A46193B}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {391B366C-D916-45AA-3FE5-67363A46193B}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {391B366C-D916-45AA-3FE5-67363A46193B}.Debug-DLL|x64.Build.0 = Debug|x64 - {391B366C-D916-45AA-3FE5-67363A46193B}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {391B366C-D916-45AA-3FE5-67363A46193B}.Release-DLL|Win32.Build.0 = Release|Win32 - {391B366C-D916-45AA-3FE5-67363A46193B}.Release-DLL|x64.ActiveCfg = Release|x64 - {391B366C-D916-45AA-3FE5-67363A46193B}.Release-DLL|x64.Build.0 = Release|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|Win32.ActiveCfg = Debug|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|x64.ActiveCfg = Debug|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|Win32.ActiveCfg = Release|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|x64.ActiveCfg = Release|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|Win32.Build.0 = Debug|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|x64.Build.0 = Debug|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|Win32.Build.0 = Release|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|x64.Build.0 = Release|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|x64.Build.0 = Debug|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|Win32.Build.0 = Release|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|x64.ActiveCfg = Release|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|x64.Build.0 = Release|x64 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug|Win32.ActiveCfg = Debug|Win32 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug|x64.ActiveCfg = Debug|x64 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release|Win32.ActiveCfg = Release|Win32 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release|x64.ActiveCfg = Release|x64 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug|Win32.Build.0 = Debug|Win32 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug|x64.Build.0 = Debug|x64 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release|Win32.Build.0 = Release|Win32 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release|x64.Build.0 = Release|x64 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug-DLL|x64.Build.0 = Debug|x64 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release-DLL|Win32.Build.0 = Release|Win32 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release-DLL|x64.ActiveCfg = Release|x64 - {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release-DLL|x64.Build.0 = Release|x64 - {D06E10DC-272A-5203-7066-2698A247DF26}.Debug|Win32.ActiveCfg = Debug|Win32 - {D06E10DC-272A-5203-7066-2698A247DF26}.Debug|x64.ActiveCfg = Debug|x64 - {D06E10DC-272A-5203-7066-2698A247DF26}.Release|Win32.ActiveCfg = Release|Win32 - {D06E10DC-272A-5203-7066-2698A247DF26}.Release|x64.ActiveCfg = Release|x64 - {D06E10DC-272A-5203-7066-2698A247DF26}.Debug|Win32.Build.0 = Debug|Win32 - {D06E10DC-272A-5203-7066-2698A247DF26}.Debug|x64.Build.0 = Debug|x64 - {D06E10DC-272A-5203-7066-2698A247DF26}.Release|Win32.Build.0 = Release|Win32 - {D06E10DC-272A-5203-7066-2698A247DF26}.Release|x64.Build.0 = Release|x64 - {D06E10DC-272A-5203-7066-2698A247DF26}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {D06E10DC-272A-5203-7066-2698A247DF26}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {D06E10DC-272A-5203-7066-2698A247DF26}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {D06E10DC-272A-5203-7066-2698A247DF26}.Debug-DLL|x64.Build.0 = Debug|x64 - {D06E10DC-272A-5203-7066-2698A247DF26}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {D06E10DC-272A-5203-7066-2698A247DF26}.Release-DLL|Win32.Build.0 = Release|Win32 - {D06E10DC-272A-5203-7066-2698A247DF26}.Release-DLL|x64.ActiveCfg = Release|x64 - {D06E10DC-272A-5203-7066-2698A247DF26}.Release-DLL|x64.Build.0 = Release|x64 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug|Win32.ActiveCfg = Debug|Win32 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug|x64.ActiveCfg = Debug|x64 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release|Win32.ActiveCfg = Release|Win32 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release|x64.ActiveCfg = Release|x64 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug|Win32.Build.0 = Debug|Win32 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug|x64.Build.0 = Debug|x64 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release|Win32.Build.0 = Release|Win32 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release|x64.Build.0 = Release|x64 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug-DLL|x64.Build.0 = Debug|x64 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release-DLL|Win32.Build.0 = Release|Win32 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release-DLL|x64.ActiveCfg = Release|x64 - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release-DLL|x64.Build.0 = Release|x64 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug|Win32.ActiveCfg = Debug|Win32 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug|x64.ActiveCfg = Debug|x64 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release|Win32.ActiveCfg = Release|Win32 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release|x64.ActiveCfg = Release|x64 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug|Win32.Build.0 = Debug|Win32 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug|x64.Build.0 = Debug|x64 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release|Win32.Build.0 = Release|Win32 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release|x64.Build.0 = Release|x64 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug-DLL|x64.Build.0 = Debug|x64 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release-DLL|Win32.Build.0 = Release|Win32 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release-DLL|x64.ActiveCfg = Release|x64 - {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release-DLL|x64.Build.0 = Release|x64 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug|Win32.ActiveCfg = Debug|Win32 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug|x64.ActiveCfg = Debug|x64 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Release|Win32.ActiveCfg = Release|Win32 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Release|x64.ActiveCfg = Release|x64 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug|Win32.Build.0 = Debug|Win32 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug|x64.Build.0 = Debug|x64 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Release|Win32.Build.0 = Release|Win32 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Release|x64.Build.0 = Release|x64 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug-DLL|x64.Build.0 = Debug|x64 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Release-DLL|Win32.Build.0 = Release|Win32 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Release-DLL|x64.ActiveCfg = Release|x64 - {37166D50-3AAA-1156-19F6-5901DFA55172}.Release-DLL|x64.Build.0 = Release|x64 - {0647D598-9611-F659-EA36-DF995C9F736B}.Debug|Win32.ActiveCfg = Debug|Win32 - {0647D598-9611-F659-EA36-DF995C9F736B}.Debug|x64.ActiveCfg = Debug|x64 - {0647D598-9611-F659-EA36-DF995C9F736B}.Release|Win32.ActiveCfg = Release|Win32 - {0647D598-9611-F659-EA36-DF995C9F736B}.Release|x64.ActiveCfg = Release|x64 - {0647D598-9611-F659-EA36-DF995C9F736B}.Debug|Win32.Build.0 = Debug|Win32 - {0647D598-9611-F659-EA36-DF995C9F736B}.Debug|x64.Build.0 = Debug|x64 - {0647D598-9611-F659-EA36-DF995C9F736B}.Release|Win32.Build.0 = Release|Win32 - {0647D598-9611-F659-EA36-DF995C9F736B}.Release|x64.Build.0 = Release|x64 - {0647D598-9611-F659-EA36-DF995C9F736B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {0647D598-9611-F659-EA36-DF995C9F736B}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {0647D598-9611-F659-EA36-DF995C9F736B}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {0647D598-9611-F659-EA36-DF995C9F736B}.Debug-DLL|x64.Build.0 = Debug|x64 - {0647D598-9611-F659-EA36-DF995C9F736B}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {0647D598-9611-F659-EA36-DF995C9F736B}.Release-DLL|Win32.Build.0 = Release|Win32 - {0647D598-9611-F659-EA36-DF995C9F736B}.Release-DLL|x64.ActiveCfg = Release|x64 - {0647D598-9611-F659-EA36-DF995C9F736B}.Release-DLL|x64.Build.0 = Release|x64 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug|Win32.ActiveCfg = Debug|Win32 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug|x64.ActiveCfg = Debug|x64 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release|Win32.ActiveCfg = Release|Win32 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release|x64.ActiveCfg = Release|x64 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug|Win32.Build.0 = Debug|Win32 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug|x64.Build.0 = Debug|x64 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release|Win32.Build.0 = Release|Win32 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release|x64.Build.0 = Release|x64 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug-DLL|x64.Build.0 = Debug|x64 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release-DLL|Win32.Build.0 = Release|Win32 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release-DLL|x64.ActiveCfg = Release|x64 - {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release-DLL|x64.Build.0 = Release|x64 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug|Win32.ActiveCfg = Debug|Win32 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug|x64.ActiveCfg = Debug|x64 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release|Win32.ActiveCfg = Release|Win32 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release|x64.ActiveCfg = Release|x64 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug|Win32.Build.0 = Debug|Win32 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug|x64.Build.0 = Debug|x64 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release|Win32.Build.0 = Release|Win32 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release|x64.Build.0 = Release|x64 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug-DLL|x64.Build.0 = Debug|x64 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release-DLL|Win32.Build.0 = Release|Win32 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release-DLL|x64.ActiveCfg = Release|x64 - {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release-DLL|x64.Build.0 = Release|x64 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug|Win32.ActiveCfg = Debug|Win32 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug|x64.ActiveCfg = Debug|x64 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release|Win32.ActiveCfg = Release|Win32 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release|x64.ActiveCfg = Release|x64 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug|Win32.Build.0 = Debug|Win32 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug|x64.Build.0 = Debug|x64 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release|Win32.Build.0 = Release|Win32 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release|x64.Build.0 = Release|x64 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug-DLL|x64.Build.0 = Debug|x64 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release-DLL|Win32.Build.0 = Release|Win32 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release-DLL|x64.ActiveCfg = Release|x64 - {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release-DLL|x64.Build.0 = Release|x64 {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|Win32.ActiveCfg = Debug|Win32 {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|x64.ActiveCfg = Debug|x64 {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|Win32.ActiveCfg = Release|Win32 @@ -1914,214 +83,6 @@ Global {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release-DLL|Win32.Build.0 = Release|Win32 {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release-DLL|x64.ActiveCfg = Release|x64 {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release-DLL|x64.Build.0 = Release|x64 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug|Win32.ActiveCfg = Debug|Win32 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug|x64.ActiveCfg = Debug|x64 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release|Win32.ActiveCfg = Release|Win32 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release|x64.ActiveCfg = Release|x64 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug|Win32.Build.0 = Debug|Win32 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug|x64.Build.0 = Debug|x64 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release|Win32.Build.0 = Release|Win32 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release|x64.Build.0 = Release|x64 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug-DLL|x64.Build.0 = Debug|x64 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release-DLL|Win32.Build.0 = Release|Win32 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release-DLL|x64.ActiveCfg = Release|x64 - {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release-DLL|x64.Build.0 = Release|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug|Win32.ActiveCfg = Debug|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug|x64.ActiveCfg = Debug|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release|Win32.ActiveCfg = Release|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release|x64.ActiveCfg = Release|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug|Win32.Build.0 = Debug|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug|x64.Build.0 = Debug|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release|Win32.Build.0 = Release|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release|x64.Build.0 = Release|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug-DLL|x64.Build.0 = Debug|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release-DLL|Win32.Build.0 = Release|Win32 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release-DLL|x64.ActiveCfg = Release|x64 - {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release-DLL|x64.Build.0 = Release|x64 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug|Win32.ActiveCfg = Debug|Win32 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug|x64.ActiveCfg = Debug|x64 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Release|Win32.ActiveCfg = Release|Win32 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Release|x64.ActiveCfg = Release|x64 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug|Win32.Build.0 = Debug|Win32 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug|x64.Build.0 = Debug|x64 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Release|Win32.Build.0 = Release|Win32 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Release|x64.Build.0 = Release|x64 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug-DLL|x64.Build.0 = Debug|x64 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Release-DLL|Win32.Build.0 = Release|Win32 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Release-DLL|x64.ActiveCfg = Release|x64 - {10668A5D-65CD-F530-22D0-747B395B4C26}.Release-DLL|x64.Build.0 = Release|x64 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug|Win32.ActiveCfg = Debug|Win32 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug|x64.ActiveCfg = Debug|x64 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release|Win32.ActiveCfg = Release|Win32 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release|x64.ActiveCfg = Release|x64 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug|Win32.Build.0 = Debug|Win32 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug|x64.Build.0 = Debug|x64 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release|Win32.Build.0 = Release|Win32 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release|x64.Build.0 = Release|x64 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug-DLL|x64.Build.0 = Debug|x64 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release-DLL|Win32.Build.0 = Release|Win32 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release-DLL|x64.ActiveCfg = Release|x64 - {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release-DLL|x64.Build.0 = Release|x64 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug|Win32.ActiveCfg = Debug|Win32 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug|x64.ActiveCfg = Debug|x64 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release|Win32.ActiveCfg = Release|Win32 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release|x64.ActiveCfg = Release|x64 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug|Win32.Build.0 = Debug|Win32 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug|x64.Build.0 = Debug|x64 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release|Win32.Build.0 = Release|Win32 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release|x64.Build.0 = Release|x64 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug-DLL|x64.Build.0 = Debug|x64 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release-DLL|Win32.Build.0 = Release|Win32 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release-DLL|x64.ActiveCfg = Release|x64 - {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release-DLL|x64.Build.0 = Release|x64 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug|Win32.ActiveCfg = Debug|Win32 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug|x64.ActiveCfg = Debug|x64 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release|Win32.ActiveCfg = Release|Win32 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release|x64.ActiveCfg = Release|x64 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug|Win32.Build.0 = Debug|Win32 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug|x64.Build.0 = Debug|x64 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release|Win32.Build.0 = Release|Win32 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release|x64.Build.0 = Release|x64 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug-DLL|x64.Build.0 = Debug|x64 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release-DLL|Win32.Build.0 = Release|Win32 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release-DLL|x64.ActiveCfg = Release|x64 - {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release-DLL|x64.Build.0 = Release|x64 - {64728265-92F9-103E-6720-8935385458DF}.Debug|Win32.ActiveCfg = Debug|Win32 - {64728265-92F9-103E-6720-8935385458DF}.Debug|x64.ActiveCfg = Debug|x64 - {64728265-92F9-103E-6720-8935385458DF}.Release|Win32.ActiveCfg = Release|Win32 - {64728265-92F9-103E-6720-8935385458DF}.Release|x64.ActiveCfg = Release|x64 - {64728265-92F9-103E-6720-8935385458DF}.Debug|Win32.Build.0 = Debug|Win32 - {64728265-92F9-103E-6720-8935385458DF}.Debug|x64.Build.0 = Debug|x64 - {64728265-92F9-103E-6720-8935385458DF}.Release|Win32.Build.0 = Release|Win32 - {64728265-92F9-103E-6720-8935385458DF}.Release|x64.Build.0 = Release|x64 - {64728265-92F9-103E-6720-8935385458DF}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {64728265-92F9-103E-6720-8935385458DF}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {64728265-92F9-103E-6720-8935385458DF}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {64728265-92F9-103E-6720-8935385458DF}.Debug-DLL|x64.Build.0 = Debug|x64 - {64728265-92F9-103E-6720-8935385458DF}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {64728265-92F9-103E-6720-8935385458DF}.Release-DLL|Win32.Build.0 = Release|Win32 - {64728265-92F9-103E-6720-8935385458DF}.Release-DLL|x64.ActiveCfg = Release|x64 - {64728265-92F9-103E-6720-8935385458DF}.Release-DLL|x64.Build.0 = Release|x64 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug|Win32.ActiveCfg = Debug|Win32 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug|x64.ActiveCfg = Debug|x64 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release|Win32.ActiveCfg = Release|Win32 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release|x64.ActiveCfg = Release|x64 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug|Win32.Build.0 = Debug|Win32 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug|x64.Build.0 = Debug|x64 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release|Win32.Build.0 = Release|Win32 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release|x64.Build.0 = Release|x64 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug-DLL|x64.Build.0 = Debug|x64 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release-DLL|Win32.Build.0 = Release|Win32 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release-DLL|x64.ActiveCfg = Release|x64 - {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release-DLL|x64.Build.0 = Release|x64 - {E679773D-DE89-AEBB-9787-59019989B825}.Debug|Win32.ActiveCfg = Debug|Win32 - {E679773D-DE89-AEBB-9787-59019989B825}.Debug|x64.ActiveCfg = Debug|x64 - {E679773D-DE89-AEBB-9787-59019989B825}.Release|Win32.ActiveCfg = Release|Win32 - {E679773D-DE89-AEBB-9787-59019989B825}.Release|x64.ActiveCfg = Release|x64 - {E679773D-DE89-AEBB-9787-59019989B825}.Debug|Win32.Build.0 = Debug|Win32 - {E679773D-DE89-AEBB-9787-59019989B825}.Debug|x64.Build.0 = Debug|x64 - {E679773D-DE89-AEBB-9787-59019989B825}.Release|Win32.Build.0 = Release|Win32 - {E679773D-DE89-AEBB-9787-59019989B825}.Release|x64.Build.0 = Release|x64 - {E679773D-DE89-AEBB-9787-59019989B825}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {E679773D-DE89-AEBB-9787-59019989B825}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {E679773D-DE89-AEBB-9787-59019989B825}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {E679773D-DE89-AEBB-9787-59019989B825}.Debug-DLL|x64.Build.0 = Debug|x64 - {E679773D-DE89-AEBB-9787-59019989B825}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {E679773D-DE89-AEBB-9787-59019989B825}.Release-DLL|Win32.Build.0 = Release|Win32 - {E679773D-DE89-AEBB-9787-59019989B825}.Release-DLL|x64.ActiveCfg = Release|x64 - {E679773D-DE89-AEBB-9787-59019989B825}.Release-DLL|x64.Build.0 = Release|x64 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug|Win32.ActiveCfg = Debug|Win32 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug|x64.ActiveCfg = Debug|x64 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release|Win32.ActiveCfg = Release|Win32 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release|x64.ActiveCfg = Release|x64 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug|Win32.Build.0 = Debug|Win32 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug|x64.Build.0 = Debug|x64 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release|Win32.Build.0 = Release|Win32 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release|x64.Build.0 = Release|x64 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug-DLL|x64.Build.0 = Debug|x64 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release-DLL|Win32.Build.0 = Release|Win32 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release-DLL|x64.ActiveCfg = Release|x64 - {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release-DLL|x64.Build.0 = Release|x64 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug|Win32.ActiveCfg = Debug|Win32 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug|x64.ActiveCfg = Debug|x64 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release|Win32.ActiveCfg = Release|Win32 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release|x64.ActiveCfg = Release|x64 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug|Win32.Build.0 = Debug|Win32 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug|x64.Build.0 = Debug|x64 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release|Win32.Build.0 = Release|Win32 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release|x64.Build.0 = Release|x64 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug-DLL|x64.Build.0 = Debug|x64 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release-DLL|Win32.Build.0 = Release|Win32 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release-DLL|x64.ActiveCfg = Release|x64 - {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release-DLL|x64.Build.0 = Release|x64 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug|Win32.ActiveCfg = Debug|Win32 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug|x64.ActiveCfg = Debug|x64 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release|Win32.ActiveCfg = Release|Win32 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release|x64.ActiveCfg = Release|x64 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug|Win32.Build.0 = Debug|Win32 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug|x64.Build.0 = Debug|x64 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release|Win32.Build.0 = Release|Win32 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release|x64.Build.0 = Release|x64 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug-DLL|x64.Build.0 = Debug|x64 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release-DLL|Win32.Build.0 = Release|Win32 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release-DLL|x64.ActiveCfg = Release|x64 - {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release-DLL|x64.Build.0 = Release|x64 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug|Win32.ActiveCfg = Debug|Win32 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug|x64.ActiveCfg = Debug|x64 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release|Win32.ActiveCfg = Release|Win32 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release|x64.ActiveCfg = Release|x64 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug|Win32.Build.0 = Debug|Win32 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug|x64.Build.0 = Debug|x64 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release|Win32.Build.0 = Release|Win32 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release|x64.Build.0 = Release|x64 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug-DLL|x64.Build.0 = Debug|x64 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release-DLL|Win32.Build.0 = Release|Win32 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release-DLL|x64.ActiveCfg = Release|x64 - {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release-DLL|x64.Build.0 = Release|x64 {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Debug|Win32.ActiveCfg = Debug|Win32 {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Debug|x64.ActiveCfg = Debug|x64 {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release|Win32.ActiveCfg = Release|Win32 @@ -2138,70 +99,6 @@ Global {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release-DLL|Win32.Build.0 = Release|Win32 {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release-DLL|x64.ActiveCfg = Release|x64 {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release-DLL|x64.Build.0 = Release|x64 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug|Win32.ActiveCfg = Debug|Win32 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug|x64.ActiveCfg = Debug|x64 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release|Win32.ActiveCfg = Release|Win32 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release|x64.ActiveCfg = Release|x64 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug|Win32.Build.0 = Debug|Win32 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug|x64.Build.0 = Debug|x64 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release|Win32.Build.0 = Release|Win32 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release|x64.Build.0 = Release|x64 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug-DLL|x64.Build.0 = Debug|x64 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release-DLL|Win32.Build.0 = Release|Win32 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release-DLL|x64.ActiveCfg = Release|x64 - {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release-DLL|x64.Build.0 = Release|x64 - {9779680E-3218-1528-E922-605871A20C3F}.Debug|Win32.ActiveCfg = Debug|Win32 - {9779680E-3218-1528-E922-605871A20C3F}.Debug|x64.ActiveCfg = Debug|x64 - {9779680E-3218-1528-E922-605871A20C3F}.Release|Win32.ActiveCfg = Release|Win32 - {9779680E-3218-1528-E922-605871A20C3F}.Release|x64.ActiveCfg = Release|x64 - {9779680E-3218-1528-E922-605871A20C3F}.Debug|Win32.Build.0 = Debug|Win32 - {9779680E-3218-1528-E922-605871A20C3F}.Debug|x64.Build.0 = Debug|x64 - {9779680E-3218-1528-E922-605871A20C3F}.Release|Win32.Build.0 = Release|Win32 - {9779680E-3218-1528-E922-605871A20C3F}.Release|x64.Build.0 = Release|x64 - {9779680E-3218-1528-E922-605871A20C3F}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {9779680E-3218-1528-E922-605871A20C3F}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {9779680E-3218-1528-E922-605871A20C3F}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {9779680E-3218-1528-E922-605871A20C3F}.Debug-DLL|x64.Build.0 = Debug|x64 - {9779680E-3218-1528-E922-605871A20C3F}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {9779680E-3218-1528-E922-605871A20C3F}.Release-DLL|Win32.Build.0 = Release|Win32 - {9779680E-3218-1528-E922-605871A20C3F}.Release-DLL|x64.ActiveCfg = Release|x64 - {9779680E-3218-1528-E922-605871A20C3F}.Release-DLL|x64.Build.0 = Release|x64 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug|Win32.ActiveCfg = Debug|Win32 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug|x64.ActiveCfg = Debug|x64 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release|Win32.ActiveCfg = Release|Win32 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release|x64.ActiveCfg = Release|x64 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug|Win32.Build.0 = Debug|Win32 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug|x64.Build.0 = Debug|x64 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release|Win32.Build.0 = Release|Win32 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release|x64.Build.0 = Release|x64 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug-DLL|x64.Build.0 = Debug|x64 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release-DLL|Win32.Build.0 = Release|Win32 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release-DLL|x64.ActiveCfg = Release|x64 - {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release-DLL|x64.Build.0 = Release|x64 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug|Win32.ActiveCfg = Debug|Win32 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug|x64.ActiveCfg = Debug|x64 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release|Win32.ActiveCfg = Release|Win32 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release|x64.ActiveCfg = Release|x64 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug|Win32.Build.0 = Debug|Win32 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug|x64.Build.0 = Debug|x64 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release|Win32.Build.0 = Release|Win32 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release|x64.Build.0 = Release|x64 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug-DLL|x64.Build.0 = Debug|x64 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release-DLL|Win32.Build.0 = Release|Win32 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release-DLL|x64.ActiveCfg = Release|x64 - {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release-DLL|x64.Build.0 = Release|x64 {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|Win32.ActiveCfg = Debug|Win32 {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|x64.ActiveCfg = Debug|x64 {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|Win32.ActiveCfg = Release|Win32 @@ -2218,214 +115,38 @@ Global {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release-DLL|Win32.Build.0 = Release-DLL|Win32 {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release-DLL|x64.ActiveCfg = Release-DLL|x64 {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release-DLL|x64.Build.0 = Release-DLL|x64 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug|Win32.ActiveCfg = Debug|Win32 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug|x64.ActiveCfg = Debug|x64 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release|Win32.ActiveCfg = Release|Win32 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release|x64.ActiveCfg = Release|x64 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug|Win32.Build.0 = Debug|Win32 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug|x64.Build.0 = Debug|x64 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release|Win32.Build.0 = Release|Win32 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release|x64.Build.0 = Release|x64 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug-DLL|x64.Build.0 = Debug|x64 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release-DLL|Win32.Build.0 = Release|Win32 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release-DLL|x64.ActiveCfg = Release|x64 - {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release-DLL|x64.Build.0 = Release|x64 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug|Win32.ActiveCfg = Debug|Win32 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug|x64.ActiveCfg = Debug|x64 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release|Win32.ActiveCfg = Release|Win32 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release|x64.ActiveCfg = Release|x64 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug|Win32.Build.0 = Debug|Win32 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug|x64.Build.0 = Debug|x64 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release|Win32.Build.0 = Release|Win32 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release|x64.Build.0 = Release|x64 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug-DLL|x64.Build.0 = Debug|x64 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release-DLL|Win32.Build.0 = Release|Win32 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release-DLL|x64.ActiveCfg = Release|x64 - {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release-DLL|x64.Build.0 = Release|x64 - {82124768-C986-6C10-8BCC-B255B7C84722}.Debug|Win32.ActiveCfg = Debug|Win32 - {82124768-C986-6C10-8BCC-B255B7C84722}.Debug|x64.ActiveCfg = Debug|x64 - {82124768-C986-6C10-8BCC-B255B7C84722}.Release|Win32.ActiveCfg = Release|Win32 - {82124768-C986-6C10-8BCC-B255B7C84722}.Release|x64.ActiveCfg = Release|x64 - {82124768-C986-6C10-8BCC-B255B7C84722}.Debug|Win32.Build.0 = Debug|Win32 - {82124768-C986-6C10-8BCC-B255B7C84722}.Debug|x64.Build.0 = Debug|x64 - {82124768-C986-6C10-8BCC-B255B7C84722}.Release|Win32.Build.0 = Release|Win32 - {82124768-C986-6C10-8BCC-B255B7C84722}.Release|x64.Build.0 = Release|x64 - {82124768-C986-6C10-8BCC-B255B7C84722}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {82124768-C986-6C10-8BCC-B255B7C84722}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {82124768-C986-6C10-8BCC-B255B7C84722}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {82124768-C986-6C10-8BCC-B255B7C84722}.Debug-DLL|x64.Build.0 = Debug|x64 - {82124768-C986-6C10-8BCC-B255B7C84722}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {82124768-C986-6C10-8BCC-B255B7C84722}.Release-DLL|Win32.Build.0 = Release|Win32 - {82124768-C986-6C10-8BCC-B255B7C84722}.Release-DLL|x64.ActiveCfg = Release|x64 - {82124768-C986-6C10-8BCC-B255B7C84722}.Release-DLL|x64.Build.0 = Release|x64 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug|Win32.ActiveCfg = Debug|Win32 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug|x64.ActiveCfg = Debug|x64 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release|Win32.ActiveCfg = Release|Win32 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release|x64.ActiveCfg = Release|x64 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug|Win32.Build.0 = Debug|Win32 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug|x64.Build.0 = Debug|x64 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release|Win32.Build.0 = Release|Win32 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release|x64.Build.0 = Release|x64 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug-DLL|x64.Build.0 = Debug|x64 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release-DLL|Win32.Build.0 = Release|Win32 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release-DLL|x64.ActiveCfg = Release|x64 - {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release-DLL|x64.Build.0 = Release|x64 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug|Win32.ActiveCfg = Debug|Win32 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug|x64.ActiveCfg = Debug|x64 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release|Win32.ActiveCfg = Release|Win32 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release|x64.ActiveCfg = Release|x64 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug|Win32.Build.0 = Debug|Win32 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug|x64.Build.0 = Debug|x64 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release|Win32.Build.0 = Release|Win32 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release|x64.Build.0 = Release|x64 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug-DLL|x64.Build.0 = Debug|x64 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release-DLL|Win32.Build.0 = Release|Win32 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release-DLL|x64.ActiveCfg = Release|x64 - {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release-DLL|x64.Build.0 = Release|x64 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug|Win32.ActiveCfg = Debug|Win32 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug|x64.ActiveCfg = Debug|x64 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release|Win32.ActiveCfg = Release|Win32 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release|x64.ActiveCfg = Release|x64 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug|Win32.Build.0 = Debug|Win32 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug|x64.Build.0 = Debug|x64 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release|Win32.Build.0 = Release|Win32 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release|x64.Build.0 = Release|x64 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug-DLL|x64.Build.0 = Debug|x64 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release-DLL|Win32.Build.0 = Release|Win32 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release-DLL|x64.ActiveCfg = Release|x64 - {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release-DLL|x64.Build.0 = Release|x64 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug|Win32.ActiveCfg = Debug|Win32 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug|x64.ActiveCfg = Debug|x64 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release|Win32.ActiveCfg = Release|Win32 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release|x64.ActiveCfg = Release|x64 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug|Win32.Build.0 = Debug|Win32 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug|x64.Build.0 = Debug|x64 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release|Win32.Build.0 = Release|Win32 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release|x64.Build.0 = Release|x64 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug-DLL|x64.Build.0 = Debug|x64 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release-DLL|Win32.Build.0 = Release|Win32 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release-DLL|x64.ActiveCfg = Release|x64 - {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release-DLL|x64.Build.0 = Release|x64 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug|Win32.ActiveCfg = Debug|Win32 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug|x64.ActiveCfg = Debug|x64 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release|Win32.ActiveCfg = Release|Win32 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release|x64.ActiveCfg = Release|x64 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug|Win32.Build.0 = Debug|Win32 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug|x64.Build.0 = Debug|x64 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release|Win32.Build.0 = Release|Win32 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release|x64.Build.0 = Release|x64 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug-DLL|x64.Build.0 = Debug|x64 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release-DLL|Win32.Build.0 = Release|Win32 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release-DLL|x64.ActiveCfg = Release|x64 - {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release-DLL|x64.Build.0 = Release|x64 - {43722E98-54EC-5058-3DAC-327F45964971}.Debug|Win32.ActiveCfg = Debug|Win32 - {43722E98-54EC-5058-3DAC-327F45964971}.Debug|x64.ActiveCfg = Debug|x64 - {43722E98-54EC-5058-3DAC-327F45964971}.Release|Win32.ActiveCfg = Release|Win32 - {43722E98-54EC-5058-3DAC-327F45964971}.Release|x64.ActiveCfg = Release|x64 - {43722E98-54EC-5058-3DAC-327F45964971}.Debug|Win32.Build.0 = Debug|Win32 - {43722E98-54EC-5058-3DAC-327F45964971}.Debug|x64.Build.0 = Debug|x64 - {43722E98-54EC-5058-3DAC-327F45964971}.Release|Win32.Build.0 = Release|Win32 - {43722E98-54EC-5058-3DAC-327F45964971}.Release|x64.Build.0 = Release|x64 - {43722E98-54EC-5058-3DAC-327F45964971}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {43722E98-54EC-5058-3DAC-327F45964971}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {43722E98-54EC-5058-3DAC-327F45964971}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {43722E98-54EC-5058-3DAC-327F45964971}.Debug-DLL|x64.Build.0 = Debug|x64 - {43722E98-54EC-5058-3DAC-327F45964971}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {43722E98-54EC-5058-3DAC-327F45964971}.Release-DLL|Win32.Build.0 = Release|Win32 - {43722E98-54EC-5058-3DAC-327F45964971}.Release-DLL|x64.ActiveCfg = Release|x64 - {43722E98-54EC-5058-3DAC-327F45964971}.Release-DLL|x64.Build.0 = Release|x64 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug|Win32.ActiveCfg = Debug|Win32 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug|x64.ActiveCfg = Debug|x64 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release|Win32.ActiveCfg = Release|Win32 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release|x64.ActiveCfg = Release|x64 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug|Win32.Build.0 = Debug|Win32 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug|x64.Build.0 = Debug|x64 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release|Win32.Build.0 = Release|Win32 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release|x64.Build.0 = Release|x64 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug-DLL|x64.Build.0 = Debug|x64 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release-DLL|Win32.Build.0 = Release|Win32 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release-DLL|x64.ActiveCfg = Release|x64 - {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release-DLL|x64.Build.0 = Release|x64 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug|Win32.ActiveCfg = Debug|Win32 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug|x64.ActiveCfg = Debug|x64 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release|Win32.ActiveCfg = Release|Win32 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release|x64.ActiveCfg = Release|x64 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug|Win32.Build.0 = Debug|Win32 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug|x64.Build.0 = Debug|x64 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release|Win32.Build.0 = Release|Win32 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release|x64.Build.0 = Release|x64 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug-DLL|x64.Build.0 = Debug|x64 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release-DLL|Win32.Build.0 = Release|Win32 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release-DLL|x64.ActiveCfg = Release|x64 - {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release-DLL|x64.Build.0 = Release|x64 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug|Win32.ActiveCfg = Debug|Win32 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug|x64.ActiveCfg = Debug|x64 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release|Win32.ActiveCfg = Release|Win32 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release|x64.ActiveCfg = Release|x64 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug|Win32.Build.0 = Debug|Win32 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug|x64.Build.0 = Debug|x64 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release|Win32.Build.0 = Release|Win32 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release|x64.Build.0 = Release|x64 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug-DLL|x64.Build.0 = Debug|x64 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release-DLL|Win32.Build.0 = Release|Win32 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release-DLL|x64.ActiveCfg = Release|x64 - {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release-DLL|x64.Build.0 = Release|x64 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug|Win32.ActiveCfg = Debug|Win32 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug|x64.ActiveCfg = Debug|x64 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release|Win32.ActiveCfg = Release|Win32 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release|x64.ActiveCfg = Release|x64 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug|Win32.Build.0 = Debug|Win32 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug|x64.Build.0 = Debug|x64 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release|Win32.Build.0 = Release|Win32 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release|x64.Build.0 = Release|x64 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug-DLL|x64.Build.0 = Debug|x64 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release-DLL|Win32.Build.0 = Release|Win32 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release-DLL|x64.ActiveCfg = Release|x64 - {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release-DLL|x64.Build.0 = Release|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug|Win32.ActiveCfg = Debug|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug|x64.ActiveCfg = Debug|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release|Win32.ActiveCfg = Release|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release|x64.ActiveCfg = Release|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug|Win32.Build.0 = Debug|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug|x64.Build.0 = Debug|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release|Win32.Build.0 = Release|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release|x64.Build.0 = Release|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug-DLL|Win32.ActiveCfg = Debug-DLL|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug-DLL|Win32.Build.0 = Debug-DLL|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug-DLL|x64.ActiveCfg = Debug-DLL|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug-DLL|x64.Build.0 = Debug-DLL|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release-DLL|Win32.ActiveCfg = Release-DLL|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release-DLL|Win32.Build.0 = Release-DLL|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release-DLL|x64.ActiveCfg = Release-DLL|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release-DLL|x64.Build.0 = Release-DLL|x64 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Debug|Win32.ActiveCfg = Debug|Win32 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Debug|x64.ActiveCfg = Debug|x64 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Release|Win32.ActiveCfg = Release|Win32 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Release|x64.ActiveCfg = Release|x64 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Debug|Win32.Build.0 = Debug|Win32 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Debug|x64.Build.0 = Debug|x64 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Release|Win32.Build.0 = Release|Win32 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Release|x64.Build.0 = Release|x64 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Debug-DLL|x64.Build.0 = Debug|x64 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Release-DLL|Win32.Build.0 = Release|Win32 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Release-DLL|x64.ActiveCfg = Release|x64 + {16C2143B-0A13-AE30-7D09-05AD48928A8B}.Release-DLL|x64.Build.0 = Release|x64 {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug|Win32.ActiveCfg = Debug|Win32 {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug|x64.ActiveCfg = Debug|x64 {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release|Win32.ActiveCfg = Release|Win32 @@ -2442,1158 +163,6 @@ Global {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release-DLL|Win32.Build.0 = Release|Win32 {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release-DLL|x64.ActiveCfg = Release|x64 {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release-DLL|x64.Build.0 = Release|x64 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug|Win32.ActiveCfg = Debug|Win32 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug|x64.ActiveCfg = Debug|x64 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release|Win32.ActiveCfg = Release|Win32 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release|x64.ActiveCfg = Release|x64 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug|Win32.Build.0 = Debug|Win32 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug|x64.Build.0 = Debug|x64 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release|Win32.Build.0 = Release|Win32 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release|x64.Build.0 = Release|x64 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug-DLL|x64.Build.0 = Debug|x64 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release-DLL|Win32.Build.0 = Release|Win32 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release-DLL|x64.ActiveCfg = Release|x64 - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release-DLL|x64.Build.0 = Release|x64 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug|Win32.ActiveCfg = Debug|Win32 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug|x64.ActiveCfg = Debug|x64 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release|Win32.ActiveCfg = Release|Win32 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release|x64.ActiveCfg = Release|x64 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug|Win32.Build.0 = Debug|Win32 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug|x64.Build.0 = Debug|x64 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release|Win32.Build.0 = Release|Win32 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release|x64.Build.0 = Release|x64 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug-DLL|Win32.ActiveCfg = Debug-DLL|Win32 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug-DLL|Win32.Build.0 = Debug-DLL|Win32 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug-DLL|x64.ActiveCfg = Debug-DLL|x64 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug-DLL|x64.Build.0 = Debug-DLL|x64 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|Win32.ActiveCfg = Release-DLL|Win32 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|Win32.Build.0 = Release-DLL|Win32 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|x64.ActiveCfg = Release-DLL|x64 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|x64.Build.0 = Release-DLL|x64 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug|Win32.ActiveCfg = Debug|Win32 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug|x64.ActiveCfg = Debug|x64 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release|Win32.ActiveCfg = Release|Win32 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release|x64.ActiveCfg = Release|x64 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug|Win32.Build.0 = Debug|Win32 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug|x64.Build.0 = Debug|x64 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release|Win32.Build.0 = Release|Win32 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release|x64.Build.0 = Release|x64 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug-DLL|x64.Build.0 = Debug|x64 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release-DLL|Win32.Build.0 = Release|Win32 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release-DLL|x64.ActiveCfg = Release|x64 - {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release-DLL|x64.Build.0 = Release|x64 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug|Win32.ActiveCfg = Debug|Win32 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug|x64.ActiveCfg = Debug|x64 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release|Win32.ActiveCfg = Release|Win32 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release|x64.ActiveCfg = Release|x64 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug|Win32.Build.0 = Debug|Win32 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug|x64.Build.0 = Debug|x64 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release|Win32.Build.0 = Release|Win32 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release|x64.Build.0 = Release|x64 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug-DLL|x64.Build.0 = Debug|x64 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release-DLL|Win32.Build.0 = Release|Win32 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release-DLL|x64.ActiveCfg = Release|x64 - {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release-DLL|x64.Build.0 = Release|x64 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug|Win32.ActiveCfg = Debug|Win32 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug|x64.ActiveCfg = Debug|x64 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release|Win32.ActiveCfg = Release|Win32 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release|x64.ActiveCfg = Release|x64 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug|Win32.Build.0 = Debug|Win32 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug|x64.Build.0 = Debug|x64 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release|Win32.Build.0 = Release|Win32 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release|x64.Build.0 = Release|x64 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug-DLL|x64.Build.0 = Debug|x64 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release-DLL|Win32.Build.0 = Release|Win32 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release-DLL|x64.ActiveCfg = Release|x64 - {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release-DLL|x64.Build.0 = Release|x64 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug|Win32.ActiveCfg = Debug|Win32 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug|x64.ActiveCfg = Debug|x64 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release|Win32.ActiveCfg = Release|Win32 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release|x64.ActiveCfg = Release|x64 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug|Win32.Build.0 = Debug|Win32 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug|x64.Build.0 = Debug|x64 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release|Win32.Build.0 = Release|Win32 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release|x64.Build.0 = Release|x64 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug-DLL|x64.Build.0 = Debug|x64 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release-DLL|Win32.Build.0 = Release|Win32 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release-DLL|x64.ActiveCfg = Release|x64 - {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release-DLL|x64.Build.0 = Release|x64 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug|Win32.ActiveCfg = Debug|Win32 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug|x64.ActiveCfg = Debug|x64 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release|Win32.ActiveCfg = Release|Win32 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release|x64.ActiveCfg = Release|x64 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug|Win32.Build.0 = Debug|Win32 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug|x64.Build.0 = Debug|x64 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release|Win32.Build.0 = Release|Win32 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release|x64.Build.0 = Release|x64 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug-DLL|x64.Build.0 = Debug|x64 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release-DLL|Win32.Build.0 = Release|Win32 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release-DLL|x64.ActiveCfg = Release|x64 - {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release-DLL|x64.Build.0 = Release|x64 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug|Win32.ActiveCfg = Debug|Win32 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug|x64.ActiveCfg = Debug|x64 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release|Win32.ActiveCfg = Release|Win32 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release|x64.ActiveCfg = Release|x64 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug|Win32.Build.0 = Debug|Win32 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug|x64.Build.0 = Debug|x64 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release|Win32.Build.0 = Release|Win32 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release|x64.Build.0 = Release|x64 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug-DLL|x64.Build.0 = Debug|x64 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release-DLL|Win32.Build.0 = Release|Win32 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release-DLL|x64.ActiveCfg = Release|x64 - {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release-DLL|x64.Build.0 = Release|x64 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug|Win32.ActiveCfg = Debug|Win32 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug|x64.ActiveCfg = Debug|x64 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release|Win32.ActiveCfg = Release|Win32 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release|x64.ActiveCfg = Release|x64 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug|Win32.Build.0 = Debug|Win32 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug|x64.Build.0 = Debug|x64 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release|Win32.Build.0 = Release|Win32 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release|x64.Build.0 = Release|x64 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug-DLL|x64.Build.0 = Debug|x64 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release-DLL|Win32.Build.0 = Release|Win32 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release-DLL|x64.ActiveCfg = Release|x64 - {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release-DLL|x64.Build.0 = Release|x64 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug|Win32.ActiveCfg = Debug|Win32 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug|x64.ActiveCfg = Debug|x64 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Release|Win32.ActiveCfg = Release|Win32 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Release|x64.ActiveCfg = Release|x64 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug|Win32.Build.0 = Debug|Win32 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug|x64.Build.0 = Debug|x64 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Release|Win32.Build.0 = Release|Win32 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Release|x64.Build.0 = Release|x64 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug-DLL|x64.Build.0 = Debug|x64 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Release-DLL|Win32.Build.0 = Release|Win32 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Release-DLL|x64.ActiveCfg = Release|x64 - {16C713C6-062E-F71F-A44C-52DC35494B27}.Release-DLL|x64.Build.0 = Release|x64 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug|Win32.ActiveCfg = Debug|Win32 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug|x64.ActiveCfg = Debug|x64 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release|Win32.ActiveCfg = Release|Win32 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release|x64.ActiveCfg = Release|x64 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug|Win32.Build.0 = Debug|Win32 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug|x64.Build.0 = Debug|x64 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release|Win32.Build.0 = Release|Win32 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release|x64.Build.0 = Release|x64 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug-DLL|x64.Build.0 = Debug|x64 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release-DLL|Win32.Build.0 = Release|Win32 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release-DLL|x64.ActiveCfg = Release|x64 - {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release-DLL|x64.Build.0 = Release|x64 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug|Win32.ActiveCfg = Debug|Win32 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug|x64.ActiveCfg = Debug|x64 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release|Win32.ActiveCfg = Release|Win32 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release|x64.ActiveCfg = Release|x64 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug|Win32.Build.0 = Debug|Win32 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug|x64.Build.0 = Debug|x64 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release|Win32.Build.0 = Release|Win32 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release|x64.Build.0 = Release|x64 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug-DLL|x64.Build.0 = Debug|x64 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release-DLL|Win32.Build.0 = Release|Win32 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release-DLL|x64.ActiveCfg = Release|x64 - {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release-DLL|x64.Build.0 = Release|x64 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug|Win32.ActiveCfg = Debug|Win32 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug|x64.ActiveCfg = Debug|x64 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release|Win32.ActiveCfg = Release|Win32 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release|x64.ActiveCfg = Release|x64 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug|Win32.Build.0 = Debug|Win32 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug|x64.Build.0 = Debug|x64 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release|Win32.Build.0 = Release|Win32 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release|x64.Build.0 = Release|x64 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug-DLL|x64.Build.0 = Debug|x64 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release-DLL|Win32.Build.0 = Release|Win32 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release-DLL|x64.ActiveCfg = Release|x64 - {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release-DLL|x64.Build.0 = Release|x64 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug|Win32.ActiveCfg = Debug|Win32 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug|x64.ActiveCfg = Debug|x64 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release|Win32.ActiveCfg = Release|Win32 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release|x64.ActiveCfg = Release|x64 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug|Win32.Build.0 = Debug|Win32 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug|x64.Build.0 = Debug|x64 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release|Win32.Build.0 = Release|Win32 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release|x64.Build.0 = Release|x64 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug-DLL|x64.Build.0 = Debug|x64 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release-DLL|Win32.Build.0 = Release|Win32 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release-DLL|x64.ActiveCfg = Release|x64 - {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release-DLL|x64.Build.0 = Release|x64 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug|Win32.ActiveCfg = Debug|Win32 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug|x64.ActiveCfg = Debug|x64 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Release|Win32.ActiveCfg = Release|Win32 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Release|x64.ActiveCfg = Release|x64 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug|Win32.Build.0 = Debug|Win32 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug|x64.Build.0 = Debug|x64 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Release|Win32.Build.0 = Release|Win32 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Release|x64.Build.0 = Release|x64 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug-DLL|x64.Build.0 = Debug|x64 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Release-DLL|Win32.Build.0 = Release|Win32 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Release-DLL|x64.ActiveCfg = Release|x64 - {0F761FF3-342A-C429-711F-F76181BAA52D}.Release-DLL|x64.Build.0 = Release|x64 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug|Win32.ActiveCfg = Debug|Win32 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug|x64.ActiveCfg = Debug|x64 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release|Win32.ActiveCfg = Release|Win32 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release|x64.ActiveCfg = Release|x64 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug|Win32.Build.0 = Debug|Win32 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug|x64.Build.0 = Debug|x64 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release|Win32.Build.0 = Release|Win32 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release|x64.Build.0 = Release|x64 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug-DLL|x64.Build.0 = Debug|x64 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release-DLL|Win32.Build.0 = Release|Win32 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release-DLL|x64.ActiveCfg = Release|x64 - {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release-DLL|x64.Build.0 = Release|x64 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug|Win32.ActiveCfg = Debug|Win32 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug|x64.ActiveCfg = Debug|x64 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release|Win32.ActiveCfg = Release|Win32 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release|x64.ActiveCfg = Release|x64 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug|Win32.Build.0 = Debug|Win32 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug|x64.Build.0 = Debug|x64 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release|Win32.Build.0 = Release|Win32 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release|x64.Build.0 = Release|x64 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug-DLL|x64.Build.0 = Debug|x64 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release-DLL|Win32.Build.0 = Release|Win32 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release-DLL|x64.ActiveCfg = Release|x64 - {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release-DLL|x64.Build.0 = Release|x64 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug|Win32.ActiveCfg = Debug|Win32 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug|x64.ActiveCfg = Debug|x64 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release|Win32.ActiveCfg = Release|Win32 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release|x64.ActiveCfg = Release|x64 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug|Win32.Build.0 = Debug|Win32 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug|x64.Build.0 = Debug|x64 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release|Win32.Build.0 = Release|Win32 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release|x64.Build.0 = Release|x64 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug-DLL|x64.Build.0 = Debug|x64 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release-DLL|Win32.Build.0 = Release|Win32 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release-DLL|x64.ActiveCfg = Release|x64 - {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release-DLL|x64.Build.0 = Release|x64 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug|Win32.ActiveCfg = Debug|Win32 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug|x64.ActiveCfg = Debug|x64 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release|Win32.ActiveCfg = Release|Win32 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release|x64.ActiveCfg = Release|x64 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug|Win32.Build.0 = Debug|Win32 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug|x64.Build.0 = Debug|x64 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release|Win32.Build.0 = Release|Win32 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release|x64.Build.0 = Release|x64 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug-DLL|x64.Build.0 = Debug|x64 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release-DLL|Win32.Build.0 = Release|Win32 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release-DLL|x64.ActiveCfg = Release|x64 - {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release-DLL|x64.Build.0 = Release|x64 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug|Win32.ActiveCfg = Debug|Win32 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug|x64.ActiveCfg = Debug|x64 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Release|Win32.ActiveCfg = Release|Win32 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Release|x64.ActiveCfg = Release|x64 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug|Win32.Build.0 = Debug|Win32 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug|x64.Build.0 = Debug|x64 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Release|Win32.Build.0 = Release|Win32 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Release|x64.Build.0 = Release|x64 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug-DLL|x64.Build.0 = Debug|x64 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Release-DLL|Win32.Build.0 = Release|Win32 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Release-DLL|x64.ActiveCfg = Release|x64 - {485E6713-487D-F274-BDE7-5D29300C93FE}.Release-DLL|x64.Build.0 = Release|x64 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug|Win32.ActiveCfg = Debug|Win32 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug|x64.ActiveCfg = Debug|x64 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Release|Win32.ActiveCfg = Release|Win32 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Release|x64.ActiveCfg = Release|x64 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug|Win32.Build.0 = Debug|Win32 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug|x64.Build.0 = Debug|x64 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Release|Win32.Build.0 = Release|Win32 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Release|x64.Build.0 = Release|x64 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug-DLL|x64.Build.0 = Debug|x64 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Release-DLL|Win32.Build.0 = Release|Win32 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Release-DLL|x64.ActiveCfg = Release|x64 - {03A65361-E139-5344-1868-8E8FC269C6E6}.Release-DLL|x64.Build.0 = Release|x64 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug|Win32.ActiveCfg = Debug|Win32 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug|x64.ActiveCfg = Debug|x64 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Release|Win32.ActiveCfg = Release|Win32 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Release|x64.ActiveCfg = Release|x64 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug|Win32.Build.0 = Debug|Win32 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug|x64.Build.0 = Debug|x64 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Release|Win32.Build.0 = Release|Win32 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Release|x64.Build.0 = Release|x64 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug-DLL|x64.Build.0 = Debug|x64 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Release-DLL|Win32.Build.0 = Release|Win32 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Release-DLL|x64.ActiveCfg = Release|x64 - {B3F26242-A43D-4F77-A84C-0F478741A061}.Release-DLL|x64.Build.0 = Release|x64 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug|Win32.ActiveCfg = Debug|Win32 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug|x64.ActiveCfg = Debug|x64 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Release|Win32.ActiveCfg = Release|Win32 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Release|x64.ActiveCfg = Release|x64 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug|Win32.Build.0 = Debug|Win32 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug|x64.Build.0 = Debug|x64 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Release|Win32.Build.0 = Release|Win32 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Release|x64.Build.0 = Release|x64 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug-DLL|x64.Build.0 = Debug|x64 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Release-DLL|Win32.Build.0 = Release|Win32 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Release-DLL|x64.ActiveCfg = Release|x64 - {67458AF8-A122-7740-F195-C2E74A106FAB}.Release-DLL|x64.Build.0 = Release|x64 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug|Win32.ActiveCfg = Debug|Win32 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug|x64.ActiveCfg = Debug|x64 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release|Win32.ActiveCfg = Release|Win32 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release|x64.ActiveCfg = Release|x64 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug|Win32.Build.0 = Debug|Win32 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug|x64.Build.0 = Debug|x64 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release|Win32.Build.0 = Release|Win32 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release|x64.Build.0 = Release|x64 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug-DLL|x64.Build.0 = Debug|x64 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release-DLL|Win32.Build.0 = Release|Win32 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release-DLL|x64.ActiveCfg = Release|x64 - {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release-DLL|x64.Build.0 = Release|x64 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug|Win32.ActiveCfg = Debug|Win32 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug|x64.ActiveCfg = Debug|x64 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release|Win32.ActiveCfg = Release|Win32 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release|x64.ActiveCfg = Release|x64 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug|Win32.Build.0 = Debug|Win32 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug|x64.Build.0 = Debug|x64 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release|Win32.Build.0 = Release|Win32 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release|x64.Build.0 = Release|x64 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug-DLL|x64.Build.0 = Debug|x64 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release-DLL|Win32.Build.0 = Release|Win32 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release-DLL|x64.ActiveCfg = Release|x64 - {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release-DLL|x64.Build.0 = Release|x64 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug|Win32.ActiveCfg = Debug|Win32 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug|x64.ActiveCfg = Debug|x64 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release|Win32.ActiveCfg = Release|Win32 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release|x64.ActiveCfg = Release|x64 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug|Win32.Build.0 = Debug|Win32 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug|x64.Build.0 = Debug|x64 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release|Win32.Build.0 = Release|Win32 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release|x64.Build.0 = Release|x64 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug-DLL|x64.Build.0 = Debug|x64 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release-DLL|Win32.Build.0 = Release|Win32 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release-DLL|x64.ActiveCfg = Release|x64 - {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release-DLL|x64.Build.0 = Release|x64 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug|Win32.ActiveCfg = Debug|Win32 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug|x64.ActiveCfg = Debug|x64 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release|Win32.ActiveCfg = Release|Win32 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release|x64.ActiveCfg = Release|x64 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug|Win32.Build.0 = Debug|Win32 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug|x64.Build.0 = Debug|x64 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release|Win32.Build.0 = Release|Win32 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release|x64.Build.0 = Release|x64 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug-DLL|x64.Build.0 = Debug|x64 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release-DLL|Win32.Build.0 = Release|Win32 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release-DLL|x64.ActiveCfg = Release|x64 - {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release-DLL|x64.Build.0 = Release|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|Win32.ActiveCfg = Debug|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|x64.ActiveCfg = Debug|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|Win32.ActiveCfg = Release|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|x64.ActiveCfg = Release|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|Win32.Build.0 = Debug|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|x64.Build.0 = Debug|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|Win32.Build.0 = Release|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|x64.Build.0 = Release|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|x64.Build.0 = Debug|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|Win32.Build.0 = Release|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|x64.ActiveCfg = Release|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|x64.Build.0 = Release|x64 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug|Win32.ActiveCfg = Debug|Win32 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug|x64.ActiveCfg = Debug|x64 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release|Win32.ActiveCfg = Release|Win32 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release|x64.ActiveCfg = Release|x64 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug|Win32.Build.0 = Debug|Win32 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug|x64.Build.0 = Debug|x64 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release|Win32.Build.0 = Release|Win32 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release|x64.Build.0 = Release|x64 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug-DLL|x64.Build.0 = Debug|x64 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release-DLL|Win32.Build.0 = Release|Win32 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release-DLL|x64.ActiveCfg = Release|x64 - {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release-DLL|x64.Build.0 = Release|x64 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug|Win32.ActiveCfg = Debug|Win32 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug|x64.ActiveCfg = Debug|x64 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release|Win32.ActiveCfg = Release|Win32 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release|x64.ActiveCfg = Release|x64 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug|Win32.Build.0 = Debug|Win32 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug|x64.Build.0 = Debug|x64 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release|Win32.Build.0 = Release|Win32 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release|x64.Build.0 = Release|x64 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug-DLL|x64.Build.0 = Debug|x64 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release-DLL|Win32.Build.0 = Release|Win32 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release-DLL|x64.ActiveCfg = Release|x64 - {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release-DLL|x64.Build.0 = Release|x64 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug|Win32.ActiveCfg = Debug|Win32 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug|x64.ActiveCfg = Debug|x64 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release|Win32.ActiveCfg = Release|Win32 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release|x64.ActiveCfg = Release|x64 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug|Win32.Build.0 = Debug|Win32 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug|x64.Build.0 = Debug|x64 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release|Win32.Build.0 = Release|Win32 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release|x64.Build.0 = Release|x64 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug-DLL|x64.Build.0 = Debug|x64 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release-DLL|Win32.Build.0 = Release|Win32 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release-DLL|x64.ActiveCfg = Release|x64 - {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release-DLL|x64.Build.0 = Release|x64 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug|Win32.ActiveCfg = Debug|Win32 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug|x64.ActiveCfg = Debug|x64 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release|Win32.ActiveCfg = Release|Win32 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release|x64.ActiveCfg = Release|x64 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug|Win32.Build.0 = Debug|Win32 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug|x64.Build.0 = Debug|x64 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release|Win32.Build.0 = Release|Win32 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release|x64.Build.0 = Release|x64 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug-DLL|x64.Build.0 = Debug|x64 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release-DLL|Win32.Build.0 = Release|Win32 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release-DLL|x64.ActiveCfg = Release|x64 - {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release-DLL|x64.Build.0 = Release|x64 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug|Win32.ActiveCfg = Debug|Win32 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug|x64.ActiveCfg = Debug|x64 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release|Win32.ActiveCfg = Release|Win32 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release|x64.ActiveCfg = Release|x64 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug|Win32.Build.0 = Debug|Win32 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug|x64.Build.0 = Debug|x64 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release|Win32.Build.0 = Release|Win32 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release|x64.Build.0 = Release|x64 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug-DLL|x64.Build.0 = Debug|x64 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release-DLL|Win32.Build.0 = Release|Win32 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release-DLL|x64.ActiveCfg = Release|x64 - {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release-DLL|x64.Build.0 = Release|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|Win32.ActiveCfg = Debug|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|x64.ActiveCfg = Debug|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|Win32.ActiveCfg = Release|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|x64.ActiveCfg = Release|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|Win32.Build.0 = Debug|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|x64.Build.0 = Debug|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|Win32.Build.0 = Release|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|x64.Build.0 = Release|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|x64.Build.0 = Debug|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|Win32.Build.0 = Release|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|x64.ActiveCfg = Release|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|x64.Build.0 = Release|x64 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug|Win32.ActiveCfg = Debug|Win32 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug|x64.ActiveCfg = Debug|x64 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release|Win32.ActiveCfg = Release|Win32 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release|x64.ActiveCfg = Release|x64 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug|Win32.Build.0 = Debug|Win32 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug|x64.Build.0 = Debug|x64 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release|Win32.Build.0 = Release|Win32 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release|x64.Build.0 = Release|x64 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug-DLL|x64.Build.0 = Debug|x64 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release-DLL|Win32.Build.0 = Release|Win32 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release-DLL|x64.ActiveCfg = Release|x64 - {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release-DLL|x64.Build.0 = Release|x64 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug|Win32.ActiveCfg = Debug|Win32 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug|x64.ActiveCfg = Debug|x64 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Release|Win32.ActiveCfg = Release|Win32 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Release|x64.ActiveCfg = Release|x64 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug|Win32.Build.0 = Debug|Win32 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug|x64.Build.0 = Debug|x64 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Release|Win32.Build.0 = Release|Win32 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Release|x64.Build.0 = Release|x64 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug-DLL|x64.Build.0 = Debug|x64 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Release-DLL|Win32.Build.0 = Release|Win32 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Release-DLL|x64.ActiveCfg = Release|x64 - {D53575C6-713C-E6E3-FD74-E65F20916498}.Release-DLL|x64.Build.0 = Release|x64 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug|Win32.ActiveCfg = Debug|Win32 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug|x64.ActiveCfg = Debug|x64 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release|Win32.ActiveCfg = Release|Win32 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release|x64.ActiveCfg = Release|x64 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug|Win32.Build.0 = Debug|Win32 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug|x64.Build.0 = Debug|x64 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release|Win32.Build.0 = Release|Win32 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release|x64.Build.0 = Release|x64 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug-DLL|x64.Build.0 = Debug|x64 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release-DLL|Win32.Build.0 = Release|Win32 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release-DLL|x64.ActiveCfg = Release|x64 - {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release-DLL|x64.Build.0 = Release|x64 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug|Win32.ActiveCfg = Debug|Win32 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug|x64.ActiveCfg = Debug|x64 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release|Win32.ActiveCfg = Release|Win32 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release|x64.ActiveCfg = Release|x64 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug|Win32.Build.0 = Debug|Win32 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug|x64.Build.0 = Debug|x64 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release|Win32.Build.0 = Release|Win32 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release|x64.Build.0 = Release|x64 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug-DLL|x64.Build.0 = Debug|x64 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release-DLL|Win32.Build.0 = Release|Win32 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release-DLL|x64.ActiveCfg = Release|x64 - {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release-DLL|x64.Build.0 = Release|x64 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug|Win32.ActiveCfg = Debug|Win32 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug|x64.ActiveCfg = Debug|x64 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release|Win32.ActiveCfg = Release|Win32 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release|x64.ActiveCfg = Release|x64 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug|Win32.Build.0 = Debug|Win32 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug|x64.Build.0 = Debug|x64 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release|Win32.Build.0 = Release|Win32 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release|x64.Build.0 = Release|x64 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug-DLL|x64.Build.0 = Debug|x64 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release-DLL|Win32.Build.0 = Release|Win32 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release-DLL|x64.ActiveCfg = Release|x64 - {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release-DLL|x64.Build.0 = Release|x64 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug|Win32.ActiveCfg = Debug|Win32 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug|x64.ActiveCfg = Debug|x64 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release|Win32.ActiveCfg = Release|Win32 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release|x64.ActiveCfg = Release|x64 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug|Win32.Build.0 = Debug|Win32 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug|x64.Build.0 = Debug|x64 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release|Win32.Build.0 = Release|Win32 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release|x64.Build.0 = Release|x64 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug-DLL|x64.Build.0 = Debug|x64 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release-DLL|Win32.Build.0 = Release|Win32 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release-DLL|x64.ActiveCfg = Release|x64 - {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release-DLL|x64.Build.0 = Release|x64 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug|Win32.ActiveCfg = Debug|Win32 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug|x64.ActiveCfg = Debug|x64 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release|Win32.ActiveCfg = Release|Win32 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release|x64.ActiveCfg = Release|x64 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug|Win32.Build.0 = Debug|Win32 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug|x64.Build.0 = Debug|x64 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release|Win32.Build.0 = Release|Win32 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release|x64.Build.0 = Release|x64 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug-DLL|x64.Build.0 = Debug|x64 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release-DLL|Win32.Build.0 = Release|Win32 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release-DLL|x64.ActiveCfg = Release|x64 - {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release-DLL|x64.Build.0 = Release|x64 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug|Win32.ActiveCfg = Debug|Win32 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug|x64.ActiveCfg = Debug|x64 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release|Win32.ActiveCfg = Release|Win32 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release|x64.ActiveCfg = Release|x64 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug|Win32.Build.0 = Debug|Win32 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug|x64.Build.0 = Debug|x64 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release|Win32.Build.0 = Release|Win32 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release|x64.Build.0 = Release|x64 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug-DLL|x64.Build.0 = Debug|x64 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release-DLL|Win32.Build.0 = Release|Win32 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release-DLL|x64.ActiveCfg = Release|x64 - {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release-DLL|x64.Build.0 = Release|x64 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug|Win32.ActiveCfg = Debug|Win32 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug|x64.ActiveCfg = Debug|x64 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Release|Win32.ActiveCfg = Release|Win32 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Release|x64.ActiveCfg = Release|x64 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug|Win32.Build.0 = Debug|Win32 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug|x64.Build.0 = Debug|x64 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Release|Win32.Build.0 = Release|Win32 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Release|x64.Build.0 = Release|x64 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug-DLL|x64.Build.0 = Debug|x64 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Release-DLL|Win32.Build.0 = Release|Win32 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Release-DLL|x64.ActiveCfg = Release|x64 - {6E60B394-E17D-658A-6648-A2E6E183226F}.Release-DLL|x64.Build.0 = Release|x64 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug|Win32.ActiveCfg = Debug|Win32 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug|x64.ActiveCfg = Debug|x64 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release|Win32.ActiveCfg = Release|Win32 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release|x64.ActiveCfg = Release|x64 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug|Win32.Build.0 = Debug|Win32 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug|x64.Build.0 = Debug|x64 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release|Win32.Build.0 = Release|Win32 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release|x64.Build.0 = Release|x64 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug-DLL|x64.Build.0 = Debug|x64 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release-DLL|Win32.Build.0 = Release|Win32 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release-DLL|x64.ActiveCfg = Release|x64 - {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release-DLL|x64.Build.0 = Release|x64 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug|Win32.ActiveCfg = Debug|Win32 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug|x64.ActiveCfg = Debug|x64 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release|Win32.ActiveCfg = Release|Win32 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release|x64.ActiveCfg = Release|x64 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug|Win32.Build.0 = Debug|Win32 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug|x64.Build.0 = Debug|x64 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release|Win32.Build.0 = Release|Win32 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release|x64.Build.0 = Release|x64 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug-DLL|x64.Build.0 = Debug|x64 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release-DLL|Win32.Build.0 = Release|Win32 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release-DLL|x64.ActiveCfg = Release|x64 - {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release-DLL|x64.Build.0 = Release|x64 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug|Win32.ActiveCfg = Debug|Win32 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug|x64.ActiveCfg = Debug|x64 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release|Win32.ActiveCfg = Release|Win32 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release|x64.ActiveCfg = Release|x64 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug|Win32.Build.0 = Debug|Win32 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug|x64.Build.0 = Debug|x64 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release|Win32.Build.0 = Release|Win32 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release|x64.Build.0 = Release|x64 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug-DLL|x64.Build.0 = Debug|x64 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release-DLL|Win32.Build.0 = Release|Win32 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release-DLL|x64.ActiveCfg = Release|x64 - {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release-DLL|x64.Build.0 = Release|x64 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug|Win32.ActiveCfg = Debug|Win32 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug|x64.ActiveCfg = Debug|x64 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Release|Win32.ActiveCfg = Release|Win32 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Release|x64.ActiveCfg = Release|x64 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug|Win32.Build.0 = Debug|Win32 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug|x64.Build.0 = Debug|x64 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Release|Win32.Build.0 = Release|Win32 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Release|x64.Build.0 = Release|x64 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug-DLL|x64.Build.0 = Debug|x64 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Release-DLL|Win32.Build.0 = Release|Win32 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Release-DLL|x64.ActiveCfg = Release|x64 - {07170557-CCB0-D23C-8018-C2909D115DF9}.Release-DLL|x64.Build.0 = Release|x64 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug|Win32.ActiveCfg = Debug|Win32 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug|x64.ActiveCfg = Debug|x64 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release|Win32.ActiveCfg = Release|Win32 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release|x64.ActiveCfg = Release|x64 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug|Win32.Build.0 = Debug|Win32 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug|x64.Build.0 = Debug|x64 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release|Win32.Build.0 = Release|Win32 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release|x64.Build.0 = Release|x64 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug-DLL|x64.Build.0 = Debug|x64 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release-DLL|Win32.Build.0 = Release|Win32 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release-DLL|x64.ActiveCfg = Release|x64 - {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release-DLL|x64.Build.0 = Release|x64 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug|Win32.ActiveCfg = Debug|Win32 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug|x64.ActiveCfg = Debug|x64 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Release|Win32.ActiveCfg = Release|Win32 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Release|x64.ActiveCfg = Release|x64 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug|Win32.Build.0 = Debug|Win32 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug|x64.Build.0 = Debug|x64 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Release|Win32.Build.0 = Release|Win32 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Release|x64.Build.0 = Release|x64 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug-DLL|x64.Build.0 = Debug|x64 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Release-DLL|Win32.Build.0 = Release|Win32 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Release-DLL|x64.ActiveCfg = Release|x64 - {88AF688E-E43C-5E20-6966-CF559F597D82}.Release-DLL|x64.Build.0 = Release|x64 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug|Win32.ActiveCfg = Debug|Win32 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug|x64.ActiveCfg = Debug|x64 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release|Win32.ActiveCfg = Release|Win32 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release|x64.ActiveCfg = Release|x64 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug|Win32.Build.0 = Debug|Win32 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug|x64.Build.0 = Debug|x64 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release|Win32.Build.0 = Release|Win32 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release|x64.Build.0 = Release|x64 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug-DLL|x64.Build.0 = Debug|x64 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release-DLL|Win32.Build.0 = Release|Win32 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release-DLL|x64.ActiveCfg = Release|x64 - {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release-DLL|x64.Build.0 = Release|x64 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug|Win32.ActiveCfg = Debug|Win32 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug|x64.ActiveCfg = Debug|x64 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release|Win32.ActiveCfg = Release|Win32 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release|x64.ActiveCfg = Release|x64 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug|Win32.Build.0 = Debug|Win32 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug|x64.Build.0 = Debug|x64 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release|Win32.Build.0 = Release|Win32 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release|x64.Build.0 = Release|x64 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug-DLL|x64.Build.0 = Debug|x64 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release-DLL|Win32.Build.0 = Release|Win32 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release-DLL|x64.ActiveCfg = Release|x64 - {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release-DLL|x64.Build.0 = Release|x64 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug|Win32.ActiveCfg = Debug|Win32 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug|x64.ActiveCfg = Debug|x64 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release|Win32.ActiveCfg = Release|Win32 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release|x64.ActiveCfg = Release|x64 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug|Win32.Build.0 = Debug|Win32 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug|x64.Build.0 = Debug|x64 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release|Win32.Build.0 = Release|Win32 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release|x64.Build.0 = Release|x64 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug-DLL|x64.Build.0 = Debug|x64 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release-DLL|Win32.Build.0 = Release|Win32 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release-DLL|x64.ActiveCfg = Release|x64 - {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release-DLL|x64.Build.0 = Release|x64 - {62B25398-7173-928E-689E-53860B0ACFC4}.Debug|Win32.ActiveCfg = Debug|Win32 - {62B25398-7173-928E-689E-53860B0ACFC4}.Debug|x64.ActiveCfg = Debug|x64 - {62B25398-7173-928E-689E-53860B0ACFC4}.Release|Win32.ActiveCfg = Release|Win32 - {62B25398-7173-928E-689E-53860B0ACFC4}.Release|x64.ActiveCfg = Release|x64 - {62B25398-7173-928E-689E-53860B0ACFC4}.Debug|Win32.Build.0 = Debug|Win32 - {62B25398-7173-928E-689E-53860B0ACFC4}.Debug|x64.Build.0 = Debug|x64 - {62B25398-7173-928E-689E-53860B0ACFC4}.Release|Win32.Build.0 = Release|Win32 - {62B25398-7173-928E-689E-53860B0ACFC4}.Release|x64.Build.0 = Release|x64 - {62B25398-7173-928E-689E-53860B0ACFC4}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {62B25398-7173-928E-689E-53860B0ACFC4}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {62B25398-7173-928E-689E-53860B0ACFC4}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {62B25398-7173-928E-689E-53860B0ACFC4}.Debug-DLL|x64.Build.0 = Debug|x64 - {62B25398-7173-928E-689E-53860B0ACFC4}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {62B25398-7173-928E-689E-53860B0ACFC4}.Release-DLL|Win32.Build.0 = Release|Win32 - {62B25398-7173-928E-689E-53860B0ACFC4}.Release-DLL|x64.ActiveCfg = Release|x64 - {62B25398-7173-928E-689E-53860B0ACFC4}.Release-DLL|x64.Build.0 = Release|x64 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug|Win32.ActiveCfg = Debug|Win32 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug|x64.ActiveCfg = Debug|x64 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release|Win32.ActiveCfg = Release|Win32 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release|x64.ActiveCfg = Release|x64 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug|Win32.Build.0 = Debug|Win32 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug|x64.Build.0 = Debug|x64 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release|Win32.Build.0 = Release|Win32 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release|x64.Build.0 = Release|x64 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug-DLL|x64.Build.0 = Debug|x64 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release-DLL|Win32.Build.0 = Release|Win32 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release-DLL|x64.ActiveCfg = Release|x64 - {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release-DLL|x64.Build.0 = Release|x64 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug|Win32.ActiveCfg = Debug|Win32 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug|x64.ActiveCfg = Debug|x64 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release|Win32.ActiveCfg = Release|Win32 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release|x64.ActiveCfg = Release|x64 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug|Win32.Build.0 = Debug|Win32 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug|x64.Build.0 = Debug|x64 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release|Win32.Build.0 = Release|Win32 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release|x64.Build.0 = Release|x64 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug-DLL|x64.Build.0 = Debug|x64 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release-DLL|Win32.Build.0 = Release|Win32 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release-DLL|x64.ActiveCfg = Release|x64 - {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release-DLL|x64.Build.0 = Release|x64 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug|Win32.ActiveCfg = Debug|Win32 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug|x64.ActiveCfg = Debug|x64 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release|Win32.ActiveCfg = Release|Win32 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release|x64.ActiveCfg = Release|x64 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug|Win32.Build.0 = Debug|Win32 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug|x64.Build.0 = Debug|x64 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release|Win32.Build.0 = Release|Win32 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release|x64.Build.0 = Release|x64 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug-DLL|x64.Build.0 = Debug|x64 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release-DLL|Win32.Build.0 = Release|Win32 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release-DLL|x64.ActiveCfg = Release|x64 - {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release-DLL|x64.Build.0 = Release|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|Win32.ActiveCfg = Debug|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|x64.ActiveCfg = Debug|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|Win32.ActiveCfg = Release|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|x64.ActiveCfg = Release|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|Win32.Build.0 = Debug|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|x64.Build.0 = Debug|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|Win32.Build.0 = Release|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|x64.Build.0 = Release|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|x64.Build.0 = Debug|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|Win32.Build.0 = Release|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|x64.ActiveCfg = Release|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|x64.Build.0 = Release|x64 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug|Win32.ActiveCfg = Debug|Win32 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug|x64.ActiveCfg = Debug|x64 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release|Win32.ActiveCfg = Release|Win32 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release|x64.ActiveCfg = Release|x64 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug|Win32.Build.0 = Debug|Win32 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug|x64.Build.0 = Debug|x64 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release|Win32.Build.0 = Release|Win32 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release|x64.Build.0 = Release|x64 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug-DLL|x64.Build.0 = Debug|x64 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release-DLL|Win32.Build.0 = Release|Win32 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release-DLL|x64.ActiveCfg = Release|x64 - {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release-DLL|x64.Build.0 = Release|x64 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug|Win32.ActiveCfg = Debug|Win32 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug|x64.ActiveCfg = Debug|x64 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release|Win32.ActiveCfg = Release|Win32 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release|x64.ActiveCfg = Release|x64 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug|Win32.Build.0 = Debug|Win32 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug|x64.Build.0 = Debug|x64 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release|Win32.Build.0 = Release|Win32 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release|x64.Build.0 = Release|x64 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug-DLL|x64.Build.0 = Debug|x64 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release-DLL|Win32.Build.0 = Release|Win32 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release-DLL|x64.ActiveCfg = Release|x64 - {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release-DLL|x64.Build.0 = Release|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug|Win32.ActiveCfg = Debug|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug|x64.ActiveCfg = Debug|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Release|Win32.ActiveCfg = Release|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Release|x64.ActiveCfg = Release|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug|Win32.Build.0 = Debug|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug|x64.Build.0 = Debug|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Release|Win32.Build.0 = Release|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Release|x64.Build.0 = Release|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|x64.Build.0 = Debug|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|Win32.Build.0 = Release|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|x64.ActiveCfg = Release|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|x64.Build.0 = Release|x64 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug|Win32.ActiveCfg = Debug|Win32 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug|x64.ActiveCfg = Debug|x64 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release|Win32.ActiveCfg = Release|Win32 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release|x64.ActiveCfg = Release|x64 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug|Win32.Build.0 = Debug|Win32 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug|x64.Build.0 = Debug|x64 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release|Win32.Build.0 = Release|Win32 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release|x64.Build.0 = Release|x64 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug-DLL|x64.Build.0 = Debug|x64 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release-DLL|Win32.Build.0 = Release|Win32 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release-DLL|x64.ActiveCfg = Release|x64 - {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release-DLL|x64.Build.0 = Release|x64 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug|Win32.ActiveCfg = Debug|Win32 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug|x64.ActiveCfg = Debug|x64 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release|Win32.ActiveCfg = Release|Win32 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release|x64.ActiveCfg = Release|x64 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug|Win32.Build.0 = Debug|Win32 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug|x64.Build.0 = Debug|x64 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release|Win32.Build.0 = Release|Win32 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release|x64.Build.0 = Release|x64 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug-DLL|x64.Build.0 = Debug|x64 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release-DLL|Win32.Build.0 = Release|Win32 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release-DLL|x64.ActiveCfg = Release|x64 - {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release-DLL|x64.Build.0 = Release|x64 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug|Win32.ActiveCfg = Debug|Win32 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug|x64.ActiveCfg = Debug|x64 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release|Win32.ActiveCfg = Release|Win32 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release|x64.ActiveCfg = Release|x64 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug|Win32.Build.0 = Debug|Win32 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug|x64.Build.0 = Debug|x64 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release|Win32.Build.0 = Release|Win32 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release|x64.Build.0 = Release|x64 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug-DLL|x64.Build.0 = Debug|x64 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release-DLL|Win32.Build.0 = Release|Win32 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release-DLL|x64.ActiveCfg = Release|x64 - {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release-DLL|x64.Build.0 = Release|x64 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug|Win32.ActiveCfg = Debug|Win32 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug|x64.ActiveCfg = Debug|x64 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release|Win32.ActiveCfg = Release|Win32 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release|x64.ActiveCfg = Release|x64 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug|Win32.Build.0 = Debug|Win32 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug|x64.Build.0 = Debug|x64 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release|Win32.Build.0 = Release|Win32 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release|x64.Build.0 = Release|x64 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug-DLL|x64.Build.0 = Debug|x64 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release-DLL|Win32.Build.0 = Release|Win32 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release-DLL|x64.ActiveCfg = Release|x64 - {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release-DLL|x64.Build.0 = Release|x64 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug|Win32.ActiveCfg = Debug|Win32 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug|x64.ActiveCfg = Debug|x64 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release|Win32.ActiveCfg = Release|Win32 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release|x64.ActiveCfg = Release|x64 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug|Win32.Build.0 = Debug|Win32 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug|x64.Build.0 = Debug|x64 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release|Win32.Build.0 = Release|Win32 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release|x64.Build.0 = Release|x64 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug-DLL|x64.Build.0 = Debug|x64 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release-DLL|Win32.Build.0 = Release|Win32 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release-DLL|x64.ActiveCfg = Release|x64 - {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release-DLL|x64.Build.0 = Release|x64 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug|Win32.ActiveCfg = Debug|Win32 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug|x64.ActiveCfg = Debug|x64 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release|Win32.ActiveCfg = Release|Win32 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release|x64.ActiveCfg = Release|x64 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug|Win32.Build.0 = Debug|Win32 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug|x64.Build.0 = Debug|x64 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release|Win32.Build.0 = Release|Win32 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release|x64.Build.0 = Release|x64 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug-DLL|x64.Build.0 = Debug|x64 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release-DLL|Win32.Build.0 = Release|Win32 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release-DLL|x64.ActiveCfg = Release|x64 - {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release-DLL|x64.Build.0 = Release|x64 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug|Win32.ActiveCfg = Debug|Win32 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug|x64.ActiveCfg = Debug|x64 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release|Win32.ActiveCfg = Release|Win32 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release|x64.ActiveCfg = Release|x64 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug|Win32.Build.0 = Debug|Win32 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug|x64.Build.0 = Debug|x64 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release|Win32.Build.0 = Release|Win32 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release|x64.Build.0 = Release|x64 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug-DLL|x64.Build.0 = Debug|x64 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release-DLL|Win32.Build.0 = Release|Win32 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release-DLL|x64.ActiveCfg = Release|x64 - {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release-DLL|x64.Build.0 = Release|x64 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug|Win32.ActiveCfg = Debug|Win32 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug|x64.ActiveCfg = Debug|x64 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release|Win32.ActiveCfg = Release|Win32 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release|x64.ActiveCfg = Release|x64 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug|Win32.Build.0 = Debug|Win32 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug|x64.Build.0 = Debug|x64 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release|Win32.Build.0 = Release|Win32 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release|x64.Build.0 = Release|x64 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug-DLL|x64.Build.0 = Debug|x64 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release-DLL|Win32.Build.0 = Release|Win32 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release-DLL|x64.ActiveCfg = Release|x64 - {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release-DLL|x64.Build.0 = Release|x64 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug|Win32.ActiveCfg = Debug|Win32 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug|x64.ActiveCfg = Debug|x64 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release|Win32.ActiveCfg = Release|Win32 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release|x64.ActiveCfg = Release|x64 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug|Win32.Build.0 = Debug|Win32 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug|x64.Build.0 = Debug|x64 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release|Win32.Build.0 = Release|Win32 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release|x64.Build.0 = Release|x64 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug-DLL|x64.Build.0 = Debug|x64 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release-DLL|Win32.Build.0 = Release|Win32 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release-DLL|x64.ActiveCfg = Release|x64 - {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release-DLL|x64.Build.0 = Release|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|Win32.ActiveCfg = Debug|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|x64.ActiveCfg = Debug|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|Win32.ActiveCfg = Release|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|x64.ActiveCfg = Release|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|Win32.Build.0 = Debug|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|x64.Build.0 = Debug|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|Win32.Build.0 = Release|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|x64.Build.0 = Release|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|x64.Build.0 = Debug|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|Win32.Build.0 = Release|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|x64.ActiveCfg = Release|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|x64.Build.0 = Release|x64 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug|Win32.ActiveCfg = Debug|Win32 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug|x64.ActiveCfg = Debug|x64 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release|Win32.ActiveCfg = Release|Win32 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release|x64.ActiveCfg = Release|x64 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug|Win32.Build.0 = Debug|Win32 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug|x64.Build.0 = Debug|x64 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release|Win32.Build.0 = Release|Win32 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release|x64.Build.0 = Release|x64 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug-DLL|x64.Build.0 = Debug|x64 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release-DLL|Win32.Build.0 = Release|Win32 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release-DLL|x64.ActiveCfg = Release|x64 - {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release-DLL|x64.Build.0 = Release|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|Win32.ActiveCfg = Debug|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|x64.ActiveCfg = Debug|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|Win32.ActiveCfg = Release|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|x64.ActiveCfg = Release|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|Win32.Build.0 = Debug|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|x64.Build.0 = Debug|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|Win32.Build.0 = Release|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|x64.Build.0 = Release|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|x64.Build.0 = Debug|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|Win32.Build.0 = Release|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|x64.ActiveCfg = Release|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/vsprojects/buildtests_core.sln b/vsprojects/buildtests_core.sln new file mode 100644 index 0000000000000..c28f3ba39c359 --- /dev/null +++ b/vsprojects/buildtests_core.sln @@ -0,0 +1,3602 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.21005.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "alarm_test", "vcxproj\test\alarm_test\alarm_test.vcxproj", "{AFD362D7-0E2A-E700-1F27-9D90F76166DF}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "algorithm_test", "vcxproj\test\algorithm_test\algorithm_test.vcxproj", "{216FDCB2-9D93-0D86-F0F1-12E16312A191}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "alloc_test", "vcxproj\test\alloc_test\alloc_test.vcxproj", "{DD37D527-9DFF-1F53-B97F-50CF80AE0650}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "alpn_test", "vcxproj\test\alpn_test\alpn_test.vcxproj", "{5BAAE7EA-A972-DD80-F190-29B9E3110BB3}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bad_client_test", "vcxproj\test/bad_client\bad_client_test\bad_client_test.vcxproj", "{BA67B418-B699-E41A-9CC4-0279C49481A5}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bad_server_response_test", "vcxproj\test\bad_server_response_test\bad_server_response_test.vcxproj", "{2B73DA77-EF66-362C-24AD-317E3B8B28C1}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {E3110C46-A148-FF65-08FD-3324829BE7FE} = {E3110C46-A148-FF65-08FD-3324829BE7FE} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "badreq_bad_client_test", "vcxproj\test\badreq_bad_client_test\badreq_bad_client_test.vcxproj", "{8A811C28-E04E-A444-E4C1-7588DF5B90AE}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bin_decoder_test", "vcxproj\test\bin_decoder_test\bin_decoder_test.vcxproj", "{6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bin_encoder_test", "vcxproj\test\bin_encoder_test\bin_encoder_test.vcxproj", "{D5C70922-D68E-0E9D-9988-995E0F9A79AE}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "census_context_test", "vcxproj\test\census_context_test\census_context_test.vcxproj", "{5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "census_resource_test", "vcxproj\test\census_resource_test\census_resource_test.vcxproj", "{18CF99B5-3C61-EC3D-9509-3C95334C3B88}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "channel_create_test", "vcxproj\test\channel_create_test\channel_create_test.vcxproj", "{AFC88484-3A2E-32BC-25B2-23DF741D4F3D}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chttp2_hpack_encoder_test", "vcxproj\test\chttp2_hpack_encoder_test\chttp2_hpack_encoder_test.vcxproj", "{19F92966-3B0E-4FF8-CD7C-435D353E079E}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chttp2_status_conversion_test", "vcxproj\test\chttp2_status_conversion_test\chttp2_status_conversion_test.vcxproj", "{ABAD3D2C-078C-7850-B413-3352A07C6176}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chttp2_stream_map_test", "vcxproj\test\chttp2_stream_map_test\chttp2_stream_map_test.vcxproj", "{12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chttp2_varint_test", "vcxproj\test\chttp2_varint_test\chttp2_varint_test.vcxproj", "{6B29F634-1277-74B8-47F6-78756190BA7B}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "compression_test", "vcxproj\test\compression_test\compression_test.vcxproj", "{5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "concurrent_connectivity_test", "vcxproj\test\concurrent_connectivity_test\concurrent_connectivity_test.vcxproj", "{391B366C-D916-45AA-3FE5-67363A46193B}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "connection_prefix_bad_client_test", "vcxproj\test\connection_prefix_bad_client_test\connection_prefix_bad_client_test.vcxproj", "{AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dns_resolver_connectivity_test", "vcxproj\test\dns_resolver_connectivity_test\dns_resolver_connectivity_test.vcxproj", "{F7B6FE68-E847-D7CA-4062-E737E542BCC3}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dns_resolver_test", "vcxproj\test\dns_resolver_test\dns_resolver_test.vcxproj", "{D06E10DC-272A-5203-7066-2698A247DF26}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "end2end_nosec_tests", "vcxproj\test/end2end/tests\end2end_nosec_tests\end2end_nosec_tests.vcxproj", "{47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "end2end_tests", "vcxproj\test/end2end/tests\end2end_tests\end2end_tests.vcxproj", "{1F1F9084-2A93-B80E-364F-5754894AFAB4}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "endpoint_pair_test", "vcxproj\test\endpoint_pair_test\endpoint_pair_test.vcxproj", "{37166D50-3AAA-1156-19F6-5901DFA55172}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fling_client", "vcxproj\test\fling_client\fling_client.vcxproj", "{0647D598-9611-F659-EA36-DF995C9F736B}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fling_server", "vcxproj\test\fling_server\fling_server.vcxproj", "{5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gen_hpack_tables", "vcxproj\.\gen_hpack_tables\gen_hpack_tables.vcxproj", "{FCDEA4C7-7F26-05DB-D08F-A08F499026E6}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gen_legal_metadata_characters", "vcxproj\.\gen_legal_metadata_characters\gen_legal_metadata_characters.vcxproj", "{A635DE99-B131-CA00-2D3B-8691D60B76C2}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr", "vcxproj\.\gpr\gpr.vcxproj", "{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_avl_test", "vcxproj\test\gpr_avl_test\gpr_avl_test.vcxproj", "{144D8CFF-2737-A18A-DCFD-01603533D63F}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_backoff_test", "vcxproj\test\gpr_backoff_test\gpr_backoff_test.vcxproj", "{889F570D-E046-BD52-9E4C-B4CD13DFE2DB}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_cmdline_test", "vcxproj\test\gpr_cmdline_test\gpr_cmdline_test.vcxproj", "{10668A5D-65CD-F530-22D0-747B395B4C26}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_cpu_test", "vcxproj\test\gpr_cpu_test\gpr_cpu_test.vcxproj", "{0CB6DF66-4346-CCD0-C94B-318321C46501}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_env_test", "vcxproj\test\gpr_env_test\gpr_env_test.vcxproj", "{07149650-E8AF-B3D8-9D5B-BC34DC909DB8}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_histogram_test", "vcxproj\test\gpr_histogram_test\gpr_histogram_test.vcxproj", "{EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_host_port_test", "vcxproj\test\gpr_host_port_test\gpr_host_port_test.vcxproj", "{64728265-92F9-103E-6720-8935385458DF}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_log_test", "vcxproj\test\gpr_log_test\gpr_log_test.vcxproj", "{38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_slice_buffer_test", "vcxproj\test\gpr_slice_buffer_test\gpr_slice_buffer_test.vcxproj", "{E679773D-DE89-AEBB-9787-59019989B825}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_slice_test", "vcxproj\test\gpr_slice_test\gpr_slice_test.vcxproj", "{7F2D1623-AF04-DD98-BCE6-61ADB9A52366}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_stack_lockfree_test", "vcxproj\test\gpr_stack_lockfree_test\gpr_stack_lockfree_test.vcxproj", "{AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_string_test", "vcxproj\test\gpr_string_test\gpr_string_test.vcxproj", "{B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_sync_test", "vcxproj\test\gpr_sync_test\gpr_sync_test.vcxproj", "{98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_test_util", "vcxproj\.\gpr_test_util\gpr_test_util.vcxproj", "{EAB0A629-17A9-44DB-B5FF-E91A721FE037}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_thd_test", "vcxproj\test\gpr_thd_test\gpr_thd_test.vcxproj", "{459B2FAC-5FC8-1F47-8053-66D46EA39A49}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_time_test", "vcxproj\test\gpr_time_test\gpr_time_test.vcxproj", "{9779680E-3218-1528-E922-605871A20C3F}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_tls_test", "vcxproj\test\gpr_tls_test\gpr_tls_test.vcxproj", "{F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_useful_test", "vcxproj\test\gpr_useful_test\gpr_useful_test.vcxproj", "{40B790A8-BB01-9F12-5309-C0BEA97C75BC}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc", "vcxproj\.\grpc\grpc.vcxproj", "{29D16885-7228-4C31-81ED-5F9187C7F2A9}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_auth_context_test", "vcxproj\test\grpc_auth_context_test\grpc_auth_context_test.vcxproj", "{C65A4336-92D6-D6A0-EB86-E3AA425222D0}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_b64_test", "vcxproj\test\grpc_b64_test\grpc_b64_test.vcxproj", "{A19FD81D-DF19-B8A4-4A8A-6967217FEC85}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_byte_buffer_reader_test", "vcxproj\test\grpc_byte_buffer_reader_test\grpc_byte_buffer_reader_test.vcxproj", "{82124768-C986-6C10-8BCC-B255B7C84722}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_channel_args_test", "vcxproj\test\grpc_channel_args_test\grpc_channel_args_test.vcxproj", "{58FB566F-DCD5-3ECE-233E-C1FD13CA2185}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_channel_stack_test", "vcxproj\test\grpc_channel_stack_test\grpc_channel_stack_test.vcxproj", "{E3CEAFE1-8CE9-61F6-A720-E26662246B1F}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_completion_queue_test", "vcxproj\test\grpc_completion_queue_test\grpc_completion_queue_test.vcxproj", "{16CDF507-EB91-D76C-F0A7-A914ABFD8C17}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_create_jwt", "vcxproj\.\grpc_create_jwt\grpc_create_jwt.vcxproj", "{77971F8D-F583-3E77-0E3C-6C1FB6B1749C}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_credentials_test", "vcxproj\test\grpc_credentials_test\grpc_credentials_test.vcxproj", "{8305CC95-25CD-E15F-EA1A-11626FCF5AF9}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_fetch_oauth2", "vcxproj\test\grpc_fetch_oauth2\grpc_fetch_oauth2.vcxproj", "{43722E98-54EC-5058-3DAC-327F45964971}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_invalid_channel_args_test", "vcxproj\test\grpc_invalid_channel_args_test\grpc_invalid_channel_args_test.vcxproj", "{B50FD4F7-5628-9BEC-81B9-EB79A0A45577}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_jwt_verifier_test", "vcxproj\test\grpc_jwt_verifier_test\grpc_jwt_verifier_test.vcxproj", "{60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_print_google_default_creds_token", "vcxproj\.\grpc_print_google_default_creds_token\grpc_print_google_default_creds_token.vcxproj", "{C002965C-8457-CCE5-B1BA-E748FF9A11B6}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_security_connector_test", "vcxproj\test\grpc_security_connector_test\grpc_security_connector_test.vcxproj", "{74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util", "vcxproj\.\grpc_test_util\grpc_test_util.vcxproj", "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util_unsecure", "vcxproj\.\grpc_test_util_unsecure\grpc_test_util_unsecure.vcxproj", "{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_unsecure", "vcxproj\.\grpc_unsecure\grpc_unsecure.vcxproj", "{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_verify_jwt", "vcxproj\.\grpc_verify_jwt\grpc_verify_jwt.vcxproj", "{02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_census_nosec_test", "vcxproj\test/end2end/fixtures\h2_census_nosec_test\h2_census_nosec_test.vcxproj", "{A8039D43-910E-4248-2A22-74366E8C4DCD}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_census_test", "vcxproj\test/end2end/fixtures\h2_census_test\h2_census_test.vcxproj", "{9E4180B0-81ED-7305-333F-653CE9AB819B}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_compress_nosec_test", "vcxproj\test/end2end/fixtures\h2_compress_nosec_test\h2_compress_nosec_test.vcxproj", "{42826C1F-DCF0-918E-D247-0376DC1EFD50}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_compress_test", "vcxproj\test/end2end/fixtures\h2_compress_test\h2_compress_test.vcxproj", "{C7E516E9-B80F-4BC1-A617-095FC6E14BC9}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_fakesec_test", "vcxproj\test/end2end/fixtures\h2_fakesec_test\h2_fakesec_test.vcxproj", "{0E980562-3AA0-91B1-C590-85C9A899BE44}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full+trace_nosec_test", "vcxproj\test/end2end/fixtures\h2_full+trace_nosec_test\h2_full+trace_nosec_test.vcxproj", "{DFD51943-4906-8051-7D66-6A7D50E0D87E}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full+trace_test", "vcxproj\test/end2end/fixtures\h2_full+trace_test\h2_full+trace_test.vcxproj", "{16C713C6-062E-F71F-A44C-52DC35494B27}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full_nosec_test", "vcxproj\test/end2end/fixtures\h2_full_nosec_test\h2_full_nosec_test.vcxproj", "{345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full_test", "vcxproj\test/end2end/fixtures\h2_full_test\h2_full_test.vcxproj", "{EEBEFA75-C625-C823-FE96-9AD64887B57D}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_load_reporting_nosec_test", "vcxproj\test/end2end/fixtures\h2_load_reporting_nosec_test\h2_load_reporting_nosec_test.vcxproj", "{4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_load_reporting_test", "vcxproj\test/end2end/fixtures\h2_load_reporting_test\h2_load_reporting_test.vcxproj", "{F0A06723-2E3E-FE97-34B7-A2BA26D98B83}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_oauth2_test", "vcxproj\test/end2end/fixtures\h2_oauth2_test\h2_oauth2_test.vcxproj", "{0F761FF3-342A-C429-711F-F76181BAA52D}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_proxy_nosec_test", "vcxproj\test/end2end/fixtures\h2_proxy_nosec_test\h2_proxy_nosec_test.vcxproj", "{6EC72045-98CB-8A8D-9788-BC94209E23C8}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_proxy_test", "vcxproj\test/end2end/fixtures\h2_proxy_test\h2_proxy_test.vcxproj", "{5753B14F-0C69-2E56-6264-5541B2DCDF67}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair+trace_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair+trace_nosec_test\h2_sockpair+trace_nosec_test.vcxproj", "{962380E0-1C06-8917-8F7F-1A02E0E93BE7}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair+trace_test", "vcxproj\test/end2end/fixtures\h2_sockpair+trace_test\h2_sockpair+trace_test.vcxproj", "{82878169-5A89-FD1E-31A6-E9F07BB92418}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_1byte_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair_1byte_nosec_test\h2_sockpair_1byte_nosec_test.vcxproj", "{485E6713-487D-F274-BDE7-5D29300C93FE}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_1byte_test", "vcxproj\test/end2end/fixtures\h2_sockpair_1byte_test\h2_sockpair_1byte_test.vcxproj", "{03A65361-E139-5344-1868-8E8FC269C6E6}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair_nosec_test\h2_sockpair_nosec_test.vcxproj", "{B3F26242-A43D-4F77-A84C-0F478741A061}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_test", "vcxproj\test/end2end/fixtures\h2_sockpair_test\h2_sockpair_test.vcxproj", "{67458AF8-A122-7740-F195-C2E74A106FAB}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_cert_test", "vcxproj\test/end2end/fixtures\h2_ssl_cert_test\h2_ssl_cert_test.vcxproj", "{B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_proxy_test", "vcxproj\test/end2end/fixtures\h2_ssl_proxy_test\h2_ssl_proxy_test.vcxproj", "{A9092608-E45E-AC96-6533-A6E7DD98211D}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_test", "vcxproj\test/end2end/fixtures\h2_ssl_test\h2_ssl_test.vcxproj", "{EA78D290-4098-FF04-C647-013F6B81E4E7}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "head_of_line_blocking_bad_client_test", "vcxproj\test\head_of_line_blocking_bad_client_test\head_of_line_blocking_bad_client_test.vcxproj", "{23DF0572-DBF1-08DA-8EAD-8508354C90A4}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "headers_bad_client_test", "vcxproj\test\headers_bad_client_test\headers_bad_client_test.vcxproj", "{7819A11E-607E-F0C0-FC47-C704CF7D818C}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hpack_parser_test", "vcxproj\test\hpack_parser_test\hpack_parser_test.vcxproj", "{4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hpack_table_test", "vcxproj\test\hpack_table_test\hpack_table_test.vcxproj", "{FF2CEE6D-850F-E22C-53A0-8C5912B14B20}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "http_parser_test", "vcxproj\test\http_parser_test\http_parser_test.vcxproj", "{49D7E690-BDA1-5236-1ABF-3D81C1559DF7}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "httpcli_format_request_test", "vcxproj\test\httpcli_format_request_test\httpcli_format_request_test.vcxproj", "{A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "init_test", "vcxproj\test\init_test\init_test.vcxproj", "{117CA7AD-C42B-9217-6C95-42A801777BC5}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "initial_settings_frame_bad_client_test", "vcxproj\test\initial_settings_frame_bad_client_test\initial_settings_frame_bad_client_test.vcxproj", "{6756895E-05BF-8CC7-58F2-868DF0C0300C}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "internal_api_canary_iomgr_test", "vcxproj\test\internal_api_canary_iomgr_test\internal_api_canary_iomgr_test.vcxproj", "{28AE726B-1BFB-202B-48D2-41AF9D09B9EA}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "internal_api_canary_support_test", "vcxproj\test\internal_api_canary_support_test\internal_api_canary_support_test.vcxproj", "{D53575C6-713C-E6E3-FD74-E65F20916498}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "internal_api_canary_transport_test", "vcxproj\test\internal_api_canary_transport_test\internal_api_canary_transport_test.vcxproj", "{ED24E700-964E-B426-6A6A-1944E2EF7BCB}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "invalid_call_argument_test", "vcxproj\test\invalid_call_argument_test\invalid_call_argument_test.vcxproj", "{C32CA8A3-58E6-8EB9-B72F-C295547D36A6}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "json_rewrite", "vcxproj\test\json_rewrite\json_rewrite.vcxproj", "{57B36FF6-25B1-2475-D07A-2E9097E2C792}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "json_rewrite_test", "vcxproj\test\json_rewrite_test\json_rewrite_test.vcxproj", "{DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "json_stream_error_test", "vcxproj\test\json_stream_error_test\json_stream_error_test.vcxproj", "{8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "json_test", "vcxproj\test\json_test\json_test.vcxproj", "{05230AC7-4529-E6CF-0506-A063B5FF6642}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lame_client_test", "vcxproj\test\lame_client_test\lame_client_test.vcxproj", "{6E60B394-E17D-658A-6648-A2E6E183226F}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "large_metadata_bad_client_test", "vcxproj\test\large_metadata_bad_client_test\large_metadata_bad_client_test.vcxproj", "{B706A9EC-7982-0DBC-495D-07B165F6CF56}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lb_policies_test", "vcxproj\test\lb_policies_test\lb_policies_test.vcxproj", "{62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "load_file_test", "vcxproj\test\load_file_test\load_file_test.vcxproj", "{DC76C089-0D55-DF19-7CCA-49DAE5D29E49}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "message_compress_test", "vcxproj\test\message_compress_test\message_compress_test.vcxproj", "{07170557-CCB0-D23C-8018-C2909D115DF9}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mlog_test", "vcxproj\test\mlog_test\mlog_test.vcxproj", "{9345E329-80F3-DED4-FDC3-BF63FCEA2C03}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multiple_server_queues_test", "vcxproj\test\multiple_server_queues_test\multiple_server_queues_test.vcxproj", "{88AF688E-E43C-5E20-6966-CF559F597D82}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "murmur_hash_test", "vcxproj\test\murmur_hash_test\murmur_hash_test.vcxproj", "{0B136077-8522-3C25-7704-1C386C9FDCD5}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "no_server_test", "vcxproj\test\no_server_test\no_server_test.vcxproj", "{A66AC548-E2B9-74CD-293C-43526EE51DCE}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "resolve_address_test", "vcxproj\test\resolve_address_test\resolve_address_test.vcxproj", "{8279AF6C-9584-67F3-1547-B204864FCCA7}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "secure_channel_create_test", "vcxproj\test\secure_channel_create_test\secure_channel_create_test.vcxproj", "{62B25398-7173-928E-689E-53860B0ACFC4}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "secure_endpoint_test", "vcxproj\test\secure_endpoint_test\secure_endpoint_test.vcxproj", "{A7747106-A6BC-62D4-2A21-04A4F0CC2683}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sequential_connectivity_test", "vcxproj\test\sequential_connectivity_test\sequential_connectivity_test.vcxproj", "{F164F666-C866-D607-E1DF-E7BF3CF98255}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server_chttp2_test", "vcxproj\test\server_chttp2_test\server_chttp2_test.vcxproj", "{BF9F909B-8266-6AAC-A81B-05F8210AA8CA}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server_registered_method_bad_client_test", "vcxproj\test\server_registered_method_bad_client_test\server_registered_method_bad_client_test.vcxproj", "{B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server_test", "vcxproj\test\server_test\server_test.vcxproj", "{E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "set_initial_connect_string_test", "vcxproj\test\set_initial_connect_string_test\set_initial_connect_string_test.vcxproj", "{4A48E5A5-2E69-ED6D-063C-C297180A54D0}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {E3110C46-A148-FF65-08FD-3324829BE7FE} = {E3110C46-A148-FF65-08FD-3324829BE7FE} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_request_bad_client_test", "vcxproj\test\simple_request_bad_client_test\simple_request_bad_client_test.vcxproj", "{63422647-93FA-46BB-4827-95473D9D503C}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sockaddr_resolver_test", "vcxproj\test\sockaddr_resolver_test\sockaddr_resolver_test.vcxproj", "{9889A80C-F1D7-99C9-FE7E-657724BEDC62}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sockaddr_utils_test", "vcxproj\test\sockaddr_utils_test\sockaddr_utils_test.vcxproj", "{529771F0-10B0-9B1A-1E7E-8A8E01870348}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_tcp_server", "vcxproj\.\test_tcp_server\test_tcp_server.vcxproj", "{E3110C46-A148-FF65-08FD-3324829BE7FE}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "time_averaged_stats_test", "vcxproj\test\time_averaged_stats_test\time_averaged_stats_test.vcxproj", "{D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "timeout_encoding_test", "vcxproj\test\timeout_encoding_test\timeout_encoding_test.vcxproj", "{EA073C36-A527-F749-AD4A-243A38B9BFF5}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "timer_heap_test", "vcxproj\test\timer_heap_test\timer_heap_test.vcxproj", "{A2110C60-E75A-F76E-205E-1836F86C4D53}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "timer_list_test", "vcxproj\test\timer_list_test\timer_list_test.vcxproj", "{C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "transport_connectivity_state_test", "vcxproj\test\transport_connectivity_state_test\transport_connectivity_state_test.vcxproj", "{659121F6-1639-AC6B-053E-9D17A8B94D56}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "transport_metadata_test", "vcxproj\test\transport_metadata_test\transport_metadata_test.vcxproj", "{89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unknown_frame_bad_client_test", "vcxproj\test\unknown_frame_bad_client_test\unknown_frame_bad_client_test.vcxproj", "{9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uri_parser_test", "vcxproj\test\uri_parser_test\uri_parser_test.vcxproj", "{E35C24A0-8725-E773-FE78-CC0C67071EF7}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "window_overflow_bad_client_test", "vcxproj\test\window_overflow_bad_client_test\window_overflow_bad_client_test.vcxproj", "{658D7F7F-9628-6545-743C-D949301DC5DC}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Debug-DLL|Win32 = Debug-DLL|Win32 + Debug-DLL|x64 = Debug-DLL|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + Release-DLL|Win32 = Release-DLL|Win32 + Release-DLL|x64 = Release-DLL|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug|Win32.ActiveCfg = Debug|Win32 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug|x64.ActiveCfg = Debug|x64 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release|Win32.ActiveCfg = Release|Win32 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release|x64.ActiveCfg = Release|x64 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug|Win32.Build.0 = Debug|Win32 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug|x64.Build.0 = Debug|x64 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release|Win32.Build.0 = Release|Win32 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release|x64.Build.0 = Release|x64 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Debug-DLL|x64.Build.0 = Debug|x64 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release-DLL|Win32.Build.0 = Release|Win32 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release-DLL|x64.ActiveCfg = Release|x64 + {AFD362D7-0E2A-E700-1F27-9D90F76166DF}.Release-DLL|x64.Build.0 = Release|x64 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug|Win32.ActiveCfg = Debug|Win32 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug|x64.ActiveCfg = Debug|x64 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release|Win32.ActiveCfg = Release|Win32 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release|x64.ActiveCfg = Release|x64 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug|Win32.Build.0 = Debug|Win32 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug|x64.Build.0 = Debug|x64 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release|Win32.Build.0 = Release|Win32 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release|x64.Build.0 = Release|x64 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug-DLL|x64.Build.0 = Debug|x64 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release-DLL|Win32.Build.0 = Release|Win32 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release-DLL|x64.ActiveCfg = Release|x64 + {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release-DLL|x64.Build.0 = Release|x64 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug|x64.ActiveCfg = Debug|x64 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release|Win32.ActiveCfg = Release|Win32 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release|x64.ActiveCfg = Release|x64 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug|Win32.Build.0 = Debug|Win32 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug|x64.Build.0 = Debug|x64 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release|Win32.Build.0 = Release|Win32 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release|x64.Build.0 = Release|x64 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Debug-DLL|x64.Build.0 = Debug|x64 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release-DLL|Win32.Build.0 = Release|Win32 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release-DLL|x64.ActiveCfg = Release|x64 + {DD37D527-9DFF-1F53-B97F-50CF80AE0650}.Release-DLL|x64.Build.0 = Release|x64 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug|Win32.ActiveCfg = Debug|Win32 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug|x64.ActiveCfg = Debug|x64 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release|Win32.ActiveCfg = Release|Win32 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release|x64.ActiveCfg = Release|x64 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug|Win32.Build.0 = Debug|Win32 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug|x64.Build.0 = Debug|x64 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release|Win32.Build.0 = Release|Win32 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release|x64.Build.0 = Release|x64 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Debug-DLL|x64.Build.0 = Debug|x64 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release-DLL|Win32.Build.0 = Release|Win32 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release-DLL|x64.ActiveCfg = Release|x64 + {5BAAE7EA-A972-DD80-F190-29B9E3110BB3}.Release-DLL|x64.Build.0 = Release|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|Win32.ActiveCfg = Debug|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|x64.ActiveCfg = Debug|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|Win32.ActiveCfg = Release|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|x64.ActiveCfg = Release|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|Win32.Build.0 = Debug|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|x64.Build.0 = Debug|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|Win32.Build.0 = Release|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|x64.Build.0 = Release|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|x64.Build.0 = Debug|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|Win32.Build.0 = Release|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|x64.ActiveCfg = Release|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|x64.Build.0 = Release|x64 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug|Win32.ActiveCfg = Debug|Win32 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug|x64.ActiveCfg = Debug|x64 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release|Win32.ActiveCfg = Release|Win32 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release|x64.ActiveCfg = Release|x64 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug|Win32.Build.0 = Debug|Win32 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug|x64.Build.0 = Debug|x64 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release|Win32.Build.0 = Release|Win32 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release|x64.Build.0 = Release|x64 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Debug-DLL|x64.Build.0 = Debug|x64 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release-DLL|Win32.Build.0 = Release|Win32 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release-DLL|x64.ActiveCfg = Release|x64 + {2B73DA77-EF66-362C-24AD-317E3B8B28C1}.Release-DLL|x64.Build.0 = Release|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|Win32.ActiveCfg = Debug|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|x64.ActiveCfg = Debug|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|Win32.ActiveCfg = Release|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|x64.ActiveCfg = Release|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|Win32.Build.0 = Debug|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|x64.Build.0 = Debug|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|Win32.Build.0 = Release|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|x64.Build.0 = Release|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|x64.Build.0 = Debug|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|Win32.Build.0 = Release|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|x64.ActiveCfg = Release|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|x64.Build.0 = Release|x64 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug|Win32.ActiveCfg = Debug|Win32 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug|x64.ActiveCfg = Debug|x64 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release|Win32.ActiveCfg = Release|Win32 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release|x64.ActiveCfg = Release|x64 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug|Win32.Build.0 = Debug|Win32 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug|x64.Build.0 = Debug|x64 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release|Win32.Build.0 = Release|Win32 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release|x64.Build.0 = Release|x64 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Debug-DLL|x64.Build.0 = Debug|x64 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release-DLL|Win32.Build.0 = Release|Win32 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release-DLL|x64.ActiveCfg = Release|x64 + {6BFAC6BA-3B9D-E8F5-BE35-91E8EFB9E25B}.Release-DLL|x64.Build.0 = Release|x64 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug|Win32.ActiveCfg = Debug|Win32 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug|x64.ActiveCfg = Debug|x64 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release|Win32.ActiveCfg = Release|Win32 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release|x64.ActiveCfg = Release|x64 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug|Win32.Build.0 = Debug|Win32 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug|x64.Build.0 = Debug|x64 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release|Win32.Build.0 = Release|Win32 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release|x64.Build.0 = Release|x64 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Debug-DLL|x64.Build.0 = Debug|x64 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release-DLL|Win32.Build.0 = Release|Win32 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release-DLL|x64.ActiveCfg = Release|x64 + {D5C70922-D68E-0E9D-9988-995E0F9A79AE}.Release-DLL|x64.Build.0 = Release|x64 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug|Win32.ActiveCfg = Debug|Win32 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug|x64.ActiveCfg = Debug|x64 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release|Win32.ActiveCfg = Release|Win32 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release|x64.ActiveCfg = Release|x64 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug|Win32.Build.0 = Debug|Win32 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug|x64.Build.0 = Debug|x64 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release|Win32.Build.0 = Release|Win32 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release|x64.Build.0 = Release|x64 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Debug-DLL|x64.Build.0 = Debug|x64 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release-DLL|Win32.Build.0 = Release|Win32 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release-DLL|x64.ActiveCfg = Release|x64 + {5C1CFC2D-AF3C-D7CB-BA74-D267E91CBC73}.Release-DLL|x64.Build.0 = Release|x64 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug|Win32.ActiveCfg = Debug|Win32 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug|x64.ActiveCfg = Debug|x64 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release|Win32.ActiveCfg = Release|Win32 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release|x64.ActiveCfg = Release|x64 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug|Win32.Build.0 = Debug|Win32 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug|x64.Build.0 = Debug|x64 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release|Win32.Build.0 = Release|Win32 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release|x64.Build.0 = Release|x64 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Debug-DLL|x64.Build.0 = Debug|x64 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release-DLL|Win32.Build.0 = Release|Win32 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release-DLL|x64.ActiveCfg = Release|x64 + {18CF99B5-3C61-EC3D-9509-3C95334C3B88}.Release-DLL|x64.Build.0 = Release|x64 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug|Win32.ActiveCfg = Debug|Win32 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug|x64.ActiveCfg = Debug|x64 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release|Win32.ActiveCfg = Release|Win32 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release|x64.ActiveCfg = Release|x64 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug|Win32.Build.0 = Debug|Win32 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug|x64.Build.0 = Debug|x64 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release|Win32.Build.0 = Release|Win32 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release|x64.Build.0 = Release|x64 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Debug-DLL|x64.Build.0 = Debug|x64 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release-DLL|Win32.Build.0 = Release|Win32 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release-DLL|x64.ActiveCfg = Release|x64 + {AFC88484-3A2E-32BC-25B2-23DF741D4F3D}.Release-DLL|x64.Build.0 = Release|x64 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug|Win32.ActiveCfg = Debug|Win32 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug|x64.ActiveCfg = Debug|x64 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release|Win32.ActiveCfg = Release|Win32 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release|x64.ActiveCfg = Release|x64 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug|Win32.Build.0 = Debug|Win32 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug|x64.Build.0 = Debug|x64 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release|Win32.Build.0 = Release|Win32 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release|x64.Build.0 = Release|x64 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Debug-DLL|x64.Build.0 = Debug|x64 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release-DLL|Win32.Build.0 = Release|Win32 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release-DLL|x64.ActiveCfg = Release|x64 + {19F92966-3B0E-4FF8-CD7C-435D353E079E}.Release-DLL|x64.Build.0 = Release|x64 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug|Win32.ActiveCfg = Debug|Win32 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug|x64.ActiveCfg = Debug|x64 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release|Win32.ActiveCfg = Release|Win32 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release|x64.ActiveCfg = Release|x64 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug|Win32.Build.0 = Debug|Win32 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug|x64.Build.0 = Debug|x64 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release|Win32.Build.0 = Release|Win32 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release|x64.Build.0 = Release|x64 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Debug-DLL|x64.Build.0 = Debug|x64 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release-DLL|Win32.Build.0 = Release|Win32 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release-DLL|x64.ActiveCfg = Release|x64 + {ABAD3D2C-078C-7850-B413-3352A07C6176}.Release-DLL|x64.Build.0 = Release|x64 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug|Win32.ActiveCfg = Debug|Win32 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug|x64.ActiveCfg = Debug|x64 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release|Win32.ActiveCfg = Release|Win32 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release|x64.ActiveCfg = Release|x64 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug|Win32.Build.0 = Debug|Win32 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug|x64.Build.0 = Debug|x64 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release|Win32.Build.0 = Release|Win32 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release|x64.Build.0 = Release|x64 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Debug-DLL|x64.Build.0 = Debug|x64 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release-DLL|Win32.Build.0 = Release|Win32 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release-DLL|x64.ActiveCfg = Release|x64 + {12F9C5F8-1BDA-305F-5A0B-B0F9CC7AA7A4}.Release-DLL|x64.Build.0 = Release|x64 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug|Win32.ActiveCfg = Debug|Win32 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug|x64.ActiveCfg = Debug|x64 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Release|Win32.ActiveCfg = Release|Win32 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Release|x64.ActiveCfg = Release|x64 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug|Win32.Build.0 = Debug|Win32 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug|x64.Build.0 = Debug|x64 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Release|Win32.Build.0 = Release|Win32 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Release|x64.Build.0 = Release|x64 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Debug-DLL|x64.Build.0 = Debug|x64 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Release-DLL|Win32.Build.0 = Release|Win32 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Release-DLL|x64.ActiveCfg = Release|x64 + {6B29F634-1277-74B8-47F6-78756190BA7B}.Release-DLL|x64.Build.0 = Release|x64 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug|Win32.ActiveCfg = Debug|Win32 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug|x64.ActiveCfg = Debug|x64 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release|Win32.ActiveCfg = Release|Win32 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release|x64.ActiveCfg = Release|x64 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug|Win32.Build.0 = Debug|Win32 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug|x64.Build.0 = Debug|x64 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release|Win32.Build.0 = Release|Win32 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release|x64.Build.0 = Release|x64 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Debug-DLL|x64.Build.0 = Debug|x64 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release-DLL|Win32.Build.0 = Release|Win32 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release-DLL|x64.ActiveCfg = Release|x64 + {5AFE7D17-A4A7-D68E-4491-CBC852F9D2A0}.Release-DLL|x64.Build.0 = Release|x64 + {391B366C-D916-45AA-3FE5-67363A46193B}.Debug|Win32.ActiveCfg = Debug|Win32 + {391B366C-D916-45AA-3FE5-67363A46193B}.Debug|x64.ActiveCfg = Debug|x64 + {391B366C-D916-45AA-3FE5-67363A46193B}.Release|Win32.ActiveCfg = Release|Win32 + {391B366C-D916-45AA-3FE5-67363A46193B}.Release|x64.ActiveCfg = Release|x64 + {391B366C-D916-45AA-3FE5-67363A46193B}.Debug|Win32.Build.0 = Debug|Win32 + {391B366C-D916-45AA-3FE5-67363A46193B}.Debug|x64.Build.0 = Debug|x64 + {391B366C-D916-45AA-3FE5-67363A46193B}.Release|Win32.Build.0 = Release|Win32 + {391B366C-D916-45AA-3FE5-67363A46193B}.Release|x64.Build.0 = Release|x64 + {391B366C-D916-45AA-3FE5-67363A46193B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {391B366C-D916-45AA-3FE5-67363A46193B}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {391B366C-D916-45AA-3FE5-67363A46193B}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {391B366C-D916-45AA-3FE5-67363A46193B}.Debug-DLL|x64.Build.0 = Debug|x64 + {391B366C-D916-45AA-3FE5-67363A46193B}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {391B366C-D916-45AA-3FE5-67363A46193B}.Release-DLL|Win32.Build.0 = Release|Win32 + {391B366C-D916-45AA-3FE5-67363A46193B}.Release-DLL|x64.ActiveCfg = Release|x64 + {391B366C-D916-45AA-3FE5-67363A46193B}.Release-DLL|x64.Build.0 = Release|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|Win32.ActiveCfg = Debug|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|x64.ActiveCfg = Debug|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|Win32.ActiveCfg = Release|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|x64.ActiveCfg = Release|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|Win32.Build.0 = Debug|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|x64.Build.0 = Debug|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|Win32.Build.0 = Release|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|x64.Build.0 = Release|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|x64.Build.0 = Debug|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|Win32.Build.0 = Release|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|x64.ActiveCfg = Release|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|x64.Build.0 = Release|x64 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug|Win32.ActiveCfg = Debug|Win32 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug|x64.ActiveCfg = Debug|x64 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release|Win32.ActiveCfg = Release|Win32 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release|x64.ActiveCfg = Release|x64 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug|Win32.Build.0 = Debug|Win32 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug|x64.Build.0 = Debug|x64 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release|Win32.Build.0 = Release|Win32 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release|x64.Build.0 = Release|x64 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Debug-DLL|x64.Build.0 = Debug|x64 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release-DLL|Win32.Build.0 = Release|Win32 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release-DLL|x64.ActiveCfg = Release|x64 + {F7B6FE68-E847-D7CA-4062-E737E542BCC3}.Release-DLL|x64.Build.0 = Release|x64 + {D06E10DC-272A-5203-7066-2698A247DF26}.Debug|Win32.ActiveCfg = Debug|Win32 + {D06E10DC-272A-5203-7066-2698A247DF26}.Debug|x64.ActiveCfg = Debug|x64 + {D06E10DC-272A-5203-7066-2698A247DF26}.Release|Win32.ActiveCfg = Release|Win32 + {D06E10DC-272A-5203-7066-2698A247DF26}.Release|x64.ActiveCfg = Release|x64 + {D06E10DC-272A-5203-7066-2698A247DF26}.Debug|Win32.Build.0 = Debug|Win32 + {D06E10DC-272A-5203-7066-2698A247DF26}.Debug|x64.Build.0 = Debug|x64 + {D06E10DC-272A-5203-7066-2698A247DF26}.Release|Win32.Build.0 = Release|Win32 + {D06E10DC-272A-5203-7066-2698A247DF26}.Release|x64.Build.0 = Release|x64 + {D06E10DC-272A-5203-7066-2698A247DF26}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {D06E10DC-272A-5203-7066-2698A247DF26}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {D06E10DC-272A-5203-7066-2698A247DF26}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {D06E10DC-272A-5203-7066-2698A247DF26}.Debug-DLL|x64.Build.0 = Debug|x64 + {D06E10DC-272A-5203-7066-2698A247DF26}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {D06E10DC-272A-5203-7066-2698A247DF26}.Release-DLL|Win32.Build.0 = Release|Win32 + {D06E10DC-272A-5203-7066-2698A247DF26}.Release-DLL|x64.ActiveCfg = Release|x64 + {D06E10DC-272A-5203-7066-2698A247DF26}.Release-DLL|x64.Build.0 = Release|x64 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug|Win32.ActiveCfg = Debug|Win32 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug|x64.ActiveCfg = Debug|x64 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release|Win32.ActiveCfg = Release|Win32 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release|x64.ActiveCfg = Release|x64 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug|Win32.Build.0 = Debug|Win32 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug|x64.Build.0 = Debug|x64 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release|Win32.Build.0 = Release|Win32 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release|x64.Build.0 = Release|x64 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Debug-DLL|x64.Build.0 = Debug|x64 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release-DLL|Win32.Build.0 = Release|Win32 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release-DLL|x64.ActiveCfg = Release|x64 + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED}.Release-DLL|x64.Build.0 = Release|x64 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug|Win32.ActiveCfg = Debug|Win32 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug|x64.ActiveCfg = Debug|x64 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release|Win32.ActiveCfg = Release|Win32 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release|x64.ActiveCfg = Release|x64 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug|Win32.Build.0 = Debug|Win32 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug|x64.Build.0 = Debug|x64 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release|Win32.Build.0 = Release|Win32 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release|x64.Build.0 = Release|x64 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug-DLL|x64.Build.0 = Debug|x64 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release-DLL|Win32.Build.0 = Release|Win32 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release-DLL|x64.ActiveCfg = Release|x64 + {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release-DLL|x64.Build.0 = Release|x64 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug|Win32.ActiveCfg = Debug|Win32 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug|x64.ActiveCfg = Debug|x64 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Release|Win32.ActiveCfg = Release|Win32 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Release|x64.ActiveCfg = Release|x64 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug|Win32.Build.0 = Debug|Win32 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug|x64.Build.0 = Debug|x64 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Release|Win32.Build.0 = Release|Win32 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Release|x64.Build.0 = Release|x64 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Debug-DLL|x64.Build.0 = Debug|x64 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Release-DLL|Win32.Build.0 = Release|Win32 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Release-DLL|x64.ActiveCfg = Release|x64 + {37166D50-3AAA-1156-19F6-5901DFA55172}.Release-DLL|x64.Build.0 = Release|x64 + {0647D598-9611-F659-EA36-DF995C9F736B}.Debug|Win32.ActiveCfg = Debug|Win32 + {0647D598-9611-F659-EA36-DF995C9F736B}.Debug|x64.ActiveCfg = Debug|x64 + {0647D598-9611-F659-EA36-DF995C9F736B}.Release|Win32.ActiveCfg = Release|Win32 + {0647D598-9611-F659-EA36-DF995C9F736B}.Release|x64.ActiveCfg = Release|x64 + {0647D598-9611-F659-EA36-DF995C9F736B}.Debug|Win32.Build.0 = Debug|Win32 + {0647D598-9611-F659-EA36-DF995C9F736B}.Debug|x64.Build.0 = Debug|x64 + {0647D598-9611-F659-EA36-DF995C9F736B}.Release|Win32.Build.0 = Release|Win32 + {0647D598-9611-F659-EA36-DF995C9F736B}.Release|x64.Build.0 = Release|x64 + {0647D598-9611-F659-EA36-DF995C9F736B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {0647D598-9611-F659-EA36-DF995C9F736B}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {0647D598-9611-F659-EA36-DF995C9F736B}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {0647D598-9611-F659-EA36-DF995C9F736B}.Debug-DLL|x64.Build.0 = Debug|x64 + {0647D598-9611-F659-EA36-DF995C9F736B}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {0647D598-9611-F659-EA36-DF995C9F736B}.Release-DLL|Win32.Build.0 = Release|Win32 + {0647D598-9611-F659-EA36-DF995C9F736B}.Release-DLL|x64.ActiveCfg = Release|x64 + {0647D598-9611-F659-EA36-DF995C9F736B}.Release-DLL|x64.Build.0 = Release|x64 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug|Win32.ActiveCfg = Debug|Win32 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug|x64.ActiveCfg = Debug|x64 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release|Win32.ActiveCfg = Release|Win32 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release|x64.ActiveCfg = Release|x64 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug|Win32.Build.0 = Debug|Win32 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug|x64.Build.0 = Debug|x64 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release|Win32.Build.0 = Release|Win32 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release|x64.Build.0 = Release|x64 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Debug-DLL|x64.Build.0 = Debug|x64 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release-DLL|Win32.Build.0 = Release|Win32 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release-DLL|x64.ActiveCfg = Release|x64 + {5D0E4E74-275C-61D1-0D82-46CD2AA0C0B9}.Release-DLL|x64.Build.0 = Release|x64 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug|Win32.ActiveCfg = Debug|Win32 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug|x64.ActiveCfg = Debug|x64 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release|Win32.ActiveCfg = Release|Win32 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release|x64.ActiveCfg = Release|x64 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug|Win32.Build.0 = Debug|Win32 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug|x64.Build.0 = Debug|x64 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release|Win32.Build.0 = Release|Win32 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release|x64.Build.0 = Release|x64 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug-DLL|x64.Build.0 = Debug|x64 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release-DLL|Win32.Build.0 = Release|Win32 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release-DLL|x64.ActiveCfg = Release|x64 + {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release-DLL|x64.Build.0 = Release|x64 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug|Win32.ActiveCfg = Debug|Win32 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug|x64.ActiveCfg = Debug|x64 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release|Win32.ActiveCfg = Release|Win32 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release|x64.ActiveCfg = Release|x64 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug|Win32.Build.0 = Debug|Win32 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug|x64.Build.0 = Debug|x64 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release|Win32.Build.0 = Release|Win32 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release|x64.Build.0 = Release|x64 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Debug-DLL|x64.Build.0 = Debug|x64 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release-DLL|Win32.Build.0 = Release|Win32 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release-DLL|x64.ActiveCfg = Release|x64 + {A635DE99-B131-CA00-2D3B-8691D60B76C2}.Release-DLL|x64.Build.0 = Release|x64 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|Win32.ActiveCfg = Debug|Win32 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|x64.ActiveCfg = Debug|x64 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|Win32.ActiveCfg = Release|Win32 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|x64.ActiveCfg = Release|x64 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|Win32.Build.0 = Debug|Win32 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|x64.Build.0 = Debug|x64 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|Win32.Build.0 = Release|Win32 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|x64.Build.0 = Release|x64 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug-DLL|x64.Build.0 = Debug|x64 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release-DLL|Win32.Build.0 = Release|Win32 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release-DLL|x64.ActiveCfg = Release|x64 + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release-DLL|x64.Build.0 = Release|x64 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug|Win32.ActiveCfg = Debug|Win32 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug|x64.ActiveCfg = Debug|x64 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release|Win32.ActiveCfg = Release|Win32 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release|x64.ActiveCfg = Release|x64 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug|Win32.Build.0 = Debug|Win32 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug|x64.Build.0 = Debug|x64 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release|Win32.Build.0 = Release|Win32 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release|x64.Build.0 = Release|x64 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Debug-DLL|x64.Build.0 = Debug|x64 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release-DLL|Win32.Build.0 = Release|Win32 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release-DLL|x64.ActiveCfg = Release|x64 + {144D8CFF-2737-A18A-DCFD-01603533D63F}.Release-DLL|x64.Build.0 = Release|x64 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug|Win32.ActiveCfg = Debug|Win32 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug|x64.ActiveCfg = Debug|x64 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release|Win32.ActiveCfg = Release|Win32 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release|x64.ActiveCfg = Release|x64 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug|Win32.Build.0 = Debug|Win32 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug|x64.Build.0 = Debug|x64 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release|Win32.Build.0 = Release|Win32 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release|x64.Build.0 = Release|x64 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Debug-DLL|x64.Build.0 = Debug|x64 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release-DLL|Win32.Build.0 = Release|Win32 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release-DLL|x64.ActiveCfg = Release|x64 + {889F570D-E046-BD52-9E4C-B4CD13DFE2DB}.Release-DLL|x64.Build.0 = Release|x64 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug|Win32.ActiveCfg = Debug|Win32 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug|x64.ActiveCfg = Debug|x64 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Release|Win32.ActiveCfg = Release|Win32 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Release|x64.ActiveCfg = Release|x64 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug|Win32.Build.0 = Debug|Win32 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug|x64.Build.0 = Debug|x64 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Release|Win32.Build.0 = Release|Win32 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Release|x64.Build.0 = Release|x64 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Debug-DLL|x64.Build.0 = Debug|x64 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Release-DLL|Win32.Build.0 = Release|Win32 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Release-DLL|x64.ActiveCfg = Release|x64 + {10668A5D-65CD-F530-22D0-747B395B4C26}.Release-DLL|x64.Build.0 = Release|x64 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug|Win32.ActiveCfg = Debug|Win32 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug|x64.ActiveCfg = Debug|x64 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release|Win32.ActiveCfg = Release|Win32 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release|x64.ActiveCfg = Release|x64 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug|Win32.Build.0 = Debug|Win32 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug|x64.Build.0 = Debug|x64 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release|Win32.Build.0 = Release|Win32 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release|x64.Build.0 = Release|x64 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Debug-DLL|x64.Build.0 = Debug|x64 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release-DLL|Win32.Build.0 = Release|Win32 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release-DLL|x64.ActiveCfg = Release|x64 + {0CB6DF66-4346-CCD0-C94B-318321C46501}.Release-DLL|x64.Build.0 = Release|x64 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug|Win32.ActiveCfg = Debug|Win32 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug|x64.ActiveCfg = Debug|x64 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release|Win32.ActiveCfg = Release|Win32 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release|x64.ActiveCfg = Release|x64 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug|Win32.Build.0 = Debug|Win32 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug|x64.Build.0 = Debug|x64 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release|Win32.Build.0 = Release|Win32 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release|x64.Build.0 = Release|x64 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Debug-DLL|x64.Build.0 = Debug|x64 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release-DLL|Win32.Build.0 = Release|Win32 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release-DLL|x64.ActiveCfg = Release|x64 + {07149650-E8AF-B3D8-9D5B-BC34DC909DB8}.Release-DLL|x64.Build.0 = Release|x64 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug|Win32.ActiveCfg = Debug|Win32 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug|x64.ActiveCfg = Debug|x64 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release|Win32.ActiveCfg = Release|Win32 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release|x64.ActiveCfg = Release|x64 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug|Win32.Build.0 = Debug|Win32 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug|x64.Build.0 = Debug|x64 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release|Win32.Build.0 = Release|Win32 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release|x64.Build.0 = Release|x64 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Debug-DLL|x64.Build.0 = Debug|x64 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release-DLL|Win32.Build.0 = Release|Win32 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release-DLL|x64.ActiveCfg = Release|x64 + {EEBDE4C3-0130-5BD1-E85F-527B3E68FE11}.Release-DLL|x64.Build.0 = Release|x64 + {64728265-92F9-103E-6720-8935385458DF}.Debug|Win32.ActiveCfg = Debug|Win32 + {64728265-92F9-103E-6720-8935385458DF}.Debug|x64.ActiveCfg = Debug|x64 + {64728265-92F9-103E-6720-8935385458DF}.Release|Win32.ActiveCfg = Release|Win32 + {64728265-92F9-103E-6720-8935385458DF}.Release|x64.ActiveCfg = Release|x64 + {64728265-92F9-103E-6720-8935385458DF}.Debug|Win32.Build.0 = Debug|Win32 + {64728265-92F9-103E-6720-8935385458DF}.Debug|x64.Build.0 = Debug|x64 + {64728265-92F9-103E-6720-8935385458DF}.Release|Win32.Build.0 = Release|Win32 + {64728265-92F9-103E-6720-8935385458DF}.Release|x64.Build.0 = Release|x64 + {64728265-92F9-103E-6720-8935385458DF}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {64728265-92F9-103E-6720-8935385458DF}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {64728265-92F9-103E-6720-8935385458DF}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {64728265-92F9-103E-6720-8935385458DF}.Debug-DLL|x64.Build.0 = Debug|x64 + {64728265-92F9-103E-6720-8935385458DF}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {64728265-92F9-103E-6720-8935385458DF}.Release-DLL|Win32.Build.0 = Release|Win32 + {64728265-92F9-103E-6720-8935385458DF}.Release-DLL|x64.ActiveCfg = Release|x64 + {64728265-92F9-103E-6720-8935385458DF}.Release-DLL|x64.Build.0 = Release|x64 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug|Win32.ActiveCfg = Debug|Win32 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug|x64.ActiveCfg = Debug|x64 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release|Win32.ActiveCfg = Release|Win32 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release|x64.ActiveCfg = Release|x64 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug|Win32.Build.0 = Debug|Win32 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug|x64.Build.0 = Debug|x64 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release|Win32.Build.0 = Release|Win32 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release|x64.Build.0 = Release|x64 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Debug-DLL|x64.Build.0 = Debug|x64 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release-DLL|Win32.Build.0 = Release|Win32 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release-DLL|x64.ActiveCfg = Release|x64 + {38797EE3-62CC-3CBF-18D5-009ED6DD0BEC}.Release-DLL|x64.Build.0 = Release|x64 + {E679773D-DE89-AEBB-9787-59019989B825}.Debug|Win32.ActiveCfg = Debug|Win32 + {E679773D-DE89-AEBB-9787-59019989B825}.Debug|x64.ActiveCfg = Debug|x64 + {E679773D-DE89-AEBB-9787-59019989B825}.Release|Win32.ActiveCfg = Release|Win32 + {E679773D-DE89-AEBB-9787-59019989B825}.Release|x64.ActiveCfg = Release|x64 + {E679773D-DE89-AEBB-9787-59019989B825}.Debug|Win32.Build.0 = Debug|Win32 + {E679773D-DE89-AEBB-9787-59019989B825}.Debug|x64.Build.0 = Debug|x64 + {E679773D-DE89-AEBB-9787-59019989B825}.Release|Win32.Build.0 = Release|Win32 + {E679773D-DE89-AEBB-9787-59019989B825}.Release|x64.Build.0 = Release|x64 + {E679773D-DE89-AEBB-9787-59019989B825}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {E679773D-DE89-AEBB-9787-59019989B825}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {E679773D-DE89-AEBB-9787-59019989B825}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {E679773D-DE89-AEBB-9787-59019989B825}.Debug-DLL|x64.Build.0 = Debug|x64 + {E679773D-DE89-AEBB-9787-59019989B825}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {E679773D-DE89-AEBB-9787-59019989B825}.Release-DLL|Win32.Build.0 = Release|Win32 + {E679773D-DE89-AEBB-9787-59019989B825}.Release-DLL|x64.ActiveCfg = Release|x64 + {E679773D-DE89-AEBB-9787-59019989B825}.Release-DLL|x64.Build.0 = Release|x64 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug|Win32.ActiveCfg = Debug|Win32 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug|x64.ActiveCfg = Debug|x64 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release|Win32.ActiveCfg = Release|Win32 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release|x64.ActiveCfg = Release|x64 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug|Win32.Build.0 = Debug|Win32 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug|x64.Build.0 = Debug|x64 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release|Win32.Build.0 = Release|Win32 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release|x64.Build.0 = Release|x64 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Debug-DLL|x64.Build.0 = Debug|x64 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release-DLL|Win32.Build.0 = Release|Win32 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release-DLL|x64.ActiveCfg = Release|x64 + {7F2D1623-AF04-DD98-BCE6-61ADB9A52366}.Release-DLL|x64.Build.0 = Release|x64 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug|Win32.ActiveCfg = Debug|Win32 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug|x64.ActiveCfg = Debug|x64 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release|Win32.ActiveCfg = Release|Win32 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release|x64.ActiveCfg = Release|x64 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug|Win32.Build.0 = Debug|Win32 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug|x64.Build.0 = Debug|x64 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release|Win32.Build.0 = Release|Win32 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release|x64.Build.0 = Release|x64 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Debug-DLL|x64.Build.0 = Debug|x64 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release-DLL|Win32.Build.0 = Release|Win32 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release-DLL|x64.ActiveCfg = Release|x64 + {AD06B5CD-8D5C-A365-C46B-3CF32237A4F7}.Release-DLL|x64.Build.0 = Release|x64 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug|Win32.ActiveCfg = Debug|Win32 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug|x64.ActiveCfg = Debug|x64 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release|Win32.ActiveCfg = Release|Win32 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release|x64.ActiveCfg = Release|x64 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug|Win32.Build.0 = Debug|Win32 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug|x64.Build.0 = Debug|x64 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release|Win32.Build.0 = Release|Win32 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release|x64.Build.0 = Release|x64 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Debug-DLL|x64.Build.0 = Debug|x64 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release-DLL|Win32.Build.0 = Release|Win32 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release-DLL|x64.ActiveCfg = Release|x64 + {B453457D-8FBC-9C9F-A55E-C06FCE13B1F2}.Release-DLL|x64.Build.0 = Release|x64 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug|Win32.ActiveCfg = Debug|Win32 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug|x64.ActiveCfg = Debug|x64 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release|Win32.ActiveCfg = Release|Win32 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release|x64.ActiveCfg = Release|x64 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug|Win32.Build.0 = Debug|Win32 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug|x64.Build.0 = Debug|x64 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release|Win32.Build.0 = Release|Win32 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release|x64.Build.0 = Release|x64 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Debug-DLL|x64.Build.0 = Debug|x64 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release-DLL|Win32.Build.0 = Release|Win32 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release-DLL|x64.ActiveCfg = Release|x64 + {98B2F932-5D6D-9FF0-516F-43FD7E0E4F1A}.Release-DLL|x64.Build.0 = Release|x64 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Debug|Win32.ActiveCfg = Debug|Win32 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Debug|x64.ActiveCfg = Debug|x64 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release|Win32.ActiveCfg = Release|Win32 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release|x64.ActiveCfg = Release|x64 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Debug|Win32.Build.0 = Debug|Win32 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Debug|x64.Build.0 = Debug|x64 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release|Win32.Build.0 = Release|Win32 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release|x64.Build.0 = Release|x64 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Debug-DLL|x64.Build.0 = Debug|x64 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release-DLL|Win32.Build.0 = Release|Win32 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release-DLL|x64.ActiveCfg = Release|x64 + {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release-DLL|x64.Build.0 = Release|x64 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug|Win32.ActiveCfg = Debug|Win32 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug|x64.ActiveCfg = Debug|x64 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release|Win32.ActiveCfg = Release|Win32 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release|x64.ActiveCfg = Release|x64 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug|Win32.Build.0 = Debug|Win32 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug|x64.Build.0 = Debug|x64 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release|Win32.Build.0 = Release|Win32 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release|x64.Build.0 = Release|x64 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Debug-DLL|x64.Build.0 = Debug|x64 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release-DLL|Win32.Build.0 = Release|Win32 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release-DLL|x64.ActiveCfg = Release|x64 + {459B2FAC-5FC8-1F47-8053-66D46EA39A49}.Release-DLL|x64.Build.0 = Release|x64 + {9779680E-3218-1528-E922-605871A20C3F}.Debug|Win32.ActiveCfg = Debug|Win32 + {9779680E-3218-1528-E922-605871A20C3F}.Debug|x64.ActiveCfg = Debug|x64 + {9779680E-3218-1528-E922-605871A20C3F}.Release|Win32.ActiveCfg = Release|Win32 + {9779680E-3218-1528-E922-605871A20C3F}.Release|x64.ActiveCfg = Release|x64 + {9779680E-3218-1528-E922-605871A20C3F}.Debug|Win32.Build.0 = Debug|Win32 + {9779680E-3218-1528-E922-605871A20C3F}.Debug|x64.Build.0 = Debug|x64 + {9779680E-3218-1528-E922-605871A20C3F}.Release|Win32.Build.0 = Release|Win32 + {9779680E-3218-1528-E922-605871A20C3F}.Release|x64.Build.0 = Release|x64 + {9779680E-3218-1528-E922-605871A20C3F}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {9779680E-3218-1528-E922-605871A20C3F}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {9779680E-3218-1528-E922-605871A20C3F}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {9779680E-3218-1528-E922-605871A20C3F}.Debug-DLL|x64.Build.0 = Debug|x64 + {9779680E-3218-1528-E922-605871A20C3F}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {9779680E-3218-1528-E922-605871A20C3F}.Release-DLL|Win32.Build.0 = Release|Win32 + {9779680E-3218-1528-E922-605871A20C3F}.Release-DLL|x64.ActiveCfg = Release|x64 + {9779680E-3218-1528-E922-605871A20C3F}.Release-DLL|x64.Build.0 = Release|x64 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug|Win32.ActiveCfg = Debug|Win32 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug|x64.ActiveCfg = Debug|x64 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release|Win32.ActiveCfg = Release|Win32 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release|x64.ActiveCfg = Release|x64 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug|Win32.Build.0 = Debug|Win32 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug|x64.Build.0 = Debug|x64 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release|Win32.Build.0 = Release|Win32 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release|x64.Build.0 = Release|x64 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Debug-DLL|x64.Build.0 = Debug|x64 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release-DLL|Win32.Build.0 = Release|Win32 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release-DLL|x64.ActiveCfg = Release|x64 + {F5B6D7FF-A762-CBC3-8CDC-83890EAEB2FE}.Release-DLL|x64.Build.0 = Release|x64 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug|Win32.ActiveCfg = Debug|Win32 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug|x64.ActiveCfg = Debug|x64 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release|Win32.ActiveCfg = Release|Win32 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release|x64.ActiveCfg = Release|x64 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug|Win32.Build.0 = Debug|Win32 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug|x64.Build.0 = Debug|x64 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release|Win32.Build.0 = Release|Win32 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release|x64.Build.0 = Release|x64 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Debug-DLL|x64.Build.0 = Debug|x64 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release-DLL|Win32.Build.0 = Release|Win32 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release-DLL|x64.ActiveCfg = Release|x64 + {40B790A8-BB01-9F12-5309-C0BEA97C75BC}.Release-DLL|x64.Build.0 = Release|x64 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|Win32.ActiveCfg = Debug|Win32 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|x64.ActiveCfg = Debug|x64 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|Win32.ActiveCfg = Release|Win32 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|x64.ActiveCfg = Release|x64 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|Win32.Build.0 = Debug|Win32 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|x64.Build.0 = Debug|x64 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|Win32.Build.0 = Release|Win32 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|x64.Build.0 = Release|x64 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug-DLL|Win32.ActiveCfg = Debug-DLL|Win32 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug-DLL|Win32.Build.0 = Debug-DLL|Win32 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug-DLL|x64.ActiveCfg = Debug-DLL|x64 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug-DLL|x64.Build.0 = Debug-DLL|x64 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release-DLL|Win32.ActiveCfg = Release-DLL|Win32 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release-DLL|Win32.Build.0 = Release-DLL|Win32 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release-DLL|x64.ActiveCfg = Release-DLL|x64 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release-DLL|x64.Build.0 = Release-DLL|x64 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug|Win32.ActiveCfg = Debug|Win32 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug|x64.ActiveCfg = Debug|x64 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release|Win32.ActiveCfg = Release|Win32 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release|x64.ActiveCfg = Release|x64 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug|Win32.Build.0 = Debug|Win32 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug|x64.Build.0 = Debug|x64 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release|Win32.Build.0 = Release|Win32 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release|x64.Build.0 = Release|x64 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Debug-DLL|x64.Build.0 = Debug|x64 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release-DLL|Win32.Build.0 = Release|Win32 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release-DLL|x64.ActiveCfg = Release|x64 + {C65A4336-92D6-D6A0-EB86-E3AA425222D0}.Release-DLL|x64.Build.0 = Release|x64 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug|Win32.ActiveCfg = Debug|Win32 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug|x64.ActiveCfg = Debug|x64 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release|Win32.ActiveCfg = Release|Win32 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release|x64.ActiveCfg = Release|x64 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug|Win32.Build.0 = Debug|Win32 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug|x64.Build.0 = Debug|x64 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release|Win32.Build.0 = Release|Win32 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release|x64.Build.0 = Release|x64 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Debug-DLL|x64.Build.0 = Debug|x64 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release-DLL|Win32.Build.0 = Release|Win32 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release-DLL|x64.ActiveCfg = Release|x64 + {A19FD81D-DF19-B8A4-4A8A-6967217FEC85}.Release-DLL|x64.Build.0 = Release|x64 + {82124768-C986-6C10-8BCC-B255B7C84722}.Debug|Win32.ActiveCfg = Debug|Win32 + {82124768-C986-6C10-8BCC-B255B7C84722}.Debug|x64.ActiveCfg = Debug|x64 + {82124768-C986-6C10-8BCC-B255B7C84722}.Release|Win32.ActiveCfg = Release|Win32 + {82124768-C986-6C10-8BCC-B255B7C84722}.Release|x64.ActiveCfg = Release|x64 + {82124768-C986-6C10-8BCC-B255B7C84722}.Debug|Win32.Build.0 = Debug|Win32 + {82124768-C986-6C10-8BCC-B255B7C84722}.Debug|x64.Build.0 = Debug|x64 + {82124768-C986-6C10-8BCC-B255B7C84722}.Release|Win32.Build.0 = Release|Win32 + {82124768-C986-6C10-8BCC-B255B7C84722}.Release|x64.Build.0 = Release|x64 + {82124768-C986-6C10-8BCC-B255B7C84722}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {82124768-C986-6C10-8BCC-B255B7C84722}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {82124768-C986-6C10-8BCC-B255B7C84722}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {82124768-C986-6C10-8BCC-B255B7C84722}.Debug-DLL|x64.Build.0 = Debug|x64 + {82124768-C986-6C10-8BCC-B255B7C84722}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {82124768-C986-6C10-8BCC-B255B7C84722}.Release-DLL|Win32.Build.0 = Release|Win32 + {82124768-C986-6C10-8BCC-B255B7C84722}.Release-DLL|x64.ActiveCfg = Release|x64 + {82124768-C986-6C10-8BCC-B255B7C84722}.Release-DLL|x64.Build.0 = Release|x64 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug|Win32.ActiveCfg = Debug|Win32 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug|x64.ActiveCfg = Debug|x64 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release|Win32.ActiveCfg = Release|Win32 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release|x64.ActiveCfg = Release|x64 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug|Win32.Build.0 = Debug|Win32 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug|x64.Build.0 = Debug|x64 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release|Win32.Build.0 = Release|Win32 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release|x64.Build.0 = Release|x64 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Debug-DLL|x64.Build.0 = Debug|x64 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release-DLL|Win32.Build.0 = Release|Win32 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release-DLL|x64.ActiveCfg = Release|x64 + {58FB566F-DCD5-3ECE-233E-C1FD13CA2185}.Release-DLL|x64.Build.0 = Release|x64 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug|Win32.ActiveCfg = Debug|Win32 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug|x64.ActiveCfg = Debug|x64 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release|Win32.ActiveCfg = Release|Win32 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release|x64.ActiveCfg = Release|x64 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug|Win32.Build.0 = Debug|Win32 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug|x64.Build.0 = Debug|x64 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release|Win32.Build.0 = Release|Win32 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release|x64.Build.0 = Release|x64 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Debug-DLL|x64.Build.0 = Debug|x64 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release-DLL|Win32.Build.0 = Release|Win32 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release-DLL|x64.ActiveCfg = Release|x64 + {E3CEAFE1-8CE9-61F6-A720-E26662246B1F}.Release-DLL|x64.Build.0 = Release|x64 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug|Win32.ActiveCfg = Debug|Win32 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug|x64.ActiveCfg = Debug|x64 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release|Win32.ActiveCfg = Release|Win32 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release|x64.ActiveCfg = Release|x64 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug|Win32.Build.0 = Debug|Win32 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug|x64.Build.0 = Debug|x64 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release|Win32.Build.0 = Release|Win32 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release|x64.Build.0 = Release|x64 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Debug-DLL|x64.Build.0 = Debug|x64 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release-DLL|Win32.Build.0 = Release|Win32 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release-DLL|x64.ActiveCfg = Release|x64 + {16CDF507-EB91-D76C-F0A7-A914ABFD8C17}.Release-DLL|x64.Build.0 = Release|x64 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug|Win32.ActiveCfg = Debug|Win32 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug|x64.ActiveCfg = Debug|x64 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release|Win32.ActiveCfg = Release|Win32 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release|x64.ActiveCfg = Release|x64 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug|Win32.Build.0 = Debug|Win32 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug|x64.Build.0 = Debug|x64 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release|Win32.Build.0 = Release|Win32 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release|x64.Build.0 = Release|x64 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug-DLL|x64.Build.0 = Debug|x64 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release-DLL|Win32.Build.0 = Release|Win32 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release-DLL|x64.ActiveCfg = Release|x64 + {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release-DLL|x64.Build.0 = Release|x64 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug|Win32.ActiveCfg = Debug|Win32 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug|x64.ActiveCfg = Debug|x64 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release|Win32.ActiveCfg = Release|Win32 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release|x64.ActiveCfg = Release|x64 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug|Win32.Build.0 = Debug|Win32 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug|x64.Build.0 = Debug|x64 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release|Win32.Build.0 = Release|Win32 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release|x64.Build.0 = Release|x64 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Debug-DLL|x64.Build.0 = Debug|x64 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release-DLL|Win32.Build.0 = Release|Win32 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release-DLL|x64.ActiveCfg = Release|x64 + {8305CC95-25CD-E15F-EA1A-11626FCF5AF9}.Release-DLL|x64.Build.0 = Release|x64 + {43722E98-54EC-5058-3DAC-327F45964971}.Debug|Win32.ActiveCfg = Debug|Win32 + {43722E98-54EC-5058-3DAC-327F45964971}.Debug|x64.ActiveCfg = Debug|x64 + {43722E98-54EC-5058-3DAC-327F45964971}.Release|Win32.ActiveCfg = Release|Win32 + {43722E98-54EC-5058-3DAC-327F45964971}.Release|x64.ActiveCfg = Release|x64 + {43722E98-54EC-5058-3DAC-327F45964971}.Debug|Win32.Build.0 = Debug|Win32 + {43722E98-54EC-5058-3DAC-327F45964971}.Debug|x64.Build.0 = Debug|x64 + {43722E98-54EC-5058-3DAC-327F45964971}.Release|Win32.Build.0 = Release|Win32 + {43722E98-54EC-5058-3DAC-327F45964971}.Release|x64.Build.0 = Release|x64 + {43722E98-54EC-5058-3DAC-327F45964971}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {43722E98-54EC-5058-3DAC-327F45964971}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {43722E98-54EC-5058-3DAC-327F45964971}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {43722E98-54EC-5058-3DAC-327F45964971}.Debug-DLL|x64.Build.0 = Debug|x64 + {43722E98-54EC-5058-3DAC-327F45964971}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {43722E98-54EC-5058-3DAC-327F45964971}.Release-DLL|Win32.Build.0 = Release|Win32 + {43722E98-54EC-5058-3DAC-327F45964971}.Release-DLL|x64.ActiveCfg = Release|x64 + {43722E98-54EC-5058-3DAC-327F45964971}.Release-DLL|x64.Build.0 = Release|x64 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug|Win32.ActiveCfg = Debug|Win32 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug|x64.ActiveCfg = Debug|x64 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release|Win32.ActiveCfg = Release|Win32 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release|x64.ActiveCfg = Release|x64 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug|Win32.Build.0 = Debug|Win32 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug|x64.Build.0 = Debug|x64 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release|Win32.Build.0 = Release|Win32 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release|x64.Build.0 = Release|x64 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Debug-DLL|x64.Build.0 = Debug|x64 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release-DLL|Win32.Build.0 = Release|Win32 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release-DLL|x64.ActiveCfg = Release|x64 + {B50FD4F7-5628-9BEC-81B9-EB79A0A45577}.Release-DLL|x64.Build.0 = Release|x64 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug|Win32.ActiveCfg = Debug|Win32 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug|x64.ActiveCfg = Debug|x64 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release|Win32.ActiveCfg = Release|Win32 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release|x64.ActiveCfg = Release|x64 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug|Win32.Build.0 = Debug|Win32 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug|x64.Build.0 = Debug|x64 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release|Win32.Build.0 = Release|Win32 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release|x64.Build.0 = Release|x64 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Debug-DLL|x64.Build.0 = Debug|x64 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release-DLL|Win32.Build.0 = Release|Win32 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release-DLL|x64.ActiveCfg = Release|x64 + {60B5E7EE-7D9E-1F27-BD9F-2F5D44BC6751}.Release-DLL|x64.Build.0 = Release|x64 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug|Win32.ActiveCfg = Debug|Win32 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug|x64.ActiveCfg = Debug|x64 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release|Win32.ActiveCfg = Release|Win32 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release|x64.ActiveCfg = Release|x64 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug|Win32.Build.0 = Debug|Win32 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug|x64.Build.0 = Debug|x64 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release|Win32.Build.0 = Release|Win32 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release|x64.Build.0 = Release|x64 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Debug-DLL|x64.Build.0 = Debug|x64 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release-DLL|Win32.Build.0 = Release|Win32 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release-DLL|x64.ActiveCfg = Release|x64 + {C002965C-8457-CCE5-B1BA-E748FF9A11B6}.Release-DLL|x64.Build.0 = Release|x64 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug|Win32.ActiveCfg = Debug|Win32 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug|x64.ActiveCfg = Debug|x64 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release|Win32.ActiveCfg = Release|Win32 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release|x64.ActiveCfg = Release|x64 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug|Win32.Build.0 = Debug|Win32 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug|x64.Build.0 = Debug|x64 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release|Win32.Build.0 = Release|Win32 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release|x64.Build.0 = Release|x64 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Debug-DLL|x64.Build.0 = Debug|x64 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release-DLL|Win32.Build.0 = Release|Win32 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release-DLL|x64.ActiveCfg = Release|x64 + {74DCFC52-3C79-66BC-3DB0-B6A90D81BB68}.Release-DLL|x64.Build.0 = Release|x64 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug|Win32.ActiveCfg = Debug|Win32 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug|x64.ActiveCfg = Debug|x64 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release|Win32.ActiveCfg = Release|Win32 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release|x64.ActiveCfg = Release|x64 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug|Win32.Build.0 = Debug|Win32 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug|x64.Build.0 = Debug|x64 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release|Win32.Build.0 = Release|Win32 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release|x64.Build.0 = Release|x64 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug-DLL|x64.Build.0 = Debug|x64 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release-DLL|Win32.Build.0 = Release|Win32 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release-DLL|x64.ActiveCfg = Release|x64 + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release-DLL|x64.Build.0 = Release|x64 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug|Win32.ActiveCfg = Debug|Win32 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug|x64.ActiveCfg = Debug|x64 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release|Win32.ActiveCfg = Release|Win32 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release|x64.ActiveCfg = Release|x64 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug|Win32.Build.0 = Debug|Win32 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug|x64.Build.0 = Debug|x64 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release|Win32.Build.0 = Release|Win32 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release|x64.Build.0 = Release|x64 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Debug-DLL|x64.Build.0 = Debug|x64 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release-DLL|Win32.Build.0 = Release|Win32 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release-DLL|x64.ActiveCfg = Release|x64 + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}.Release-DLL|x64.Build.0 = Release|x64 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug|Win32.ActiveCfg = Debug|Win32 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug|x64.ActiveCfg = Debug|x64 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release|Win32.ActiveCfg = Release|Win32 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release|x64.ActiveCfg = Release|x64 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug|Win32.Build.0 = Debug|Win32 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug|x64.Build.0 = Debug|x64 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release|Win32.Build.0 = Release|Win32 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release|x64.Build.0 = Release|x64 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug-DLL|Win32.ActiveCfg = Debug-DLL|Win32 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug-DLL|Win32.Build.0 = Debug-DLL|Win32 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug-DLL|x64.ActiveCfg = Debug-DLL|x64 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug-DLL|x64.Build.0 = Debug-DLL|x64 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|Win32.ActiveCfg = Release-DLL|Win32 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|Win32.Build.0 = Release-DLL|Win32 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|x64.ActiveCfg = Release-DLL|x64 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release-DLL|x64.Build.0 = Release-DLL|x64 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug|Win32.ActiveCfg = Debug|Win32 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug|x64.ActiveCfg = Debug|x64 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release|Win32.ActiveCfg = Release|Win32 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release|x64.ActiveCfg = Release|x64 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug|Win32.Build.0 = Debug|Win32 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug|x64.Build.0 = Debug|x64 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release|Win32.Build.0 = Release|Win32 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release|x64.Build.0 = Release|x64 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Debug-DLL|x64.Build.0 = Debug|x64 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release-DLL|Win32.Build.0 = Release|Win32 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release-DLL|x64.ActiveCfg = Release|x64 + {02FAC25F-5FF6-34A0-00AE-B82BFBA851A9}.Release-DLL|x64.Build.0 = Release|x64 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug|Win32.ActiveCfg = Debug|Win32 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug|x64.ActiveCfg = Debug|x64 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release|Win32.ActiveCfg = Release|Win32 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release|x64.ActiveCfg = Release|x64 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug|Win32.Build.0 = Debug|Win32 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug|x64.Build.0 = Debug|x64 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release|Win32.Build.0 = Release|Win32 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release|x64.Build.0 = Release|x64 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Debug-DLL|x64.Build.0 = Debug|x64 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release-DLL|Win32.Build.0 = Release|Win32 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release-DLL|x64.ActiveCfg = Release|x64 + {A8039D43-910E-4248-2A22-74366E8C4DCD}.Release-DLL|x64.Build.0 = Release|x64 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug|Win32.ActiveCfg = Debug|Win32 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug|x64.ActiveCfg = Debug|x64 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release|Win32.ActiveCfg = Release|Win32 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release|x64.ActiveCfg = Release|x64 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug|Win32.Build.0 = Debug|Win32 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug|x64.Build.0 = Debug|x64 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release|Win32.Build.0 = Release|Win32 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release|x64.Build.0 = Release|x64 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug-DLL|x64.Build.0 = Debug|x64 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release-DLL|Win32.Build.0 = Release|Win32 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release-DLL|x64.ActiveCfg = Release|x64 + {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release-DLL|x64.Build.0 = Release|x64 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug|Win32.ActiveCfg = Debug|Win32 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug|x64.ActiveCfg = Debug|x64 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release|Win32.ActiveCfg = Release|Win32 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release|x64.ActiveCfg = Release|x64 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug|Win32.Build.0 = Debug|Win32 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug|x64.Build.0 = Debug|x64 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release|Win32.Build.0 = Release|Win32 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release|x64.Build.0 = Release|x64 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Debug-DLL|x64.Build.0 = Debug|x64 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release-DLL|Win32.Build.0 = Release|Win32 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release-DLL|x64.ActiveCfg = Release|x64 + {42826C1F-DCF0-918E-D247-0376DC1EFD50}.Release-DLL|x64.Build.0 = Release|x64 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug|Win32.ActiveCfg = Debug|Win32 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug|x64.ActiveCfg = Debug|x64 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release|Win32.ActiveCfg = Release|Win32 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release|x64.ActiveCfg = Release|x64 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug|Win32.Build.0 = Debug|Win32 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug|x64.Build.0 = Debug|x64 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release|Win32.Build.0 = Release|Win32 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release|x64.Build.0 = Release|x64 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Debug-DLL|x64.Build.0 = Debug|x64 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release-DLL|Win32.Build.0 = Release|Win32 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release-DLL|x64.ActiveCfg = Release|x64 + {C7E516E9-B80F-4BC1-A617-095FC6E14BC9}.Release-DLL|x64.Build.0 = Release|x64 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug|Win32.ActiveCfg = Debug|Win32 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug|x64.ActiveCfg = Debug|x64 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release|Win32.ActiveCfg = Release|Win32 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release|x64.ActiveCfg = Release|x64 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug|Win32.Build.0 = Debug|Win32 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug|x64.Build.0 = Debug|x64 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release|Win32.Build.0 = Release|Win32 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release|x64.Build.0 = Release|x64 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Debug-DLL|x64.Build.0 = Debug|x64 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release-DLL|Win32.Build.0 = Release|Win32 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release-DLL|x64.ActiveCfg = Release|x64 + {0E980562-3AA0-91B1-C590-85C9A899BE44}.Release-DLL|x64.Build.0 = Release|x64 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug|Win32.ActiveCfg = Debug|Win32 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug|x64.ActiveCfg = Debug|x64 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release|Win32.ActiveCfg = Release|Win32 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release|x64.ActiveCfg = Release|x64 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug|Win32.Build.0 = Debug|Win32 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug|x64.Build.0 = Debug|x64 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release|Win32.Build.0 = Release|Win32 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release|x64.Build.0 = Release|x64 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Debug-DLL|x64.Build.0 = Debug|x64 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release-DLL|Win32.Build.0 = Release|Win32 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release-DLL|x64.ActiveCfg = Release|x64 + {DFD51943-4906-8051-7D66-6A7D50E0D87E}.Release-DLL|x64.Build.0 = Release|x64 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug|Win32.ActiveCfg = Debug|Win32 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug|x64.ActiveCfg = Debug|x64 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Release|Win32.ActiveCfg = Release|Win32 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Release|x64.ActiveCfg = Release|x64 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug|Win32.Build.0 = Debug|Win32 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug|x64.Build.0 = Debug|x64 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Release|Win32.Build.0 = Release|Win32 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Release|x64.Build.0 = Release|x64 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Debug-DLL|x64.Build.0 = Debug|x64 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Release-DLL|Win32.Build.0 = Release|Win32 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Release-DLL|x64.ActiveCfg = Release|x64 + {16C713C6-062E-F71F-A44C-52DC35494B27}.Release-DLL|x64.Build.0 = Release|x64 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug|Win32.ActiveCfg = Debug|Win32 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug|x64.ActiveCfg = Debug|x64 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release|Win32.ActiveCfg = Release|Win32 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release|x64.ActiveCfg = Release|x64 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug|Win32.Build.0 = Debug|Win32 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug|x64.Build.0 = Debug|x64 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release|Win32.Build.0 = Release|Win32 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release|x64.Build.0 = Release|x64 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Debug-DLL|x64.Build.0 = Debug|x64 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release-DLL|Win32.Build.0 = Release|Win32 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release-DLL|x64.ActiveCfg = Release|x64 + {345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}.Release-DLL|x64.Build.0 = Release|x64 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug|Win32.ActiveCfg = Debug|Win32 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug|x64.ActiveCfg = Debug|x64 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release|Win32.ActiveCfg = Release|Win32 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release|x64.ActiveCfg = Release|x64 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug|Win32.Build.0 = Debug|Win32 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug|x64.Build.0 = Debug|x64 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release|Win32.Build.0 = Release|Win32 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release|x64.Build.0 = Release|x64 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Debug-DLL|x64.Build.0 = Debug|x64 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release-DLL|Win32.Build.0 = Release|Win32 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release-DLL|x64.ActiveCfg = Release|x64 + {EEBEFA75-C625-C823-FE96-9AD64887B57D}.Release-DLL|x64.Build.0 = Release|x64 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug|Win32.ActiveCfg = Debug|Win32 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug|x64.ActiveCfg = Debug|x64 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release|Win32.ActiveCfg = Release|Win32 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release|x64.ActiveCfg = Release|x64 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug|Win32.Build.0 = Debug|Win32 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug|x64.Build.0 = Debug|x64 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release|Win32.Build.0 = Release|Win32 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release|x64.Build.0 = Release|x64 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Debug-DLL|x64.Build.0 = Debug|x64 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release-DLL|Win32.Build.0 = Release|Win32 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release-DLL|x64.ActiveCfg = Release|x64 + {4B9EBBAE-D838-EC09-0B10-2D4520FBC0FF}.Release-DLL|x64.Build.0 = Release|x64 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug|Win32.ActiveCfg = Debug|Win32 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug|x64.ActiveCfg = Debug|x64 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release|Win32.ActiveCfg = Release|Win32 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release|x64.ActiveCfg = Release|x64 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug|Win32.Build.0 = Debug|Win32 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug|x64.Build.0 = Debug|x64 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release|Win32.Build.0 = Release|Win32 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release|x64.Build.0 = Release|x64 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Debug-DLL|x64.Build.0 = Debug|x64 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release-DLL|Win32.Build.0 = Release|Win32 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release-DLL|x64.ActiveCfg = Release|x64 + {F0A06723-2E3E-FE97-34B7-A2BA26D98B83}.Release-DLL|x64.Build.0 = Release|x64 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug|Win32.ActiveCfg = Debug|Win32 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug|x64.ActiveCfg = Debug|x64 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Release|Win32.ActiveCfg = Release|Win32 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Release|x64.ActiveCfg = Release|x64 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug|Win32.Build.0 = Debug|Win32 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug|x64.Build.0 = Debug|x64 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Release|Win32.Build.0 = Release|Win32 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Release|x64.Build.0 = Release|x64 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Debug-DLL|x64.Build.0 = Debug|x64 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Release-DLL|Win32.Build.0 = Release|Win32 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Release-DLL|x64.ActiveCfg = Release|x64 + {0F761FF3-342A-C429-711F-F76181BAA52D}.Release-DLL|x64.Build.0 = Release|x64 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug|Win32.ActiveCfg = Debug|Win32 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug|x64.ActiveCfg = Debug|x64 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release|Win32.ActiveCfg = Release|Win32 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release|x64.ActiveCfg = Release|x64 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug|Win32.Build.0 = Debug|Win32 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug|x64.Build.0 = Debug|x64 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release|Win32.Build.0 = Release|Win32 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release|x64.Build.0 = Release|x64 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Debug-DLL|x64.Build.0 = Debug|x64 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release-DLL|Win32.Build.0 = Release|Win32 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release-DLL|x64.ActiveCfg = Release|x64 + {6EC72045-98CB-8A8D-9788-BC94209E23C8}.Release-DLL|x64.Build.0 = Release|x64 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug|Win32.ActiveCfg = Debug|Win32 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug|x64.ActiveCfg = Debug|x64 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release|Win32.ActiveCfg = Release|Win32 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release|x64.ActiveCfg = Release|x64 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug|Win32.Build.0 = Debug|Win32 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug|x64.Build.0 = Debug|x64 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release|Win32.Build.0 = Release|Win32 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release|x64.Build.0 = Release|x64 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Debug-DLL|x64.Build.0 = Debug|x64 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release-DLL|Win32.Build.0 = Release|Win32 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release-DLL|x64.ActiveCfg = Release|x64 + {5753B14F-0C69-2E56-6264-5541B2DCDF67}.Release-DLL|x64.Build.0 = Release|x64 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug|Win32.ActiveCfg = Debug|Win32 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug|x64.ActiveCfg = Debug|x64 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release|Win32.ActiveCfg = Release|Win32 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release|x64.ActiveCfg = Release|x64 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug|Win32.Build.0 = Debug|Win32 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug|x64.Build.0 = Debug|x64 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release|Win32.Build.0 = Release|Win32 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release|x64.Build.0 = Release|x64 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Debug-DLL|x64.Build.0 = Debug|x64 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release-DLL|Win32.Build.0 = Release|Win32 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release-DLL|x64.ActiveCfg = Release|x64 + {962380E0-1C06-8917-8F7F-1A02E0E93BE7}.Release-DLL|x64.Build.0 = Release|x64 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug|Win32.ActiveCfg = Debug|Win32 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug|x64.ActiveCfg = Debug|x64 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release|Win32.ActiveCfg = Release|Win32 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release|x64.ActiveCfg = Release|x64 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug|Win32.Build.0 = Debug|Win32 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug|x64.Build.0 = Debug|x64 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release|Win32.Build.0 = Release|Win32 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release|x64.Build.0 = Release|x64 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Debug-DLL|x64.Build.0 = Debug|x64 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release-DLL|Win32.Build.0 = Release|Win32 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release-DLL|x64.ActiveCfg = Release|x64 + {82878169-5A89-FD1E-31A6-E9F07BB92418}.Release-DLL|x64.Build.0 = Release|x64 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug|Win32.ActiveCfg = Debug|Win32 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug|x64.ActiveCfg = Debug|x64 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Release|Win32.ActiveCfg = Release|Win32 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Release|x64.ActiveCfg = Release|x64 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug|Win32.Build.0 = Debug|Win32 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug|x64.Build.0 = Debug|x64 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Release|Win32.Build.0 = Release|Win32 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Release|x64.Build.0 = Release|x64 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Debug-DLL|x64.Build.0 = Debug|x64 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Release-DLL|Win32.Build.0 = Release|Win32 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Release-DLL|x64.ActiveCfg = Release|x64 + {485E6713-487D-F274-BDE7-5D29300C93FE}.Release-DLL|x64.Build.0 = Release|x64 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug|Win32.ActiveCfg = Debug|Win32 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug|x64.ActiveCfg = Debug|x64 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Release|Win32.ActiveCfg = Release|Win32 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Release|x64.ActiveCfg = Release|x64 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug|Win32.Build.0 = Debug|Win32 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug|x64.Build.0 = Debug|x64 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Release|Win32.Build.0 = Release|Win32 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Release|x64.Build.0 = Release|x64 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Debug-DLL|x64.Build.0 = Debug|x64 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Release-DLL|Win32.Build.0 = Release|Win32 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Release-DLL|x64.ActiveCfg = Release|x64 + {03A65361-E139-5344-1868-8E8FC269C6E6}.Release-DLL|x64.Build.0 = Release|x64 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug|Win32.ActiveCfg = Debug|Win32 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug|x64.ActiveCfg = Debug|x64 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Release|Win32.ActiveCfg = Release|Win32 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Release|x64.ActiveCfg = Release|x64 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug|Win32.Build.0 = Debug|Win32 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug|x64.Build.0 = Debug|x64 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Release|Win32.Build.0 = Release|Win32 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Release|x64.Build.0 = Release|x64 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Debug-DLL|x64.Build.0 = Debug|x64 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Release-DLL|Win32.Build.0 = Release|Win32 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Release-DLL|x64.ActiveCfg = Release|x64 + {B3F26242-A43D-4F77-A84C-0F478741A061}.Release-DLL|x64.Build.0 = Release|x64 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug|Win32.ActiveCfg = Debug|Win32 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug|x64.ActiveCfg = Debug|x64 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Release|Win32.ActiveCfg = Release|Win32 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Release|x64.ActiveCfg = Release|x64 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug|Win32.Build.0 = Debug|Win32 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug|x64.Build.0 = Debug|x64 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Release|Win32.Build.0 = Release|Win32 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Release|x64.Build.0 = Release|x64 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Debug-DLL|x64.Build.0 = Debug|x64 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Release-DLL|Win32.Build.0 = Release|Win32 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Release-DLL|x64.ActiveCfg = Release|x64 + {67458AF8-A122-7740-F195-C2E74A106FAB}.Release-DLL|x64.Build.0 = Release|x64 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug|Win32.ActiveCfg = Debug|Win32 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug|x64.ActiveCfg = Debug|x64 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release|Win32.ActiveCfg = Release|Win32 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release|x64.ActiveCfg = Release|x64 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug|Win32.Build.0 = Debug|Win32 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug|x64.Build.0 = Debug|x64 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release|Win32.Build.0 = Release|Win32 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release|x64.Build.0 = Release|x64 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Debug-DLL|x64.Build.0 = Debug|x64 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release-DLL|Win32.Build.0 = Release|Win32 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release-DLL|x64.ActiveCfg = Release|x64 + {B3B7D225-3C04-72F9-4C2C-1C3F3136FE58}.Release-DLL|x64.Build.0 = Release|x64 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug|Win32.ActiveCfg = Debug|Win32 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug|x64.ActiveCfg = Debug|x64 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release|Win32.ActiveCfg = Release|Win32 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release|x64.ActiveCfg = Release|x64 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug|Win32.Build.0 = Debug|Win32 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug|x64.Build.0 = Debug|x64 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release|Win32.Build.0 = Release|Win32 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release|x64.Build.0 = Release|x64 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Debug-DLL|x64.Build.0 = Debug|x64 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release-DLL|Win32.Build.0 = Release|Win32 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release-DLL|x64.ActiveCfg = Release|x64 + {A9092608-E45E-AC96-6533-A6E7DD98211D}.Release-DLL|x64.Build.0 = Release|x64 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug|Win32.ActiveCfg = Debug|Win32 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug|x64.ActiveCfg = Debug|x64 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release|Win32.ActiveCfg = Release|Win32 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release|x64.ActiveCfg = Release|x64 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug|Win32.Build.0 = Debug|Win32 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug|x64.Build.0 = Debug|x64 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release|Win32.Build.0 = Release|Win32 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release|x64.Build.0 = Release|x64 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Debug-DLL|x64.Build.0 = Debug|x64 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release-DLL|Win32.Build.0 = Release|Win32 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release-DLL|x64.ActiveCfg = Release|x64 + {EA78D290-4098-FF04-C647-013F6B81E4E7}.Release-DLL|x64.Build.0 = Release|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug|Win32.ActiveCfg = Debug|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug|x64.ActiveCfg = Debug|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release|Win32.ActiveCfg = Release|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release|x64.ActiveCfg = Release|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug|Win32.Build.0 = Debug|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug|x64.Build.0 = Debug|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release|Win32.Build.0 = Release|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release|x64.Build.0 = Release|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Debug-DLL|x64.Build.0 = Debug|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release-DLL|Win32.Build.0 = Release|Win32 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release-DLL|x64.ActiveCfg = Release|x64 + {23DF0572-DBF1-08DA-8EAD-8508354C90A4}.Release-DLL|x64.Build.0 = Release|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|Win32.ActiveCfg = Debug|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|x64.ActiveCfg = Debug|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|Win32.ActiveCfg = Release|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|x64.ActiveCfg = Release|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|Win32.Build.0 = Debug|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|x64.Build.0 = Debug|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|Win32.Build.0 = Release|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|x64.Build.0 = Release|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|x64.Build.0 = Debug|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|Win32.Build.0 = Release|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|x64.ActiveCfg = Release|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|x64.Build.0 = Release|x64 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug|Win32.ActiveCfg = Debug|Win32 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug|x64.ActiveCfg = Debug|x64 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release|Win32.ActiveCfg = Release|Win32 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release|x64.ActiveCfg = Release|x64 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug|Win32.Build.0 = Debug|Win32 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug|x64.Build.0 = Debug|x64 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release|Win32.Build.0 = Release|Win32 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release|x64.Build.0 = Release|x64 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Debug-DLL|x64.Build.0 = Debug|x64 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release-DLL|Win32.Build.0 = Release|Win32 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release-DLL|x64.ActiveCfg = Release|x64 + {4CAEC7C3-5354-D474-FB3D-ABED6AD2E1DA}.Release-DLL|x64.Build.0 = Release|x64 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug|Win32.ActiveCfg = Debug|Win32 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug|x64.ActiveCfg = Debug|x64 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release|Win32.ActiveCfg = Release|Win32 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release|x64.ActiveCfg = Release|x64 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug|Win32.Build.0 = Debug|Win32 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug|x64.Build.0 = Debug|x64 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release|Win32.Build.0 = Release|Win32 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release|x64.Build.0 = Release|x64 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Debug-DLL|x64.Build.0 = Debug|x64 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release-DLL|Win32.Build.0 = Release|Win32 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release-DLL|x64.ActiveCfg = Release|x64 + {FF2CEE6D-850F-E22C-53A0-8C5912B14B20}.Release-DLL|x64.Build.0 = Release|x64 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug|Win32.ActiveCfg = Debug|Win32 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug|x64.ActiveCfg = Debug|x64 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release|Win32.ActiveCfg = Release|Win32 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release|x64.ActiveCfg = Release|x64 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug|Win32.Build.0 = Debug|Win32 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug|x64.Build.0 = Debug|x64 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release|Win32.Build.0 = Release|Win32 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release|x64.Build.0 = Release|x64 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Debug-DLL|x64.Build.0 = Debug|x64 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release-DLL|Win32.Build.0 = Release|Win32 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release-DLL|x64.ActiveCfg = Release|x64 + {49D7E690-BDA1-5236-1ABF-3D81C1559DF7}.Release-DLL|x64.Build.0 = Release|x64 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug|Win32.ActiveCfg = Debug|Win32 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug|x64.ActiveCfg = Debug|x64 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release|Win32.ActiveCfg = Release|Win32 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release|x64.ActiveCfg = Release|x64 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug|Win32.Build.0 = Debug|Win32 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug|x64.Build.0 = Debug|x64 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release|Win32.Build.0 = Release|Win32 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release|x64.Build.0 = Release|x64 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Debug-DLL|x64.Build.0 = Debug|x64 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release-DLL|Win32.Build.0 = Release|Win32 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release-DLL|x64.ActiveCfg = Release|x64 + {A43C3292-CAE7-1B8C-A5FD-52D9E3DCFD82}.Release-DLL|x64.Build.0 = Release|x64 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug|Win32.ActiveCfg = Debug|Win32 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug|x64.ActiveCfg = Debug|x64 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release|Win32.ActiveCfg = Release|Win32 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release|x64.ActiveCfg = Release|x64 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug|Win32.Build.0 = Debug|Win32 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug|x64.Build.0 = Debug|x64 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release|Win32.Build.0 = Release|Win32 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release|x64.Build.0 = Release|x64 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Debug-DLL|x64.Build.0 = Debug|x64 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release-DLL|Win32.Build.0 = Release|Win32 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release-DLL|x64.ActiveCfg = Release|x64 + {117CA7AD-C42B-9217-6C95-42A801777BC5}.Release-DLL|x64.Build.0 = Release|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|Win32.ActiveCfg = Debug|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|x64.ActiveCfg = Debug|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|Win32.ActiveCfg = Release|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|x64.ActiveCfg = Release|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|Win32.Build.0 = Debug|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|x64.Build.0 = Debug|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|Win32.Build.0 = Release|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|x64.Build.0 = Release|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|x64.Build.0 = Debug|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|Win32.Build.0 = Release|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|x64.ActiveCfg = Release|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|x64.Build.0 = Release|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug|Win32.ActiveCfg = Debug|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug|x64.ActiveCfg = Debug|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release|Win32.ActiveCfg = Release|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release|x64.ActiveCfg = Release|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug|Win32.Build.0 = Debug|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug|x64.Build.0 = Debug|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release|Win32.Build.0 = Release|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release|x64.Build.0 = Release|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Debug-DLL|x64.Build.0 = Debug|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release-DLL|Win32.Build.0 = Release|Win32 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release-DLL|x64.ActiveCfg = Release|x64 + {28AE726B-1BFB-202B-48D2-41AF9D09B9EA}.Release-DLL|x64.Build.0 = Release|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug|Win32.ActiveCfg = Debug|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug|x64.ActiveCfg = Debug|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release|Win32.ActiveCfg = Release|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release|x64.ActiveCfg = Release|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug|Win32.Build.0 = Debug|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug|x64.Build.0 = Debug|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release|Win32.Build.0 = Release|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release|x64.Build.0 = Release|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Debug-DLL|x64.Build.0 = Debug|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release-DLL|Win32.Build.0 = Release|Win32 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release-DLL|x64.ActiveCfg = Release|x64 + {D53575C6-713C-E6E3-FD74-E65F20916498}.Release-DLL|x64.Build.0 = Release|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug|Win32.ActiveCfg = Debug|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug|x64.ActiveCfg = Debug|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release|Win32.ActiveCfg = Release|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release|x64.ActiveCfg = Release|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug|Win32.Build.0 = Debug|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug|x64.Build.0 = Debug|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release|Win32.Build.0 = Release|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release|x64.Build.0 = Release|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Debug-DLL|x64.Build.0 = Debug|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release-DLL|Win32.Build.0 = Release|Win32 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release-DLL|x64.ActiveCfg = Release|x64 + {ED24E700-964E-B426-6A6A-1944E2EF7BCB}.Release-DLL|x64.Build.0 = Release|x64 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug|Win32.ActiveCfg = Debug|Win32 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug|x64.ActiveCfg = Debug|x64 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release|Win32.ActiveCfg = Release|Win32 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release|x64.ActiveCfg = Release|x64 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug|Win32.Build.0 = Debug|Win32 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug|x64.Build.0 = Debug|x64 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release|Win32.Build.0 = Release|Win32 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release|x64.Build.0 = Release|x64 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Debug-DLL|x64.Build.0 = Debug|x64 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release-DLL|Win32.Build.0 = Release|Win32 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release-DLL|x64.ActiveCfg = Release|x64 + {C32CA8A3-58E6-8EB9-B72F-C295547D36A6}.Release-DLL|x64.Build.0 = Release|x64 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug|Win32.ActiveCfg = Debug|Win32 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug|x64.ActiveCfg = Debug|x64 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release|Win32.ActiveCfg = Release|Win32 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release|x64.ActiveCfg = Release|x64 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug|Win32.Build.0 = Debug|Win32 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug|x64.Build.0 = Debug|x64 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release|Win32.Build.0 = Release|Win32 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release|x64.Build.0 = Release|x64 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Debug-DLL|x64.Build.0 = Debug|x64 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release-DLL|Win32.Build.0 = Release|Win32 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release-DLL|x64.ActiveCfg = Release|x64 + {57B36FF6-25B1-2475-D07A-2E9097E2C792}.Release-DLL|x64.Build.0 = Release|x64 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug|x64.ActiveCfg = Debug|x64 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release|Win32.ActiveCfg = Release|Win32 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release|x64.ActiveCfg = Release|x64 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug|Win32.Build.0 = Debug|Win32 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug|x64.Build.0 = Debug|x64 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release|Win32.Build.0 = Release|Win32 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release|x64.Build.0 = Release|x64 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Debug-DLL|x64.Build.0 = Debug|x64 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release-DLL|Win32.Build.0 = Release|Win32 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release-DLL|x64.ActiveCfg = Release|x64 + {DD4C2B4E-9C47-6AA4-8E16-7B69AF8FA1D2}.Release-DLL|x64.Build.0 = Release|x64 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug|Win32.ActiveCfg = Debug|Win32 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug|x64.ActiveCfg = Debug|x64 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release|Win32.ActiveCfg = Release|Win32 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release|x64.ActiveCfg = Release|x64 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug|Win32.Build.0 = Debug|Win32 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug|x64.Build.0 = Debug|x64 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release|Win32.Build.0 = Release|Win32 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release|x64.Build.0 = Release|x64 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Debug-DLL|x64.Build.0 = Debug|x64 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release-DLL|Win32.Build.0 = Release|Win32 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release-DLL|x64.ActiveCfg = Release|x64 + {8EABFC7E-4CE6-CDE1-CE31-298D809B8A9B}.Release-DLL|x64.Build.0 = Release|x64 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug|Win32.ActiveCfg = Debug|Win32 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug|x64.ActiveCfg = Debug|x64 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release|Win32.ActiveCfg = Release|Win32 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release|x64.ActiveCfg = Release|x64 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug|Win32.Build.0 = Debug|Win32 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug|x64.Build.0 = Debug|x64 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release|Win32.Build.0 = Release|Win32 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release|x64.Build.0 = Release|x64 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Debug-DLL|x64.Build.0 = Debug|x64 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release-DLL|Win32.Build.0 = Release|Win32 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release-DLL|x64.ActiveCfg = Release|x64 + {05230AC7-4529-E6CF-0506-A063B5FF6642}.Release-DLL|x64.Build.0 = Release|x64 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug|Win32.ActiveCfg = Debug|Win32 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug|x64.ActiveCfg = Debug|x64 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Release|Win32.ActiveCfg = Release|Win32 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Release|x64.ActiveCfg = Release|x64 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug|Win32.Build.0 = Debug|Win32 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug|x64.Build.0 = Debug|x64 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Release|Win32.Build.0 = Release|Win32 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Release|x64.Build.0 = Release|x64 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Debug-DLL|x64.Build.0 = Debug|x64 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Release-DLL|Win32.Build.0 = Release|Win32 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Release-DLL|x64.ActiveCfg = Release|x64 + {6E60B394-E17D-658A-6648-A2E6E183226F}.Release-DLL|x64.Build.0 = Release|x64 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug|Win32.ActiveCfg = Debug|Win32 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug|x64.ActiveCfg = Debug|x64 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release|Win32.ActiveCfg = Release|Win32 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release|x64.ActiveCfg = Release|x64 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug|Win32.Build.0 = Debug|Win32 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug|x64.Build.0 = Debug|x64 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release|Win32.Build.0 = Release|Win32 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release|x64.Build.0 = Release|x64 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Debug-DLL|x64.Build.0 = Debug|x64 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release-DLL|Win32.Build.0 = Release|Win32 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release-DLL|x64.ActiveCfg = Release|x64 + {B706A9EC-7982-0DBC-495D-07B165F6CF56}.Release-DLL|x64.Build.0 = Release|x64 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug|Win32.ActiveCfg = Debug|Win32 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug|x64.ActiveCfg = Debug|x64 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release|Win32.ActiveCfg = Release|Win32 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release|x64.ActiveCfg = Release|x64 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug|Win32.Build.0 = Debug|Win32 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug|x64.Build.0 = Debug|x64 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release|Win32.Build.0 = Release|Win32 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release|x64.Build.0 = Release|x64 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Debug-DLL|x64.Build.0 = Debug|x64 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release-DLL|Win32.Build.0 = Release|Win32 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release-DLL|x64.ActiveCfg = Release|x64 + {62D58A08-3B5E-D6A8-ABBB-77995AA0A8C6}.Release-DLL|x64.Build.0 = Release|x64 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug|Win32.ActiveCfg = Debug|Win32 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug|x64.ActiveCfg = Debug|x64 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release|Win32.ActiveCfg = Release|Win32 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release|x64.ActiveCfg = Release|x64 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug|Win32.Build.0 = Debug|Win32 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug|x64.Build.0 = Debug|x64 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release|Win32.Build.0 = Release|Win32 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release|x64.Build.0 = Release|x64 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Debug-DLL|x64.Build.0 = Debug|x64 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release-DLL|Win32.Build.0 = Release|Win32 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release-DLL|x64.ActiveCfg = Release|x64 + {DC76C089-0D55-DF19-7CCA-49DAE5D29E49}.Release-DLL|x64.Build.0 = Release|x64 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug|Win32.ActiveCfg = Debug|Win32 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug|x64.ActiveCfg = Debug|x64 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Release|Win32.ActiveCfg = Release|Win32 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Release|x64.ActiveCfg = Release|x64 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug|Win32.Build.0 = Debug|Win32 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug|x64.Build.0 = Debug|x64 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Release|Win32.Build.0 = Release|Win32 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Release|x64.Build.0 = Release|x64 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Debug-DLL|x64.Build.0 = Debug|x64 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Release-DLL|Win32.Build.0 = Release|Win32 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Release-DLL|x64.ActiveCfg = Release|x64 + {07170557-CCB0-D23C-8018-C2909D115DF9}.Release-DLL|x64.Build.0 = Release|x64 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug|Win32.ActiveCfg = Debug|Win32 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug|x64.ActiveCfg = Debug|x64 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release|Win32.ActiveCfg = Release|Win32 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release|x64.ActiveCfg = Release|x64 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug|Win32.Build.0 = Debug|Win32 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug|x64.Build.0 = Debug|x64 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release|Win32.Build.0 = Release|Win32 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release|x64.Build.0 = Release|x64 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Debug-DLL|x64.Build.0 = Debug|x64 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release-DLL|Win32.Build.0 = Release|Win32 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release-DLL|x64.ActiveCfg = Release|x64 + {9345E329-80F3-DED4-FDC3-BF63FCEA2C03}.Release-DLL|x64.Build.0 = Release|x64 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug|Win32.ActiveCfg = Debug|Win32 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug|x64.ActiveCfg = Debug|x64 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Release|Win32.ActiveCfg = Release|Win32 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Release|x64.ActiveCfg = Release|x64 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug|Win32.Build.0 = Debug|Win32 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug|x64.Build.0 = Debug|x64 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Release|Win32.Build.0 = Release|Win32 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Release|x64.Build.0 = Release|x64 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Debug-DLL|x64.Build.0 = Debug|x64 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Release-DLL|Win32.Build.0 = Release|Win32 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Release-DLL|x64.ActiveCfg = Release|x64 + {88AF688E-E43C-5E20-6966-CF559F597D82}.Release-DLL|x64.Build.0 = Release|x64 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug|Win32.ActiveCfg = Debug|Win32 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug|x64.ActiveCfg = Debug|x64 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release|Win32.ActiveCfg = Release|Win32 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release|x64.ActiveCfg = Release|x64 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug|Win32.Build.0 = Debug|Win32 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug|x64.Build.0 = Debug|x64 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release|Win32.Build.0 = Release|Win32 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release|x64.Build.0 = Release|x64 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Debug-DLL|x64.Build.0 = Debug|x64 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release-DLL|Win32.Build.0 = Release|Win32 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release-DLL|x64.ActiveCfg = Release|x64 + {0B136077-8522-3C25-7704-1C386C9FDCD5}.Release-DLL|x64.Build.0 = Release|x64 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug|Win32.ActiveCfg = Debug|Win32 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug|x64.ActiveCfg = Debug|x64 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release|Win32.ActiveCfg = Release|Win32 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release|x64.ActiveCfg = Release|x64 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug|Win32.Build.0 = Debug|Win32 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug|x64.Build.0 = Debug|x64 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release|Win32.Build.0 = Release|Win32 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release|x64.Build.0 = Release|x64 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Debug-DLL|x64.Build.0 = Debug|x64 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release-DLL|Win32.Build.0 = Release|Win32 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release-DLL|x64.ActiveCfg = Release|x64 + {A66AC548-E2B9-74CD-293C-43526EE51DCE}.Release-DLL|x64.Build.0 = Release|x64 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug|Win32.ActiveCfg = Debug|Win32 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug|x64.ActiveCfg = Debug|x64 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release|Win32.ActiveCfg = Release|Win32 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release|x64.ActiveCfg = Release|x64 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug|Win32.Build.0 = Debug|Win32 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug|x64.Build.0 = Debug|x64 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release|Win32.Build.0 = Release|Win32 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release|x64.Build.0 = Release|x64 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Debug-DLL|x64.Build.0 = Debug|x64 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release-DLL|Win32.Build.0 = Release|Win32 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release-DLL|x64.ActiveCfg = Release|x64 + {8279AF6C-9584-67F3-1547-B204864FCCA7}.Release-DLL|x64.Build.0 = Release|x64 + {62B25398-7173-928E-689E-53860B0ACFC4}.Debug|Win32.ActiveCfg = Debug|Win32 + {62B25398-7173-928E-689E-53860B0ACFC4}.Debug|x64.ActiveCfg = Debug|x64 + {62B25398-7173-928E-689E-53860B0ACFC4}.Release|Win32.ActiveCfg = Release|Win32 + {62B25398-7173-928E-689E-53860B0ACFC4}.Release|x64.ActiveCfg = Release|x64 + {62B25398-7173-928E-689E-53860B0ACFC4}.Debug|Win32.Build.0 = Debug|Win32 + {62B25398-7173-928E-689E-53860B0ACFC4}.Debug|x64.Build.0 = Debug|x64 + {62B25398-7173-928E-689E-53860B0ACFC4}.Release|Win32.Build.0 = Release|Win32 + {62B25398-7173-928E-689E-53860B0ACFC4}.Release|x64.Build.0 = Release|x64 + {62B25398-7173-928E-689E-53860B0ACFC4}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {62B25398-7173-928E-689E-53860B0ACFC4}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {62B25398-7173-928E-689E-53860B0ACFC4}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {62B25398-7173-928E-689E-53860B0ACFC4}.Debug-DLL|x64.Build.0 = Debug|x64 + {62B25398-7173-928E-689E-53860B0ACFC4}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {62B25398-7173-928E-689E-53860B0ACFC4}.Release-DLL|Win32.Build.0 = Release|Win32 + {62B25398-7173-928E-689E-53860B0ACFC4}.Release-DLL|x64.ActiveCfg = Release|x64 + {62B25398-7173-928E-689E-53860B0ACFC4}.Release-DLL|x64.Build.0 = Release|x64 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug|Win32.ActiveCfg = Debug|Win32 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug|x64.ActiveCfg = Debug|x64 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release|Win32.ActiveCfg = Release|Win32 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release|x64.ActiveCfg = Release|x64 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug|Win32.Build.0 = Debug|Win32 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug|x64.Build.0 = Debug|x64 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release|Win32.Build.0 = Release|Win32 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release|x64.Build.0 = Release|x64 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Debug-DLL|x64.Build.0 = Debug|x64 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release-DLL|Win32.Build.0 = Release|Win32 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release-DLL|x64.ActiveCfg = Release|x64 + {A7747106-A6BC-62D4-2A21-04A4F0CC2683}.Release-DLL|x64.Build.0 = Release|x64 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug|Win32.ActiveCfg = Debug|Win32 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug|x64.ActiveCfg = Debug|x64 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release|Win32.ActiveCfg = Release|Win32 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release|x64.ActiveCfg = Release|x64 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug|Win32.Build.0 = Debug|Win32 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug|x64.Build.0 = Debug|x64 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release|Win32.Build.0 = Release|Win32 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release|x64.Build.0 = Release|x64 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Debug-DLL|x64.Build.0 = Debug|x64 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release-DLL|Win32.Build.0 = Release|Win32 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release-DLL|x64.ActiveCfg = Release|x64 + {F164F666-C866-D607-E1DF-E7BF3CF98255}.Release-DLL|x64.Build.0 = Release|x64 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug|Win32.ActiveCfg = Debug|Win32 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug|x64.ActiveCfg = Debug|x64 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release|Win32.ActiveCfg = Release|Win32 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release|x64.ActiveCfg = Release|x64 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug|Win32.Build.0 = Debug|Win32 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug|x64.Build.0 = Debug|x64 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release|Win32.Build.0 = Release|Win32 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release|x64.Build.0 = Release|x64 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Debug-DLL|x64.Build.0 = Debug|x64 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release-DLL|Win32.Build.0 = Release|Win32 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release-DLL|x64.ActiveCfg = Release|x64 + {BF9F909B-8266-6AAC-A81B-05F8210AA8CA}.Release-DLL|x64.Build.0 = Release|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|Win32.ActiveCfg = Debug|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|x64.ActiveCfg = Debug|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|Win32.ActiveCfg = Release|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|x64.ActiveCfg = Release|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|Win32.Build.0 = Debug|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|x64.Build.0 = Debug|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|Win32.Build.0 = Release|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|x64.Build.0 = Release|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|x64.Build.0 = Debug|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|Win32.Build.0 = Release|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|x64.ActiveCfg = Release|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|x64.Build.0 = Release|x64 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug|Win32.ActiveCfg = Debug|Win32 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug|x64.ActiveCfg = Debug|x64 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release|Win32.ActiveCfg = Release|Win32 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release|x64.ActiveCfg = Release|x64 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug|Win32.Build.0 = Debug|Win32 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug|x64.Build.0 = Debug|x64 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release|Win32.Build.0 = Release|Win32 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release|x64.Build.0 = Release|x64 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Debug-DLL|x64.Build.0 = Debug|x64 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release-DLL|Win32.Build.0 = Release|Win32 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release-DLL|x64.ActiveCfg = Release|x64 + {E765AC67-E4E5-C350-59A1-C6CA2BD9F64B}.Release-DLL|x64.Build.0 = Release|x64 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug|Win32.ActiveCfg = Debug|Win32 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug|x64.ActiveCfg = Debug|x64 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release|Win32.ActiveCfg = Release|Win32 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release|x64.ActiveCfg = Release|x64 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug|Win32.Build.0 = Debug|Win32 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug|x64.Build.0 = Debug|x64 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release|Win32.Build.0 = Release|Win32 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release|x64.Build.0 = Release|x64 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Debug-DLL|x64.Build.0 = Debug|x64 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release-DLL|Win32.Build.0 = Release|Win32 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release-DLL|x64.ActiveCfg = Release|x64 + {4A48E5A5-2E69-ED6D-063C-C297180A54D0}.Release-DLL|x64.Build.0 = Release|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug|Win32.ActiveCfg = Debug|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug|x64.ActiveCfg = Debug|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Release|Win32.ActiveCfg = Release|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Release|x64.ActiveCfg = Release|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug|Win32.Build.0 = Debug|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug|x64.Build.0 = Debug|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Release|Win32.Build.0 = Release|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Release|x64.Build.0 = Release|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|x64.Build.0 = Debug|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|Win32.Build.0 = Release|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|x64.ActiveCfg = Release|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|x64.Build.0 = Release|x64 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug|Win32.ActiveCfg = Debug|Win32 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug|x64.ActiveCfg = Debug|x64 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release|Win32.ActiveCfg = Release|Win32 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release|x64.ActiveCfg = Release|x64 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug|Win32.Build.0 = Debug|Win32 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug|x64.Build.0 = Debug|x64 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release|Win32.Build.0 = Release|Win32 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release|x64.Build.0 = Release|x64 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Debug-DLL|x64.Build.0 = Debug|x64 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release-DLL|Win32.Build.0 = Release|Win32 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release-DLL|x64.ActiveCfg = Release|x64 + {9889A80C-F1D7-99C9-FE7E-657724BEDC62}.Release-DLL|x64.Build.0 = Release|x64 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug|Win32.ActiveCfg = Debug|Win32 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug|x64.ActiveCfg = Debug|x64 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release|Win32.ActiveCfg = Release|Win32 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release|x64.ActiveCfg = Release|x64 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug|Win32.Build.0 = Debug|Win32 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug|x64.Build.0 = Debug|x64 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release|Win32.Build.0 = Release|Win32 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release|x64.Build.0 = Release|x64 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Debug-DLL|x64.Build.0 = Debug|x64 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release-DLL|Win32.Build.0 = Release|Win32 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release-DLL|x64.ActiveCfg = Release|x64 + {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release-DLL|x64.Build.0 = Release|x64 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug|Win32.ActiveCfg = Debug|Win32 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug|x64.ActiveCfg = Debug|x64 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release|Win32.ActiveCfg = Release|Win32 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release|x64.ActiveCfg = Release|x64 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug|Win32.Build.0 = Debug|Win32 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug|x64.Build.0 = Debug|x64 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release|Win32.Build.0 = Release|Win32 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release|x64.Build.0 = Release|x64 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Debug-DLL|x64.Build.0 = Debug|x64 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release-DLL|Win32.Build.0 = Release|Win32 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release-DLL|x64.ActiveCfg = Release|x64 + {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release-DLL|x64.Build.0 = Release|x64 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug|Win32.ActiveCfg = Debug|Win32 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug|x64.ActiveCfg = Debug|x64 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release|Win32.ActiveCfg = Release|Win32 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release|x64.ActiveCfg = Release|x64 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug|Win32.Build.0 = Debug|Win32 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug|x64.Build.0 = Debug|x64 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release|Win32.Build.0 = Release|Win32 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release|x64.Build.0 = Release|x64 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug-DLL|x64.Build.0 = Debug|x64 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release-DLL|Win32.Build.0 = Release|Win32 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release-DLL|x64.ActiveCfg = Release|x64 + {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release-DLL|x64.Build.0 = Release|x64 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug|Win32.ActiveCfg = Debug|Win32 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug|x64.ActiveCfg = Debug|x64 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release|Win32.ActiveCfg = Release|Win32 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release|x64.ActiveCfg = Release|x64 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug|Win32.Build.0 = Debug|Win32 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug|x64.Build.0 = Debug|x64 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release|Win32.Build.0 = Release|Win32 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release|x64.Build.0 = Release|x64 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Debug-DLL|x64.Build.0 = Debug|x64 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release-DLL|Win32.Build.0 = Release|Win32 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release-DLL|x64.ActiveCfg = Release|x64 + {EA073C36-A527-F749-AD4A-243A38B9BFF5}.Release-DLL|x64.Build.0 = Release|x64 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug|Win32.ActiveCfg = Debug|Win32 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug|x64.ActiveCfg = Debug|x64 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release|Win32.ActiveCfg = Release|Win32 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release|x64.ActiveCfg = Release|x64 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug|Win32.Build.0 = Debug|Win32 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug|x64.Build.0 = Debug|x64 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release|Win32.Build.0 = Release|Win32 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release|x64.Build.0 = Release|x64 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Debug-DLL|x64.Build.0 = Debug|x64 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release-DLL|Win32.Build.0 = Release|Win32 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release-DLL|x64.ActiveCfg = Release|x64 + {A2110C60-E75A-F76E-205E-1836F86C4D53}.Release-DLL|x64.Build.0 = Release|x64 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug|Win32.ActiveCfg = Debug|Win32 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug|x64.ActiveCfg = Debug|x64 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release|Win32.ActiveCfg = Release|Win32 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release|x64.ActiveCfg = Release|x64 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug|Win32.Build.0 = Debug|Win32 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug|x64.Build.0 = Debug|x64 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release|Win32.Build.0 = Release|Win32 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release|x64.Build.0 = Release|x64 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Debug-DLL|x64.Build.0 = Debug|x64 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release-DLL|Win32.Build.0 = Release|Win32 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release-DLL|x64.ActiveCfg = Release|x64 + {C43EA45B-1E72-C58D-8CE3-A879D1B1E2DB}.Release-DLL|x64.Build.0 = Release|x64 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug|Win32.ActiveCfg = Debug|Win32 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug|x64.ActiveCfg = Debug|x64 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release|Win32.ActiveCfg = Release|Win32 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release|x64.ActiveCfg = Release|x64 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug|Win32.Build.0 = Debug|Win32 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug|x64.Build.0 = Debug|x64 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release|Win32.Build.0 = Release|Win32 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release|x64.Build.0 = Release|x64 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Debug-DLL|x64.Build.0 = Debug|x64 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release-DLL|Win32.Build.0 = Release|Win32 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release-DLL|x64.ActiveCfg = Release|x64 + {659121F6-1639-AC6B-053E-9D17A8B94D56}.Release-DLL|x64.Build.0 = Release|x64 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug|Win32.ActiveCfg = Debug|Win32 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug|x64.ActiveCfg = Debug|x64 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release|Win32.ActiveCfg = Release|Win32 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release|x64.ActiveCfg = Release|x64 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug|Win32.Build.0 = Debug|Win32 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug|x64.Build.0 = Debug|x64 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release|Win32.Build.0 = Release|Win32 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release|x64.Build.0 = Release|x64 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Debug-DLL|x64.Build.0 = Debug|x64 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release-DLL|Win32.Build.0 = Release|Win32 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release-DLL|x64.ActiveCfg = Release|x64 + {89A119C5-0F62-33B8-5D08-1FAA29DA7DEB}.Release-DLL|x64.Build.0 = Release|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|Win32.ActiveCfg = Debug|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|x64.ActiveCfg = Debug|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|Win32.ActiveCfg = Release|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|x64.ActiveCfg = Release|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|Win32.Build.0 = Debug|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|x64.Build.0 = Debug|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|Win32.Build.0 = Release|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|x64.Build.0 = Release|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|x64.Build.0 = Debug|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|Win32.Build.0 = Release|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|x64.ActiveCfg = Release|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|x64.Build.0 = Release|x64 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug|Win32.ActiveCfg = Debug|Win32 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug|x64.ActiveCfg = Debug|x64 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release|Win32.ActiveCfg = Release|Win32 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release|x64.ActiveCfg = Release|x64 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug|Win32.Build.0 = Debug|Win32 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug|x64.Build.0 = Debug|x64 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release|Win32.Build.0 = Release|Win32 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release|x64.Build.0 = Release|x64 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Debug-DLL|x64.Build.0 = Debug|x64 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release-DLL|Win32.Build.0 = Release|Win32 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release-DLL|x64.ActiveCfg = Release|x64 + {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release-DLL|x64.Build.0 = Release|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|Win32.ActiveCfg = Debug|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|x64.ActiveCfg = Debug|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|Win32.ActiveCfg = Release|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|x64.ActiveCfg = Release|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|Win32.Build.0 = Debug|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|x64.Build.0 = Debug|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|Win32.Build.0 = Release|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|x64.Build.0 = Release|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|x64.Build.0 = Debug|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|Win32.Build.0 = Release|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|x64.ActiveCfg = Release|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal + diff --git a/vsprojects/grpc.sln b/vsprojects/grpc.sln index 84720914b0b34..64a5d343b058f 100644 --- a/vsprojects/grpc.sln +++ b/vsprojects/grpc.sln @@ -69,6 +69,27 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc++_unsecure", "vcxproj\ {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_c", "vcxproj\.\grpc_c\grpc_c.vcxproj", "{8AC0CB05-6E3C-4A40-B45E-FDA77644F432}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_c_end2end_client_lib", "vcxproj\.\grpc_c_end2end_client_lib\grpc_c_end2end_client_lib.vcxproj", "{E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432} = {8AC0CB05-6E3C-4A40-B45E-FDA77644F432} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_create_jwt", "vcxproj\.\grpc_create_jwt\grpc_create_jwt.vcxproj", "{77971F8D-F583-3E77-0E3C-6C1FB6B1749C}" ProjectSection(myProperties) = preProject lib = "False" @@ -318,6 +339,38 @@ Global {6EE56155-DF7C-4F6E-BFC4-F6F776BEB211}.Release-DLL|Win32.Build.0 = Release-DLL|Win32 {6EE56155-DF7C-4F6E-BFC4-F6F776BEB211}.Release-DLL|x64.ActiveCfg = Release-DLL|x64 {6EE56155-DF7C-4F6E-BFC4-F6F776BEB211}.Release-DLL|x64.Build.0 = Release-DLL|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug|Win32.ActiveCfg = Debug|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug|x64.ActiveCfg = Debug|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release|Win32.ActiveCfg = Release|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release|x64.ActiveCfg = Release|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug|Win32.Build.0 = Debug|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug|x64.Build.0 = Debug|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release|Win32.Build.0 = Release|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release|x64.Build.0 = Release|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug-DLL|Win32.ActiveCfg = Debug-DLL|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug-DLL|Win32.Build.0 = Debug-DLL|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug-DLL|x64.ActiveCfg = Debug-DLL|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Debug-DLL|x64.Build.0 = Debug-DLL|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release-DLL|Win32.ActiveCfg = Release-DLL|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release-DLL|Win32.Build.0 = Release-DLL|Win32 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release-DLL|x64.ActiveCfg = Release-DLL|x64 + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432}.Release-DLL|x64.Build.0 = Release-DLL|x64 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Debug|Win32.ActiveCfg = Debug|Win32 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Debug|x64.ActiveCfg = Debug|x64 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Release|Win32.ActiveCfg = Release|Win32 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Release|x64.ActiveCfg = Release|x64 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Debug|Win32.Build.0 = Debug|Win32 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Debug|x64.Build.0 = Debug|x64 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Release|Win32.Build.0 = Release|Win32 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Release|x64.Build.0 = Release|x64 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Debug-DLL|x64.Build.0 = Debug|x64 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Release-DLL|Win32.Build.0 = Release|Win32 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Release-DLL|x64.ActiveCfg = Release|x64 + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA}.Release-DLL|x64.Build.0 = Release|x64 {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug|Win32.ActiveCfg = Debug|Win32 {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Debug|x64.ActiveCfg = Debug|x64 {77971F8D-F583-3E77-0E3C-6C1FB6B1749C}.Release|Win32.ActiveCfg = Release|Win32 diff --git a/vsprojects/grpc_protoc_plugins.sln b/vsprojects/grpc_protoc_plugins.sln index 2e55720f28c50..5eadb7cdccef8 100644 --- a/vsprojects/grpc_protoc_plugins.sln +++ b/vsprojects/grpc_protoc_plugins.sln @@ -3,6 +3,14 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 VisualStudioVersion = 12.0.21005.1 MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_c_plugin", "vcxproj\.\grpc_c_plugin\grpc_c_plugin.vcxproj", "{06F2EB11-35DA-483D-AB0A-BC420D97B18C}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {B6E81D84-2ACB-41B8-8781-493A944C7817} = {B6E81D84-2ACB-41B8-8781-493A944C7817} + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_cpp_plugin", "vcxproj\.\grpc_cpp_plugin\grpc_cpp_plugin.vcxproj", "{7E51A25F-AC59-488F-906C-C60FAAE706AA}" ProjectSection(myProperties) = preProject lib = "False" @@ -64,6 +72,14 @@ Global Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {06F2EB11-35DA-483D-AB0A-BC420D97B18C}.Debug|Win32.ActiveCfg = Debug|Win32 + {06F2EB11-35DA-483D-AB0A-BC420D97B18C}.Debug|x64.ActiveCfg = Debug|x64 + {06F2EB11-35DA-483D-AB0A-BC420D97B18C}.Release|Win32.ActiveCfg = Release|Win32 + {06F2EB11-35DA-483D-AB0A-BC420D97B18C}.Release|x64.ActiveCfg = Release|x64 + {06F2EB11-35DA-483D-AB0A-BC420D97B18C}.Debug|Win32.Build.0 = Debug|Win32 + {06F2EB11-35DA-483D-AB0A-BC420D97B18C}.Debug|x64.Build.0 = Debug|x64 + {06F2EB11-35DA-483D-AB0A-BC420D97B18C}.Release|Win32.Build.0 = Release|Win32 + {06F2EB11-35DA-483D-AB0A-BC420D97B18C}.Release|x64.Build.0 = Release|x64 {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Debug|Win32.ActiveCfg = Debug|Win32 {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Debug|x64.ActiveCfg = Debug|x64 {7E51A25F-AC59-488F-906C-C60FAAE706AA}.Release|Win32.ActiveCfg = Release|Win32 diff --git a/vsprojects/vcxproj/grpc_c/grpc_c.vcxproj b/vsprojects/vcxproj/grpc_c/grpc_c.vcxproj new file mode 100644 index 0000000000000..d0a9156bb43dd --- /dev/null +++ b/vsprojects/vcxproj/grpc_c/grpc_c.vcxproj @@ -0,0 +1,355 @@ + + + + + Debug-DLL + Win32 + + + Debug-DLL + x64 + + + Release-DLL + Win32 + + + Release-DLL + x64 + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432} + true + $(SolutionDir)IntDir\$(MSBuildProjectName)\ + + + + v100 + + + v110 + + + v120 + + + v140 + + + StaticLibrary + true + Unicode + + + StaticLibrary + false + true + Unicode + + + StaticLibrary + true + Unicode + + + StaticLibrary + false + true + Unicode + + + + + + + + + + + + grpc_c + + + grpc_c + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Windows + true + false + + + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Windows + true + false + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Windows + true + false + true + true + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Windows + true + false + true + true + + + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Windows + true + false + + + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Windows + true + false + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Windows + true + false + true + true + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Windows + true + false + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {29D16885-7228-4C31-81ED-5F9187C7F2A9} + + + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + diff --git a/vsprojects/vcxproj/grpc_c/grpc_c.vcxproj.filters b/vsprojects/vcxproj/grpc_c/grpc_c.vcxproj.filters new file mode 100644 index 0000000000000..5658b68b24f6b --- /dev/null +++ b/vsprojects/vcxproj/grpc_c/grpc_c.vcxproj.filters @@ -0,0 +1,190 @@ + + + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + + + include\grpc_c + + + include\grpc_c + + + include\grpc_c\codegen + + + include\grpc_c\codegen + + + include\grpc_c\codegen + + + include\grpc_c\codegen + + + include\grpc_c\codegen + + + include\grpc_c\codegen + + + include\grpc_c\codegen + + + include\grpc_c\codegen + + + include\grpc_c\codegen + + + include\grpc_c\codegen + + + include\grpc_c\codegen + + + include\grpc_c + + + include\grpc_c + + + include\grpc_c + + + include\grpc_c + + + include\grpc_c + + + include\grpc_c + + + include\grpc_c + + + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + src\c + + + + + + {e6ae97d4-c467-5285-20b7-36e1d9b8900c} + + + {544356cf-8159-ab1b-8f53-ee9adb4f8d12} + + + {822240bd-8995-665a-1254-fc4e3d885fcb} + + + {95749a6c-2837-e369-a78b-c88960ec3f61} + + + {c54aee47-0126-363d-8b6e-00028cbe3973} + + + + diff --git a/vsprojects/vcxproj/grpc_c_end2end_client_lib/grpc_c_end2end_client_lib.vcxproj b/vsprojects/vcxproj/grpc_c_end2end_client_lib/grpc_c_end2end_client_lib.vcxproj new file mode 100644 index 0000000000000..c63361cb2c9b8 --- /dev/null +++ b/vsprojects/vcxproj/grpc_c_end2end_client_lib/grpc_c_end2end_client_lib.vcxproj @@ -0,0 +1,198 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA} + true + $(SolutionDir)IntDir\$(MSBuildProjectName)\ + + + + v100 + + + v110 + + + v120 + + + v140 + + + StaticLibrary + true + Unicode + + + StaticLibrary + false + true + Unicode + + + + + + + + + + + + grpc_c_end2end_client_lib + + + grpc_c_end2end_client_lib + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Windows + true + false + + + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Windows + true + false + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Windows + true + false + true + true + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Windows + true + false + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432} + + + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + + + {29D16885-7228-4C31-81ED-5F9187C7F2A9} + + + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + + + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + diff --git a/vsprojects/vcxproj/grpc_c_end2end_client_lib/grpc_c_end2end_client_lib.vcxproj.filters b/vsprojects/vcxproj/grpc_c_end2end_client_lib/grpc_c_end2end_client_lib.vcxproj.filters new file mode 100644 index 0000000000000..9b046e9f3f2c6 --- /dev/null +++ b/vsprojects/vcxproj/grpc_c_end2end_client_lib/grpc_c_end2end_client_lib.vcxproj.filters @@ -0,0 +1,44 @@ + + + + + src\proto\grpc\testing + + + src\proto\grpc\testing + + + test\c\end2end + + + + + test\c\end2end + + + + + + {88845056-dbea-064e-84b0-dd20edaf5c2f} + + + {97f6e7eb-e0bd-f1b3-02ec-04261c94d61e} + + + {24903da9-9e6a-6cde-d6c1-9f52cd8fc3da} + + + {bf09c59c-87f3-7875-bf92-c90365f1b173} + + + {9424231e-e157-b648-4da7-ac7eb95134dd} + + + {0e6c7bac-9816-5cc5-6500-b9d405acd56e} + + + {8316c6cd-96ba-6359-3500-325fee948ec2} + + + + diff --git a/vsprojects/vcxproj/grpc_c_plugin/grpc_c_plugin.vcxproj b/vsprojects/vcxproj/grpc_c_plugin/grpc_c_plugin.vcxproj new file mode 100644 index 0000000000000..47aba5005f8ab --- /dev/null +++ b/vsprojects/vcxproj/grpc_c_plugin/grpc_c_plugin.vcxproj @@ -0,0 +1,168 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {06F2EB11-35DA-483D-AB0A-BC420D97B18C} + true + $(SolutionDir)IntDir\$(MSBuildProjectName)\ + + + + v100 + + + v110 + + + v120 + + + v140 + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + grpc_c_plugin + + + grpc_c_plugin + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Console + true + false + + + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Console + true + false + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Console + true + false + true + true + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Console + true + false + true + true + + + + + + + + + + {B6E81D84-2ACB-41B8-8781-493A944C7817} + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + diff --git a/vsprojects/vcxproj/grpc_c_plugin/grpc_c_plugin.vcxproj.filters b/vsprojects/vcxproj/grpc_c_plugin/grpc_c_plugin.vcxproj.filters new file mode 100644 index 0000000000000..81922be0a5f73 --- /dev/null +++ b/vsprojects/vcxproj/grpc_c_plugin/grpc_c_plugin.vcxproj.filters @@ -0,0 +1,18 @@ + + + + + src\compiler + + + + + + {1ad4fe68-6369-3285-10dc-6272151898a6} + + + {bb7b20f5-fcb8-03bf-ac38-2918fd2abcd0} + + + + diff --git a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj index 9828b8bcaf0cc..ca4b87eb5b6ee 100644 --- a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj +++ b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj @@ -151,6 +151,8 @@ + + @@ -168,6 +170,8 @@ + + diff --git a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters index 27eb935e0745c..15e50982d0ab8 100644 --- a/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters +++ b/vsprojects/vcxproj/grpc_plugin_support/grpc_plugin_support.vcxproj.filters @@ -1,6 +1,9 @@ + + src\compiler + src\compiler @@ -26,6 +29,12 @@ + + src\compiler + + + src\compiler + src\compiler diff --git a/vsprojects/vcxproj/test/grpc_c_end2end_test/grpc_c_end2end_test.vcxproj b/vsprojects/vcxproj/test/grpc_c_end2end_test/grpc_c_end2end_test.vcxproj new file mode 100644 index 0000000000000..9f99ee55abded --- /dev/null +++ b/vsprojects/vcxproj/test/grpc_c_end2end_test/grpc_c_end2end_test.vcxproj @@ -0,0 +1,213 @@ + + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {6E4AFD15-76D2-7BD1-98CE-5C20C50AC86A} + true + $(SolutionDir)IntDir\$(MSBuildProjectName)\ + + + + v100 + + + v110 + + + v120 + + + v140 + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + grpc_c_end2end_test + static + Debug + static + Debug + + + grpc_c_end2end_test + static + Release + static + Release + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Console + true + false + + + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Console + true + false + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Console + true + false + true + true + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Console + true + false + true + true + + + + + + + + + + {E5471C90-7EB8-3B1C-6E9E-C85E0B79FFBA} + + + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432} + + + {0BE77741-552A-929B-A497-4EF7ECE17A64} + + + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + + + {C187A093-A0FE-489D-A40A-6E33DE0F9FEB} + + + {29D16885-7228-4C31-81ED-5F9187C7F2A9} + + + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + + + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + diff --git a/vsprojects/vcxproj/test/grpc_c_end2end_test/grpc_c_end2end_test.vcxproj.filters b/vsprojects/vcxproj/test/grpc_c_end2end_test/grpc_c_end2end_test.vcxproj.filters new file mode 100644 index 0000000000000..c3161738d0ab2 --- /dev/null +++ b/vsprojects/vcxproj/test/grpc_c_end2end_test/grpc_c_end2end_test.vcxproj.filters @@ -0,0 +1,21 @@ + + + + + test\c\end2end + + + + + + {17223a1e-3ecb-a3d6-c40d-bde3969d9275} + + + {b16fb263-5348-4d59-4d1f-80b56e910635} + + + {459aafe4-24cf-ac2c-1a7f-f58ae6b692f5} + + + + diff --git a/vsprojects/vcxproj/test/grpc_c_generic_end2end_test/grpc_c_generic_end2end_test.vcxproj b/vsprojects/vcxproj/test/grpc_c_generic_end2end_test/grpc_c_generic_end2end_test.vcxproj new file mode 100644 index 0000000000000..5ab6f29b94ffb --- /dev/null +++ b/vsprojects/vcxproj/test/grpc_c_generic_end2end_test/grpc_c_generic_end2end_test.vcxproj @@ -0,0 +1,215 @@ + + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {BA030408-865D-F9FA-8956-CDB22AD833E0} + true + $(SolutionDir)IntDir\$(MSBuildProjectName)\ + + + + v100 + + + v110 + + + v120 + + + v140 + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + grpc_c_generic_end2end_test + static + Debug + static + Debug + + + grpc_c_generic_end2end_test + static + Release + static + Release + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Console + true + false + + + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Console + true + false + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Console + true + false + true + true + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Console + true + false + true + true + + + + + + + + + + + + + + + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432} + + + {0BE77741-552A-929B-A497-4EF7ECE17A64} + + + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + + + {C187A093-A0FE-489D-A40A-6E33DE0F9FEB} + + + {29D16885-7228-4C31-81ED-5F9187C7F2A9} + + + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + + + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + diff --git a/vsprojects/vcxproj/test/grpc_c_generic_end2end_test/grpc_c_generic_end2end_test.vcxproj.filters b/vsprojects/vcxproj/test/grpc_c_generic_end2end_test/grpc_c_generic_end2end_test.vcxproj.filters new file mode 100644 index 0000000000000..0b3ce8d4b7a99 --- /dev/null +++ b/vsprojects/vcxproj/test/grpc_c_generic_end2end_test/grpc_c_generic_end2end_test.vcxproj.filters @@ -0,0 +1,29 @@ + + + + + test\c\end2end + + + test\c\end2end + + + + + test\c\end2end + + + + + + {86056035-a2c0-d9e4-e726-e94554c9d703} + + + {6e7f35dd-fd55-5887-5d76-a2d8d41d0141} + + + {804b2017-2bd3-bfd6-1e41-e2a4c08da27a} + + + + diff --git a/vsprojects/vcxproj/test/grpc_c_server_end2end_test/grpc_c_server_end2end_test.vcxproj b/vsprojects/vcxproj/test/grpc_c_server_end2end_test/grpc_c_server_end2end_test.vcxproj new file mode 100644 index 0000000000000..bf90b34facf39 --- /dev/null +++ b/vsprojects/vcxproj/test/grpc_c_server_end2end_test/grpc_c_server_end2end_test.vcxproj @@ -0,0 +1,221 @@ + + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {16C2143B-0A13-AE30-7D09-05AD48928A8B} + true + $(SolutionDir)IntDir\$(MSBuildProjectName)\ + + + + v100 + + + v110 + + + v120 + + + v140 + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + grpc_c_server_end2end_test + static + Debug + static + Debug + + + grpc_c_server_end2end_test + static + Release + static + Release + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Console + true + false + + + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDebug + true + None + false + + + Console + true + false + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Console + true + false + true + true + + + + + + NotUsing + Level3 + MaxSpeed + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + true + true + MultiThreaded + true + None + false + + + Console + true + false + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {8AC0CB05-6E3C-4A40-B45E-FDA77644F432} + + + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + + + {29D16885-7228-4C31-81ED-5F9187C7F2A9} + + + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + + + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + diff --git a/vsprojects/vcxproj/test/grpc_c_server_end2end_test/grpc_c_server_end2end_test.vcxproj.filters b/vsprojects/vcxproj/test/grpc_c_server_end2end_test/grpc_c_server_end2end_test.vcxproj.filters new file mode 100644 index 0000000000000..be5852cf9f351 --- /dev/null +++ b/vsprojects/vcxproj/test/grpc_c_server_end2end_test/grpc_c_server_end2end_test.vcxproj.filters @@ -0,0 +1,44 @@ + + + + + src\proto\grpc\testing + + + src\proto\grpc\testing + + + test\c\end2end + + + + + test\c\end2end + + + + + + {ccb8a77f-faae-dd98-f8e4-440e8574a5b2} + + + {603f4a65-ef2f-b555-914c-57c83ee65a1e} + + + {cd82adbc-37c2-95a8-c9f6-5eebefe3df94} + + + {a624be5d-7a6f-2587-7d32-f120a7986aa8} + + + {499adac1-80ef-ea7e-4801-afa678a16d58} + + + {732fac10-0230-bb50-1f77-35b41dbb6b0f} + + + {01fd2172-e60f-2ceb-3f0d-70f8da8401cb} + + + +