From ec0b8f3f77cfd0d598863a490381cf7213cab413 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 07:30:00 -0800 Subject: [PATCH 001/121] Compile OpenSSL differently for each config. MSAN, TSAN, ASAN need to see all the code. Valgrind, MSAN want -DPURIFY. --- Makefile | 27 ++++++++++++++++++++++----- templates/Makefile.template | 27 ++++++++++++++++++++++----- tools/run_tests/run_tests.py | 2 +- 3 files changed, 45 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 388e5f3d79b..95780f8bf8c 100644 --- a/Makefile +++ b/Makefile @@ -22,12 +22,23 @@ CPPFLAGS_dbg = -O0 LDFLAGS_dbg = DEFINES_dbg = _DEBUG DEBUG +VALID_CONFIG_valgrind = 1 +CC_valgrind = gcc +CXX_valgrind = g++ +LD_valgrind = gcc +LDXX_valgrind = g++ +CPPFLAGS_valgrind = -O0 +OPENSSL_CFLAGS_valgrind = -DPURIFY +LDFLAGS_valgrind = +DEFINES_valgrind = _DEBUG DEBUG + VALID_CONFIG_tsan = 1 CC_tsan = clang CXX_tsan = clang++ LD_tsan = clang LDXX_tsan = clang++ CPPFLAGS_tsan = -O1 -fsanitize=thread -fno-omit-frame-pointer +OPENSSL_CONFIG_tsan = no-asm LDFLAGS_tsan = -fsanitize=thread DEFINES_tsan = NDEBUG @@ -37,6 +48,7 @@ CXX_asan = clang++ LD_asan = clang LDXX_asan = clang++ CPPFLAGS_asan = -O1 -fsanitize=address -fno-omit-frame-pointer +OPENSSL_CONFIG_asan = no-asm LDFLAGS_asan = -fsanitize=address DEFINES_asan = NDEBUG @@ -46,6 +58,8 @@ CXX_msan = clang++ LD_msan = clang LDXX_msan = clang++ CPPFLAGS_msan = -O1 -fsanitize=memory -fno-omit-frame-pointer +OPENSSL_CFLAGS_msan = -DPURIFY +OPENSSL_CONFIG_msan = no-asm LDFLAGS_msan = -fsanitize=memory DEFINES_msan = NDEBUG @@ -182,10 +196,10 @@ endif ifeq ($(HAS_SYSTEM_OPENSSL_ALPN),false) ifeq ($(HAS_EMBEDDED_OPENSSL_ALPN),true) -OPENSSL_DEP = third_party/openssl/libssl.a -OPENSSL_MERGE_LIBS += third_party/openssl/libssl.a third_party/openssl/libcrypto.a +OPENSSL_DEP = libs/$(CONFIG)/openssl/libssl.a +OPENSSL_MERGE_LIBS += libs/$(CONFIG)/openssl/libssl.a libs/$(CONFIG)/openssl/libcrypto.a CPPFLAGS += -Ithird_party/openssl/include -LDFLAGS += -Lthird_party/openssl +LDFLAGS += -Llibs/$(CONFIG)/openssl LIBS_SECURE = dl else NO_SECURE = true @@ -477,9 +491,12 @@ third_party/zlib/libz.a: (cd third_party/zlib ; CFLAGS="-fPIC -fvisibility=hidden" ./configure --static) $(MAKE) -C third_party/zlib -third_party/openssl/libssl.a: - (cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden" ./config) +libs/$(CONFIG)/openssl/libssl.a: + (cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(OPENSSL_CFLAGS_$(CONFIG))" ./config $(OPENSSL_CONFIG_$(CONFIG))) + $(MAKE) -C third_party/openssl clean $(MAKE) -C third_party/openssl build_crypto build_ssl + mkdir -p libs/$(CONFIG)/openssl + cp third_party/openssl/libssl.a third_party/openssl/libcrypto.a libs/$(CONFIG)/openssl static: static_c static_cxx diff --git a/templates/Makefile.template b/templates/Makefile.template index 256380c2ddc..ef76f5cc59e 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -39,12 +39,23 @@ CPPFLAGS_dbg = -O0 LDFLAGS_dbg = DEFINES_dbg = _DEBUG DEBUG +VALID_CONFIG_valgrind = 1 +CC_valgrind = gcc +CXX_valgrind = g++ +LD_valgrind = gcc +LDXX_valgrind = g++ +CPPFLAGS_valgrind = -O0 +OPENSSL_CFLAGS_valgrind = -DPURIFY +LDFLAGS_valgrind = +DEFINES_valgrind = _DEBUG DEBUG + VALID_CONFIG_tsan = 1 CC_tsan = clang CXX_tsan = clang++ LD_tsan = clang LDXX_tsan = clang++ CPPFLAGS_tsan = -O1 -fsanitize=thread -fno-omit-frame-pointer +OPENSSL_CONFIG_tsan = no-asm LDFLAGS_tsan = -fsanitize=thread DEFINES_tsan = NDEBUG @@ -54,6 +65,7 @@ CXX_asan = clang++ LD_asan = clang LDXX_asan = clang++ CPPFLAGS_asan = -O1 -fsanitize=address -fno-omit-frame-pointer +OPENSSL_CONFIG_asan = no-asm LDFLAGS_asan = -fsanitize=address DEFINES_asan = NDEBUG @@ -63,6 +75,8 @@ CXX_msan = clang++ LD_msan = clang LDXX_msan = clang++ CPPFLAGS_msan = -O1 -fsanitize=memory -fno-omit-frame-pointer +OPENSSL_CFLAGS_msan = -DPURIFY +OPENSSL_CONFIG_msan = no-asm LDFLAGS_msan = -fsanitize=memory DEFINES_msan = NDEBUG @@ -199,10 +213,10 @@ endif ifeq ($(HAS_SYSTEM_OPENSSL_ALPN),false) ifeq ($(HAS_EMBEDDED_OPENSSL_ALPN),true) -OPENSSL_DEP = third_party/openssl/libssl.a -OPENSSL_MERGE_LIBS += third_party/openssl/libssl.a third_party/openssl/libcrypto.a +OPENSSL_DEP = libs/$(CONFIG)/openssl/libssl.a +OPENSSL_MERGE_LIBS += libs/$(CONFIG)/openssl/libssl.a libs/$(CONFIG)/openssl/libcrypto.a CPPFLAGS += -Ithird_party/openssl/include -LDFLAGS += -Lthird_party/openssl +LDFLAGS += -Llibs/$(CONFIG)/openssl LIBS_SECURE = dl else NO_SECURE = true @@ -294,9 +308,12 @@ third_party/zlib/libz.a: (cd third_party/zlib ; CFLAGS="-fPIC -fvisibility=hidden" ./configure --static) $(MAKE) -C third_party/zlib -third_party/openssl/libssl.a: - (cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden" ./config) +libs/$(CONFIG)/openssl/libssl.a: + (cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(OPENSSL_CFLAGS_$(CONFIG))" ./config $(OPENSSL_CONFIG_$(CONFIG))) + $(MAKE) -C third_party/openssl clean $(MAKE) -C third_party/openssl build_crypto build_ssl + mkdir -p libs/$(CONFIG)/openssl + cp third_party/openssl/libssl.a third_party/openssl/libcrypto.a libs/$(CONFIG)/openssl static: static_c static_cxx diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 0536ed68511..7737b9422f0 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -40,7 +40,7 @@ _CONFIGS = { 'msan': SimpleConfig('msan'), 'asan': SimpleConfig('asan'), 'gcov': SimpleConfig('gcov'), - 'memcheck': ValgrindConfig('dbg', 'memcheck'), + 'memcheck': ValgrindConfig('valgrind', 'memcheck'), 'helgrind': ValgrindConfig('dbg', 'helgrind') } From 686fb26b30621e070d549f9c0a0a2e98cc36aa2e Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 07:39:09 -0800 Subject: [PATCH 002/121] Allow language to be specified to run_tests.py --- tools/run_tests/run_tests.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 7737b9422f0..aa3245d8303 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -46,7 +46,10 @@ _CONFIGS = { _DEFAULT = ['dbg', 'opt'] -_MAKE_TEST_TARGETS = ['buildtests_c', 'buildtests_cxx'] +_LANGUAGE_TEST_TARGETS = { + 'c++': 'buildtests_cxx', + 'c': 'buildtests_c', +} # parse command line argp = argparse.ArgumentParser(description='Run grpc tests.') @@ -64,6 +67,10 @@ argp.add_argument('--newline_on_success', default=False, action='store_const', const=True) +argp.add_argument('-l', '--language', + choices=sorted(_LANGUAGE_TEST_TARGETS.keys()), + nargs='+', + default=sorted(_LANGUAGE_TEST_TARGETS.keys())) args = argp.parse_args() # grab config @@ -72,6 +79,7 @@ run_configs = set(_CONFIGS[cfg] _CONFIGS.iterkeys() if x == 'all' else [x] for x in args.config)) build_configs = set(cfg.build_config for cfg in run_configs) +make_targets = set(_LANGUAGE_TEST_TARGETS[x] for x in args.language) filters = args.test_filter runs_per_test = args.runs_per_test forever = args.forever @@ -83,7 +91,7 @@ def _build_and_run(check_cancelled, newline_on_success, forever=False): if not jobset.run( (['make', '-j', '%d' % (multiprocessing.cpu_count() + 1), - 'CONFIG=%s' % cfg] + _MAKE_TEST_TARGETS + 'CONFIG=%s' % cfg] + list(make_targets) for cfg in build_configs), check_cancelled, maxjobs=1): return 1 From f8cc166605637f019c23f01493ff59106a5696eb Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 07:39:09 -0800 Subject: [PATCH 003/121] Allow language to be specified to run_tests.py --- tools/run_tests/run_tests.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 0536ed68511..0fee6181911 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -46,7 +46,10 @@ _CONFIGS = { _DEFAULT = ['dbg', 'opt'] -_MAKE_TEST_TARGETS = ['buildtests_c', 'buildtests_cxx'] +_LANGUAGE_TEST_TARGETS = { + 'c++': 'buildtests_cxx', + 'c': 'buildtests_c', +} # parse command line argp = argparse.ArgumentParser(description='Run grpc tests.') @@ -64,6 +67,10 @@ argp.add_argument('--newline_on_success', default=False, action='store_const', const=True) +argp.add_argument('-l', '--language', + choices=sorted(_LANGUAGE_TEST_TARGETS.keys()), + nargs='+', + default=sorted(_LANGUAGE_TEST_TARGETS.keys())) args = argp.parse_args() # grab config @@ -72,6 +79,7 @@ run_configs = set(_CONFIGS[cfg] _CONFIGS.iterkeys() if x == 'all' else [x] for x in args.config)) build_configs = set(cfg.build_config for cfg in run_configs) +make_targets = set(_LANGUAGE_TEST_TARGETS[x] for x in args.language) filters = args.test_filter runs_per_test = args.runs_per_test forever = args.forever @@ -83,7 +91,7 @@ def _build_and_run(check_cancelled, newline_on_success, forever=False): if not jobset.run( (['make', '-j', '%d' % (multiprocessing.cpu_count() + 1), - 'CONFIG=%s' % cfg] + _MAKE_TEST_TARGETS + 'CONFIG=%s' % cfg] + list(make_targets) for cfg in build_configs), check_cancelled, maxjobs=1): return 1 From 3ccae020f28614d78b7a397b3f2c775e3986c190 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 07:47:29 -0800 Subject: [PATCH 004/121] Support compiling zlib with ?SAN --- Makefile | 9 ++++++--- templates/Makefile.template | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 95780f8bf8c..50f722e9ab7 100644 --- a/Makefile +++ b/Makefile @@ -186,7 +186,7 @@ endif ifeq ($(HAS_SYSTEM_ZLIB),false) ifeq ($(HAS_EMBEDDED_ZLIB),true) -ZLIB_DEP = third_party/zlib/libz.a +ZLIB_DEP = libs/$(CONFIG)/zlib/libz.a CPPFLAGS += -Ithird_party/zlib LDFLAGS += -Lthird_party/zlib else @@ -487,9 +487,12 @@ run_dep_checks: $(OPENSSL_ALPN_CHECK_CMD) || true $(ZLIB_CHECK_CMD) || true -third_party/zlib/libz.a: - (cd third_party/zlib ; CFLAGS="-fPIC -fvisibility=hidden" ./configure --static) +libs/$(CONFIG)/zlib/libz.a: + (cd third_party/zlib ; CFLAGS="-fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG))" ./configure --static) + $(MAKE) -c third_party/zlib clean $(MAKE) -C third_party/zlib + mkdir -p libs/$(CONFIG)/zlib + cp third_party/zlib/libz.a libs/$(CONFIG)/zlib libs/$(CONFIG)/openssl/libssl.a: (cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(OPENSSL_CFLAGS_$(CONFIG))" ./config $(OPENSSL_CONFIG_$(CONFIG))) diff --git a/templates/Makefile.template b/templates/Makefile.template index ef76f5cc59e..7e7c5bff036 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -203,7 +203,7 @@ endif ifeq ($(HAS_SYSTEM_ZLIB),false) ifeq ($(HAS_EMBEDDED_ZLIB),true) -ZLIB_DEP = third_party/zlib/libz.a +ZLIB_DEP = libs/$(CONFIG)/zlib/libz.a CPPFLAGS += -Ithird_party/zlib LDFLAGS += -Lthird_party/zlib else @@ -304,9 +304,12 @@ run_dep_checks: $(OPENSSL_ALPN_CHECK_CMD) || true $(ZLIB_CHECK_CMD) || true -third_party/zlib/libz.a: - (cd third_party/zlib ; CFLAGS="-fPIC -fvisibility=hidden" ./configure --static) +libs/$(CONFIG)/zlib/libz.a: + (cd third_party/zlib ; CFLAGS="-fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG))" ./configure --static) + $(MAKE) -c third_party/zlib clean $(MAKE) -C third_party/zlib + mkdir -p libs/$(CONFIG)/zlib + cp third_party/zlib/libz.a libs/$(CONFIG)/zlib libs/$(CONFIG)/openssl/libssl.a: (cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(OPENSSL_CFLAGS_$(CONFIG))" ./config $(OPENSSL_CONFIG_$(CONFIG))) From c4da6b7ad5b46b6b0b0499dff08eb1c73094d0dc Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 08:01:14 -0800 Subject: [PATCH 005/121] Force using custom libraries if we are using ?SAN. These libraries need to see all of the source code, so using system installed libraries is out of the question. --- Makefile | 10 ++++++++++ templates/Makefile.template | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/Makefile b/Makefile index 50f722e9ab7..bc7cf992544 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,7 @@ LDFLAGS_dbg = DEFINES_dbg = _DEBUG DEBUG VALID_CONFIG_valgrind = 1 +REQUIRE_CUSTOM_LIBRARIES_valgrind = 1 CC_valgrind = gcc CXX_valgrind = g++ LD_valgrind = gcc @@ -33,6 +34,7 @@ LDFLAGS_valgrind = DEFINES_valgrind = _DEBUG DEBUG VALID_CONFIG_tsan = 1 +REQUIRE_CUSTOM_LIBRARIES_tsan = 1 CC_tsan = clang CXX_tsan = clang++ LD_tsan = clang @@ -43,6 +45,7 @@ LDFLAGS_tsan = -fsanitize=thread DEFINES_tsan = NDEBUG VALID_CONFIG_asan = 1 +REQUIRE_CUSTOM_LIBRARIES_asan = 1 CC_asan = clang CXX_asan = clang++ LD_asan = clang @@ -53,6 +56,7 @@ LDFLAGS_asan = -fsanitize=address DEFINES_asan = NDEBUG VALID_CONFIG_msan = 1 +REQUIRE_CUSTOM_LIBRARIES_msan = 1 CC_msan = clang CXX_msan = clang++ LD_msan = clang @@ -169,8 +173,14 @@ endif OPENSSL_ALPN_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/openssl-alpn.c -lssl -lcrypto -ldl $(LDFLAGS) ZLIB_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/zlib.c -lz $(LDFLAGS) +ifndef REQUIRE_CUSTOM_LIBRARIES_$(CONFIG) HAS_SYSTEM_OPENSSL_ALPN = $(shell $(OPENSSL_ALPN_CHECK_CMD) 2> /dev/null && echo true || echo false) HAS_SYSTEM_ZLIB = $(shell $(ZLIB_CHECK_CMD) 2> /dev/null && echo true || echo false) +else +# override system libraries if the config requires a custom compiled library +HAS_SYSTEM_OPENSSL_ALPN = false +HAS_SYSTEM_ZLIB = false +endif ifeq ($(wildcard third_party/openssl/ssl/ssl.h),) HAS_EMBEDDED_OPENSSL_ALPN = false diff --git a/templates/Makefile.template b/templates/Makefile.template index 7e7c5bff036..1ed97031c11 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -40,6 +40,7 @@ LDFLAGS_dbg = DEFINES_dbg = _DEBUG DEBUG VALID_CONFIG_valgrind = 1 +REQUIRE_CUSTOM_LIBRARIES_valgrind = 1 CC_valgrind = gcc CXX_valgrind = g++ LD_valgrind = gcc @@ -50,6 +51,7 @@ LDFLAGS_valgrind = DEFINES_valgrind = _DEBUG DEBUG VALID_CONFIG_tsan = 1 +REQUIRE_CUSTOM_LIBRARIES_tsan = 1 CC_tsan = clang CXX_tsan = clang++ LD_tsan = clang @@ -60,6 +62,7 @@ LDFLAGS_tsan = -fsanitize=thread DEFINES_tsan = NDEBUG VALID_CONFIG_asan = 1 +REQUIRE_CUSTOM_LIBRARIES_asan = 1 CC_asan = clang CXX_asan = clang++ LD_asan = clang @@ -70,6 +73,7 @@ LDFLAGS_asan = -fsanitize=address DEFINES_asan = NDEBUG VALID_CONFIG_msan = 1 +REQUIRE_CUSTOM_LIBRARIES_msan = 1 CC_msan = clang CXX_msan = clang++ LD_msan = clang @@ -186,8 +190,14 @@ endif OPENSSL_ALPN_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/openssl-alpn.c -lssl -lcrypto -ldl $(LDFLAGS) ZLIB_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/zlib.c -lz $(LDFLAGS) +ifndef REQUIRE_CUSTOM_LIBRARIES_$(CONFIG) HAS_SYSTEM_OPENSSL_ALPN = $(shell $(OPENSSL_ALPN_CHECK_CMD) 2> /dev/null && echo true || echo false) HAS_SYSTEM_ZLIB = $(shell $(ZLIB_CHECK_CMD) 2> /dev/null && echo true || echo false) +else +# override system libraries if the config requires a custom compiled library +HAS_SYSTEM_OPENSSL_ALPN = false +HAS_SYSTEM_ZLIB = false +endif ifeq ($(wildcard third_party/openssl/ssl/ssl.h),) HAS_EMBEDDED_OPENSSL_ALPN = false From 3759e6f0f1ad810c6ca949e9c058b9898426b535 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 08:13:11 -0800 Subject: [PATCH 006/121] Remove clean rules It's safe enough to just delete the build product directories. --- Makefile | 4 ++-- templates/Makefile.template | 11 ++--------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 388e5f3d79b..a4e8505db03 100644 --- a/Makefile +++ b/Makefile @@ -1133,8 +1133,8 @@ ifneq ($(SYSTEM),Darwin) endif endif -clean: clean_libgpr clean_libgrpc clean_libgrpc_unsecure clean_libgpr_test_util clean_libgrpc_test_util clean_libgrpc++ clean_libgrpc++_test_util clean_libend2end_fixture_chttp2_fake_security clean_libend2end_fixture_chttp2_fullstack clean_libend2end_fixture_chttp2_simple_ssl_fullstack clean_libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack clean_libend2end_fixture_chttp2_socket_pair clean_libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time clean_libend2end_test_cancel_after_accept clean_libend2end_test_cancel_after_accept_and_writes_closed clean_libend2end_test_cancel_after_invoke clean_libend2end_test_cancel_before_invoke clean_libend2end_test_cancel_in_a_vacuum clean_libend2end_test_census_simple_request clean_libend2end_test_disappearing_server clean_libend2end_test_early_server_shutdown_finishes_inflight_calls clean_libend2end_test_early_server_shutdown_finishes_tags clean_libend2end_test_invoke_large_request clean_libend2end_test_max_concurrent_streams clean_libend2end_test_no_op clean_libend2end_test_ping_pong_streaming clean_libend2end_test_request_response_with_binary_metadata_and_payload clean_libend2end_test_request_response_with_metadata_and_payload clean_libend2end_test_request_response_with_payload clean_libend2end_test_request_response_with_trailing_metadata_and_payload clean_libend2end_test_simple_delayed_request clean_libend2end_test_simple_request clean_libend2end_test_thread_stress clean_libend2end_test_writes_done_hangs_with_pending_read clean_libend2end_certs clean_gen_hpack_tables clean_cpp_plugin clean_ruby_plugin clean_grpc_byte_buffer_reader_test clean_gpr_cancellable_test clean_gpr_log_test clean_gpr_useful_test clean_gpr_cmdline_test clean_gpr_histogram_test clean_gpr_host_port_test clean_gpr_slice_buffer_test clean_gpr_slice_test clean_gpr_string_test clean_gpr_sync_test clean_gpr_thd_test clean_gpr_time_test clean_murmur_hash_test clean_grpc_stream_op_test clean_alpn_test clean_time_averaged_stats_test clean_chttp2_stream_encoder_test clean_hpack_table_test clean_chttp2_stream_map_test clean_hpack_parser_test clean_transport_metadata_test clean_chttp2_status_conversion_test clean_chttp2_transport_end2end_test clean_tcp_posix_test clean_dualstack_socket_test clean_no_server_test clean_resolve_address_test clean_sockaddr_utils_test clean_tcp_server_posix_test clean_tcp_client_posix_test clean_grpc_channel_stack_test clean_metadata_buffer_test clean_grpc_completion_queue_test clean_grpc_completion_queue_benchmark clean_census_trace_store_test clean_census_stats_store_test clean_census_window_stats_test clean_census_statistics_quick_test clean_census_statistics_small_log_test clean_census_statistics_performance_test clean_census_statistics_multiple_writers_test clean_census_statistics_multiple_writers_circular_buffer_test clean_census_stub_test clean_census_hash_table_test clean_fling_server clean_fling_client clean_fling_test clean_echo_server clean_echo_client clean_echo_test clean_low_level_ping_pong_benchmark clean_message_compress_test clean_bin_encoder_test clean_secure_endpoint_test clean_httpcli_format_request_test clean_httpcli_parser_test clean_httpcli_test clean_grpc_credentials_test clean_grpc_fetch_oauth2 clean_grpc_base64_test clean_grpc_json_token_test clean_timeout_encoding_test clean_fd_posix_test clean_fling_stream_test clean_lame_client_test clean_thread_pool_test clean_status_test clean_sync_client_async_server_test clean_qps_client clean_qps_server clean_interop_server clean_interop_client clean_end2end_test clean_channel_arguments_test clean_credentials_test clean_alarm_test clean_alarm_list_test clean_alarm_heap_test clean_time_test clean_chttp2_fake_security_cancel_after_accept_test clean_chttp2_fake_security_cancel_after_accept_and_writes_closed_test clean_chttp2_fake_security_cancel_after_invoke_test clean_chttp2_fake_security_cancel_before_invoke_test clean_chttp2_fake_security_cancel_in_a_vacuum_test clean_chttp2_fake_security_census_simple_request_test clean_chttp2_fake_security_disappearing_server_test clean_chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test clean_chttp2_fake_security_early_server_shutdown_finishes_tags_test clean_chttp2_fake_security_invoke_large_request_test clean_chttp2_fake_security_max_concurrent_streams_test clean_chttp2_fake_security_no_op_test clean_chttp2_fake_security_ping_pong_streaming_test clean_chttp2_fake_security_request_response_with_binary_metadata_and_payload_test clean_chttp2_fake_security_request_response_with_metadata_and_payload_test clean_chttp2_fake_security_request_response_with_payload_test clean_chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test clean_chttp2_fake_security_simple_delayed_request_test clean_chttp2_fake_security_simple_request_test clean_chttp2_fake_security_thread_stress_test clean_chttp2_fake_security_writes_done_hangs_with_pending_read_test clean_chttp2_fullstack_cancel_after_accept_test clean_chttp2_fullstack_cancel_after_accept_and_writes_closed_test clean_chttp2_fullstack_cancel_after_invoke_test clean_chttp2_fullstack_cancel_before_invoke_test clean_chttp2_fullstack_cancel_in_a_vacuum_test clean_chttp2_fullstack_census_simple_request_test clean_chttp2_fullstack_disappearing_server_test clean_chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test clean_chttp2_fullstack_early_server_shutdown_finishes_tags_test clean_chttp2_fullstack_invoke_large_request_test clean_chttp2_fullstack_max_concurrent_streams_test clean_chttp2_fullstack_no_op_test clean_chttp2_fullstack_ping_pong_streaming_test clean_chttp2_fullstack_request_response_with_binary_metadata_and_payload_test clean_chttp2_fullstack_request_response_with_metadata_and_payload_test clean_chttp2_fullstack_request_response_with_payload_test clean_chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test clean_chttp2_fullstack_simple_delayed_request_test clean_chttp2_fullstack_simple_request_test clean_chttp2_fullstack_thread_stress_test clean_chttp2_fullstack_writes_done_hangs_with_pending_read_test clean_chttp2_simple_ssl_fullstack_cancel_after_accept_test clean_chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test clean_chttp2_simple_ssl_fullstack_cancel_after_invoke_test clean_chttp2_simple_ssl_fullstack_cancel_before_invoke_test clean_chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test clean_chttp2_simple_ssl_fullstack_census_simple_request_test clean_chttp2_simple_ssl_fullstack_disappearing_server_test clean_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test clean_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test clean_chttp2_simple_ssl_fullstack_invoke_large_request_test clean_chttp2_simple_ssl_fullstack_max_concurrent_streams_test clean_chttp2_simple_ssl_fullstack_no_op_test clean_chttp2_simple_ssl_fullstack_ping_pong_streaming_test clean_chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test clean_chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test clean_chttp2_simple_ssl_fullstack_request_response_with_payload_test clean_chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test clean_chttp2_simple_ssl_fullstack_simple_delayed_request_test clean_chttp2_simple_ssl_fullstack_simple_request_test clean_chttp2_simple_ssl_fullstack_thread_stress_test clean_chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test clean_chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test clean_chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test clean_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test clean_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test clean_chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test clean_chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test clean_chttp2_simple_ssl_with_oauth2_fullstack_no_op_test clean_chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test clean_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test clean_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test clean_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test clean_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test clean_chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test clean_chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test clean_chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test clean_chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test clean_chttp2_socket_pair_cancel_after_accept_test clean_chttp2_socket_pair_cancel_after_accept_and_writes_closed_test clean_chttp2_socket_pair_cancel_after_invoke_test clean_chttp2_socket_pair_cancel_before_invoke_test clean_chttp2_socket_pair_cancel_in_a_vacuum_test clean_chttp2_socket_pair_census_simple_request_test clean_chttp2_socket_pair_disappearing_server_test clean_chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test clean_chttp2_socket_pair_early_server_shutdown_finishes_tags_test clean_chttp2_socket_pair_invoke_large_request_test clean_chttp2_socket_pair_max_concurrent_streams_test clean_chttp2_socket_pair_no_op_test clean_chttp2_socket_pair_ping_pong_streaming_test clean_chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test clean_chttp2_socket_pair_request_response_with_metadata_and_payload_test clean_chttp2_socket_pair_request_response_with_payload_test clean_chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test clean_chttp2_socket_pair_simple_delayed_request_test clean_chttp2_socket_pair_simple_request_test clean_chttp2_socket_pair_thread_stress_test clean_chttp2_socket_pair_writes_done_hangs_with_pending_read_test clean_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test clean_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test clean_chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test clean_chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test clean_chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test clean_chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test clean_chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test clean_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test clean_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test clean_chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test clean_chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test clean_chttp2_socket_pair_one_byte_at_a_time_no_op_test clean_chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test clean_chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test clean_chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test clean_chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test clean_chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test clean_chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test clean_chttp2_socket_pair_one_byte_at_a_time_simple_request_test clean_chttp2_socket_pair_one_byte_at_a_time_thread_stress_test clean_chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test - $(Q) $(RM) -r deps objs libs bins gens +clean: + $(Q) $(RM) -rf deps objs libs bins gens # The various libraries diff --git a/templates/Makefile.template b/templates/Makefile.template index 256380c2ddc..30e6578e144 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -624,15 +624,8 @@ ifneq ($(SYSTEM),Darwin) endif endif -clean:\ -% for lib in libs: - clean_lib${lib.name}\ -% endfor -% for tgt in targets: - clean_${tgt.name}\ -% endfor - - $(Q) $(RM) -r deps objs libs bins gens +clean: + $(Q) $(RM) -rf deps objs libs bins gens # The various libraries From 12c8209c93cebc43d49db794930c044e7aed258e Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 08:45:56 -0800 Subject: [PATCH 007/121] Generate dependencies when compiling the .o If we don't have a .o, we don't need dependencies, so skip the setup step of building them. Instead, when building the .o, we generate the .dep and output it (to objs/ to make the rules a little easier). The next run of make will include the dep file and any dependencies will be picked up. This change also disables the disabling of dependency checking if we have zlib or openssl being compiled from third_party. Additionally it inverts the logic for including dependencies from ONLY if we are doing a clean to ONLY if we are NOT doing a clean. --- Makefile | 2067 +++++------------------------------ templates/Makefile.template | 104 +- 2 files changed, 276 insertions(+), 1895 deletions(-) diff --git a/Makefile b/Makefile index a4e8505db03..d8eb2127399 100644 --- a/Makefile +++ b/Makefile @@ -196,11 +196,7 @@ endif LDLIBS_SECURE += $(addprefix -l, $(LIBS_SECURE)) -ifneq ($(DEP_MISSING),) -NO_DEPS = true -endif - -ifneq ($(MAKECMDGOALS),clean) +ifeq ($(MAKECMDGOALS),clean) NO_DEPS = true endif @@ -483,27 +479,27 @@ third_party/openssl/libssl.a: static: static_c static_cxx -static_c: dep_c libs/$(CONFIG)/libgpr.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgrpc_unsecure.a +static_c: libs/$(CONFIG)/libgpr.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgrpc_unsecure.a -static_cxx: dep_cxx libs/$(CONFIG)/libgrpc++.a +static_cxx: libs/$(CONFIG)/libgrpc++.a shared: shared_c shared_cxx -shared_c: dep_c libs/$(CONFIG)/libgpr.$(SHARED_EXT) libs/$(CONFIG)/libgrpc.$(SHARED_EXT) libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT) +shared_c: libs/$(CONFIG)/libgpr.$(SHARED_EXT) libs/$(CONFIG)/libgrpc.$(SHARED_EXT) libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT) -shared_cxx: dep_cxx libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) +shared_cxx: libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) privatelibs: privatelibs_c privatelibs_cxx -privatelibs_c: dep_c libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a libs/$(CONFIG)/libend2end_test_cancel_after_accept.a libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a libs/$(CONFIG)/libend2end_test_census_simple_request.a libs/$(CONFIG)/libend2end_test_disappearing_server.a libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a libs/$(CONFIG)/libend2end_test_invoke_large_request.a libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a libs/$(CONFIG)/libend2end_test_no_op.a libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_simple_delayed_request.a libs/$(CONFIG)/libend2end_test_simple_request.a libs/$(CONFIG)/libend2end_test_thread_stress.a libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a libs/$(CONFIG)/libend2end_certs.a +privatelibs_c: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a libs/$(CONFIG)/libend2end_test_cancel_after_accept.a libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a libs/$(CONFIG)/libend2end_test_census_simple_request.a libs/$(CONFIG)/libend2end_test_disappearing_server.a libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a libs/$(CONFIG)/libend2end_test_invoke_large_request.a libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a libs/$(CONFIG)/libend2end_test_no_op.a libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_simple_delayed_request.a libs/$(CONFIG)/libend2end_test_simple_request.a libs/$(CONFIG)/libend2end_test_thread_stress.a libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a libs/$(CONFIG)/libend2end_certs.a -privatelibs_cxx: dep_cxx libs/$(CONFIG)/libgrpc++_test_util.a +privatelibs_cxx: libs/$(CONFIG)/libgrpc++_test_util.a buildtests: buildtests_c buildtests_cxx -buildtests_c: bins_dep_c privatelibs_c bins/$(CONFIG)/grpc_byte_buffer_reader_test bins/$(CONFIG)/gpr_cancellable_test bins/$(CONFIG)/gpr_log_test bins/$(CONFIG)/gpr_useful_test bins/$(CONFIG)/gpr_cmdline_test bins/$(CONFIG)/gpr_histogram_test bins/$(CONFIG)/gpr_host_port_test bins/$(CONFIG)/gpr_slice_buffer_test bins/$(CONFIG)/gpr_slice_test bins/$(CONFIG)/gpr_string_test bins/$(CONFIG)/gpr_sync_test bins/$(CONFIG)/gpr_thd_test bins/$(CONFIG)/gpr_time_test bins/$(CONFIG)/murmur_hash_test bins/$(CONFIG)/grpc_stream_op_test bins/$(CONFIG)/alpn_test bins/$(CONFIG)/time_averaged_stats_test bins/$(CONFIG)/chttp2_stream_encoder_test bins/$(CONFIG)/hpack_table_test bins/$(CONFIG)/chttp2_stream_map_test bins/$(CONFIG)/hpack_parser_test bins/$(CONFIG)/transport_metadata_test bins/$(CONFIG)/chttp2_status_conversion_test bins/$(CONFIG)/chttp2_transport_end2end_test bins/$(CONFIG)/tcp_posix_test bins/$(CONFIG)/dualstack_socket_test bins/$(CONFIG)/no_server_test bins/$(CONFIG)/resolve_address_test bins/$(CONFIG)/sockaddr_utils_test bins/$(CONFIG)/tcp_server_posix_test bins/$(CONFIG)/tcp_client_posix_test bins/$(CONFIG)/grpc_channel_stack_test bins/$(CONFIG)/metadata_buffer_test bins/$(CONFIG)/grpc_completion_queue_test bins/$(CONFIG)/census_window_stats_test bins/$(CONFIG)/census_statistics_quick_test bins/$(CONFIG)/census_statistics_small_log_test bins/$(CONFIG)/census_statistics_performance_test bins/$(CONFIG)/census_statistics_multiple_writers_test bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test bins/$(CONFIG)/census_stub_test bins/$(CONFIG)/census_hash_table_test bins/$(CONFIG)/fling_server bins/$(CONFIG)/fling_client bins/$(CONFIG)/fling_test bins/$(CONFIG)/echo_server bins/$(CONFIG)/echo_client bins/$(CONFIG)/echo_test bins/$(CONFIG)/message_compress_test bins/$(CONFIG)/bin_encoder_test bins/$(CONFIG)/secure_endpoint_test bins/$(CONFIG)/httpcli_format_request_test bins/$(CONFIG)/httpcli_parser_test bins/$(CONFIG)/httpcli_test bins/$(CONFIG)/grpc_credentials_test bins/$(CONFIG)/grpc_base64_test bins/$(CONFIG)/grpc_json_token_test bins/$(CONFIG)/timeout_encoding_test bins/$(CONFIG)/fd_posix_test bins/$(CONFIG)/fling_stream_test bins/$(CONFIG)/lame_client_test bins/$(CONFIG)/alarm_test bins/$(CONFIG)/alarm_list_test bins/$(CONFIG)/alarm_heap_test bins/$(CONFIG)/time_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fake_security_census_simple_request_test bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fake_security_no_op_test bins/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test bins/$(CONFIG)/chttp2_fake_security_simple_request_test bins/$(CONFIG)/chttp2_fake_security_thread_stress_test bins/$(CONFIG)/chttp2_fake_security_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fullstack_no_op_test bins/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_no_op_test bins/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test +buildtests_c: privatelibs_c bins/$(CONFIG)/grpc_byte_buffer_reader_test bins/$(CONFIG)/gpr_cancellable_test bins/$(CONFIG)/gpr_log_test bins/$(CONFIG)/gpr_useful_test bins/$(CONFIG)/gpr_cmdline_test bins/$(CONFIG)/gpr_histogram_test bins/$(CONFIG)/gpr_host_port_test bins/$(CONFIG)/gpr_slice_buffer_test bins/$(CONFIG)/gpr_slice_test bins/$(CONFIG)/gpr_string_test bins/$(CONFIG)/gpr_sync_test bins/$(CONFIG)/gpr_thd_test bins/$(CONFIG)/gpr_time_test bins/$(CONFIG)/murmur_hash_test bins/$(CONFIG)/grpc_stream_op_test bins/$(CONFIG)/alpn_test bins/$(CONFIG)/time_averaged_stats_test bins/$(CONFIG)/chttp2_stream_encoder_test bins/$(CONFIG)/hpack_table_test bins/$(CONFIG)/chttp2_stream_map_test bins/$(CONFIG)/hpack_parser_test bins/$(CONFIG)/transport_metadata_test bins/$(CONFIG)/chttp2_status_conversion_test bins/$(CONFIG)/chttp2_transport_end2end_test bins/$(CONFIG)/tcp_posix_test bins/$(CONFIG)/dualstack_socket_test bins/$(CONFIG)/no_server_test bins/$(CONFIG)/resolve_address_test bins/$(CONFIG)/sockaddr_utils_test bins/$(CONFIG)/tcp_server_posix_test bins/$(CONFIG)/tcp_client_posix_test bins/$(CONFIG)/grpc_channel_stack_test bins/$(CONFIG)/metadata_buffer_test bins/$(CONFIG)/grpc_completion_queue_test bins/$(CONFIG)/census_window_stats_test bins/$(CONFIG)/census_statistics_quick_test bins/$(CONFIG)/census_statistics_small_log_test bins/$(CONFIG)/census_statistics_performance_test bins/$(CONFIG)/census_statistics_multiple_writers_test bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test bins/$(CONFIG)/census_stub_test bins/$(CONFIG)/census_hash_table_test bins/$(CONFIG)/fling_server bins/$(CONFIG)/fling_client bins/$(CONFIG)/fling_test bins/$(CONFIG)/echo_server bins/$(CONFIG)/echo_client bins/$(CONFIG)/echo_test bins/$(CONFIG)/message_compress_test bins/$(CONFIG)/bin_encoder_test bins/$(CONFIG)/secure_endpoint_test bins/$(CONFIG)/httpcli_format_request_test bins/$(CONFIG)/httpcli_parser_test bins/$(CONFIG)/httpcli_test bins/$(CONFIG)/grpc_credentials_test bins/$(CONFIG)/grpc_base64_test bins/$(CONFIG)/grpc_json_token_test bins/$(CONFIG)/timeout_encoding_test bins/$(CONFIG)/fd_posix_test bins/$(CONFIG)/fling_stream_test bins/$(CONFIG)/lame_client_test bins/$(CONFIG)/alarm_test bins/$(CONFIG)/alarm_list_test bins/$(CONFIG)/alarm_heap_test bins/$(CONFIG)/time_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fake_security_census_simple_request_test bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fake_security_no_op_test bins/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test bins/$(CONFIG)/chttp2_fake_security_simple_request_test bins/$(CONFIG)/chttp2_fake_security_thread_stress_test bins/$(CONFIG)/chttp2_fake_security_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fullstack_no_op_test bins/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_no_op_test bins/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test -buildtests_cxx: bins_dep_cxx privatelibs_cxx bins/$(CONFIG)/thread_pool_test bins/$(CONFIG)/status_test bins/$(CONFIG)/sync_client_async_server_test bins/$(CONFIG)/qps_client bins/$(CONFIG)/qps_server bins/$(CONFIG)/interop_server bins/$(CONFIG)/interop_client bins/$(CONFIG)/end2end_test bins/$(CONFIG)/channel_arguments_test bins/$(CONFIG)/credentials_test +buildtests_cxx: privatelibs_cxx bins/$(CONFIG)/thread_pool_test bins/$(CONFIG)/status_test bins/$(CONFIG)/sync_client_async_server_test bins/$(CONFIG)/qps_client bins/$(CONFIG)/qps_server bins/$(CONFIG)/interop_server bins/$(CONFIG)/interop_client bins/$(CONFIG)/end2end_test bins/$(CONFIG)/channel_arguments_test bins/$(CONFIG)/credentials_test test: test_c test_cxx @@ -941,109 +937,62 @@ strip-shared_cxx: shared_cxx $(E) "[STRIP] Stripping libgrpc++.so" $(Q) $(STRIP) libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) -deps/$(CONFIG)/gens/test/cpp/interop/empty.pb.dep: - $(Q) mkdir -p `dirname $@` - $(Q) touch $@ - gens/test/cpp/interop/empty.pb.cc: test/cpp/interop/empty.proto protoc_plugins $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -deps/$(CONFIG)/gens/test/cpp/interop/messages.pb.dep: - $(Q) mkdir -p `dirname $@` - $(Q) touch $@ - gens/test/cpp/interop/messages.pb.cc: test/cpp/interop/messages.proto protoc_plugins $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -deps/$(CONFIG)/gens/test/cpp/interop/test.pb.dep: - $(Q) mkdir -p `dirname $@` - $(Q) touch $@ - gens/test/cpp/interop/test.pb.cc: test/cpp/interop/test.proto protoc_plugins $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -deps/$(CONFIG)/gens/test/cpp/qps/qpstest.pb.dep: - $(Q) mkdir -p `dirname $@` - $(Q) touch $@ - gens/test/cpp/qps/qpstest.pb.cc: test/cpp/qps/qpstest.proto protoc_plugins $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -deps/$(CONFIG)/gens/test/cpp/util/echo.pb.dep: - $(Q) mkdir -p `dirname $@` - $(Q) touch $@ - gens/test/cpp/util/echo.pb.cc: test/cpp/util/echo.proto protoc_plugins $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -deps/$(CONFIG)/gens/test/cpp/util/echo_duplicate.pb.dep: - $(Q) mkdir -p `dirname $@` - $(Q) touch $@ - gens/test/cpp/util/echo_duplicate.pb.cc: test/cpp/util/echo_duplicate.proto protoc_plugins $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -deps/$(CONFIG)/gens/test/cpp/util/messages.pb.dep: - $(Q) mkdir -p `dirname $@` - $(Q) touch $@ - gens/test/cpp/util/messages.pb.cc: test/cpp/util/messages.proto protoc_plugins $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -deps/$(CONFIG)/%.dep : %.c - $(E) "[DEP] Generating dependencies for $<" - $(Q) mkdir -p `dirname $@` - $(Q) $(CC) $(CFLAGS) $(CPPFLAGS_NO_ARCH) -MG -M $< > $@ - -deps/$(CONFIG)/%.dep : %.cc - $(E) "[DEP] Generating dependencies for $<" - $(Q) mkdir -p `dirname $@` - $(Q) $(CXX) $(CXXFLAGS) $(CPPFLAGS_NO_ARCH) -MG -M $< > $@ - objs/$(CONFIG)/%.o : %.c $(E) "[C] Compiling $<" $(Q) mkdir -p `dirname $@` - $(Q) $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< + $(Q) $(CC) $(CFLAGS) $(CPPFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< objs/$(CONFIG)/%.o : gens/%.pb.cc $(E) "[CXX] Compiling $<" $(Q) mkdir -p `dirname $@` - $(Q) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< + $(Q) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< objs/$(CONFIG)/src/compiler/%.o : src/compiler/%.cc $(E) "[HOSTCXX] Compiling $<" $(Q) mkdir -p `dirname $@` - $(Q) $(HOST_CXX) $(HOST_CXXFLAGS) $(HOST_CPPFLAGS) -c -o $@ $< + $(Q) $(HOST_CXX) $(HOST_CXXFLAGS) $(HOST_CPPFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< objs/$(CONFIG)/%.o : %.cc $(E) "[CXX] Compiling $<" $(Q) mkdir -p `dirname $@` - $(Q) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< - -dep: dep_c dep_cxx + $(Q) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< -dep_c: deps_libgpr deps_libgrpc deps_libgrpc_unsecure deps_libgpr_test_util deps_libgrpc_test_util deps_libend2end_fixture_chttp2_fake_security deps_libend2end_fixture_chttp2_fullstack deps_libend2end_fixture_chttp2_simple_ssl_fullstack deps_libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack deps_libend2end_fixture_chttp2_socket_pair deps_libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time deps_libend2end_test_cancel_after_accept deps_libend2end_test_cancel_after_accept_and_writes_closed deps_libend2end_test_cancel_after_invoke deps_libend2end_test_cancel_before_invoke deps_libend2end_test_cancel_in_a_vacuum deps_libend2end_test_census_simple_request deps_libend2end_test_disappearing_server deps_libend2end_test_early_server_shutdown_finishes_inflight_calls deps_libend2end_test_early_server_shutdown_finishes_tags deps_libend2end_test_invoke_large_request deps_libend2end_test_max_concurrent_streams deps_libend2end_test_no_op deps_libend2end_test_ping_pong_streaming deps_libend2end_test_request_response_with_binary_metadata_and_payload deps_libend2end_test_request_response_with_metadata_and_payload deps_libend2end_test_request_response_with_payload deps_libend2end_test_request_response_with_trailing_metadata_and_payload deps_libend2end_test_simple_delayed_request deps_libend2end_test_simple_request deps_libend2end_test_thread_stress deps_libend2end_test_writes_done_hangs_with_pending_read deps_libend2end_certs - -bins_dep_c: deps_gen_hpack_tables deps_grpc_byte_buffer_reader_test deps_gpr_cancellable_test deps_gpr_log_test deps_gpr_useful_test deps_gpr_cmdline_test deps_gpr_histogram_test deps_gpr_host_port_test deps_gpr_slice_buffer_test deps_gpr_slice_test deps_gpr_string_test deps_gpr_sync_test deps_gpr_thd_test deps_gpr_time_test deps_murmur_hash_test deps_grpc_stream_op_test deps_alpn_test deps_time_averaged_stats_test deps_chttp2_stream_encoder_test deps_hpack_table_test deps_chttp2_stream_map_test deps_hpack_parser_test deps_transport_metadata_test deps_chttp2_status_conversion_test deps_chttp2_transport_end2end_test deps_tcp_posix_test deps_dualstack_socket_test deps_no_server_test deps_resolve_address_test deps_sockaddr_utils_test deps_tcp_server_posix_test deps_tcp_client_posix_test deps_grpc_channel_stack_test deps_metadata_buffer_test deps_grpc_completion_queue_test deps_grpc_completion_queue_benchmark deps_census_trace_store_test deps_census_stats_store_test deps_census_window_stats_test deps_census_statistics_quick_test deps_census_statistics_small_log_test deps_census_statistics_performance_test deps_census_statistics_multiple_writers_test deps_census_statistics_multiple_writers_circular_buffer_test deps_census_stub_test deps_census_hash_table_test deps_fling_server deps_fling_client deps_fling_test deps_echo_server deps_echo_client deps_echo_test deps_low_level_ping_pong_benchmark deps_message_compress_test deps_bin_encoder_test deps_secure_endpoint_test deps_httpcli_format_request_test deps_httpcli_parser_test deps_httpcli_test deps_grpc_credentials_test deps_grpc_fetch_oauth2 deps_grpc_base64_test deps_grpc_json_token_test deps_timeout_encoding_test deps_fd_posix_test deps_fling_stream_test deps_lame_client_test deps_alarm_test deps_alarm_list_test deps_alarm_heap_test deps_time_test deps_chttp2_fake_security_cancel_after_accept_test deps_chttp2_fake_security_cancel_after_accept_and_writes_closed_test deps_chttp2_fake_security_cancel_after_invoke_test deps_chttp2_fake_security_cancel_before_invoke_test deps_chttp2_fake_security_cancel_in_a_vacuum_test deps_chttp2_fake_security_census_simple_request_test deps_chttp2_fake_security_disappearing_server_test deps_chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test deps_chttp2_fake_security_early_server_shutdown_finishes_tags_test deps_chttp2_fake_security_invoke_large_request_test deps_chttp2_fake_security_max_concurrent_streams_test deps_chttp2_fake_security_no_op_test deps_chttp2_fake_security_ping_pong_streaming_test deps_chttp2_fake_security_request_response_with_binary_metadata_and_payload_test deps_chttp2_fake_security_request_response_with_metadata_and_payload_test deps_chttp2_fake_security_request_response_with_payload_test deps_chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test deps_chttp2_fake_security_simple_delayed_request_test deps_chttp2_fake_security_simple_request_test deps_chttp2_fake_security_thread_stress_test deps_chttp2_fake_security_writes_done_hangs_with_pending_read_test deps_chttp2_fullstack_cancel_after_accept_test deps_chttp2_fullstack_cancel_after_accept_and_writes_closed_test deps_chttp2_fullstack_cancel_after_invoke_test deps_chttp2_fullstack_cancel_before_invoke_test deps_chttp2_fullstack_cancel_in_a_vacuum_test deps_chttp2_fullstack_census_simple_request_test deps_chttp2_fullstack_disappearing_server_test deps_chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test deps_chttp2_fullstack_early_server_shutdown_finishes_tags_test deps_chttp2_fullstack_invoke_large_request_test deps_chttp2_fullstack_max_concurrent_streams_test deps_chttp2_fullstack_no_op_test deps_chttp2_fullstack_ping_pong_streaming_test deps_chttp2_fullstack_request_response_with_binary_metadata_and_payload_test deps_chttp2_fullstack_request_response_with_metadata_and_payload_test deps_chttp2_fullstack_request_response_with_payload_test deps_chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test deps_chttp2_fullstack_simple_delayed_request_test deps_chttp2_fullstack_simple_request_test deps_chttp2_fullstack_thread_stress_test deps_chttp2_fullstack_writes_done_hangs_with_pending_read_test deps_chttp2_simple_ssl_fullstack_cancel_after_accept_test deps_chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test deps_chttp2_simple_ssl_fullstack_cancel_after_invoke_test deps_chttp2_simple_ssl_fullstack_cancel_before_invoke_test deps_chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test deps_chttp2_simple_ssl_fullstack_census_simple_request_test deps_chttp2_simple_ssl_fullstack_disappearing_server_test deps_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test deps_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test deps_chttp2_simple_ssl_fullstack_invoke_large_request_test deps_chttp2_simple_ssl_fullstack_max_concurrent_streams_test deps_chttp2_simple_ssl_fullstack_no_op_test deps_chttp2_simple_ssl_fullstack_ping_pong_streaming_test deps_chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test deps_chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test deps_chttp2_simple_ssl_fullstack_request_response_with_payload_test deps_chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test deps_chttp2_simple_ssl_fullstack_simple_delayed_request_test deps_chttp2_simple_ssl_fullstack_simple_request_test deps_chttp2_simple_ssl_fullstack_thread_stress_test deps_chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test deps_chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test deps_chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test deps_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test deps_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test deps_chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test deps_chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test deps_chttp2_simple_ssl_with_oauth2_fullstack_no_op_test deps_chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test deps_chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test deps_chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test deps_chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test deps_chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test deps_chttp2_socket_pair_cancel_after_accept_test deps_chttp2_socket_pair_cancel_after_accept_and_writes_closed_test deps_chttp2_socket_pair_cancel_after_invoke_test deps_chttp2_socket_pair_cancel_before_invoke_test deps_chttp2_socket_pair_cancel_in_a_vacuum_test deps_chttp2_socket_pair_census_simple_request_test deps_chttp2_socket_pair_disappearing_server_test deps_chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test deps_chttp2_socket_pair_early_server_shutdown_finishes_tags_test deps_chttp2_socket_pair_invoke_large_request_test deps_chttp2_socket_pair_max_concurrent_streams_test deps_chttp2_socket_pair_no_op_test deps_chttp2_socket_pair_ping_pong_streaming_test deps_chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test deps_chttp2_socket_pair_request_response_with_metadata_and_payload_test deps_chttp2_socket_pair_request_response_with_payload_test deps_chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test deps_chttp2_socket_pair_simple_delayed_request_test deps_chttp2_socket_pair_simple_request_test deps_chttp2_socket_pair_thread_stress_test deps_chttp2_socket_pair_writes_done_hangs_with_pending_read_test deps_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test deps_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test deps_chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test deps_chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test deps_chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test deps_chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test deps_chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test deps_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test deps_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test deps_chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test deps_chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test deps_chttp2_socket_pair_one_byte_at_a_time_no_op_test deps_chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test deps_chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test deps_chttp2_socket_pair_one_byte_at_a_time_simple_request_test deps_chttp2_socket_pair_one_byte_at_a_time_thread_stress_test deps_chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test - -dep_cxx: deps_libgrpc++ deps_libgrpc++_test_util - -bins_dep_cxx: deps_cpp_plugin deps_ruby_plugin deps_thread_pool_test deps_status_test deps_sync_client_async_server_test deps_qps_client deps_qps_server deps_interop_server deps_interop_client deps_end2end_test deps_channel_arguments_test deps_credentials_test install: install_c install_cxx @@ -1134,7 +1083,7 @@ endif endif clean: - $(Q) $(RM) -rf deps objs libs bins gens + $(Q) $(RM) -rf objs libs bins gens # The various libraries @@ -1196,7 +1145,7 @@ PUBLIC_HEADERS_C += \ include/grpc/support/useful.h \ LIBGPR_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_SRC)))) -LIBGPR_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGPR_SRC)))) +LIBGPR_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGPR_SRC)))) libs/$(CONFIG)/libgpr.a: $(LIBGPR_OBJS) $(E) "[AR] Creating $@" @@ -1256,13 +1205,6 @@ objs/$(CONFIG)/src/core/support/time.o: objs/$(CONFIG)/src/core/support/time_posix.o: objs/$(CONFIG)/src/core/support/time_win32.o: -clean_libgpr: - $(E) "[CLEAN] Cleaning libgpr files" - $(Q) $(RM) $(LIBGPR_OBJS) - $(Q) $(RM) $(LIBGPR_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libgpr.a - $(Q) $(RM) libs/$(CONFIG)/libgpr.$(SHARED_EXT) - LIBGRPC_SRC = \ src/core/security/auth.c \ @@ -1366,7 +1308,7 @@ PUBLIC_HEADERS_C += \ include/grpc/status.h \ LIBGRPC_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_SRC)))) -LIBGRPC_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC_SRC)))) +LIBGRPC_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC_SRC)))) ifeq ($(NO_SECURE),true) @@ -1515,13 +1457,6 @@ objs/$(CONFIG)/src/core/transport/stream_op.o: objs/$(CONFIG)/src/core/transport/transport.o: objs/$(CONFIG)/third_party/cJSON/cJSON.o: -clean_libgrpc: - $(E) "[CLEAN] Cleaning libgrpc files" - $(Q) $(RM) $(LIBGRPC_OBJS) - $(Q) $(RM) $(LIBGRPC_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libgrpc.a - $(Q) $(RM) libs/$(CONFIG)/libgrpc.$(SHARED_EXT) - LIBGRPC_UNSECURE_SRC = \ src/core/channel/call_op_string.c \ @@ -1611,7 +1546,7 @@ PUBLIC_HEADERS_C += \ include/grpc/status.h \ LIBGRPC_UNSECURE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_UNSECURE_SRC)))) -LIBGRPC_UNSECURE_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC_UNSECURE_SRC)))) +LIBGRPC_UNSECURE_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC_UNSECURE_SRC)))) libs/$(CONFIG)/libgrpc_unsecure.a: $(LIBGRPC_UNSECURE_OBJS) $(E) "[AR] Creating $@" @@ -1724,20 +1659,13 @@ objs/$(CONFIG)/src/core/transport/stream_op.o: objs/$(CONFIG)/src/core/transport/transport.o: objs/$(CONFIG)/third_party/cJSON/cJSON.o: -clean_libgrpc_unsecure: - $(E) "[CLEAN] Cleaning libgrpc_unsecure files" - $(Q) $(RM) $(LIBGRPC_UNSECURE_OBJS) - $(Q) $(RM) $(LIBGRPC_UNSECURE_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libgrpc_unsecure.a - $(Q) $(RM) libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT) - LIBGPR_TEST_UTIL_SRC = \ test/core/util/test_config.c \ LIBGPR_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_TEST_UTIL_SRC)))) -LIBGPR_TEST_UTIL_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGPR_TEST_UTIL_SRC)))) +LIBGPR_TEST_UTIL_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGPR_TEST_UTIL_SRC)))) ifeq ($(NO_SECURE),true) @@ -1767,13 +1695,6 @@ endif objs/$(CONFIG)/test/core/util/test_config.o: -clean_libgpr_test_util: - $(E) "[CLEAN] Cleaning libgpr_test_util files" - $(Q) $(RM) $(LIBGPR_TEST_UTIL_OBJS) - $(Q) $(RM) $(LIBGPR_TEST_UTIL_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libgpr_test_util.a - $(Q) $(RM) libs/$(CONFIG)/libgpr_test_util.$(SHARED_EXT) - LIBGRPC_TEST_UTIL_SRC = \ test/core/end2end/cq_verifier.c \ @@ -1791,7 +1712,7 @@ LIBGRPC_TEST_UTIL_SRC = \ LIBGRPC_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_TEST_UTIL_SRC)))) -LIBGRPC_TEST_UTIL_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC_TEST_UTIL_SRC)))) +LIBGRPC_TEST_UTIL_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC_TEST_UTIL_SRC)))) ifeq ($(NO_SECURE),true) @@ -1832,13 +1753,6 @@ objs/$(CONFIG)/test/core/util/port_posix.o: objs/$(CONFIG)/test/core/util/parse_hexstring.o: objs/$(CONFIG)/test/core/util/slice_splitter.o: -clean_libgrpc_test_util: - $(E) "[CLEAN] Cleaning libgrpc_test_util files" - $(Q) $(RM) $(LIBGRPC_TEST_UTIL_OBJS) - $(Q) $(RM) $(LIBGRPC_TEST_UTIL_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libgrpc_test_util.a - $(Q) $(RM) libs/$(CONFIG)/libgrpc_test_util.$(SHARED_EXT) - LIBGRPC++_SRC = \ src/cpp/client/channel.cc \ @@ -1884,7 +1798,7 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/stream.h \ LIBGRPC++_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_SRC)))) -LIBGRPC++_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC++_SRC)))) +LIBGRPC++_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC++_SRC)))) ifeq ($(NO_SECURE),true) @@ -1954,13 +1868,6 @@ objs/$(CONFIG)/src/cpp/stream/stream_context.o: objs/$(CONFIG)/src/cpp/util/status.o: objs/$(CONFIG)/src/cpp/util/time.o: -clean_libgrpc++: - $(E) "[CLEAN] Cleaning libgrpc++ files" - $(Q) $(RM) $(LIBGRPC++_OBJS) - $(Q) $(RM) $(LIBGRPC++_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libgrpc++.a - $(Q) $(RM) libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) - LIBGRPC++_TEST_UTIL_SRC = \ gens/test/cpp/util/messages.pb.cc \ @@ -1971,7 +1878,7 @@ LIBGRPC++_TEST_UTIL_SRC = \ LIBGRPC++_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_TEST_UTIL_SRC)))) -LIBGRPC++_TEST_UTIL_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC++_TEST_UTIL_SRC)))) +LIBGRPC++_TEST_UTIL_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC++_TEST_UTIL_SRC)))) ifeq ($(NO_SECURE),true) @@ -2005,20 +1912,13 @@ endif objs/$(CONFIG)/test/cpp/util/create_test_channel.o: gens/test/cpp/util/messages.pb.cc gens/test/cpp/util/echo.pb.cc gens/test/cpp/util/echo_duplicate.pb.cc objs/$(CONFIG)/test/cpp/end2end/async_test_server.o: gens/test/cpp/util/messages.pb.cc gens/test/cpp/util/echo.pb.cc gens/test/cpp/util/echo_duplicate.pb.cc -clean_libgrpc++_test_util: - $(E) "[CLEAN] Cleaning libgrpc++_test_util files" - $(Q) $(RM) $(LIBGRPC++_TEST_UTIL_OBJS) - $(Q) $(RM) $(LIBGRPC++_TEST_UTIL_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libgrpc++_test_util.a - $(Q) $(RM) libs/$(CONFIG)/libgrpc++_test_util.$(SHARED_EXT) - LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC = \ test/core/end2end/fixtures/chttp2_fake_security.c \ LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC)))) -LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC)))) +LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC)))) ifeq ($(NO_SECURE),true) @@ -2048,20 +1948,13 @@ endif objs/$(CONFIG)/test/core/end2end/fixtures/chttp2_fake_security.o: -clean_libend2end_fixture_chttp2_fake_security: - $(E) "[CLEAN] Cleaning libend2end_fixture_chttp2_fake_security files" - $(Q) $(RM) $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS) - $(Q) $(RM) $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.$(SHARED_EXT) - LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_SRC = \ test/core/end2end/fixtures/chttp2_fullstack.c \ LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_SRC)))) -LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_SRC)))) +LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_SRC)))) ifeq ($(NO_SECURE),true) @@ -2091,20 +1984,13 @@ endif objs/$(CONFIG)/test/core/end2end/fixtures/chttp2_fullstack.o: -clean_libend2end_fixture_chttp2_fullstack: - $(E) "[CLEAN] Cleaning libend2end_fixture_chttp2_fullstack files" - $(Q) $(RM) $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_OBJS) - $(Q) $(RM) $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.$(SHARED_EXT) - LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_SRC = \ test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c \ LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_SRC)))) -LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_SRC)))) +LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_SRC)))) ifeq ($(NO_SECURE),true) @@ -2134,20 +2020,13 @@ endif objs/$(CONFIG)/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.o: -clean_libend2end_fixture_chttp2_simple_ssl_fullstack: - $(E) "[CLEAN] Cleaning libend2end_fixture_chttp2_simple_ssl_fullstack files" - $(Q) $(RM) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_OBJS) - $(Q) $(RM) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.$(SHARED_EXT) - LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SRC = \ test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c \ LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SRC)))) -LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SRC)))) +LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SRC)))) ifeq ($(NO_SECURE),true) @@ -2177,20 +2056,13 @@ endif objs/$(CONFIG)/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.o: -clean_libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack: - $(E) "[CLEAN] Cleaning libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack files" - $(Q) $(RM) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_OBJS) - $(Q) $(RM) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.$(SHARED_EXT) - LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_SRC = \ test/core/end2end/fixtures/chttp2_socket_pair.c \ LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_SRC)))) -LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_SRC)))) +LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_SRC)))) ifeq ($(NO_SECURE),true) @@ -2220,20 +2092,13 @@ endif objs/$(CONFIG)/test/core/end2end/fixtures/chttp2_socket_pair.o: -clean_libend2end_fixture_chttp2_socket_pair: - $(E) "[CLEAN] Cleaning libend2end_fixture_chttp2_socket_pair files" - $(Q) $(RM) $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_OBJS) - $(Q) $(RM) $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.$(SHARED_EXT) - LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SRC = \ test/core/end2end/fixtures/chttp2_socket_pair_one_byte_at_a_time.c \ LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SRC)))) -LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SRC)))) +LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SRC)))) ifeq ($(NO_SECURE),true) @@ -2263,20 +2128,13 @@ endif objs/$(CONFIG)/test/core/end2end/fixtures/chttp2_socket_pair_one_byte_at_a_time.o: -clean_libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time: - $(E) "[CLEAN] Cleaning libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time files" - $(Q) $(RM) $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_OBJS) - $(Q) $(RM) $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.$(SHARED_EXT) - LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_SRC = \ test/core/end2end/tests/cancel_after_accept.c \ LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_SRC)))) -LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_SRC)))) +LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_SRC)))) libs/$(CONFIG)/libend2end_test_cancel_after_accept.a: $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS) $(E) "[AR] Creating $@" @@ -2295,20 +2153,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/cancel_after_accept.o: -clean_libend2end_test_cancel_after_accept: - $(E) "[CLEAN] Cleaning libend2end_test_cancel_after_accept files" - $(Q) $(RM) $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_cancel_after_accept.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_cancel_after_accept.$(SHARED_EXT) - LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_SRC = \ test/core/end2end/tests/cancel_after_accept_and_writes_closed.c \ LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_SRC)))) -LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_SRC)))) +LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_SRC)))) libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a: $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS) $(E) "[AR] Creating $@" @@ -2327,20 +2178,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/cancel_after_accept_and_writes_closed.o: -clean_libend2end_test_cancel_after_accept_and_writes_closed: - $(E) "[CLEAN] Cleaning libend2end_test_cancel_after_accept_and_writes_closed files" - $(Q) $(RM) $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.$(SHARED_EXT) - LIBEND2END_TEST_CANCEL_AFTER_INVOKE_SRC = \ test/core/end2end/tests/cancel_after_invoke.c \ LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_SRC)))) -LIBEND2END_TEST_CANCEL_AFTER_INVOKE_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_SRC)))) +LIBEND2END_TEST_CANCEL_AFTER_INVOKE_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_SRC)))) libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a: $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS) $(E) "[AR] Creating $@" @@ -2359,20 +2203,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/cancel_after_invoke.o: -clean_libend2end_test_cancel_after_invoke: - $(E) "[CLEAN] Cleaning libend2end_test_cancel_after_invoke files" - $(Q) $(RM) $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_cancel_after_invoke.$(SHARED_EXT) - LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_SRC = \ test/core/end2end/tests/cancel_before_invoke.c \ LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_SRC)))) -LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_SRC)))) +LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_SRC)))) libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a: $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS) $(E) "[AR] Creating $@" @@ -2391,20 +2228,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/cancel_before_invoke.o: -clean_libend2end_test_cancel_before_invoke: - $(E) "[CLEAN] Cleaning libend2end_test_cancel_before_invoke files" - $(Q) $(RM) $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_cancel_before_invoke.$(SHARED_EXT) - LIBEND2END_TEST_CANCEL_IN_A_VACUUM_SRC = \ test/core/end2end/tests/cancel_in_a_vacuum.c \ LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_SRC)))) -LIBEND2END_TEST_CANCEL_IN_A_VACUUM_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_SRC)))) +LIBEND2END_TEST_CANCEL_IN_A_VACUUM_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_SRC)))) libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a: $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS) $(E) "[AR] Creating $@" @@ -2423,20 +2253,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/cancel_in_a_vacuum.o: -clean_libend2end_test_cancel_in_a_vacuum: - $(E) "[CLEAN] Cleaning libend2end_test_cancel_in_a_vacuum files" - $(Q) $(RM) $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.$(SHARED_EXT) - LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_SRC = \ test/core/end2end/tests/census_simple_request.c \ LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_SRC)))) -LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_SRC)))) +LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_SRC)))) libs/$(CONFIG)/libend2end_test_census_simple_request.a: $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS) $(E) "[AR] Creating $@" @@ -2455,20 +2278,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/census_simple_request.o: -clean_libend2end_test_census_simple_request: - $(E) "[CLEAN] Cleaning libend2end_test_census_simple_request files" - $(Q) $(RM) $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_census_simple_request.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_census_simple_request.$(SHARED_EXT) - LIBEND2END_TEST_DISAPPEARING_SERVER_SRC = \ test/core/end2end/tests/disappearing_server.c \ LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_DISAPPEARING_SERVER_SRC)))) -LIBEND2END_TEST_DISAPPEARING_SERVER_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_DISAPPEARING_SERVER_SRC)))) +LIBEND2END_TEST_DISAPPEARING_SERVER_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_DISAPPEARING_SERVER_SRC)))) libs/$(CONFIG)/libend2end_test_disappearing_server.a: $(LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS) $(E) "[AR] Creating $@" @@ -2487,20 +2303,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/disappearing_server.o: -clean_libend2end_test_disappearing_server: - $(E) "[CLEAN] Cleaning libend2end_test_disappearing_server files" - $(Q) $(RM) $(LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_DISAPPEARING_SERVER_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_disappearing_server.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_disappearing_server.$(SHARED_EXT) - LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_SRC = \ test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c \ LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_SRC)))) -LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_SRC)))) +LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_SRC)))) libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a: $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS) $(E) "[AR] Creating $@" @@ -2519,20 +2328,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.o: -clean_libend2end_test_early_server_shutdown_finishes_inflight_calls: - $(E) "[CLEAN] Cleaning libend2end_test_early_server_shutdown_finishes_inflight_calls files" - $(Q) $(RM) $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.$(SHARED_EXT) - LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_SRC = \ test/core/end2end/tests/early_server_shutdown_finishes_tags.c \ LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_SRC)))) -LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_SRC)))) +LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_SRC)))) libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a: $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS) $(E) "[AR] Creating $@" @@ -2551,20 +2353,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/early_server_shutdown_finishes_tags.o: -clean_libend2end_test_early_server_shutdown_finishes_tags: - $(E) "[CLEAN] Cleaning libend2end_test_early_server_shutdown_finishes_tags files" - $(Q) $(RM) $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.$(SHARED_EXT) - LIBEND2END_TEST_INVOKE_LARGE_REQUEST_SRC = \ test/core/end2end/tests/invoke_large_request.c \ LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_SRC)))) -LIBEND2END_TEST_INVOKE_LARGE_REQUEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_SRC)))) +LIBEND2END_TEST_INVOKE_LARGE_REQUEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_SRC)))) libs/$(CONFIG)/libend2end_test_invoke_large_request.a: $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS) $(E) "[AR] Creating $@" @@ -2583,20 +2378,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/invoke_large_request.o: -clean_libend2end_test_invoke_large_request: - $(E) "[CLEAN] Cleaning libend2end_test_invoke_large_request files" - $(Q) $(RM) $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_invoke_large_request.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_invoke_large_request.$(SHARED_EXT) - LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_SRC = \ test/core/end2end/tests/max_concurrent_streams.c \ LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_SRC)))) -LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_SRC)))) +LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_SRC)))) libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a: $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS) $(E) "[AR] Creating $@" @@ -2615,20 +2403,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/max_concurrent_streams.o: -clean_libend2end_test_max_concurrent_streams: - $(E) "[CLEAN] Cleaning libend2end_test_max_concurrent_streams files" - $(Q) $(RM) $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_max_concurrent_streams.$(SHARED_EXT) - LIBEND2END_TEST_NO_OP_SRC = \ test/core/end2end/tests/no_op.c \ LIBEND2END_TEST_NO_OP_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_NO_OP_SRC)))) -LIBEND2END_TEST_NO_OP_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_NO_OP_SRC)))) +LIBEND2END_TEST_NO_OP_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_NO_OP_SRC)))) libs/$(CONFIG)/libend2end_test_no_op.a: $(LIBEND2END_TEST_NO_OP_OBJS) $(E) "[AR] Creating $@" @@ -2647,20 +2428,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/no_op.o: -clean_libend2end_test_no_op: - $(E) "[CLEAN] Cleaning libend2end_test_no_op files" - $(Q) $(RM) $(LIBEND2END_TEST_NO_OP_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_NO_OP_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_no_op.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_no_op.$(SHARED_EXT) - LIBEND2END_TEST_PING_PONG_STREAMING_SRC = \ test/core/end2end/tests/ping_pong_streaming.c \ LIBEND2END_TEST_PING_PONG_STREAMING_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_PING_PONG_STREAMING_SRC)))) -LIBEND2END_TEST_PING_PONG_STREAMING_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_PING_PONG_STREAMING_SRC)))) +LIBEND2END_TEST_PING_PONG_STREAMING_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_PING_PONG_STREAMING_SRC)))) libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a: $(LIBEND2END_TEST_PING_PONG_STREAMING_OBJS) $(E) "[AR] Creating $@" @@ -2679,20 +2453,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/ping_pong_streaming.o: -clean_libend2end_test_ping_pong_streaming: - $(E) "[CLEAN] Cleaning libend2end_test_ping_pong_streaming files" - $(Q) $(RM) $(LIBEND2END_TEST_PING_PONG_STREAMING_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_PING_PONG_STREAMING_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_ping_pong_streaming.$(SHARED_EXT) - LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_SRC = \ test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c \ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_SRC)))) -LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_SRC)))) +LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_SRC)))) libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS) $(E) "[AR] Creating $@" @@ -2711,20 +2478,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.o: -clean_libend2end_test_request_response_with_binary_metadata_and_payload: - $(E) "[CLEAN] Cleaning libend2end_test_request_response_with_binary_metadata_and_payload files" - $(Q) $(RM) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.$(SHARED_EXT) - LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_SRC = \ test/core/end2end/tests/request_response_with_metadata_and_payload.c \ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_SRC)))) -LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_SRC)))) +LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_SRC)))) libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS) $(E) "[AR] Creating $@" @@ -2743,20 +2503,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/request_response_with_metadata_and_payload.o: -clean_libend2end_test_request_response_with_metadata_and_payload: - $(E) "[CLEAN] Cleaning libend2end_test_request_response_with_metadata_and_payload files" - $(Q) $(RM) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.$(SHARED_EXT) - LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_SRC = \ test/core/end2end/tests/request_response_with_payload.c \ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_SRC)))) -LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_SRC)))) +LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_SRC)))) libs/$(CONFIG)/libend2end_test_request_response_with_payload.a: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS) $(E) "[AR] Creating $@" @@ -2775,20 +2528,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/request_response_with_payload.o: -clean_libend2end_test_request_response_with_payload: - $(E) "[CLEAN] Cleaning libend2end_test_request_response_with_payload files" - $(Q) $(RM) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_request_response_with_payload.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_request_response_with_payload.$(SHARED_EXT) - LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_SRC = \ test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c \ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_SRC)))) -LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_SRC)))) +LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_SRC)))) libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS) $(E) "[AR] Creating $@" @@ -2807,20 +2553,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.o: -clean_libend2end_test_request_response_with_trailing_metadata_and_payload: - $(E) "[CLEAN] Cleaning libend2end_test_request_response_with_trailing_metadata_and_payload files" - $(Q) $(RM) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.$(SHARED_EXT) - LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_SRC = \ test/core/end2end/tests/simple_delayed_request.c \ LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_SRC)))) -LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_SRC)))) +LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_SRC)))) libs/$(CONFIG)/libend2end_test_simple_delayed_request.a: $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS) $(E) "[AR] Creating $@" @@ -2839,20 +2578,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/simple_delayed_request.o: -clean_libend2end_test_simple_delayed_request: - $(E) "[CLEAN] Cleaning libend2end_test_simple_delayed_request files" - $(Q) $(RM) $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_simple_delayed_request.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_simple_delayed_request.$(SHARED_EXT) - LIBEND2END_TEST_SIMPLE_REQUEST_SRC = \ test/core/end2end/tests/simple_request.c \ LIBEND2END_TEST_SIMPLE_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_SIMPLE_REQUEST_SRC)))) -LIBEND2END_TEST_SIMPLE_REQUEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_SIMPLE_REQUEST_SRC)))) +LIBEND2END_TEST_SIMPLE_REQUEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_SIMPLE_REQUEST_SRC)))) libs/$(CONFIG)/libend2end_test_simple_request.a: $(LIBEND2END_TEST_SIMPLE_REQUEST_OBJS) $(E) "[AR] Creating $@" @@ -2871,20 +2603,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/simple_request.o: -clean_libend2end_test_simple_request: - $(E) "[CLEAN] Cleaning libend2end_test_simple_request files" - $(Q) $(RM) $(LIBEND2END_TEST_SIMPLE_REQUEST_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_SIMPLE_REQUEST_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_simple_request.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_simple_request.$(SHARED_EXT) - LIBEND2END_TEST_THREAD_STRESS_SRC = \ test/core/end2end/tests/thread_stress.c \ LIBEND2END_TEST_THREAD_STRESS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_THREAD_STRESS_SRC)))) -LIBEND2END_TEST_THREAD_STRESS_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_THREAD_STRESS_SRC)))) +LIBEND2END_TEST_THREAD_STRESS_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_THREAD_STRESS_SRC)))) libs/$(CONFIG)/libend2end_test_thread_stress.a: $(LIBEND2END_TEST_THREAD_STRESS_OBJS) $(E) "[AR] Creating $@" @@ -2903,20 +2628,13 @@ endif objs/$(CONFIG)/test/core/end2end/tests/thread_stress.o: -clean_libend2end_test_thread_stress: - $(E) "[CLEAN] Cleaning libend2end_test_thread_stress files" - $(Q) $(RM) $(LIBEND2END_TEST_THREAD_STRESS_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_THREAD_STRESS_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_thread_stress.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_thread_stress.$(SHARED_EXT) - LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_SRC = \ test/core/end2end/tests/writes_done_hangs_with_pending_read.c \ LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_SRC)))) -LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_SRC)))) +LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_SRC)))) libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a: $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS) $(E) "[AR] Creating $@" @@ -2935,13 +2653,6 @@ endif objs/$(CONFIG)/test/core/end2end/tests/writes_done_hangs_with_pending_read.o: -clean_libend2end_test_writes_done_hangs_with_pending_read: - $(E) "[CLEAN] Cleaning libend2end_test_writes_done_hangs_with_pending_read files" - $(Q) $(RM) $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS) - $(Q) $(RM) $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.$(SHARED_EXT) - LIBEND2END_CERTS_SRC = \ test/core/end2end/data/test_root_cert.c \ @@ -2951,7 +2662,7 @@ LIBEND2END_CERTS_SRC = \ LIBEND2END_CERTS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_CERTS_SRC)))) -LIBEND2END_CERTS_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_CERTS_SRC)))) +LIBEND2END_CERTS_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_CERTS_SRC)))) ifeq ($(NO_SECURE),true) @@ -2984,13 +2695,6 @@ objs/$(CONFIG)/test/core/end2end/data/prod_roots_certs.o: objs/$(CONFIG)/test/core/end2end/data/server1_cert.o: objs/$(CONFIG)/test/core/end2end/data/server1_key.o: -clean_libend2end_certs: - $(E) "[CLEAN] Cleaning libend2end_certs files" - $(Q) $(RM) $(LIBEND2END_CERTS_OBJS) - $(Q) $(RM) $(LIBEND2END_CERTS_DEPS) - $(Q) $(RM) libs/$(CONFIG)/libend2end_certs.a - $(Q) $(RM) libs/$(CONFIG)/libend2end_certs.$(SHARED_EXT) - # All of the test targets, and protoc plugins @@ -3000,7 +2704,7 @@ GEN_HPACK_TABLES_SRC = \ src/core/transport/chttp2/gen_hpack_tables.c \ GEN_HPACK_TABLES_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GEN_HPACK_TABLES_SRC)))) -GEN_HPACK_TABLES_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GEN_HPACK_TABLES_SRC)))) +GEN_HPACK_TABLES_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GEN_HPACK_TABLES_SRC)))) ifeq ($(NO_SECURE),true) @@ -3025,19 +2729,13 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gen_hpack_tables: - $(E) "[CLEAN] Cleaning gen_hpack_tables files" - $(Q) $(RM) $(GEN_HPACK_TABLES_OBJS) - $(Q) $(RM) $(GEN_HPACK_TABLES_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gen_hpack_tables - CPP_PLUGIN_SRC = \ src/compiler/cpp_plugin.cpp \ src/compiler/cpp_generator.cpp \ CPP_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CPP_PLUGIN_SRC)))) -CPP_PLUGIN_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CPP_PLUGIN_SRC)))) +CPP_PLUGIN_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CPP_PLUGIN_SRC)))) bins/$(CONFIG)/cpp_plugin: $(CPP_PLUGIN_OBJS) $(E) "[HOSTLD] Linking $@" @@ -3053,19 +2751,13 @@ ifneq ($(NO_DEPS),true) -include $(CPP_PLUGIN_DEPS) endif -clean_cpp_plugin: - $(E) "[CLEAN] Cleaning cpp_plugin files" - $(Q) $(RM) $(CPP_PLUGIN_OBJS) - $(Q) $(RM) $(CPP_PLUGIN_DEPS) - $(Q) $(RM) bins/$(CONFIG)/cpp_plugin - RUBY_PLUGIN_SRC = \ src/compiler/ruby_plugin.cpp \ src/compiler/ruby_generator.cpp \ RUBY_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(RUBY_PLUGIN_SRC)))) -RUBY_PLUGIN_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(RUBY_PLUGIN_SRC)))) +RUBY_PLUGIN_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(RUBY_PLUGIN_SRC)))) bins/$(CONFIG)/ruby_plugin: $(RUBY_PLUGIN_OBJS) $(E) "[HOSTLD] Linking $@" @@ -3081,18 +2773,12 @@ ifneq ($(NO_DEPS),true) -include $(RUBY_PLUGIN_DEPS) endif -clean_ruby_plugin: - $(E) "[CLEAN] Cleaning ruby_plugin files" - $(Q) $(RM) $(RUBY_PLUGIN_OBJS) - $(Q) $(RM) $(RUBY_PLUGIN_DEPS) - $(Q) $(RM) bins/$(CONFIG)/ruby_plugin - GRPC_BYTE_BUFFER_READER_TEST_SRC = \ test/core/surface/byte_buffer_reader_test.c \ GRPC_BYTE_BUFFER_READER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_BYTE_BUFFER_READER_TEST_SRC)))) -GRPC_BYTE_BUFFER_READER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_BYTE_BUFFER_READER_TEST_SRC)))) +GRPC_BYTE_BUFFER_READER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_BYTE_BUFFER_READER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3117,18 +2803,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_grpc_byte_buffer_reader_test: - $(E) "[CLEAN] Cleaning grpc_byte_buffer_reader_test files" - $(Q) $(RM) $(GRPC_BYTE_BUFFER_READER_TEST_OBJS) - $(Q) $(RM) $(GRPC_BYTE_BUFFER_READER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/grpc_byte_buffer_reader_test - GPR_CANCELLABLE_TEST_SRC = \ test/core/support/cancellable_test.c \ GPR_CANCELLABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_CANCELLABLE_TEST_SRC)))) -GPR_CANCELLABLE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_CANCELLABLE_TEST_SRC)))) +GPR_CANCELLABLE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_CANCELLABLE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3153,18 +2833,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gpr_cancellable_test: - $(E) "[CLEAN] Cleaning gpr_cancellable_test files" - $(Q) $(RM) $(GPR_CANCELLABLE_TEST_OBJS) - $(Q) $(RM) $(GPR_CANCELLABLE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gpr_cancellable_test - GPR_LOG_TEST_SRC = \ test/core/support/log_test.c \ GPR_LOG_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_LOG_TEST_SRC)))) -GPR_LOG_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_LOG_TEST_SRC)))) +GPR_LOG_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_LOG_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3189,18 +2863,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gpr_log_test: - $(E) "[CLEAN] Cleaning gpr_log_test files" - $(Q) $(RM) $(GPR_LOG_TEST_OBJS) - $(Q) $(RM) $(GPR_LOG_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gpr_log_test - GPR_USEFUL_TEST_SRC = \ test/core/support/useful_test.c \ GPR_USEFUL_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_USEFUL_TEST_SRC)))) -GPR_USEFUL_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_USEFUL_TEST_SRC)))) +GPR_USEFUL_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_USEFUL_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3225,18 +2893,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gpr_useful_test: - $(E) "[CLEAN] Cleaning gpr_useful_test files" - $(Q) $(RM) $(GPR_USEFUL_TEST_OBJS) - $(Q) $(RM) $(GPR_USEFUL_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gpr_useful_test - GPR_CMDLINE_TEST_SRC = \ test/core/support/cmdline_test.c \ GPR_CMDLINE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_CMDLINE_TEST_SRC)))) -GPR_CMDLINE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_CMDLINE_TEST_SRC)))) +GPR_CMDLINE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_CMDLINE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3261,18 +2923,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gpr_cmdline_test: - $(E) "[CLEAN] Cleaning gpr_cmdline_test files" - $(Q) $(RM) $(GPR_CMDLINE_TEST_OBJS) - $(Q) $(RM) $(GPR_CMDLINE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gpr_cmdline_test - GPR_HISTOGRAM_TEST_SRC = \ test/core/support/histogram_test.c \ GPR_HISTOGRAM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_HISTOGRAM_TEST_SRC)))) -GPR_HISTOGRAM_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_HISTOGRAM_TEST_SRC)))) +GPR_HISTOGRAM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_HISTOGRAM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3297,18 +2953,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gpr_histogram_test: - $(E) "[CLEAN] Cleaning gpr_histogram_test files" - $(Q) $(RM) $(GPR_HISTOGRAM_TEST_OBJS) - $(Q) $(RM) $(GPR_HISTOGRAM_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gpr_histogram_test - GPR_HOST_PORT_TEST_SRC = \ test/core/support/host_port_test.c \ GPR_HOST_PORT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_HOST_PORT_TEST_SRC)))) -GPR_HOST_PORT_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_HOST_PORT_TEST_SRC)))) +GPR_HOST_PORT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_HOST_PORT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3333,18 +2983,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gpr_host_port_test: - $(E) "[CLEAN] Cleaning gpr_host_port_test files" - $(Q) $(RM) $(GPR_HOST_PORT_TEST_OBJS) - $(Q) $(RM) $(GPR_HOST_PORT_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gpr_host_port_test - GPR_SLICE_BUFFER_TEST_SRC = \ test/core/support/slice_buffer_test.c \ GPR_SLICE_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SLICE_BUFFER_TEST_SRC)))) -GPR_SLICE_BUFFER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_SLICE_BUFFER_TEST_SRC)))) +GPR_SLICE_BUFFER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_SLICE_BUFFER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3369,18 +3013,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gpr_slice_buffer_test: - $(E) "[CLEAN] Cleaning gpr_slice_buffer_test files" - $(Q) $(RM) $(GPR_SLICE_BUFFER_TEST_OBJS) - $(Q) $(RM) $(GPR_SLICE_BUFFER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gpr_slice_buffer_test - GPR_SLICE_TEST_SRC = \ test/core/support/slice_test.c \ GPR_SLICE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SLICE_TEST_SRC)))) -GPR_SLICE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_SLICE_TEST_SRC)))) +GPR_SLICE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_SLICE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3405,18 +3043,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gpr_slice_test: - $(E) "[CLEAN] Cleaning gpr_slice_test files" - $(Q) $(RM) $(GPR_SLICE_TEST_OBJS) - $(Q) $(RM) $(GPR_SLICE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gpr_slice_test - GPR_STRING_TEST_SRC = \ test/core/support/string_test.c \ GPR_STRING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_STRING_TEST_SRC)))) -GPR_STRING_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_STRING_TEST_SRC)))) +GPR_STRING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_STRING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3441,18 +3073,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gpr_string_test: - $(E) "[CLEAN] Cleaning gpr_string_test files" - $(Q) $(RM) $(GPR_STRING_TEST_OBJS) - $(Q) $(RM) $(GPR_STRING_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gpr_string_test - GPR_SYNC_TEST_SRC = \ test/core/support/sync_test.c \ GPR_SYNC_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SYNC_TEST_SRC)))) -GPR_SYNC_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_SYNC_TEST_SRC)))) +GPR_SYNC_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_SYNC_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3477,18 +3103,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gpr_sync_test: - $(E) "[CLEAN] Cleaning gpr_sync_test files" - $(Q) $(RM) $(GPR_SYNC_TEST_OBJS) - $(Q) $(RM) $(GPR_SYNC_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gpr_sync_test - GPR_THD_TEST_SRC = \ test/core/support/thd_test.c \ GPR_THD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_THD_TEST_SRC)))) -GPR_THD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_THD_TEST_SRC)))) +GPR_THD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_THD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3513,18 +3133,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gpr_thd_test: - $(E) "[CLEAN] Cleaning gpr_thd_test files" - $(Q) $(RM) $(GPR_THD_TEST_OBJS) - $(Q) $(RM) $(GPR_THD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gpr_thd_test - GPR_TIME_TEST_SRC = \ test/core/support/time_test.c \ GPR_TIME_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_TIME_TEST_SRC)))) -GPR_TIME_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_TIME_TEST_SRC)))) +GPR_TIME_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_TIME_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3549,18 +3163,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_gpr_time_test: - $(E) "[CLEAN] Cleaning gpr_time_test files" - $(Q) $(RM) $(GPR_TIME_TEST_OBJS) - $(Q) $(RM) $(GPR_TIME_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/gpr_time_test - MURMUR_HASH_TEST_SRC = \ test/core/support/murmur_hash_test.c \ MURMUR_HASH_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(MURMUR_HASH_TEST_SRC)))) -MURMUR_HASH_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(MURMUR_HASH_TEST_SRC)))) +MURMUR_HASH_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(MURMUR_HASH_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3585,18 +3193,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_murmur_hash_test: - $(E) "[CLEAN] Cleaning murmur_hash_test files" - $(Q) $(RM) $(MURMUR_HASH_TEST_OBJS) - $(Q) $(RM) $(MURMUR_HASH_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/murmur_hash_test - GRPC_STREAM_OP_TEST_SRC = \ test/core/transport/stream_op_test.c \ GRPC_STREAM_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_STREAM_OP_TEST_SRC)))) -GRPC_STREAM_OP_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_STREAM_OP_TEST_SRC)))) +GRPC_STREAM_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_STREAM_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3621,18 +3223,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_grpc_stream_op_test: - $(E) "[CLEAN] Cleaning grpc_stream_op_test files" - $(Q) $(RM) $(GRPC_STREAM_OP_TEST_OBJS) - $(Q) $(RM) $(GRPC_STREAM_OP_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/grpc_stream_op_test - ALPN_TEST_SRC = \ test/core/transport/chttp2/alpn_test.c \ ALPN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALPN_TEST_SRC)))) -ALPN_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(ALPN_TEST_SRC)))) +ALPN_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ALPN_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3657,18 +3253,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_alpn_test: - $(E) "[CLEAN] Cleaning alpn_test files" - $(Q) $(RM) $(ALPN_TEST_OBJS) - $(Q) $(RM) $(ALPN_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/alpn_test - TIME_AVERAGED_STATS_TEST_SRC = \ test/core/iomgr/time_averaged_stats_test.c \ TIME_AVERAGED_STATS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIME_AVERAGED_STATS_TEST_SRC)))) -TIME_AVERAGED_STATS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(TIME_AVERAGED_STATS_TEST_SRC)))) +TIME_AVERAGED_STATS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TIME_AVERAGED_STATS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3693,18 +3283,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_time_averaged_stats_test: - $(E) "[CLEAN] Cleaning time_averaged_stats_test files" - $(Q) $(RM) $(TIME_AVERAGED_STATS_TEST_OBJS) - $(Q) $(RM) $(TIME_AVERAGED_STATS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/time_averaged_stats_test - CHTTP2_STREAM_ENCODER_TEST_SRC = \ test/core/transport/chttp2/stream_encoder_test.c \ CHTTP2_STREAM_ENCODER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_STREAM_ENCODER_TEST_SRC)))) -CHTTP2_STREAM_ENCODER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_STREAM_ENCODER_TEST_SRC)))) +CHTTP2_STREAM_ENCODER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_STREAM_ENCODER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3729,18 +3313,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_stream_encoder_test: - $(E) "[CLEAN] Cleaning chttp2_stream_encoder_test files" - $(Q) $(RM) $(CHTTP2_STREAM_ENCODER_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_STREAM_ENCODER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_stream_encoder_test - HPACK_TABLE_TEST_SRC = \ test/core/transport/chttp2/hpack_table_test.c \ HPACK_TABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_TABLE_TEST_SRC)))) -HPACK_TABLE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(HPACK_TABLE_TEST_SRC)))) +HPACK_TABLE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(HPACK_TABLE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3765,18 +3343,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_hpack_table_test: - $(E) "[CLEAN] Cleaning hpack_table_test files" - $(Q) $(RM) $(HPACK_TABLE_TEST_OBJS) - $(Q) $(RM) $(HPACK_TABLE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/hpack_table_test - CHTTP2_STREAM_MAP_TEST_SRC = \ test/core/transport/chttp2/stream_map_test.c \ CHTTP2_STREAM_MAP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_STREAM_MAP_TEST_SRC)))) -CHTTP2_STREAM_MAP_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_STREAM_MAP_TEST_SRC)))) +CHTTP2_STREAM_MAP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_STREAM_MAP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3801,18 +3373,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_stream_map_test: - $(E) "[CLEAN] Cleaning chttp2_stream_map_test files" - $(Q) $(RM) $(CHTTP2_STREAM_MAP_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_STREAM_MAP_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_stream_map_test - HPACK_PARSER_TEST_SRC = \ test/core/transport/chttp2/hpack_parser_test.c \ HPACK_PARSER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_PARSER_TEST_SRC)))) -HPACK_PARSER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(HPACK_PARSER_TEST_SRC)))) +HPACK_PARSER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(HPACK_PARSER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3837,18 +3403,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_hpack_parser_test: - $(E) "[CLEAN] Cleaning hpack_parser_test files" - $(Q) $(RM) $(HPACK_PARSER_TEST_OBJS) - $(Q) $(RM) $(HPACK_PARSER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/hpack_parser_test - TRANSPORT_METADATA_TEST_SRC = \ test/core/transport/metadata_test.c \ TRANSPORT_METADATA_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TRANSPORT_METADATA_TEST_SRC)))) -TRANSPORT_METADATA_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(TRANSPORT_METADATA_TEST_SRC)))) +TRANSPORT_METADATA_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TRANSPORT_METADATA_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3873,18 +3433,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_transport_metadata_test: - $(E) "[CLEAN] Cleaning transport_metadata_test files" - $(Q) $(RM) $(TRANSPORT_METADATA_TEST_OBJS) - $(Q) $(RM) $(TRANSPORT_METADATA_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/transport_metadata_test - CHTTP2_STATUS_CONVERSION_TEST_SRC = \ test/core/transport/chttp2/status_conversion_test.c \ CHTTP2_STATUS_CONVERSION_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_STATUS_CONVERSION_TEST_SRC)))) -CHTTP2_STATUS_CONVERSION_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_STATUS_CONVERSION_TEST_SRC)))) +CHTTP2_STATUS_CONVERSION_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_STATUS_CONVERSION_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3909,18 +3463,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_status_conversion_test: - $(E) "[CLEAN] Cleaning chttp2_status_conversion_test files" - $(Q) $(RM) $(CHTTP2_STATUS_CONVERSION_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_STATUS_CONVERSION_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_status_conversion_test - CHTTP2_TRANSPORT_END2END_TEST_SRC = \ test/core/transport/chttp2_transport_end2end_test.c \ CHTTP2_TRANSPORT_END2END_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_TRANSPORT_END2END_TEST_SRC)))) -CHTTP2_TRANSPORT_END2END_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_TRANSPORT_END2END_TEST_SRC)))) +CHTTP2_TRANSPORT_END2END_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_TRANSPORT_END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3945,18 +3493,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_transport_end2end_test: - $(E) "[CLEAN] Cleaning chttp2_transport_end2end_test files" - $(Q) $(RM) $(CHTTP2_TRANSPORT_END2END_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_TRANSPORT_END2END_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_transport_end2end_test - TCP_POSIX_TEST_SRC = \ test/core/iomgr/tcp_posix_test.c \ TCP_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_POSIX_TEST_SRC)))) -TCP_POSIX_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(TCP_POSIX_TEST_SRC)))) +TCP_POSIX_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TCP_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3981,18 +3523,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_tcp_posix_test: - $(E) "[CLEAN] Cleaning tcp_posix_test files" - $(Q) $(RM) $(TCP_POSIX_TEST_OBJS) - $(Q) $(RM) $(TCP_POSIX_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/tcp_posix_test - DUALSTACK_SOCKET_TEST_SRC = \ test/core/end2end/dualstack_socket_test.c \ DUALSTACK_SOCKET_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(DUALSTACK_SOCKET_TEST_SRC)))) -DUALSTACK_SOCKET_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(DUALSTACK_SOCKET_TEST_SRC)))) +DUALSTACK_SOCKET_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(DUALSTACK_SOCKET_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4017,18 +3553,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_dualstack_socket_test: - $(E) "[CLEAN] Cleaning dualstack_socket_test files" - $(Q) $(RM) $(DUALSTACK_SOCKET_TEST_OBJS) - $(Q) $(RM) $(DUALSTACK_SOCKET_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/dualstack_socket_test - NO_SERVER_TEST_SRC = \ test/core/end2end/no_server_test.c \ NO_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(NO_SERVER_TEST_SRC)))) -NO_SERVER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(NO_SERVER_TEST_SRC)))) +NO_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(NO_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4053,18 +3583,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_no_server_test: - $(E) "[CLEAN] Cleaning no_server_test files" - $(Q) $(RM) $(NO_SERVER_TEST_OBJS) - $(Q) $(RM) $(NO_SERVER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/no_server_test - RESOLVE_ADDRESS_TEST_SRC = \ test/core/iomgr/resolve_address_test.c \ RESOLVE_ADDRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(RESOLVE_ADDRESS_TEST_SRC)))) -RESOLVE_ADDRESS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(RESOLVE_ADDRESS_TEST_SRC)))) +RESOLVE_ADDRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(RESOLVE_ADDRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4089,18 +3613,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_resolve_address_test: - $(E) "[CLEAN] Cleaning resolve_address_test files" - $(Q) $(RM) $(RESOLVE_ADDRESS_TEST_OBJS) - $(Q) $(RM) $(RESOLVE_ADDRESS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/resolve_address_test - SOCKADDR_UTILS_TEST_SRC = \ test/core/iomgr/sockaddr_utils_test.c \ SOCKADDR_UTILS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SOCKADDR_UTILS_TEST_SRC)))) -SOCKADDR_UTILS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(SOCKADDR_UTILS_TEST_SRC)))) +SOCKADDR_UTILS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(SOCKADDR_UTILS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4125,18 +3643,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_sockaddr_utils_test: - $(E) "[CLEAN] Cleaning sockaddr_utils_test files" - $(Q) $(RM) $(SOCKADDR_UTILS_TEST_OBJS) - $(Q) $(RM) $(SOCKADDR_UTILS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/sockaddr_utils_test - TCP_SERVER_POSIX_TEST_SRC = \ test/core/iomgr/tcp_server_posix_test.c \ TCP_SERVER_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_SERVER_POSIX_TEST_SRC)))) -TCP_SERVER_POSIX_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(TCP_SERVER_POSIX_TEST_SRC)))) +TCP_SERVER_POSIX_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TCP_SERVER_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4161,18 +3673,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_tcp_server_posix_test: - $(E) "[CLEAN] Cleaning tcp_server_posix_test files" - $(Q) $(RM) $(TCP_SERVER_POSIX_TEST_OBJS) - $(Q) $(RM) $(TCP_SERVER_POSIX_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/tcp_server_posix_test - TCP_CLIENT_POSIX_TEST_SRC = \ test/core/iomgr/tcp_client_posix_test.c \ TCP_CLIENT_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_CLIENT_POSIX_TEST_SRC)))) -TCP_CLIENT_POSIX_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(TCP_CLIENT_POSIX_TEST_SRC)))) +TCP_CLIENT_POSIX_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TCP_CLIENT_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4197,18 +3703,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_tcp_client_posix_test: - $(E) "[CLEAN] Cleaning tcp_client_posix_test files" - $(Q) $(RM) $(TCP_CLIENT_POSIX_TEST_OBJS) - $(Q) $(RM) $(TCP_CLIENT_POSIX_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/tcp_client_posix_test - GRPC_CHANNEL_STACK_TEST_SRC = \ test/core/channel/channel_stack_test.c \ GRPC_CHANNEL_STACK_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CHANNEL_STACK_TEST_SRC)))) -GRPC_CHANNEL_STACK_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_CHANNEL_STACK_TEST_SRC)))) +GRPC_CHANNEL_STACK_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_CHANNEL_STACK_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4233,18 +3733,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_grpc_channel_stack_test: - $(E) "[CLEAN] Cleaning grpc_channel_stack_test files" - $(Q) $(RM) $(GRPC_CHANNEL_STACK_TEST_OBJS) - $(Q) $(RM) $(GRPC_CHANNEL_STACK_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/grpc_channel_stack_test - METADATA_BUFFER_TEST_SRC = \ test/core/channel/metadata_buffer_test.c \ METADATA_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(METADATA_BUFFER_TEST_SRC)))) -METADATA_BUFFER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(METADATA_BUFFER_TEST_SRC)))) +METADATA_BUFFER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(METADATA_BUFFER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4269,18 +3763,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_metadata_buffer_test: - $(E) "[CLEAN] Cleaning metadata_buffer_test files" - $(Q) $(RM) $(METADATA_BUFFER_TEST_OBJS) - $(Q) $(RM) $(METADATA_BUFFER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/metadata_buffer_test - GRPC_COMPLETION_QUEUE_TEST_SRC = \ test/core/surface/completion_queue_test.c \ GRPC_COMPLETION_QUEUE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_COMPLETION_QUEUE_TEST_SRC)))) -GRPC_COMPLETION_QUEUE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_COMPLETION_QUEUE_TEST_SRC)))) +GRPC_COMPLETION_QUEUE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_COMPLETION_QUEUE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4305,18 +3793,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_grpc_completion_queue_test: - $(E) "[CLEAN] Cleaning grpc_completion_queue_test files" - $(Q) $(RM) $(GRPC_COMPLETION_QUEUE_TEST_OBJS) - $(Q) $(RM) $(GRPC_COMPLETION_QUEUE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/grpc_completion_queue_test - GRPC_COMPLETION_QUEUE_BENCHMARK_SRC = \ test/core/surface/completion_queue_benchmark.c \ GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_COMPLETION_QUEUE_BENCHMARK_SRC)))) -GRPC_COMPLETION_QUEUE_BENCHMARK_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_COMPLETION_QUEUE_BENCHMARK_SRC)))) +GRPC_COMPLETION_QUEUE_BENCHMARK_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_COMPLETION_QUEUE_BENCHMARK_SRC)))) ifeq ($(NO_SECURE),true) @@ -4341,18 +3823,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_grpc_completion_queue_benchmark: - $(E) "[CLEAN] Cleaning grpc_completion_queue_benchmark files" - $(Q) $(RM) $(GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS) - $(Q) $(RM) $(GRPC_COMPLETION_QUEUE_BENCHMARK_DEPS) - $(Q) $(RM) bins/$(CONFIG)/grpc_completion_queue_benchmark - CENSUS_TRACE_STORE_TEST_SRC = \ test/core/statistics/trace_test.c \ CENSUS_TRACE_STORE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_TRACE_STORE_TEST_SRC)))) -CENSUS_TRACE_STORE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_TRACE_STORE_TEST_SRC)))) +CENSUS_TRACE_STORE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_TRACE_STORE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4377,18 +3853,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_census_trace_store_test: - $(E) "[CLEAN] Cleaning census_trace_store_test files" - $(Q) $(RM) $(CENSUS_TRACE_STORE_TEST_OBJS) - $(Q) $(RM) $(CENSUS_TRACE_STORE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/census_trace_store_test - CENSUS_STATS_STORE_TEST_SRC = \ test/core/statistics/rpc_stats_test.c \ CENSUS_STATS_STORE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATS_STORE_TEST_SRC)))) -CENSUS_STATS_STORE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATS_STORE_TEST_SRC)))) +CENSUS_STATS_STORE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATS_STORE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4413,18 +3883,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_census_stats_store_test: - $(E) "[CLEAN] Cleaning census_stats_store_test files" - $(Q) $(RM) $(CENSUS_STATS_STORE_TEST_OBJS) - $(Q) $(RM) $(CENSUS_STATS_STORE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/census_stats_store_test - CENSUS_WINDOW_STATS_TEST_SRC = \ test/core/statistics/window_stats_test.c \ CENSUS_WINDOW_STATS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_WINDOW_STATS_TEST_SRC)))) -CENSUS_WINDOW_STATS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_WINDOW_STATS_TEST_SRC)))) +CENSUS_WINDOW_STATS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_WINDOW_STATS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4449,18 +3913,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_census_window_stats_test: - $(E) "[CLEAN] Cleaning census_window_stats_test files" - $(Q) $(RM) $(CENSUS_WINDOW_STATS_TEST_OBJS) - $(Q) $(RM) $(CENSUS_WINDOW_STATS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/census_window_stats_test - CENSUS_STATISTICS_QUICK_TEST_SRC = \ test/core/statistics/quick_test.c \ CENSUS_STATISTICS_QUICK_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_QUICK_TEST_SRC)))) -CENSUS_STATISTICS_QUICK_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_QUICK_TEST_SRC)))) +CENSUS_STATISTICS_QUICK_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_QUICK_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4485,18 +3943,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_census_statistics_quick_test: - $(E) "[CLEAN] Cleaning census_statistics_quick_test files" - $(Q) $(RM) $(CENSUS_STATISTICS_QUICK_TEST_OBJS) - $(Q) $(RM) $(CENSUS_STATISTICS_QUICK_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/census_statistics_quick_test - CENSUS_STATISTICS_SMALL_LOG_TEST_SRC = \ test/core/statistics/small_log_test.c \ CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_SMALL_LOG_TEST_SRC)))) -CENSUS_STATISTICS_SMALL_LOG_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_SMALL_LOG_TEST_SRC)))) +CENSUS_STATISTICS_SMALL_LOG_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_SMALL_LOG_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4521,18 +3973,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_census_statistics_small_log_test: - $(E) "[CLEAN] Cleaning census_statistics_small_log_test files" - $(Q) $(RM) $(CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS) - $(Q) $(RM) $(CENSUS_STATISTICS_SMALL_LOG_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/census_statistics_small_log_test - CENSUS_STATISTICS_PERFORMANCE_TEST_SRC = \ test/core/statistics/performance_test.c \ CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_PERFORMANCE_TEST_SRC)))) -CENSUS_STATISTICS_PERFORMANCE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_PERFORMANCE_TEST_SRC)))) +CENSUS_STATISTICS_PERFORMANCE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_PERFORMANCE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4557,18 +4003,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_census_statistics_performance_test: - $(E) "[CLEAN] Cleaning census_statistics_performance_test files" - $(Q) $(RM) $(CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS) - $(Q) $(RM) $(CENSUS_STATISTICS_PERFORMANCE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/census_statistics_performance_test - CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_SRC = \ test/core/statistics/multiple_writers_test.c \ CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_SRC)))) -CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_SRC)))) +CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4593,18 +4033,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_census_statistics_multiple_writers_test: - $(E) "[CLEAN] Cleaning census_statistics_multiple_writers_test files" - $(Q) $(RM) $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS) - $(Q) $(RM) $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/census_statistics_multiple_writers_test - CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_SRC = \ test/core/statistics/multiple_writers_circular_buffer_test.c \ CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_SRC)))) -CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_SRC)))) +CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4629,18 +4063,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_census_statistics_multiple_writers_circular_buffer_test: - $(E) "[CLEAN] Cleaning census_statistics_multiple_writers_circular_buffer_test files" - $(Q) $(RM) $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS) - $(Q) $(RM) $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test - CENSUS_STUB_TEST_SRC = \ test/core/statistics/census_stub_test.c \ CENSUS_STUB_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STUB_TEST_SRC)))) -CENSUS_STUB_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STUB_TEST_SRC)))) +CENSUS_STUB_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STUB_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4665,18 +4093,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_census_stub_test: - $(E) "[CLEAN] Cleaning census_stub_test files" - $(Q) $(RM) $(CENSUS_STUB_TEST_OBJS) - $(Q) $(RM) $(CENSUS_STUB_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/census_stub_test - CENSUS_HASH_TABLE_TEST_SRC = \ test/core/statistics/hash_table_test.c \ CENSUS_HASH_TABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_HASH_TABLE_TEST_SRC)))) -CENSUS_HASH_TABLE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_HASH_TABLE_TEST_SRC)))) +CENSUS_HASH_TABLE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_HASH_TABLE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4701,18 +4123,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_census_hash_table_test: - $(E) "[CLEAN] Cleaning census_hash_table_test files" - $(Q) $(RM) $(CENSUS_HASH_TABLE_TEST_OBJS) - $(Q) $(RM) $(CENSUS_HASH_TABLE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/census_hash_table_test - FLING_SERVER_SRC = \ test/core/fling/server.c \ FLING_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_SERVER_SRC)))) -FLING_SERVER_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(FLING_SERVER_SRC)))) +FLING_SERVER_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(FLING_SERVER_SRC)))) ifeq ($(NO_SECURE),true) @@ -4737,18 +4153,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_fling_server: - $(E) "[CLEAN] Cleaning fling_server files" - $(Q) $(RM) $(FLING_SERVER_OBJS) - $(Q) $(RM) $(FLING_SERVER_DEPS) - $(Q) $(RM) bins/$(CONFIG)/fling_server - FLING_CLIENT_SRC = \ test/core/fling/client.c \ FLING_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_CLIENT_SRC)))) -FLING_CLIENT_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(FLING_CLIENT_SRC)))) +FLING_CLIENT_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(FLING_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) @@ -4773,18 +4183,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_fling_client: - $(E) "[CLEAN] Cleaning fling_client files" - $(Q) $(RM) $(FLING_CLIENT_OBJS) - $(Q) $(RM) $(FLING_CLIENT_DEPS) - $(Q) $(RM) bins/$(CONFIG)/fling_client - FLING_TEST_SRC = \ test/core/fling/fling_test.c \ FLING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_TEST_SRC)))) -FLING_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(FLING_TEST_SRC)))) +FLING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(FLING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4809,18 +4213,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_fling_test: - $(E) "[CLEAN] Cleaning fling_test files" - $(Q) $(RM) $(FLING_TEST_OBJS) - $(Q) $(RM) $(FLING_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/fling_test - ECHO_SERVER_SRC = \ test/core/echo/server.c \ ECHO_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_SERVER_SRC)))) -ECHO_SERVER_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(ECHO_SERVER_SRC)))) +ECHO_SERVER_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ECHO_SERVER_SRC)))) ifeq ($(NO_SECURE),true) @@ -4845,18 +4243,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_echo_server: - $(E) "[CLEAN] Cleaning echo_server files" - $(Q) $(RM) $(ECHO_SERVER_OBJS) - $(Q) $(RM) $(ECHO_SERVER_DEPS) - $(Q) $(RM) bins/$(CONFIG)/echo_server - ECHO_CLIENT_SRC = \ test/core/echo/client.c \ ECHO_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_CLIENT_SRC)))) -ECHO_CLIENT_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(ECHO_CLIENT_SRC)))) +ECHO_CLIENT_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ECHO_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) @@ -4881,18 +4273,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_echo_client: - $(E) "[CLEAN] Cleaning echo_client files" - $(Q) $(RM) $(ECHO_CLIENT_OBJS) - $(Q) $(RM) $(ECHO_CLIENT_DEPS) - $(Q) $(RM) bins/$(CONFIG)/echo_client - ECHO_TEST_SRC = \ test/core/echo/echo_test.c \ ECHO_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_TEST_SRC)))) -ECHO_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(ECHO_TEST_SRC)))) +ECHO_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ECHO_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4917,18 +4303,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_echo_test: - $(E) "[CLEAN] Cleaning echo_test files" - $(Q) $(RM) $(ECHO_TEST_OBJS) - $(Q) $(RM) $(ECHO_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/echo_test - LOW_LEVEL_PING_PONG_BENCHMARK_SRC = \ test/core/network_benchmarks/low_level_ping_pong.c \ LOW_LEVEL_PING_PONG_BENCHMARK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LOW_LEVEL_PING_PONG_BENCHMARK_SRC)))) -LOW_LEVEL_PING_PONG_BENCHMARK_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LOW_LEVEL_PING_PONG_BENCHMARK_SRC)))) +LOW_LEVEL_PING_PONG_BENCHMARK_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LOW_LEVEL_PING_PONG_BENCHMARK_SRC)))) ifeq ($(NO_SECURE),true) @@ -4953,18 +4333,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_low_level_ping_pong_benchmark: - $(E) "[CLEAN] Cleaning low_level_ping_pong_benchmark files" - $(Q) $(RM) $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS) - $(Q) $(RM) $(LOW_LEVEL_PING_PONG_BENCHMARK_DEPS) - $(Q) $(RM) bins/$(CONFIG)/low_level_ping_pong_benchmark - MESSAGE_COMPRESS_TEST_SRC = \ test/core/compression/message_compress_test.c \ MESSAGE_COMPRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(MESSAGE_COMPRESS_TEST_SRC)))) -MESSAGE_COMPRESS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(MESSAGE_COMPRESS_TEST_SRC)))) +MESSAGE_COMPRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(MESSAGE_COMPRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4989,18 +4363,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_message_compress_test: - $(E) "[CLEAN] Cleaning message_compress_test files" - $(Q) $(RM) $(MESSAGE_COMPRESS_TEST_OBJS) - $(Q) $(RM) $(MESSAGE_COMPRESS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/message_compress_test - BIN_ENCODER_TEST_SRC = \ test/core/transport/chttp2/bin_encoder_test.c \ BIN_ENCODER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(BIN_ENCODER_TEST_SRC)))) -BIN_ENCODER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(BIN_ENCODER_TEST_SRC)))) +BIN_ENCODER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(BIN_ENCODER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5025,18 +4393,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_bin_encoder_test: - $(E) "[CLEAN] Cleaning bin_encoder_test files" - $(Q) $(RM) $(BIN_ENCODER_TEST_OBJS) - $(Q) $(RM) $(BIN_ENCODER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/bin_encoder_test - SECURE_ENDPOINT_TEST_SRC = \ test/core/security/secure_endpoint_test.c \ SECURE_ENDPOINT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SECURE_ENDPOINT_TEST_SRC)))) -SECURE_ENDPOINT_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(SECURE_ENDPOINT_TEST_SRC)))) +SECURE_ENDPOINT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(SECURE_ENDPOINT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5061,18 +4423,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_secure_endpoint_test: - $(E) "[CLEAN] Cleaning secure_endpoint_test files" - $(Q) $(RM) $(SECURE_ENDPOINT_TEST_OBJS) - $(Q) $(RM) $(SECURE_ENDPOINT_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/secure_endpoint_test - HTTPCLI_FORMAT_REQUEST_TEST_SRC = \ test/core/httpcli/format_request_test.c \ HTTPCLI_FORMAT_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_FORMAT_REQUEST_TEST_SRC)))) -HTTPCLI_FORMAT_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(HTTPCLI_FORMAT_REQUEST_TEST_SRC)))) +HTTPCLI_FORMAT_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(HTTPCLI_FORMAT_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5097,18 +4453,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_httpcli_format_request_test: - $(E) "[CLEAN] Cleaning httpcli_format_request_test files" - $(Q) $(RM) $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS) - $(Q) $(RM) $(HTTPCLI_FORMAT_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/httpcli_format_request_test - HTTPCLI_PARSER_TEST_SRC = \ test/core/httpcli/parser_test.c \ HTTPCLI_PARSER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_PARSER_TEST_SRC)))) -HTTPCLI_PARSER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(HTTPCLI_PARSER_TEST_SRC)))) +HTTPCLI_PARSER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(HTTPCLI_PARSER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5133,18 +4483,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_httpcli_parser_test: - $(E) "[CLEAN] Cleaning httpcli_parser_test files" - $(Q) $(RM) $(HTTPCLI_PARSER_TEST_OBJS) - $(Q) $(RM) $(HTTPCLI_PARSER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/httpcli_parser_test - HTTPCLI_TEST_SRC = \ test/core/httpcli/httpcli_test.c \ HTTPCLI_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_TEST_SRC)))) -HTTPCLI_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(HTTPCLI_TEST_SRC)))) +HTTPCLI_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(HTTPCLI_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5169,18 +4513,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_httpcli_test: - $(E) "[CLEAN] Cleaning httpcli_test files" - $(Q) $(RM) $(HTTPCLI_TEST_OBJS) - $(Q) $(RM) $(HTTPCLI_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/httpcli_test - GRPC_CREDENTIALS_TEST_SRC = \ test/core/security/credentials_test.c \ GRPC_CREDENTIALS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CREDENTIALS_TEST_SRC)))) -GRPC_CREDENTIALS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_CREDENTIALS_TEST_SRC)))) +GRPC_CREDENTIALS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_CREDENTIALS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5205,18 +4543,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_grpc_credentials_test: - $(E) "[CLEAN] Cleaning grpc_credentials_test files" - $(Q) $(RM) $(GRPC_CREDENTIALS_TEST_OBJS) - $(Q) $(RM) $(GRPC_CREDENTIALS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/grpc_credentials_test - GRPC_FETCH_OAUTH2_SRC = \ test/core/security/fetch_oauth2.c \ GRPC_FETCH_OAUTH2_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_FETCH_OAUTH2_SRC)))) -GRPC_FETCH_OAUTH2_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_FETCH_OAUTH2_SRC)))) +GRPC_FETCH_OAUTH2_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_FETCH_OAUTH2_SRC)))) ifeq ($(NO_SECURE),true) @@ -5241,18 +4573,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_grpc_fetch_oauth2: - $(E) "[CLEAN] Cleaning grpc_fetch_oauth2 files" - $(Q) $(RM) $(GRPC_FETCH_OAUTH2_OBJS) - $(Q) $(RM) $(GRPC_FETCH_OAUTH2_DEPS) - $(Q) $(RM) bins/$(CONFIG)/grpc_fetch_oauth2 - GRPC_BASE64_TEST_SRC = \ test/core/security/base64_test.c \ GRPC_BASE64_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_BASE64_TEST_SRC)))) -GRPC_BASE64_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_BASE64_TEST_SRC)))) +GRPC_BASE64_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_BASE64_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5277,18 +4603,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_grpc_base64_test: - $(E) "[CLEAN] Cleaning grpc_base64_test files" - $(Q) $(RM) $(GRPC_BASE64_TEST_OBJS) - $(Q) $(RM) $(GRPC_BASE64_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/grpc_base64_test - GRPC_JSON_TOKEN_TEST_SRC = \ test/core/security/json_token_test.c \ GRPC_JSON_TOKEN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_JSON_TOKEN_TEST_SRC)))) -GRPC_JSON_TOKEN_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_JSON_TOKEN_TEST_SRC)))) +GRPC_JSON_TOKEN_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_JSON_TOKEN_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5313,18 +4633,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_grpc_json_token_test: - $(E) "[CLEAN] Cleaning grpc_json_token_test files" - $(Q) $(RM) $(GRPC_JSON_TOKEN_TEST_OBJS) - $(Q) $(RM) $(GRPC_JSON_TOKEN_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/grpc_json_token_test - TIMEOUT_ENCODING_TEST_SRC = \ test/core/transport/chttp2/timeout_encoding_test.c \ TIMEOUT_ENCODING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIMEOUT_ENCODING_TEST_SRC)))) -TIMEOUT_ENCODING_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(TIMEOUT_ENCODING_TEST_SRC)))) +TIMEOUT_ENCODING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TIMEOUT_ENCODING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5349,18 +4663,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_timeout_encoding_test: - $(E) "[CLEAN] Cleaning timeout_encoding_test files" - $(Q) $(RM) $(TIMEOUT_ENCODING_TEST_OBJS) - $(Q) $(RM) $(TIMEOUT_ENCODING_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/timeout_encoding_test - FD_POSIX_TEST_SRC = \ test/core/iomgr/fd_posix_test.c \ FD_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FD_POSIX_TEST_SRC)))) -FD_POSIX_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(FD_POSIX_TEST_SRC)))) +FD_POSIX_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(FD_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5385,18 +4693,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_fd_posix_test: - $(E) "[CLEAN] Cleaning fd_posix_test files" - $(Q) $(RM) $(FD_POSIX_TEST_OBJS) - $(Q) $(RM) $(FD_POSIX_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/fd_posix_test - FLING_STREAM_TEST_SRC = \ test/core/fling/fling_stream_test.c \ FLING_STREAM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_STREAM_TEST_SRC)))) -FLING_STREAM_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(FLING_STREAM_TEST_SRC)))) +FLING_STREAM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(FLING_STREAM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5421,18 +4723,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_fling_stream_test: - $(E) "[CLEAN] Cleaning fling_stream_test files" - $(Q) $(RM) $(FLING_STREAM_TEST_OBJS) - $(Q) $(RM) $(FLING_STREAM_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/fling_stream_test - LAME_CLIENT_TEST_SRC = \ test/core/surface/lame_client_test.c \ LAME_CLIENT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LAME_CLIENT_TEST_SRC)))) -LAME_CLIENT_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LAME_CLIENT_TEST_SRC)))) +LAME_CLIENT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LAME_CLIENT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5457,18 +4753,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_lame_client_test: - $(E) "[CLEAN] Cleaning lame_client_test files" - $(Q) $(RM) $(LAME_CLIENT_TEST_OBJS) - $(Q) $(RM) $(LAME_CLIENT_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/lame_client_test - THREAD_POOL_TEST_SRC = \ test/cpp/server/thread_pool_test.cc \ THREAD_POOL_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(THREAD_POOL_TEST_SRC)))) -THREAD_POOL_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(THREAD_POOL_TEST_SRC)))) +THREAD_POOL_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(THREAD_POOL_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5493,18 +4783,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_thread_pool_test: - $(E) "[CLEAN] Cleaning thread_pool_test files" - $(Q) $(RM) $(THREAD_POOL_TEST_OBJS) - $(Q) $(RM) $(THREAD_POOL_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/thread_pool_test - STATUS_TEST_SRC = \ test/cpp/util/status_test.cc \ STATUS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(STATUS_TEST_SRC)))) -STATUS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(STATUS_TEST_SRC)))) +STATUS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(STATUS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5529,18 +4813,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_status_test: - $(E) "[CLEAN] Cleaning status_test files" - $(Q) $(RM) $(STATUS_TEST_OBJS) - $(Q) $(RM) $(STATUS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/status_test - SYNC_CLIENT_ASYNC_SERVER_TEST_SRC = \ test/cpp/end2end/sync_client_async_server_test.cc \ SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SYNC_CLIENT_ASYNC_SERVER_TEST_SRC)))) -SYNC_CLIENT_ASYNC_SERVER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(SYNC_CLIENT_ASYNC_SERVER_TEST_SRC)))) +SYNC_CLIENT_ASYNC_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(SYNC_CLIENT_ASYNC_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5565,19 +4843,13 @@ ifneq ($(NO_DEPS),true) endif endif -clean_sync_client_async_server_test: - $(E) "[CLEAN] Cleaning sync_client_async_server_test files" - $(Q) $(RM) $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS) - $(Q) $(RM) $(SYNC_CLIENT_ASYNC_SERVER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/sync_client_async_server_test - QPS_CLIENT_SRC = \ gens/test/cpp/qps/qpstest.pb.cc \ test/cpp/qps/client.cc \ QPS_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_CLIENT_SRC)))) -QPS_CLIENT_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(QPS_CLIENT_SRC)))) +QPS_CLIENT_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(QPS_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) @@ -5603,19 +4875,13 @@ ifneq ($(NO_DEPS),true) endif endif -clean_qps_client: - $(E) "[CLEAN] Cleaning qps_client files" - $(Q) $(RM) $(QPS_CLIENT_OBJS) - $(Q) $(RM) $(QPS_CLIENT_DEPS) - $(Q) $(RM) bins/$(CONFIG)/qps_client - QPS_SERVER_SRC = \ gens/test/cpp/qps/qpstest.pb.cc \ test/cpp/qps/server.cc \ QPS_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_SERVER_SRC)))) -QPS_SERVER_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(QPS_SERVER_SRC)))) +QPS_SERVER_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(QPS_SERVER_SRC)))) ifeq ($(NO_SECURE),true) @@ -5641,12 +4907,6 @@ ifneq ($(NO_DEPS),true) endif endif -clean_qps_server: - $(E) "[CLEAN] Cleaning qps_server files" - $(Q) $(RM) $(QPS_SERVER_OBJS) - $(Q) $(RM) $(QPS_SERVER_DEPS) - $(Q) $(RM) bins/$(CONFIG)/qps_server - INTEROP_SERVER_SRC = \ gens/test/cpp/interop/empty.pb.cc \ @@ -5655,7 +4915,7 @@ INTEROP_SERVER_SRC = \ test/cpp/interop/server.cc \ INTEROP_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_SERVER_SRC)))) -INTEROP_SERVER_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(INTEROP_SERVER_SRC)))) +INTEROP_SERVER_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(INTEROP_SERVER_SRC)))) ifeq ($(NO_SECURE),true) @@ -5683,12 +4943,6 @@ ifneq ($(NO_DEPS),true) endif endif -clean_interop_server: - $(E) "[CLEAN] Cleaning interop_server files" - $(Q) $(RM) $(INTEROP_SERVER_OBJS) - $(Q) $(RM) $(INTEROP_SERVER_DEPS) - $(Q) $(RM) bins/$(CONFIG)/interop_server - INTEROP_CLIENT_SRC = \ gens/test/cpp/interop/empty.pb.cc \ @@ -5697,7 +4951,7 @@ INTEROP_CLIENT_SRC = \ test/cpp/interop/client.cc \ INTEROP_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_CLIENT_SRC)))) -INTEROP_CLIENT_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(INTEROP_CLIENT_SRC)))) +INTEROP_CLIENT_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(INTEROP_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) @@ -5725,18 +4979,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_interop_client: - $(E) "[CLEAN] Cleaning interop_client files" - $(Q) $(RM) $(INTEROP_CLIENT_OBJS) - $(Q) $(RM) $(INTEROP_CLIENT_DEPS) - $(Q) $(RM) bins/$(CONFIG)/interop_client - END2END_TEST_SRC = \ test/cpp/end2end/end2end_test.cc \ END2END_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(END2END_TEST_SRC)))) -END2END_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(END2END_TEST_SRC)))) +END2END_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5761,18 +5009,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_end2end_test: - $(E) "[CLEAN] Cleaning end2end_test files" - $(Q) $(RM) $(END2END_TEST_OBJS) - $(Q) $(RM) $(END2END_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/end2end_test - CHANNEL_ARGUMENTS_TEST_SRC = \ test/cpp/client/channel_arguments_test.cc \ CHANNEL_ARGUMENTS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHANNEL_ARGUMENTS_TEST_SRC)))) -CHANNEL_ARGUMENTS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHANNEL_ARGUMENTS_TEST_SRC)))) +CHANNEL_ARGUMENTS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHANNEL_ARGUMENTS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5797,18 +5039,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_channel_arguments_test: - $(E) "[CLEAN] Cleaning channel_arguments_test files" - $(Q) $(RM) $(CHANNEL_ARGUMENTS_TEST_OBJS) - $(Q) $(RM) $(CHANNEL_ARGUMENTS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/channel_arguments_test - CREDENTIALS_TEST_SRC = \ test/cpp/client/credentials_test.cc \ CREDENTIALS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CREDENTIALS_TEST_SRC)))) -CREDENTIALS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CREDENTIALS_TEST_SRC)))) +CREDENTIALS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CREDENTIALS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5833,18 +5069,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_credentials_test: - $(E) "[CLEAN] Cleaning credentials_test files" - $(Q) $(RM) $(CREDENTIALS_TEST_OBJS) - $(Q) $(RM) $(CREDENTIALS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/credentials_test - ALARM_TEST_SRC = \ test/core/iomgr/alarm_test.c \ ALARM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_TEST_SRC)))) -ALARM_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(ALARM_TEST_SRC)))) +ALARM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ALARM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5869,18 +5099,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_alarm_test: - $(E) "[CLEAN] Cleaning alarm_test files" - $(Q) $(RM) $(ALARM_TEST_OBJS) - $(Q) $(RM) $(ALARM_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/alarm_test - ALARM_LIST_TEST_SRC = \ test/core/iomgr/alarm_list_test.c \ ALARM_LIST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_LIST_TEST_SRC)))) -ALARM_LIST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(ALARM_LIST_TEST_SRC)))) +ALARM_LIST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ALARM_LIST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5905,18 +5129,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_alarm_list_test: - $(E) "[CLEAN] Cleaning alarm_list_test files" - $(Q) $(RM) $(ALARM_LIST_TEST_OBJS) - $(Q) $(RM) $(ALARM_LIST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/alarm_list_test - ALARM_HEAP_TEST_SRC = \ test/core/iomgr/alarm_heap_test.c \ ALARM_HEAP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_HEAP_TEST_SRC)))) -ALARM_HEAP_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(ALARM_HEAP_TEST_SRC)))) +ALARM_HEAP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ALARM_HEAP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5941,18 +5159,12 @@ ifneq ($(NO_DEPS),true) endif endif -clean_alarm_heap_test: - $(E) "[CLEAN] Cleaning alarm_heap_test files" - $(Q) $(RM) $(ALARM_HEAP_TEST_OBJS) - $(Q) $(RM) $(ALARM_HEAP_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/alarm_heap_test - TIME_TEST_SRC = \ test/core/support/time_test.c \ TIME_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIME_TEST_SRC)))) -TIME_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(TIME_TEST_SRC)))) +TIME_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TIME_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5977,17 +5189,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_time_test: - $(E) "[CLEAN] Cleaning time_test files" - $(Q) $(RM) $(TIME_TEST_OBJS) - $(Q) $(RM) $(TIME_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/time_test - CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6011,17 +5217,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_cancel_after_accept_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_cancel_after_accept_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test - CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6045,17 +5245,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_cancel_after_accept_and_writes_closed_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_cancel_after_accept_and_writes_closed_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test - CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6079,17 +5273,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_cancel_after_invoke_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_cancel_after_invoke_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test - CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6113,17 +5301,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_cancel_before_invoke_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_cancel_before_invoke_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test - CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6147,17 +5329,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_cancel_in_a_vacuum_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_cancel_in_a_vacuum_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test - CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6181,17 +5357,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_census_simple_request_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_census_simple_request_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_census_simple_request_test - CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_SRC = \ CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6215,17 +5385,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_disappearing_server_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_disappearing_server_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test - CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC = \ CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6249,17 +5413,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test - CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC = \ CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6283,17 +5441,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_early_server_shutdown_finishes_tags_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_early_server_shutdown_finishes_tags_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test - CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6317,17 +5469,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_invoke_large_request_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_invoke_large_request_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test - CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_SRC = \ CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6351,17 +5497,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_max_concurrent_streams_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_max_concurrent_streams_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test - CHTTP2_FAKE_SECURITY_NO_OP_TEST_SRC = \ CHTTP2_FAKE_SECURITY_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_NO_OP_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_NO_OP_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_NO_OP_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_NO_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_NO_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6385,17 +5525,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_no_op_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_no_op_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_NO_OP_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_NO_OP_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_no_op_test - CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_SRC = \ CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6419,17 +5553,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_ping_pong_streaming_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_ping_pong_streaming_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test - CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6453,17 +5581,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_request_response_with_binary_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_request_response_with_binary_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test - CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6487,17 +5609,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_request_response_with_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_request_response_with_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test - CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC = \ CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6521,17 +5637,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_request_response_with_payload_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_request_response_with_payload_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test - CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6555,17 +5665,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test - CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_SRC = \ CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6589,17 +5693,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_simple_delayed_request_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_simple_delayed_request_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test - CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6623,17 +5721,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_simple_request_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_simple_request_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_simple_request_test - CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_SRC = \ CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6657,17 +5749,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_thread_stress_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_thread_stress_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_thread_stress_test - CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC = \ CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) +CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6691,17 +5777,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fake_security_writes_done_hangs_with_pending_read_test: - $(E) "[CLEAN] Cleaning chttp2_fake_security_writes_done_hangs_with_pending_read_test files" - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fake_security_writes_done_hangs_with_pending_read_test - CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) -CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) +CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6725,17 +5805,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_cancel_after_accept_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_cancel_after_accept_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test - CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC = \ CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) -CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) +CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6759,17 +5833,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_cancel_after_accept_and_writes_closed_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_cancel_after_accept_and_writes_closed_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test - CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC = \ CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) -CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) +CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6793,17 +5861,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_cancel_after_invoke_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_cancel_after_invoke_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test - CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC = \ CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) -CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) +CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6827,17 +5889,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_cancel_before_invoke_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_cancel_before_invoke_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test - CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC = \ CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) -CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) +CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6861,17 +5917,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_cancel_in_a_vacuum_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_cancel_in_a_vacuum_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test - CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) +CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6895,17 +5945,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_census_simple_request_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_census_simple_request_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_census_simple_request_test - CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC = \ CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) -CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) +CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6929,17 +5973,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_disappearing_server_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_disappearing_server_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test - CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC = \ CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) -CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) +CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6963,17 +6001,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test - CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC = \ CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) -CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) +CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6997,17 +6029,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_early_server_shutdown_finishes_tags_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_early_server_shutdown_finishes_tags_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test - CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) -CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) +CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7031,17 +6057,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_invoke_large_request_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_invoke_large_request_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test - CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC = \ CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) -CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) +CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7065,17 +6085,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_max_concurrent_streams_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_max_concurrent_streams_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test - CHTTP2_FULLSTACK_NO_OP_TEST_SRC = \ CHTTP2_FULLSTACK_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_NO_OP_TEST_SRC)))) -CHTTP2_FULLSTACK_NO_OP_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_NO_OP_TEST_SRC)))) +CHTTP2_FULLSTACK_NO_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_NO_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7099,17 +6113,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_no_op_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_no_op_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_NO_OP_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_NO_OP_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_no_op_test - CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC = \ CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) -CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) +CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7133,17 +6141,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_ping_pong_streaming_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_ping_pong_streaming_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test - CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7167,17 +6169,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_request_response_with_binary_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_request_response_with_binary_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test - CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7201,17 +6197,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_request_response_with_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_request_response_with_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test - CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC = \ CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) -CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) +CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7235,17 +6225,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_request_response_with_payload_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_request_response_with_payload_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test - CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7269,17 +6253,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test - CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC = \ CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) -CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) +CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7303,17 +6281,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_simple_delayed_request_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_simple_delayed_request_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test - CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) +CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7337,17 +6309,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_simple_request_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_simple_request_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_simple_request_test - CHTTP2_FULLSTACK_THREAD_STRESS_TEST_SRC = \ CHTTP2_FULLSTACK_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_THREAD_STRESS_TEST_SRC)))) -CHTTP2_FULLSTACK_THREAD_STRESS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_THREAD_STRESS_TEST_SRC)))) +CHTTP2_FULLSTACK_THREAD_STRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7371,17 +6337,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_thread_stress_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_thread_stress_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_THREAD_STRESS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_THREAD_STRESS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_thread_stress_test - CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC = \ CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) -CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) +CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7405,17 +6365,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_fullstack_writes_done_hangs_with_pending_read_test: - $(E) "[CLEAN] Cleaning chttp2_fullstack_writes_done_hangs_with_pending_read_test files" - $(Q) $(RM) $(CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_fullstack_writes_done_hangs_with_pending_read_test - CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7439,17 +6393,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_cancel_after_accept_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_cancel_after_accept_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test - CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7473,17 +6421,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test - CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7507,17 +6449,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_cancel_after_invoke_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_cancel_after_invoke_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test - CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7541,17 +6477,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_cancel_before_invoke_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_cancel_before_invoke_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test - CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7575,17 +6505,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test - CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7609,17 +6533,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_census_simple_request_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_census_simple_request_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test - CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7643,17 +6561,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_disappearing_server_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_disappearing_server_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test - CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7677,17 +6589,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test - CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7711,17 +6617,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test - CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7745,17 +6645,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_invoke_large_request_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_invoke_large_request_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test - CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7779,17 +6673,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_max_concurrent_streams_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_max_concurrent_streams_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test - CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7813,17 +6701,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_no_op_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_no_op_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test - CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7847,17 +6729,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_ping_pong_streaming_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_ping_pong_streaming_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test - CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7881,17 +6757,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test - CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7915,17 +6785,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test - CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7949,17 +6813,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_request_response_with_payload_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_request_response_with_payload_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test - CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7983,17 +6841,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test - CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8017,17 +6869,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_simple_delayed_request_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_simple_delayed_request_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test - CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8051,17 +6897,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_simple_request_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_simple_request_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test - CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8085,17 +6925,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_thread_stress_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_thread_stress_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_thread_stress_test - CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8119,17 +6953,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8153,17 +6981,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8187,17 +7009,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8221,17 +7037,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8255,17 +7065,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8289,17 +7093,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8323,17 +7121,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8357,17 +7149,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8391,17 +7177,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8425,17 +7205,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8459,17 +7233,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8493,17 +7261,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8527,17 +7289,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_no_op_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_no_op_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8561,17 +7317,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8595,17 +7345,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8629,17 +7373,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8663,17 +7401,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8697,17 +7429,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8731,17 +7457,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8765,17 +7485,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8799,17 +7513,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test - CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8833,17 +7541,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test: - $(E) "[CLEAN] Cleaning chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test files" - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test - CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8867,17 +7569,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_cancel_after_accept_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_cancel_after_accept_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test - CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC = \ CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8901,17 +7597,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_cancel_after_accept_and_writes_closed_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_cancel_after_accept_and_writes_closed_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test - CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_SRC = \ CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8935,17 +7625,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_cancel_after_invoke_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_cancel_after_invoke_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test - CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_SRC = \ CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8969,17 +7653,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_cancel_before_invoke_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_cancel_before_invoke_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test - CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_SRC = \ CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9003,17 +7681,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_cancel_in_a_vacuum_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_cancel_in_a_vacuum_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test - CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9037,17 +7709,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_census_simple_request_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_census_simple_request_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_census_simple_request_test - CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_SRC = \ CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9071,17 +7737,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_disappearing_server_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_disappearing_server_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test - CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9105,17 +7765,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test - CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9139,17 +7793,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_early_server_shutdown_finishes_tags_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_early_server_shutdown_finishes_tags_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test - CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9173,17 +7821,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_invoke_large_request_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_invoke_large_request_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test - CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9207,17 +7849,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_max_concurrent_streams_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_max_concurrent_streams_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test - CHTTP2_SOCKET_PAIR_NO_OP_TEST_SRC = \ CHTTP2_SOCKET_PAIR_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_NO_OP_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_NO_OP_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_NO_OP_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_NO_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_NO_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9241,17 +7877,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_no_op_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_no_op_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_NO_OP_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_NO_OP_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_no_op_test - CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_SRC = \ CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9275,17 +7905,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_ping_pong_streaming_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_ping_pong_streaming_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test - CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9309,17 +7933,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test - CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9343,17 +7961,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_request_response_with_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_request_response_with_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test - CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9377,17 +7989,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_request_response_with_payload_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_request_response_with_payload_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test - CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9411,17 +8017,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test - CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9445,17 +8045,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_simple_delayed_request_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_simple_delayed_request_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test - CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9479,17 +8073,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_simple_request_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_simple_request_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_simple_request_test - CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9513,17 +8101,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_thread_stress_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_thread_stress_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_thread_stress_test - CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC = \ CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9547,17 +8129,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_writes_done_hangs_with_pending_read_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_writes_done_hangs_with_pending_read_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_writes_done_hangs_with_pending_read_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9581,17 +8157,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9615,17 +8185,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9649,17 +8213,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9683,17 +8241,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9717,17 +8269,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9751,17 +8297,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9785,17 +8325,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9819,17 +8353,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9853,17 +8381,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9887,17 +8409,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9921,17 +8437,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9955,17 +8465,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_no_op_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_no_op_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -9989,17 +8493,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -10023,17 +8521,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -10057,17 +8549,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -10091,17 +8577,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -10125,17 +8605,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -10159,17 +8633,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -10193,17 +8661,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_simple_request_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_simple_request_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -10227,17 +8689,11 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_thread_stress_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_thread_stress_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_thread_stress_test - CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -10261,15 +8717,10 @@ ifneq ($(NO_DEPS),true) endif endif -clean_chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test: - $(E) "[CLEAN] Cleaning chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test files" - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS) - $(Q) $(RM) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) - $(Q) $(RM) bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test +.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_cxxclean -.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 clean dep_c dep_cxx bins_dep_c bins_dep_cxx deps_libgpr clean_libgpr deps_libgrpc clean_libgrpc deps_libgrpc_unsecure clean_libgrpc_unsecure deps_libgpr_test_util clean_libgpr_test_util deps_libgrpc_test_util clean_libgrpc_test_util deps_libgrpc++ clean_libgrpc++ deps_libgrpc++_test_util clean_libgrpc++_test_util deps_libend2end_fixture_chttp2_fake_security clean_libend2end_fixture_chttp2_fake_security deps_libend2end_fixture_chttp2_fullstack clean_libend2end_fixture_chttp2_fullstack deps_libend2end_fixture_chttp2_simple_ssl_fullstack clean_libend2end_fixture_chttp2_simple_ssl_fullstack deps_libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack clean_libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack deps_libend2end_fixture_chttp2_socket_pair clean_libend2end_fixture_chttp2_socket_pair deps_libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time clean_libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time deps_libend2end_test_cancel_after_accept clean_libend2end_test_cancel_after_accept deps_libend2end_test_cancel_after_accept_and_writes_closed clean_libend2end_test_cancel_after_accept_and_writes_closed deps_libend2end_test_cancel_after_invoke clean_libend2end_test_cancel_after_invoke deps_libend2end_test_cancel_before_invoke clean_libend2end_test_cancel_before_invoke deps_libend2end_test_cancel_in_a_vacuum clean_libend2end_test_cancel_in_a_vacuum deps_libend2end_test_census_simple_request clean_libend2end_test_census_simple_request deps_libend2end_test_disappearing_server clean_libend2end_test_disappearing_server deps_libend2end_test_early_server_shutdown_finishes_inflight_calls clean_libend2end_test_early_server_shutdown_finishes_inflight_calls deps_libend2end_test_early_server_shutdown_finishes_tags clean_libend2end_test_early_server_shutdown_finishes_tags deps_libend2end_test_invoke_large_request clean_libend2end_test_invoke_large_request deps_libend2end_test_max_concurrent_streams clean_libend2end_test_max_concurrent_streams deps_libend2end_test_no_op clean_libend2end_test_no_op deps_libend2end_test_ping_pong_streaming clean_libend2end_test_ping_pong_streaming deps_libend2end_test_request_response_with_binary_metadata_and_payload clean_libend2end_test_request_response_with_binary_metadata_and_payload deps_libend2end_test_request_response_with_metadata_and_payload clean_libend2end_test_request_response_with_metadata_and_payload deps_libend2end_test_request_response_with_payload clean_libend2end_test_request_response_with_payload deps_libend2end_test_request_response_with_trailing_metadata_and_payload clean_libend2end_test_request_response_with_trailing_metadata_and_payload deps_libend2end_test_simple_delayed_request clean_libend2end_test_simple_delayed_request deps_libend2end_test_simple_request clean_libend2end_test_simple_request deps_libend2end_test_thread_stress clean_libend2end_test_thread_stress deps_libend2end_test_writes_done_hangs_with_pending_read clean_libend2end_test_writes_done_hangs_with_pending_read deps_libend2end_certs clean_libend2end_certs deps_gen_hpack_tables clean_gen_hpack_tables deps_cpp_plugin clean_cpp_plugin deps_ruby_plugin clean_ruby_plugin deps_grpc_byte_buffer_reader_test clean_grpc_byte_buffer_reader_test deps_gpr_cancellable_test clean_gpr_cancellable_test deps_gpr_log_test clean_gpr_log_test deps_gpr_useful_test clean_gpr_useful_test deps_gpr_cmdline_test clean_gpr_cmdline_test deps_gpr_histogram_test clean_gpr_histogram_test deps_gpr_host_port_test clean_gpr_host_port_test deps_gpr_slice_buffer_test clean_gpr_slice_buffer_test deps_gpr_slice_test clean_gpr_slice_test deps_gpr_string_test clean_gpr_string_test deps_gpr_sync_test clean_gpr_sync_test deps_gpr_thd_test clean_gpr_thd_test deps_gpr_time_test clean_gpr_time_test deps_murmur_hash_test clean_murmur_hash_test deps_grpc_stream_op_test clean_grpc_stream_op_test deps_alpn_test clean_alpn_test deps_time_averaged_stats_test clean_time_averaged_stats_test deps_chttp2_stream_encoder_test clean_chttp2_stream_encoder_test deps_hpack_table_test clean_hpack_table_test deps_chttp2_stream_map_test clean_chttp2_stream_map_test deps_hpack_parser_test clean_hpack_parser_test deps_transport_metadata_test clean_transport_metadata_test deps_chttp2_status_conversion_test clean_chttp2_status_conversion_test deps_chttp2_transport_end2end_test clean_chttp2_transport_end2end_test deps_tcp_posix_test clean_tcp_posix_test deps_dualstack_socket_test clean_dualstack_socket_test deps_no_server_test clean_no_server_test deps_resolve_address_test clean_resolve_address_test deps_sockaddr_utils_test clean_sockaddr_utils_test deps_tcp_server_posix_test clean_tcp_server_posix_test deps_tcp_client_posix_test clean_tcp_client_posix_test deps_grpc_channel_stack_test clean_grpc_channel_stack_test deps_metadata_buffer_test clean_metadata_buffer_test deps_grpc_completion_queue_test clean_grpc_completion_queue_test deps_grpc_completion_queue_benchmark clean_grpc_completion_queue_benchmark deps_census_trace_store_test clean_census_trace_store_test deps_census_stats_store_test clean_census_stats_store_test deps_census_window_stats_test clean_census_window_stats_test deps_census_statistics_quick_test clean_census_statistics_quick_test deps_census_statistics_small_log_test clean_census_statistics_small_log_test deps_census_statistics_performance_test clean_census_statistics_performance_test deps_census_statistics_multiple_writers_test clean_census_statistics_multiple_writers_test deps_census_statistics_multiple_writers_circular_buffer_test clean_census_statistics_multiple_writers_circular_buffer_test deps_census_stub_test clean_census_stub_test deps_census_hash_table_test clean_census_hash_table_test deps_fling_server clean_fling_server deps_fling_client clean_fling_client deps_fling_test clean_fling_test deps_echo_server clean_echo_server deps_echo_client clean_echo_client deps_echo_test clean_echo_test deps_low_level_ping_pong_benchmark clean_low_level_ping_pong_benchmark deps_message_compress_test clean_message_compress_test deps_bin_encoder_test clean_bin_encoder_test deps_secure_endpoint_test clean_secure_endpoint_test deps_httpcli_format_request_test clean_httpcli_format_request_test deps_httpcli_parser_test clean_httpcli_parser_test deps_httpcli_test clean_httpcli_test deps_grpc_credentials_test clean_grpc_credentials_test deps_grpc_fetch_oauth2 clean_grpc_fetch_oauth2 deps_grpc_base64_test clean_grpc_base64_test deps_grpc_json_token_test clean_grpc_json_token_test deps_timeout_encoding_test clean_timeout_encoding_test deps_fd_posix_test clean_fd_posix_test deps_fling_stream_test clean_fling_stream_test deps_lame_client_test clean_lame_client_test deps_thread_pool_test clean_thread_pool_test deps_status_test clean_status_test deps_sync_client_async_server_test clean_sync_client_async_server_test deps_qps_client clean_qps_client deps_qps_server clean_qps_server deps_interop_server clean_interop_server deps_interop_client clean_interop_client deps_end2end_test clean_end2end_test deps_channel_arguments_test clean_channel_arguments_test deps_credentials_test clean_credentials_test deps_alarm_test clean_alarm_test deps_alarm_list_test clean_alarm_list_test deps_alarm_heap_test clean_alarm_heap_test deps_time_test clean_time_test deps_chttp2_fake_security_cancel_after_accept_test clean_chttp2_fake_security_cancel_after_accept_test deps_chttp2_fake_security_cancel_after_accept_and_writes_closed_test clean_chttp2_fake_security_cancel_after_accept_and_writes_closed_test deps_chttp2_fake_security_cancel_after_invoke_test clean_chttp2_fake_security_cancel_after_invoke_test deps_chttp2_fake_security_cancel_before_invoke_test clean_chttp2_fake_security_cancel_before_invoke_test deps_chttp2_fake_security_cancel_in_a_vacuum_test clean_chttp2_fake_security_cancel_in_a_vacuum_test deps_chttp2_fake_security_census_simple_request_test clean_chttp2_fake_security_census_simple_request_test deps_chttp2_fake_security_disappearing_server_test clean_chttp2_fake_security_disappearing_server_test deps_chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test clean_chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test deps_chttp2_fake_security_early_server_shutdown_finishes_tags_test clean_chttp2_fake_security_early_server_shutdown_finishes_tags_test deps_chttp2_fake_security_invoke_large_request_test clean_chttp2_fake_security_invoke_large_request_test deps_chttp2_fake_security_max_concurrent_streams_test clean_chttp2_fake_security_max_concurrent_streams_test deps_chttp2_fake_security_no_op_test clean_chttp2_fake_security_no_op_test deps_chttp2_fake_security_ping_pong_streaming_test clean_chttp2_fake_security_ping_pong_streaming_test deps_chttp2_fake_security_request_response_with_binary_metadata_and_payload_test clean_chttp2_fake_security_request_response_with_binary_metadata_and_payload_test deps_chttp2_fake_security_request_response_with_metadata_and_payload_test clean_chttp2_fake_security_request_response_with_metadata_and_payload_test deps_chttp2_fake_security_request_response_with_payload_test clean_chttp2_fake_security_request_response_with_payload_test deps_chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test clean_chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test deps_chttp2_fake_security_simple_delayed_request_test clean_chttp2_fake_security_simple_delayed_request_test deps_chttp2_fake_security_simple_request_test clean_chttp2_fake_security_simple_request_test deps_chttp2_fake_security_thread_stress_test clean_chttp2_fake_security_thread_stress_test deps_chttp2_fake_security_writes_done_hangs_with_pending_read_test clean_chttp2_fake_security_writes_done_hangs_with_pending_read_test deps_chttp2_fullstack_cancel_after_accept_test clean_chttp2_fullstack_cancel_after_accept_test deps_chttp2_fullstack_cancel_after_accept_and_writes_closed_test clean_chttp2_fullstack_cancel_after_accept_and_writes_closed_test deps_chttp2_fullstack_cancel_after_invoke_test clean_chttp2_fullstack_cancel_after_invoke_test deps_chttp2_fullstack_cancel_before_invoke_test clean_chttp2_fullstack_cancel_before_invoke_test deps_chttp2_fullstack_cancel_in_a_vacuum_test clean_chttp2_fullstack_cancel_in_a_vacuum_test deps_chttp2_fullstack_census_simple_request_test clean_chttp2_fullstack_census_simple_request_test deps_chttp2_fullstack_disappearing_server_test clean_chttp2_fullstack_disappearing_server_test deps_chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test clean_chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test deps_chttp2_fullstack_early_server_shutdown_finishes_tags_test clean_chttp2_fullstack_early_server_shutdown_finishes_tags_test deps_chttp2_fullstack_invoke_large_request_test clean_chttp2_fullstack_invoke_large_request_test deps_chttp2_fullstack_max_concurrent_streams_test clean_chttp2_fullstack_max_concurrent_streams_test deps_chttp2_fullstack_no_op_test clean_chttp2_fullstack_no_op_test deps_chttp2_fullstack_ping_pong_streaming_test clean_chttp2_fullstack_ping_pong_streaming_test deps_chttp2_fullstack_request_response_with_binary_metadata_and_payload_test clean_chttp2_fullstack_request_response_with_binary_metadata_and_payload_test deps_chttp2_fullstack_request_response_with_metadata_and_payload_test clean_chttp2_fullstack_request_response_with_metadata_and_payload_test deps_chttp2_fullstack_request_response_with_payload_test clean_chttp2_fullstack_request_response_with_payload_test deps_chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test clean_chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test deps_chttp2_fullstack_simple_delayed_request_test clean_chttp2_fullstack_simple_delayed_request_test deps_chttp2_fullstack_simple_request_test clean_chttp2_fullstack_simple_request_test deps_chttp2_fullstack_thread_stress_test clean_chttp2_fullstack_thread_stress_test deps_chttp2_fullstack_writes_done_hangs_with_pending_read_test clean_chttp2_fullstack_writes_done_hangs_with_pending_read_test deps_chttp2_simple_ssl_fullstack_cancel_after_accept_test clean_chttp2_simple_ssl_fullstack_cancel_after_accept_test deps_chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test clean_chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test deps_chttp2_simple_ssl_fullstack_cancel_after_invoke_test clean_chttp2_simple_ssl_fullstack_cancel_after_invoke_test deps_chttp2_simple_ssl_fullstack_cancel_before_invoke_test clean_chttp2_simple_ssl_fullstack_cancel_before_invoke_test deps_chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test clean_chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test deps_chttp2_simple_ssl_fullstack_census_simple_request_test clean_chttp2_simple_ssl_fullstack_census_simple_request_test deps_chttp2_simple_ssl_fullstack_disappearing_server_test clean_chttp2_simple_ssl_fullstack_disappearing_server_test deps_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test clean_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test deps_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test clean_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test deps_chttp2_simple_ssl_fullstack_invoke_large_request_test clean_chttp2_simple_ssl_fullstack_invoke_large_request_test deps_chttp2_simple_ssl_fullstack_max_concurrent_streams_test clean_chttp2_simple_ssl_fullstack_max_concurrent_streams_test deps_chttp2_simple_ssl_fullstack_no_op_test clean_chttp2_simple_ssl_fullstack_no_op_test deps_chttp2_simple_ssl_fullstack_ping_pong_streaming_test clean_chttp2_simple_ssl_fullstack_ping_pong_streaming_test deps_chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test clean_chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test deps_chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test clean_chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test deps_chttp2_simple_ssl_fullstack_request_response_with_payload_test clean_chttp2_simple_ssl_fullstack_request_response_with_payload_test deps_chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test clean_chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test deps_chttp2_simple_ssl_fullstack_simple_delayed_request_test clean_chttp2_simple_ssl_fullstack_simple_delayed_request_test deps_chttp2_simple_ssl_fullstack_simple_request_test clean_chttp2_simple_ssl_fullstack_simple_request_test deps_chttp2_simple_ssl_fullstack_thread_stress_test clean_chttp2_simple_ssl_fullstack_thread_stress_test deps_chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test clean_chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test clean_chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test deps_chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test clean_chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test deps_chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test clean_chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test deps_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test clean_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test deps_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test clean_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test deps_chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test clean_chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test deps_chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test clean_chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test deps_chttp2_simple_ssl_with_oauth2_fullstack_no_op_test clean_chttp2_simple_ssl_with_oauth2_fullstack_no_op_test deps_chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test clean_chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test clean_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test clean_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test clean_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test clean_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test deps_chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test clean_chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test deps_chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test clean_chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test deps_chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test clean_chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test deps_chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test clean_chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test deps_chttp2_socket_pair_cancel_after_accept_test clean_chttp2_socket_pair_cancel_after_accept_test deps_chttp2_socket_pair_cancel_after_accept_and_writes_closed_test clean_chttp2_socket_pair_cancel_after_accept_and_writes_closed_test deps_chttp2_socket_pair_cancel_after_invoke_test clean_chttp2_socket_pair_cancel_after_invoke_test deps_chttp2_socket_pair_cancel_before_invoke_test clean_chttp2_socket_pair_cancel_before_invoke_test deps_chttp2_socket_pair_cancel_in_a_vacuum_test clean_chttp2_socket_pair_cancel_in_a_vacuum_test deps_chttp2_socket_pair_census_simple_request_test clean_chttp2_socket_pair_census_simple_request_test deps_chttp2_socket_pair_disappearing_server_test clean_chttp2_socket_pair_disappearing_server_test deps_chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test clean_chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test deps_chttp2_socket_pair_early_server_shutdown_finishes_tags_test clean_chttp2_socket_pair_early_server_shutdown_finishes_tags_test deps_chttp2_socket_pair_invoke_large_request_test clean_chttp2_socket_pair_invoke_large_request_test deps_chttp2_socket_pair_max_concurrent_streams_test clean_chttp2_socket_pair_max_concurrent_streams_test deps_chttp2_socket_pair_no_op_test clean_chttp2_socket_pair_no_op_test deps_chttp2_socket_pair_ping_pong_streaming_test clean_chttp2_socket_pair_ping_pong_streaming_test deps_chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test clean_chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test deps_chttp2_socket_pair_request_response_with_metadata_and_payload_test clean_chttp2_socket_pair_request_response_with_metadata_and_payload_test deps_chttp2_socket_pair_request_response_with_payload_test clean_chttp2_socket_pair_request_response_with_payload_test deps_chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test clean_chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test deps_chttp2_socket_pair_simple_delayed_request_test clean_chttp2_socket_pair_simple_delayed_request_test deps_chttp2_socket_pair_simple_request_test clean_chttp2_socket_pair_simple_request_test deps_chttp2_socket_pair_thread_stress_test clean_chttp2_socket_pair_thread_stress_test deps_chttp2_socket_pair_writes_done_hangs_with_pending_read_test clean_chttp2_socket_pair_writes_done_hangs_with_pending_read_test deps_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test clean_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test deps_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test clean_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test deps_chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test clean_chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test deps_chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test clean_chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test deps_chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test clean_chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test deps_chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test clean_chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test deps_chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test clean_chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test deps_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test clean_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test deps_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test clean_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test deps_chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test clean_chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test deps_chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test clean_chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test deps_chttp2_socket_pair_one_byte_at_a_time_no_op_test clean_chttp2_socket_pair_one_byte_at_a_time_no_op_test deps_chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test clean_chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test clean_chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test clean_chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test clean_chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test clean_chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test deps_chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test clean_chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test deps_chttp2_socket_pair_one_byte_at_a_time_simple_request_test clean_chttp2_socket_pair_one_byte_at_a_time_simple_request_test deps_chttp2_socket_pair_one_byte_at_a_time_thread_stress_test clean_chttp2_socket_pair_one_byte_at_a_time_thread_stress_test deps_chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test clean_chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test diff --git a/templates/Makefile.template b/templates/Makefile.template index 30e6578e144..962bbd67295 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -213,11 +213,7 @@ endif LDLIBS_SECURE += $(addprefix -l, $(LIBS_SECURE)) -ifneq ($(DEP_MISSING),) -NO_DEPS = true -endif - -ifneq ($(MAKECMDGOALS),clean) +ifeq ($(MAKECMDGOALS),clean) NO_DEPS = true endif @@ -300,7 +296,7 @@ third_party/openssl/libssl.a: static: static_c static_cxx -static_c: dep_c\ +static_c: \ % for lib in libs: % if lib.build == 'all' and not lib.get('c++', False): libs/$(CONFIG)/lib${lib.name}.a\ @@ -308,7 +304,7 @@ static_c: dep_c\ % endfor -static_cxx: dep_cxx\ +static_cxx: \ % for lib in libs: % if lib.build == 'all' and lib.get('c++', False): libs/$(CONFIG)/lib${lib.name}.a\ @@ -318,7 +314,7 @@ static_cxx: dep_cxx\ shared: shared_c shared_cxx -shared_c: dep_c\ +shared_c: \ % for lib in libs: % if lib.build == 'all' and not lib.get('c++', False): libs/$(CONFIG)/lib${lib.name}.$(SHARED_EXT)\ @@ -326,7 +322,7 @@ shared_c: dep_c\ % endfor -shared_cxx: dep_cxx\ +shared_cxx: \ % for lib in libs: % if lib.build == 'all' and lib.get('c++', False): libs/$(CONFIG)/lib${lib.name}.$(SHARED_EXT)\ @@ -336,7 +332,7 @@ shared_cxx: dep_cxx\ privatelibs: privatelibs_c privatelibs_cxx -privatelibs_c: dep_c\ +privatelibs_c: \ % for lib in libs: % if lib.build == 'private' and not lib.get('c++', False): libs/$(CONFIG)/lib${lib.name}.a\ @@ -344,7 +340,7 @@ privatelibs_c: dep_c\ % endfor -privatelibs_cxx: dep_cxx\ +privatelibs_cxx: \ % for lib in libs: % if lib.build == 'private' and lib.get('c++', False): libs/$(CONFIG)/lib${lib.name}.a\ @@ -354,7 +350,7 @@ privatelibs_cxx: dep_cxx\ buildtests: buildtests_c buildtests_cxx -buildtests_c: bins_dep_c privatelibs_c\ +buildtests_c: privatelibs_c\ % for tgt in targets: % if tgt.build == 'test' and not tgt.get('c++', False): bins/$(CONFIG)/${tgt.name}\ @@ -362,7 +358,7 @@ buildtests_c: bins_dep_c privatelibs_c\ % endfor -buildtests_cxx: bins_dep_cxx privatelibs_cxx\ +buildtests_cxx: privatelibs_cxx\ % for tgt in targets: % if tgt.build == 'test' and tgt.get('c++', False): bins/$(CONFIG)/${tgt.name}\ @@ -463,10 +459,6 @@ strip-shared_cxx: shared_cxx % endfor % for p in protos: -deps/$(CONFIG)/gens/${p}.pb.dep: - $(Q) mkdir -p `dirname $@` - $(Q) touch $@ - gens/${p}.pb.cc: ${p}.proto protoc_plugins $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` @@ -474,68 +466,25 @@ gens/${p}.pb.cc: ${p}.proto protoc_plugins % endfor -deps/$(CONFIG)/%.dep : %.c - $(E) "[DEP] Generating dependencies for $<" - $(Q) mkdir -p `dirname $@` - $(Q) $(CC) $(CFLAGS) $(CPPFLAGS_NO_ARCH) -MG -M $< > $@ - -deps/$(CONFIG)/%.dep : %.cc - $(E) "[DEP] Generating dependencies for $<" - $(Q) mkdir -p `dirname $@` - $(Q) $(CXX) $(CXXFLAGS) $(CPPFLAGS_NO_ARCH) -MG -M $< > $@ - objs/$(CONFIG)/%.o : %.c $(E) "[C] Compiling $<" $(Q) mkdir -p `dirname $@` - $(Q) $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< + $(Q) $(CC) $(CFLAGS) $(CPPFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< objs/$(CONFIG)/%.o : gens/%.pb.cc $(E) "[CXX] Compiling $<" $(Q) mkdir -p `dirname $@` - $(Q) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< + $(Q) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< objs/$(CONFIG)/src/compiler/%.o : src/compiler/%.cc $(E) "[HOSTCXX] Compiling $<" $(Q) mkdir -p `dirname $@` - $(Q) $(HOST_CXX) $(HOST_CXXFLAGS) $(HOST_CPPFLAGS) -c -o $@ $< + $(Q) $(HOST_CXX) $(HOST_CXXFLAGS) $(HOST_CPPFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< objs/$(CONFIG)/%.o : %.cc $(E) "[CXX] Compiling $<" $(Q) mkdir -p `dirname $@` - $(Q) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< - -dep: dep_c dep_cxx - -dep_c:\ -% for lib in libs: -% if not lib.get('c++', False): - deps_lib${lib.name}\ -% endif -% endfor - - -bins_dep_c:\ -% for tgt in targets: -% if not tgt.get('c++', False): - deps_${tgt.name}\ -% endif -% endfor - - -dep_cxx:\ -% for lib in libs: -% if lib.get('c++', False): - deps_lib${lib.name}\ -% endif -% endfor - - -bins_dep_cxx:\ -% for tgt in targets: -% if tgt.get('c++', False): - deps_${tgt.name}\ -% endif -% endfor + $(Q) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< install: install_c install_cxx @@ -625,7 +574,7 @@ endif endif clean: - $(Q) $(RM) -rf deps objs libs bins gens + $(Q) $(RM) -rf objs libs bins gens # The various libraries @@ -664,7 +613,7 @@ PUBLIC_HEADERS_C += \\ % endif LIB${lib.name.upper()}_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIB${lib.name.upper()}_SRC)))) -LIB${lib.name.upper()}_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIB${lib.name.upper()}_SRC)))) +LIB${lib.name.upper()}_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIB${lib.name.upper()}_SRC)))) % if lib.get('secure', True): ifeq ($(NO_SECURE),true) @@ -775,13 +724,6 @@ objs/$(CONFIG)/${os.path.splitext(src)[0]}.o: \ % endif % endfor - -clean_lib${lib.name}: - $(E) "[CLEAN] Cleaning lib${lib.name} files" - $(Q) $(RM) $(LIB${lib.name.upper()}_OBJS) - $(Q) $(RM) $(LIB${lib.name.upper()}_DEPS) - $(Q) $(RM) libs/$(CONFIG)/lib${lib.name}.a - $(Q) $(RM) libs/$(CONFIG)/lib${lib.name}.$(SHARED_EXT) <%def name="maketarget(tgt)"> @@ -793,7 +735,7 @@ ${tgt.name.upper()}_SRC = \\ % endfor ${tgt.name.upper()}_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(${tgt.name.upper()}_SRC)))) -${tgt.name.upper()}_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(${tgt.name.upper()}_SRC)))) +${tgt.name.upper()}_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(${tgt.name.upper()}_SRC)))) % if tgt.get('secure', True): ifeq ($(NO_SECURE),true) @@ -871,12 +813,6 @@ endif % if tgt.get('secure', True): endif % endif - -clean_${tgt.name}: - $(E) "[CLEAN] Cleaning ${tgt.name} files" - $(Q) $(RM) $(${tgt.name.upper()}_OBJS) - $(Q) $(RM) $(${tgt.name.upper()}_DEPS) - $(Q) $(RM) bins/$(CONFIG)/${tgt.name} .PHONY: all strip tools \ @@ -890,12 +826,6 @@ 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 \ -clean \ dep_c dep_cxx bins_dep_c bins_dep_cxx\ -% for lib in libs: - deps_lib${lib.name} clean_lib${lib.name}\ -% endfor -% for tgt in targets: - deps_${tgt.name} clean_${tgt.name}\ -% endfor +clean From 8f126a65525a15d49c1496ebef881b009a28b6ae Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 08:50:19 -0800 Subject: [PATCH 008/121] Remove _DEPS variables They're trivially recreatable from the _OBJS variables now. --- Makefile | 1220 +++++++++++++---------------------- templates/Makefile.template | 10 +- 2 files changed, 456 insertions(+), 774 deletions(-) diff --git a/Makefile b/Makefile index d8eb2127399..8215e3ba39c 100644 --- a/Makefile +++ b/Makefile @@ -1145,7 +1145,6 @@ PUBLIC_HEADERS_C += \ include/grpc/support/useful.h \ LIBGPR_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_SRC)))) -LIBGPR_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGPR_SRC)))) libs/$(CONFIG)/libgpr.a: $(LIBGPR_OBJS) $(E) "[AR] Creating $@" @@ -1172,10 +1171,8 @@ endif endif -deps_libgpr: $(LIBGPR_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBGPR_DEPS) +-include $(LIBGPR_OBJS:.o=.dep) endif objs/$(CONFIG)/src/core/support/alloc.o: @@ -1308,7 +1305,6 @@ PUBLIC_HEADERS_C += \ include/grpc/status.h \ LIBGRPC_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_SRC)))) -LIBGRPC_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC_SRC)))) ifeq ($(NO_SECURE),true) @@ -1356,11 +1352,9 @@ endif endif -deps_libgrpc: $(LIBGRPC_DEPS) - ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC_DEPS) +-include $(LIBGRPC_OBJS:.o=.dep) endif endif @@ -1546,7 +1540,6 @@ PUBLIC_HEADERS_C += \ include/grpc/status.h \ LIBGRPC_UNSECURE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_UNSECURE_SRC)))) -LIBGRPC_UNSECURE_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC_UNSECURE_SRC)))) libs/$(CONFIG)/libgrpc_unsecure.a: $(LIBGRPC_UNSECURE_OBJS) $(E) "[AR] Creating $@" @@ -1573,10 +1566,8 @@ endif endif -deps_libgrpc_unsecure: $(LIBGRPC_UNSECURE_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBGRPC_UNSECURE_DEPS) +-include $(LIBGRPC_UNSECURE_OBJS:.o=.dep) endif objs/$(CONFIG)/src/core/channel/call_op_string.o: @@ -1665,7 +1656,6 @@ LIBGPR_TEST_UTIL_SRC = \ LIBGPR_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_TEST_UTIL_SRC)))) -LIBGPR_TEST_UTIL_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGPR_TEST_UTIL_SRC)))) ifeq ($(NO_SECURE),true) @@ -1685,11 +1675,9 @@ libs/$(CONFIG)/libgpr_test_util.a: $(OPENSSL_DEP) $(LIBGPR_TEST_UTIL_OBJS) endif -deps_libgpr_test_util: $(LIBGPR_TEST_UTIL_DEPS) - ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGPR_TEST_UTIL_DEPS) +-include $(LIBGPR_TEST_UTIL_OBJS:.o=.dep) endif endif @@ -1712,7 +1700,6 @@ LIBGRPC_TEST_UTIL_SRC = \ LIBGRPC_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_TEST_UTIL_SRC)))) -LIBGRPC_TEST_UTIL_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC_TEST_UTIL_SRC)))) ifeq ($(NO_SECURE),true) @@ -1732,11 +1719,9 @@ libs/$(CONFIG)/libgrpc_test_util.a: $(OPENSSL_DEP) $(LIBGRPC_TEST_UTIL_OBJS) endif -deps_libgrpc_test_util: $(LIBGRPC_TEST_UTIL_DEPS) - ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC_TEST_UTIL_DEPS) +-include $(LIBGRPC_TEST_UTIL_OBJS:.o=.dep) endif endif @@ -1798,7 +1783,6 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/stream.h \ LIBGRPC++_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_SRC)))) -LIBGRPC++_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC++_SRC)))) ifeq ($(NO_SECURE),true) @@ -1839,11 +1823,9 @@ endif endif -deps_libgrpc++: $(LIBGRPC++_DEPS) - ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_DEPS) +-include $(LIBGRPC++_OBJS:.o=.dep) endif endif @@ -1878,7 +1860,6 @@ LIBGRPC++_TEST_UTIL_SRC = \ LIBGRPC++_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_TEST_UTIL_SRC)))) -LIBGRPC++_TEST_UTIL_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC++_TEST_UTIL_SRC)))) ifeq ($(NO_SECURE),true) @@ -1898,11 +1879,9 @@ libs/$(CONFIG)/libgrpc++_test_util.a: $(OPENSSL_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) endif -deps_libgrpc++_test_util: $(LIBGRPC++_TEST_UTIL_DEPS) - ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_TEST_UTIL_DEPS) +-include $(LIBGRPC++_TEST_UTIL_OBJS:.o=.dep) endif endif @@ -1918,7 +1897,6 @@ LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC = \ LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC)))) -LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC)))) ifeq ($(NO_SECURE),true) @@ -1938,11 +1916,9 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a: $(OPENSSL_DEP) $(LIBEN endif -deps_libend2end_fixture_chttp2_fake_security: $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_DEPS) - ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_DEPS) +-include $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS:.o=.dep) endif endif @@ -1954,7 +1930,6 @@ LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_SRC = \ LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_SRC)))) -LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_SRC)))) ifeq ($(NO_SECURE),true) @@ -1974,11 +1949,9 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a: $(OPENSSL_DEP) $(LIBEND2EN endif -deps_libend2end_fixture_chttp2_fullstack: $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_DEPS) - ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_DEPS) +-include $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_OBJS:.o=.dep) endif endif @@ -1990,7 +1963,6 @@ LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_SRC = \ LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_SRC)))) -LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_SRC)))) ifeq ($(NO_SECURE),true) @@ -2010,11 +1982,9 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a: $(OPENSSL_DEP) endif -deps_libend2end_fixture_chttp2_simple_ssl_fullstack: $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_DEPS) - ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_DEPS) +-include $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_OBJS:.o=.dep) endif endif @@ -2026,7 +1996,6 @@ LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SRC = \ LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SRC)))) -LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SRC)))) ifeq ($(NO_SECURE),true) @@ -2046,11 +2015,9 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a: $(O endif -deps_libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack: $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DEPS) - ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DEPS) +-include $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_OBJS:.o=.dep) endif endif @@ -2062,7 +2029,6 @@ LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_SRC = \ LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_SRC)))) -LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_SRC)))) ifeq ($(NO_SECURE),true) @@ -2082,11 +2048,9 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a: $(OPENSSL_DEP) $(LIBEND2 endif -deps_libend2end_fixture_chttp2_socket_pair: $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_DEPS) - ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_DEPS) +-include $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_OBJS:.o=.dep) endif endif @@ -2098,7 +2062,6 @@ LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SRC = \ LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SRC)))) -LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SRC)))) ifeq ($(NO_SECURE),true) @@ -2118,11 +2081,9 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a: $(OPE endif -deps_libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time: $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DEPS) - ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DEPS) +-include $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_OBJS:.o=.dep) endif endif @@ -2134,7 +2095,6 @@ LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_SRC = \ LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_SRC)))) -LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_SRC)))) libs/$(CONFIG)/libend2end_test_cancel_after_accept.a: $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS) $(E) "[AR] Creating $@" @@ -2145,10 +2105,8 @@ libs/$(CONFIG)/libend2end_test_cancel_after_accept.a: $(LIBEND2END_TEST_CANCEL_A -deps_libend2end_test_cancel_after_accept: $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_DEPS) +-include $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/cancel_after_accept.o: @@ -2159,7 +2117,6 @@ LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_SRC = \ LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_SRC)))) -LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_SRC)))) libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a: $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS) $(E) "[AR] Creating $@" @@ -2170,10 +2127,8 @@ libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a: $(LIBEND -deps_libend2end_test_cancel_after_accept_and_writes_closed: $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_DEPS) +-include $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/cancel_after_accept_and_writes_closed.o: @@ -2184,7 +2139,6 @@ LIBEND2END_TEST_CANCEL_AFTER_INVOKE_SRC = \ LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_SRC)))) -LIBEND2END_TEST_CANCEL_AFTER_INVOKE_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_SRC)))) libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a: $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS) $(E) "[AR] Creating $@" @@ -2195,10 +2149,8 @@ libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a: $(LIBEND2END_TEST_CANCEL_A -deps_libend2end_test_cancel_after_invoke: $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_DEPS) +-include $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/cancel_after_invoke.o: @@ -2209,7 +2161,6 @@ LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_SRC = \ LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_SRC)))) -LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_SRC)))) libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a: $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS) $(E) "[AR] Creating $@" @@ -2220,10 +2171,8 @@ libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a: $(LIBEND2END_TEST_CANCEL_ -deps_libend2end_test_cancel_before_invoke: $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_DEPS) +-include $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/cancel_before_invoke.o: @@ -2234,7 +2183,6 @@ LIBEND2END_TEST_CANCEL_IN_A_VACUUM_SRC = \ LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_SRC)))) -LIBEND2END_TEST_CANCEL_IN_A_VACUUM_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_SRC)))) libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a: $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS) $(E) "[AR] Creating $@" @@ -2245,10 +2193,8 @@ libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a: $(LIBEND2END_TEST_CANCEL_IN -deps_libend2end_test_cancel_in_a_vacuum: $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_DEPS) +-include $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/cancel_in_a_vacuum.o: @@ -2259,7 +2205,6 @@ LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_SRC = \ LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_SRC)))) -LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_SRC)))) libs/$(CONFIG)/libend2end_test_census_simple_request.a: $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS) $(E) "[AR] Creating $@" @@ -2270,10 +2215,8 @@ libs/$(CONFIG)/libend2end_test_census_simple_request.a: $(LIBEND2END_TEST_CENSUS -deps_libend2end_test_census_simple_request: $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_DEPS) +-include $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/census_simple_request.o: @@ -2284,7 +2227,6 @@ LIBEND2END_TEST_DISAPPEARING_SERVER_SRC = \ LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_DISAPPEARING_SERVER_SRC)))) -LIBEND2END_TEST_DISAPPEARING_SERVER_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_DISAPPEARING_SERVER_SRC)))) libs/$(CONFIG)/libend2end_test_disappearing_server.a: $(LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS) $(E) "[AR] Creating $@" @@ -2295,10 +2237,8 @@ libs/$(CONFIG)/libend2end_test_disappearing_server.a: $(LIBEND2END_TEST_DISAPPEA -deps_libend2end_test_disappearing_server: $(LIBEND2END_TEST_DISAPPEARING_SERVER_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_DISAPPEARING_SERVER_DEPS) +-include $(LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/disappearing_server.o: @@ -2309,7 +2249,6 @@ LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_SRC = \ LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_SRC)))) -LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_SRC)))) libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a: $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS) $(E) "[AR] Creating $@" @@ -2320,10 +2259,8 @@ libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a: -deps_libend2end_test_early_server_shutdown_finishes_inflight_calls: $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_DEPS) +-include $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.o: @@ -2334,7 +2271,6 @@ LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_SRC = \ LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_SRC)))) -LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_SRC)))) libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a: $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS) $(E) "[AR] Creating $@" @@ -2345,10 +2281,8 @@ libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a: $(LIBEND2E -deps_libend2end_test_early_server_shutdown_finishes_tags: $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_DEPS) +-include $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/early_server_shutdown_finishes_tags.o: @@ -2359,7 +2293,6 @@ LIBEND2END_TEST_INVOKE_LARGE_REQUEST_SRC = \ LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_SRC)))) -LIBEND2END_TEST_INVOKE_LARGE_REQUEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_SRC)))) libs/$(CONFIG)/libend2end_test_invoke_large_request.a: $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS) $(E) "[AR] Creating $@" @@ -2370,10 +2303,8 @@ libs/$(CONFIG)/libend2end_test_invoke_large_request.a: $(LIBEND2END_TEST_INVOKE_ -deps_libend2end_test_invoke_large_request: $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_DEPS) +-include $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/invoke_large_request.o: @@ -2384,7 +2315,6 @@ LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_SRC = \ LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_SRC)))) -LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_SRC)))) libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a: $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS) $(E) "[AR] Creating $@" @@ -2395,10 +2325,8 @@ libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a: $(LIBEND2END_TEST_MAX_C -deps_libend2end_test_max_concurrent_streams: $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_DEPS) +-include $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/max_concurrent_streams.o: @@ -2409,7 +2337,6 @@ LIBEND2END_TEST_NO_OP_SRC = \ LIBEND2END_TEST_NO_OP_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_NO_OP_SRC)))) -LIBEND2END_TEST_NO_OP_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_NO_OP_SRC)))) libs/$(CONFIG)/libend2end_test_no_op.a: $(LIBEND2END_TEST_NO_OP_OBJS) $(E) "[AR] Creating $@" @@ -2420,10 +2347,8 @@ libs/$(CONFIG)/libend2end_test_no_op.a: $(LIBEND2END_TEST_NO_OP_OBJS) -deps_libend2end_test_no_op: $(LIBEND2END_TEST_NO_OP_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_NO_OP_DEPS) +-include $(LIBEND2END_TEST_NO_OP_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/no_op.o: @@ -2434,7 +2359,6 @@ LIBEND2END_TEST_PING_PONG_STREAMING_SRC = \ LIBEND2END_TEST_PING_PONG_STREAMING_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_PING_PONG_STREAMING_SRC)))) -LIBEND2END_TEST_PING_PONG_STREAMING_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_PING_PONG_STREAMING_SRC)))) libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a: $(LIBEND2END_TEST_PING_PONG_STREAMING_OBJS) $(E) "[AR] Creating $@" @@ -2445,10 +2369,8 @@ libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a: $(LIBEND2END_TEST_PING_PON -deps_libend2end_test_ping_pong_streaming: $(LIBEND2END_TEST_PING_PONG_STREAMING_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_PING_PONG_STREAMING_DEPS) +-include $(LIBEND2END_TEST_PING_PONG_STREAMING_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/ping_pong_streaming.o: @@ -2459,7 +2381,6 @@ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_SRC = \ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_SRC)))) -LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_SRC)))) libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS) $(E) "[AR] Creating $@" @@ -2470,10 +2391,8 @@ libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload -deps_libend2end_test_request_response_with_binary_metadata_and_payload: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_DEPS) +-include $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.o: @@ -2484,7 +2403,6 @@ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_SRC = \ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_SRC)))) -LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_SRC)))) libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS) $(E) "[AR] Creating $@" @@ -2495,10 +2413,8 @@ libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a: $(L -deps_libend2end_test_request_response_with_metadata_and_payload: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_DEPS) +-include $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/request_response_with_metadata_and_payload.o: @@ -2509,7 +2425,6 @@ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_SRC = \ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_SRC)))) -LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_SRC)))) libs/$(CONFIG)/libend2end_test_request_response_with_payload.a: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS) $(E) "[AR] Creating $@" @@ -2520,10 +2435,8 @@ libs/$(CONFIG)/libend2end_test_request_response_with_payload.a: $(LIBEND2END_TES -deps_libend2end_test_request_response_with_payload: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_DEPS) +-include $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/request_response_with_payload.o: @@ -2534,7 +2447,6 @@ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_SRC = \ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_SRC)))) -LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_SRC)))) libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS) $(E) "[AR] Creating $@" @@ -2545,10 +2457,8 @@ libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_paylo -deps_libend2end_test_request_response_with_trailing_metadata_and_payload: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_DEPS) +-include $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.o: @@ -2559,7 +2469,6 @@ LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_SRC = \ LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_SRC)))) -LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_SRC)))) libs/$(CONFIG)/libend2end_test_simple_delayed_request.a: $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS) $(E) "[AR] Creating $@" @@ -2570,10 +2479,8 @@ libs/$(CONFIG)/libend2end_test_simple_delayed_request.a: $(LIBEND2END_TEST_SIMPL -deps_libend2end_test_simple_delayed_request: $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_DEPS) +-include $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/simple_delayed_request.o: @@ -2584,7 +2491,6 @@ LIBEND2END_TEST_SIMPLE_REQUEST_SRC = \ LIBEND2END_TEST_SIMPLE_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_SIMPLE_REQUEST_SRC)))) -LIBEND2END_TEST_SIMPLE_REQUEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_SIMPLE_REQUEST_SRC)))) libs/$(CONFIG)/libend2end_test_simple_request.a: $(LIBEND2END_TEST_SIMPLE_REQUEST_OBJS) $(E) "[AR] Creating $@" @@ -2595,10 +2501,8 @@ libs/$(CONFIG)/libend2end_test_simple_request.a: $(LIBEND2END_TEST_SIMPLE_REQUES -deps_libend2end_test_simple_request: $(LIBEND2END_TEST_SIMPLE_REQUEST_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_SIMPLE_REQUEST_DEPS) +-include $(LIBEND2END_TEST_SIMPLE_REQUEST_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/simple_request.o: @@ -2609,7 +2513,6 @@ LIBEND2END_TEST_THREAD_STRESS_SRC = \ LIBEND2END_TEST_THREAD_STRESS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_THREAD_STRESS_SRC)))) -LIBEND2END_TEST_THREAD_STRESS_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_THREAD_STRESS_SRC)))) libs/$(CONFIG)/libend2end_test_thread_stress.a: $(LIBEND2END_TEST_THREAD_STRESS_OBJS) $(E) "[AR] Creating $@" @@ -2620,10 +2523,8 @@ libs/$(CONFIG)/libend2end_test_thread_stress.a: $(LIBEND2END_TEST_THREAD_STRESS_ -deps_libend2end_test_thread_stress: $(LIBEND2END_TEST_THREAD_STRESS_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_THREAD_STRESS_DEPS) +-include $(LIBEND2END_TEST_THREAD_STRESS_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/thread_stress.o: @@ -2634,7 +2535,6 @@ LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_SRC = \ LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_SRC)))) -LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_SRC)))) libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a: $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS) $(E) "[AR] Creating $@" @@ -2645,10 +2545,8 @@ libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a: $(LIBEND2E -deps_libend2end_test_writes_done_hangs_with_pending_read: $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_DEPS) - ifneq ($(NO_DEPS),true) --include $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_DEPS) +-include $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS:.o=.dep) endif objs/$(CONFIG)/test/core/end2end/tests/writes_done_hangs_with_pending_read.o: @@ -2662,7 +2560,6 @@ LIBEND2END_CERTS_SRC = \ LIBEND2END_CERTS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_CERTS_SRC)))) -LIBEND2END_CERTS_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_CERTS_SRC)))) ifeq ($(NO_SECURE),true) @@ -2682,11 +2579,9 @@ libs/$(CONFIG)/libend2end_certs.a: $(OPENSSL_DEP) $(LIBEND2END_CERTS_OBJS) endif -deps_libend2end_certs: $(LIBEND2END_CERTS_DEPS) - ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBEND2END_CERTS_DEPS) +-include $(LIBEND2END_CERTS_OBJS:.o=.dep) endif endif @@ -2704,7 +2599,6 @@ GEN_HPACK_TABLES_SRC = \ src/core/transport/chttp2/gen_hpack_tables.c \ GEN_HPACK_TABLES_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GEN_HPACK_TABLES_SRC)))) -GEN_HPACK_TABLES_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GEN_HPACK_TABLES_SRC)))) ifeq ($(NO_SECURE),true) @@ -2721,11 +2615,11 @@ endif objs/$(CONFIG)/src/core/transport/chttp2/gen_hpack_tables.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgpr.a libs/$(CONFIG)/libgrpc.a -deps_gen_hpack_tables: $(GEN_HPACK_TABLES_DEPS) +deps_gen_hpack_tables: $(GEN_HPACK_TABLES_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GEN_HPACK_TABLES_DEPS) +-include $(GEN_HPACK_TABLES_OBJS:.o=.dep) endif endif @@ -2735,7 +2629,6 @@ CPP_PLUGIN_SRC = \ src/compiler/cpp_generator.cpp \ CPP_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CPP_PLUGIN_SRC)))) -CPP_PLUGIN_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CPP_PLUGIN_SRC)))) bins/$(CONFIG)/cpp_plugin: $(CPP_PLUGIN_OBJS) $(E) "[HOSTLD] Linking $@" @@ -2745,10 +2638,10 @@ bins/$(CONFIG)/cpp_plugin: $(CPP_PLUGIN_OBJS) objs/$(CONFIG)/src/compiler/cpp_plugin.o: objs/$(CONFIG)/src/compiler/cpp_generator.o: -deps_cpp_plugin: $(CPP_PLUGIN_DEPS) +deps_cpp_plugin: $(CPP_PLUGIN_OBJS:.o=.dep) ifneq ($(NO_DEPS),true) --include $(CPP_PLUGIN_DEPS) +-include $(CPP_PLUGIN_OBJS:.o=.dep) endif @@ -2757,7 +2650,6 @@ RUBY_PLUGIN_SRC = \ src/compiler/ruby_generator.cpp \ RUBY_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(RUBY_PLUGIN_SRC)))) -RUBY_PLUGIN_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(RUBY_PLUGIN_SRC)))) bins/$(CONFIG)/ruby_plugin: $(RUBY_PLUGIN_OBJS) $(E) "[HOSTLD] Linking $@" @@ -2767,10 +2659,10 @@ bins/$(CONFIG)/ruby_plugin: $(RUBY_PLUGIN_OBJS) objs/$(CONFIG)/src/compiler/ruby_plugin.o: objs/$(CONFIG)/src/compiler/ruby_generator.o: -deps_ruby_plugin: $(RUBY_PLUGIN_DEPS) +deps_ruby_plugin: $(RUBY_PLUGIN_OBJS:.o=.dep) ifneq ($(NO_DEPS),true) --include $(RUBY_PLUGIN_DEPS) +-include $(RUBY_PLUGIN_OBJS:.o=.dep) endif @@ -2778,7 +2670,6 @@ GRPC_BYTE_BUFFER_READER_TEST_SRC = \ test/core/surface/byte_buffer_reader_test.c \ GRPC_BYTE_BUFFER_READER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_BYTE_BUFFER_READER_TEST_SRC)))) -GRPC_BYTE_BUFFER_READER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_BYTE_BUFFER_READER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -2795,11 +2686,11 @@ endif objs/$(CONFIG)/test/core/surface/byte_buffer_reader_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_byte_buffer_reader_test: $(GRPC_BYTE_BUFFER_READER_TEST_DEPS) +deps_grpc_byte_buffer_reader_test: $(GRPC_BYTE_BUFFER_READER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_BYTE_BUFFER_READER_TEST_DEPS) +-include $(GRPC_BYTE_BUFFER_READER_TEST_OBJS:.o=.dep) endif endif @@ -2808,7 +2699,6 @@ GPR_CANCELLABLE_TEST_SRC = \ test/core/support/cancellable_test.c \ GPR_CANCELLABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_CANCELLABLE_TEST_SRC)))) -GPR_CANCELLABLE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_CANCELLABLE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -2825,11 +2715,11 @@ endif objs/$(CONFIG)/test/core/support/cancellable_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_cancellable_test: $(GPR_CANCELLABLE_TEST_DEPS) +deps_gpr_cancellable_test: $(GPR_CANCELLABLE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_CANCELLABLE_TEST_DEPS) +-include $(GPR_CANCELLABLE_TEST_OBJS:.o=.dep) endif endif @@ -2838,7 +2728,6 @@ GPR_LOG_TEST_SRC = \ test/core/support/log_test.c \ GPR_LOG_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_LOG_TEST_SRC)))) -GPR_LOG_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_LOG_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -2855,11 +2744,11 @@ endif objs/$(CONFIG)/test/core/support/log_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_log_test: $(GPR_LOG_TEST_DEPS) +deps_gpr_log_test: $(GPR_LOG_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_LOG_TEST_DEPS) +-include $(GPR_LOG_TEST_OBJS:.o=.dep) endif endif @@ -2868,7 +2757,6 @@ GPR_USEFUL_TEST_SRC = \ test/core/support/useful_test.c \ GPR_USEFUL_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_USEFUL_TEST_SRC)))) -GPR_USEFUL_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_USEFUL_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -2885,11 +2773,11 @@ endif objs/$(CONFIG)/test/core/support/useful_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_useful_test: $(GPR_USEFUL_TEST_DEPS) +deps_gpr_useful_test: $(GPR_USEFUL_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_USEFUL_TEST_DEPS) +-include $(GPR_USEFUL_TEST_OBJS:.o=.dep) endif endif @@ -2898,7 +2786,6 @@ GPR_CMDLINE_TEST_SRC = \ test/core/support/cmdline_test.c \ GPR_CMDLINE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_CMDLINE_TEST_SRC)))) -GPR_CMDLINE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_CMDLINE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -2915,11 +2802,11 @@ endif objs/$(CONFIG)/test/core/support/cmdline_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_cmdline_test: $(GPR_CMDLINE_TEST_DEPS) +deps_gpr_cmdline_test: $(GPR_CMDLINE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_CMDLINE_TEST_DEPS) +-include $(GPR_CMDLINE_TEST_OBJS:.o=.dep) endif endif @@ -2928,7 +2815,6 @@ GPR_HISTOGRAM_TEST_SRC = \ test/core/support/histogram_test.c \ GPR_HISTOGRAM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_HISTOGRAM_TEST_SRC)))) -GPR_HISTOGRAM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_HISTOGRAM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -2945,11 +2831,11 @@ endif objs/$(CONFIG)/test/core/support/histogram_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_histogram_test: $(GPR_HISTOGRAM_TEST_DEPS) +deps_gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_HISTOGRAM_TEST_DEPS) +-include $(GPR_HISTOGRAM_TEST_OBJS:.o=.dep) endif endif @@ -2958,7 +2844,6 @@ GPR_HOST_PORT_TEST_SRC = \ test/core/support/host_port_test.c \ GPR_HOST_PORT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_HOST_PORT_TEST_SRC)))) -GPR_HOST_PORT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_HOST_PORT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -2975,11 +2860,11 @@ endif objs/$(CONFIG)/test/core/support/host_port_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_host_port_test: $(GPR_HOST_PORT_TEST_DEPS) +deps_gpr_host_port_test: $(GPR_HOST_PORT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_HOST_PORT_TEST_DEPS) +-include $(GPR_HOST_PORT_TEST_OBJS:.o=.dep) endif endif @@ -2988,7 +2873,6 @@ GPR_SLICE_BUFFER_TEST_SRC = \ test/core/support/slice_buffer_test.c \ GPR_SLICE_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SLICE_BUFFER_TEST_SRC)))) -GPR_SLICE_BUFFER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_SLICE_BUFFER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3005,11 +2889,11 @@ endif objs/$(CONFIG)/test/core/support/slice_buffer_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_slice_buffer_test: $(GPR_SLICE_BUFFER_TEST_DEPS) +deps_gpr_slice_buffer_test: $(GPR_SLICE_BUFFER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_SLICE_BUFFER_TEST_DEPS) +-include $(GPR_SLICE_BUFFER_TEST_OBJS:.o=.dep) endif endif @@ -3018,7 +2902,6 @@ GPR_SLICE_TEST_SRC = \ test/core/support/slice_test.c \ GPR_SLICE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SLICE_TEST_SRC)))) -GPR_SLICE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_SLICE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3035,11 +2918,11 @@ endif objs/$(CONFIG)/test/core/support/slice_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_slice_test: $(GPR_SLICE_TEST_DEPS) +deps_gpr_slice_test: $(GPR_SLICE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_SLICE_TEST_DEPS) +-include $(GPR_SLICE_TEST_OBJS:.o=.dep) endif endif @@ -3048,7 +2931,6 @@ GPR_STRING_TEST_SRC = \ test/core/support/string_test.c \ GPR_STRING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_STRING_TEST_SRC)))) -GPR_STRING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_STRING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3065,11 +2947,11 @@ endif objs/$(CONFIG)/test/core/support/string_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_string_test: $(GPR_STRING_TEST_DEPS) +deps_gpr_string_test: $(GPR_STRING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_STRING_TEST_DEPS) +-include $(GPR_STRING_TEST_OBJS:.o=.dep) endif endif @@ -3078,7 +2960,6 @@ GPR_SYNC_TEST_SRC = \ test/core/support/sync_test.c \ GPR_SYNC_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SYNC_TEST_SRC)))) -GPR_SYNC_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_SYNC_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3095,11 +2976,11 @@ endif objs/$(CONFIG)/test/core/support/sync_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_sync_test: $(GPR_SYNC_TEST_DEPS) +deps_gpr_sync_test: $(GPR_SYNC_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_SYNC_TEST_DEPS) +-include $(GPR_SYNC_TEST_OBJS:.o=.dep) endif endif @@ -3108,7 +2989,6 @@ GPR_THD_TEST_SRC = \ test/core/support/thd_test.c \ GPR_THD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_THD_TEST_SRC)))) -GPR_THD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_THD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3125,11 +3005,11 @@ endif objs/$(CONFIG)/test/core/support/thd_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_thd_test: $(GPR_THD_TEST_DEPS) +deps_gpr_thd_test: $(GPR_THD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_THD_TEST_DEPS) +-include $(GPR_THD_TEST_OBJS:.o=.dep) endif endif @@ -3138,7 +3018,6 @@ GPR_TIME_TEST_SRC = \ test/core/support/time_test.c \ GPR_TIME_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_TIME_TEST_SRC)))) -GPR_TIME_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GPR_TIME_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3155,11 +3034,11 @@ endif objs/$(CONFIG)/test/core/support/time_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_time_test: $(GPR_TIME_TEST_DEPS) +deps_gpr_time_test: $(GPR_TIME_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_TIME_TEST_DEPS) +-include $(GPR_TIME_TEST_OBJS:.o=.dep) endif endif @@ -3168,7 +3047,6 @@ MURMUR_HASH_TEST_SRC = \ test/core/support/murmur_hash_test.c \ MURMUR_HASH_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(MURMUR_HASH_TEST_SRC)))) -MURMUR_HASH_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(MURMUR_HASH_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3185,11 +3063,11 @@ endif objs/$(CONFIG)/test/core/support/murmur_hash_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_murmur_hash_test: $(MURMUR_HASH_TEST_DEPS) +deps_murmur_hash_test: $(MURMUR_HASH_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(MURMUR_HASH_TEST_DEPS) +-include $(MURMUR_HASH_TEST_OBJS:.o=.dep) endif endif @@ -3198,7 +3076,6 @@ GRPC_STREAM_OP_TEST_SRC = \ test/core/transport/stream_op_test.c \ GRPC_STREAM_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_STREAM_OP_TEST_SRC)))) -GRPC_STREAM_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_STREAM_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3215,11 +3092,11 @@ endif objs/$(CONFIG)/test/core/transport/stream_op_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_stream_op_test: $(GRPC_STREAM_OP_TEST_DEPS) +deps_grpc_stream_op_test: $(GRPC_STREAM_OP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_STREAM_OP_TEST_DEPS) +-include $(GRPC_STREAM_OP_TEST_OBJS:.o=.dep) endif endif @@ -3228,7 +3105,6 @@ ALPN_TEST_SRC = \ test/core/transport/chttp2/alpn_test.c \ ALPN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALPN_TEST_SRC)))) -ALPN_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ALPN_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3245,11 +3121,11 @@ endif objs/$(CONFIG)/test/core/transport/chttp2/alpn_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_alpn_test: $(ALPN_TEST_DEPS) +deps_alpn_test: $(ALPN_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ALPN_TEST_DEPS) +-include $(ALPN_TEST_OBJS:.o=.dep) endif endif @@ -3258,7 +3134,6 @@ TIME_AVERAGED_STATS_TEST_SRC = \ test/core/iomgr/time_averaged_stats_test.c \ TIME_AVERAGED_STATS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIME_AVERAGED_STATS_TEST_SRC)))) -TIME_AVERAGED_STATS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TIME_AVERAGED_STATS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3275,11 +3150,11 @@ endif objs/$(CONFIG)/test/core/iomgr/time_averaged_stats_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_time_averaged_stats_test: $(TIME_AVERAGED_STATS_TEST_DEPS) +deps_time_averaged_stats_test: $(TIME_AVERAGED_STATS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TIME_AVERAGED_STATS_TEST_DEPS) +-include $(TIME_AVERAGED_STATS_TEST_OBJS:.o=.dep) endif endif @@ -3288,7 +3163,6 @@ CHTTP2_STREAM_ENCODER_TEST_SRC = \ test/core/transport/chttp2/stream_encoder_test.c \ CHTTP2_STREAM_ENCODER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_STREAM_ENCODER_TEST_SRC)))) -CHTTP2_STREAM_ENCODER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_STREAM_ENCODER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3305,11 +3179,11 @@ endif objs/$(CONFIG)/test/core/transport/chttp2/stream_encoder_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_chttp2_stream_encoder_test: $(CHTTP2_STREAM_ENCODER_TEST_DEPS) +deps_chttp2_stream_encoder_test: $(CHTTP2_STREAM_ENCODER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_STREAM_ENCODER_TEST_DEPS) +-include $(CHTTP2_STREAM_ENCODER_TEST_OBJS:.o=.dep) endif endif @@ -3318,7 +3192,6 @@ HPACK_TABLE_TEST_SRC = \ test/core/transport/chttp2/hpack_table_test.c \ HPACK_TABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_TABLE_TEST_SRC)))) -HPACK_TABLE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(HPACK_TABLE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3335,11 +3208,11 @@ endif objs/$(CONFIG)/test/core/transport/chttp2/hpack_table_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_hpack_table_test: $(HPACK_TABLE_TEST_DEPS) +deps_hpack_table_test: $(HPACK_TABLE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HPACK_TABLE_TEST_DEPS) +-include $(HPACK_TABLE_TEST_OBJS:.o=.dep) endif endif @@ -3348,7 +3221,6 @@ CHTTP2_STREAM_MAP_TEST_SRC = \ test/core/transport/chttp2/stream_map_test.c \ CHTTP2_STREAM_MAP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_STREAM_MAP_TEST_SRC)))) -CHTTP2_STREAM_MAP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_STREAM_MAP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3365,11 +3237,11 @@ endif objs/$(CONFIG)/test/core/transport/chttp2/stream_map_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_chttp2_stream_map_test: $(CHTTP2_STREAM_MAP_TEST_DEPS) +deps_chttp2_stream_map_test: $(CHTTP2_STREAM_MAP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_STREAM_MAP_TEST_DEPS) +-include $(CHTTP2_STREAM_MAP_TEST_OBJS:.o=.dep) endif endif @@ -3378,7 +3250,6 @@ HPACK_PARSER_TEST_SRC = \ test/core/transport/chttp2/hpack_parser_test.c \ HPACK_PARSER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_PARSER_TEST_SRC)))) -HPACK_PARSER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(HPACK_PARSER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3395,11 +3266,11 @@ endif objs/$(CONFIG)/test/core/transport/chttp2/hpack_parser_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_hpack_parser_test: $(HPACK_PARSER_TEST_DEPS) +deps_hpack_parser_test: $(HPACK_PARSER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HPACK_PARSER_TEST_DEPS) +-include $(HPACK_PARSER_TEST_OBJS:.o=.dep) endif endif @@ -3408,7 +3279,6 @@ TRANSPORT_METADATA_TEST_SRC = \ test/core/transport/metadata_test.c \ TRANSPORT_METADATA_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TRANSPORT_METADATA_TEST_SRC)))) -TRANSPORT_METADATA_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TRANSPORT_METADATA_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3425,11 +3295,11 @@ endif objs/$(CONFIG)/test/core/transport/metadata_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_transport_metadata_test: $(TRANSPORT_METADATA_TEST_DEPS) +deps_transport_metadata_test: $(TRANSPORT_METADATA_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TRANSPORT_METADATA_TEST_DEPS) +-include $(TRANSPORT_METADATA_TEST_OBJS:.o=.dep) endif endif @@ -3438,7 +3308,6 @@ CHTTP2_STATUS_CONVERSION_TEST_SRC = \ test/core/transport/chttp2/status_conversion_test.c \ CHTTP2_STATUS_CONVERSION_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_STATUS_CONVERSION_TEST_SRC)))) -CHTTP2_STATUS_CONVERSION_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_STATUS_CONVERSION_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3455,11 +3324,11 @@ endif objs/$(CONFIG)/test/core/transport/chttp2/status_conversion_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_chttp2_status_conversion_test: $(CHTTP2_STATUS_CONVERSION_TEST_DEPS) +deps_chttp2_status_conversion_test: $(CHTTP2_STATUS_CONVERSION_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_STATUS_CONVERSION_TEST_DEPS) +-include $(CHTTP2_STATUS_CONVERSION_TEST_OBJS:.o=.dep) endif endif @@ -3468,7 +3337,6 @@ CHTTP2_TRANSPORT_END2END_TEST_SRC = \ test/core/transport/chttp2_transport_end2end_test.c \ CHTTP2_TRANSPORT_END2END_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_TRANSPORT_END2END_TEST_SRC)))) -CHTTP2_TRANSPORT_END2END_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_TRANSPORT_END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3485,11 +3353,11 @@ endif objs/$(CONFIG)/test/core/transport/chttp2_transport_end2end_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_chttp2_transport_end2end_test: $(CHTTP2_TRANSPORT_END2END_TEST_DEPS) +deps_chttp2_transport_end2end_test: $(CHTTP2_TRANSPORT_END2END_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_TRANSPORT_END2END_TEST_DEPS) +-include $(CHTTP2_TRANSPORT_END2END_TEST_OBJS:.o=.dep) endif endif @@ -3498,7 +3366,6 @@ TCP_POSIX_TEST_SRC = \ test/core/iomgr/tcp_posix_test.c \ TCP_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_POSIX_TEST_SRC)))) -TCP_POSIX_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TCP_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3515,11 +3382,11 @@ endif objs/$(CONFIG)/test/core/iomgr/tcp_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_tcp_posix_test: $(TCP_POSIX_TEST_DEPS) +deps_tcp_posix_test: $(TCP_POSIX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TCP_POSIX_TEST_DEPS) +-include $(TCP_POSIX_TEST_OBJS:.o=.dep) endif endif @@ -3528,7 +3395,6 @@ DUALSTACK_SOCKET_TEST_SRC = \ test/core/end2end/dualstack_socket_test.c \ DUALSTACK_SOCKET_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(DUALSTACK_SOCKET_TEST_SRC)))) -DUALSTACK_SOCKET_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(DUALSTACK_SOCKET_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3545,11 +3411,11 @@ endif objs/$(CONFIG)/test/core/end2end/dualstack_socket_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_dualstack_socket_test: $(DUALSTACK_SOCKET_TEST_DEPS) +deps_dualstack_socket_test: $(DUALSTACK_SOCKET_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(DUALSTACK_SOCKET_TEST_DEPS) +-include $(DUALSTACK_SOCKET_TEST_OBJS:.o=.dep) endif endif @@ -3558,7 +3424,6 @@ NO_SERVER_TEST_SRC = \ test/core/end2end/no_server_test.c \ NO_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(NO_SERVER_TEST_SRC)))) -NO_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(NO_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3575,11 +3440,11 @@ endif objs/$(CONFIG)/test/core/end2end/no_server_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_no_server_test: $(NO_SERVER_TEST_DEPS) +deps_no_server_test: $(NO_SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(NO_SERVER_TEST_DEPS) +-include $(NO_SERVER_TEST_OBJS:.o=.dep) endif endif @@ -3588,7 +3453,6 @@ RESOLVE_ADDRESS_TEST_SRC = \ test/core/iomgr/resolve_address_test.c \ RESOLVE_ADDRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(RESOLVE_ADDRESS_TEST_SRC)))) -RESOLVE_ADDRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(RESOLVE_ADDRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3605,11 +3469,11 @@ endif objs/$(CONFIG)/test/core/iomgr/resolve_address_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_resolve_address_test: $(RESOLVE_ADDRESS_TEST_DEPS) +deps_resolve_address_test: $(RESOLVE_ADDRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(RESOLVE_ADDRESS_TEST_DEPS) +-include $(RESOLVE_ADDRESS_TEST_OBJS:.o=.dep) endif endif @@ -3618,7 +3482,6 @@ SOCKADDR_UTILS_TEST_SRC = \ test/core/iomgr/sockaddr_utils_test.c \ SOCKADDR_UTILS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SOCKADDR_UTILS_TEST_SRC)))) -SOCKADDR_UTILS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(SOCKADDR_UTILS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3635,11 +3498,11 @@ endif objs/$(CONFIG)/test/core/iomgr/sockaddr_utils_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_sockaddr_utils_test: $(SOCKADDR_UTILS_TEST_DEPS) +deps_sockaddr_utils_test: $(SOCKADDR_UTILS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SOCKADDR_UTILS_TEST_DEPS) +-include $(SOCKADDR_UTILS_TEST_OBJS:.o=.dep) endif endif @@ -3648,7 +3511,6 @@ TCP_SERVER_POSIX_TEST_SRC = \ test/core/iomgr/tcp_server_posix_test.c \ TCP_SERVER_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_SERVER_POSIX_TEST_SRC)))) -TCP_SERVER_POSIX_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TCP_SERVER_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3665,11 +3527,11 @@ endif objs/$(CONFIG)/test/core/iomgr/tcp_server_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_tcp_server_posix_test: $(TCP_SERVER_POSIX_TEST_DEPS) +deps_tcp_server_posix_test: $(TCP_SERVER_POSIX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TCP_SERVER_POSIX_TEST_DEPS) +-include $(TCP_SERVER_POSIX_TEST_OBJS:.o=.dep) endif endif @@ -3678,7 +3540,6 @@ TCP_CLIENT_POSIX_TEST_SRC = \ test/core/iomgr/tcp_client_posix_test.c \ TCP_CLIENT_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_CLIENT_POSIX_TEST_SRC)))) -TCP_CLIENT_POSIX_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TCP_CLIENT_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3695,11 +3556,11 @@ endif objs/$(CONFIG)/test/core/iomgr/tcp_client_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_tcp_client_posix_test: $(TCP_CLIENT_POSIX_TEST_DEPS) +deps_tcp_client_posix_test: $(TCP_CLIENT_POSIX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TCP_CLIENT_POSIX_TEST_DEPS) +-include $(TCP_CLIENT_POSIX_TEST_OBJS:.o=.dep) endif endif @@ -3708,7 +3569,6 @@ GRPC_CHANNEL_STACK_TEST_SRC = \ test/core/channel/channel_stack_test.c \ GRPC_CHANNEL_STACK_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CHANNEL_STACK_TEST_SRC)))) -GRPC_CHANNEL_STACK_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_CHANNEL_STACK_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3725,11 +3585,11 @@ endif objs/$(CONFIG)/test/core/channel/channel_stack_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_channel_stack_test: $(GRPC_CHANNEL_STACK_TEST_DEPS) +deps_grpc_channel_stack_test: $(GRPC_CHANNEL_STACK_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_CHANNEL_STACK_TEST_DEPS) +-include $(GRPC_CHANNEL_STACK_TEST_OBJS:.o=.dep) endif endif @@ -3738,7 +3598,6 @@ METADATA_BUFFER_TEST_SRC = \ test/core/channel/metadata_buffer_test.c \ METADATA_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(METADATA_BUFFER_TEST_SRC)))) -METADATA_BUFFER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(METADATA_BUFFER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3755,11 +3614,11 @@ endif objs/$(CONFIG)/test/core/channel/metadata_buffer_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_metadata_buffer_test: $(METADATA_BUFFER_TEST_DEPS) +deps_metadata_buffer_test: $(METADATA_BUFFER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(METADATA_BUFFER_TEST_DEPS) +-include $(METADATA_BUFFER_TEST_OBJS:.o=.dep) endif endif @@ -3768,7 +3627,6 @@ GRPC_COMPLETION_QUEUE_TEST_SRC = \ test/core/surface/completion_queue_test.c \ GRPC_COMPLETION_QUEUE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_COMPLETION_QUEUE_TEST_SRC)))) -GRPC_COMPLETION_QUEUE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_COMPLETION_QUEUE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3785,11 +3643,11 @@ endif objs/$(CONFIG)/test/core/surface/completion_queue_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_completion_queue_test: $(GRPC_COMPLETION_QUEUE_TEST_DEPS) +deps_grpc_completion_queue_test: $(GRPC_COMPLETION_QUEUE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_COMPLETION_QUEUE_TEST_DEPS) +-include $(GRPC_COMPLETION_QUEUE_TEST_OBJS:.o=.dep) endif endif @@ -3798,7 +3656,6 @@ GRPC_COMPLETION_QUEUE_BENCHMARK_SRC = \ test/core/surface/completion_queue_benchmark.c \ GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_COMPLETION_QUEUE_BENCHMARK_SRC)))) -GRPC_COMPLETION_QUEUE_BENCHMARK_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_COMPLETION_QUEUE_BENCHMARK_SRC)))) ifeq ($(NO_SECURE),true) @@ -3815,11 +3672,11 @@ endif objs/$(CONFIG)/test/core/surface/completion_queue_benchmark.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_completion_queue_benchmark: $(GRPC_COMPLETION_QUEUE_BENCHMARK_DEPS) +deps_grpc_completion_queue_benchmark: $(GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_COMPLETION_QUEUE_BENCHMARK_DEPS) +-include $(GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS:.o=.dep) endif endif @@ -3828,7 +3685,6 @@ CENSUS_TRACE_STORE_TEST_SRC = \ test/core/statistics/trace_test.c \ CENSUS_TRACE_STORE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_TRACE_STORE_TEST_SRC)))) -CENSUS_TRACE_STORE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_TRACE_STORE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3845,11 +3701,11 @@ endif objs/$(CONFIG)/test/core/statistics/trace_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_trace_store_test: $(CENSUS_TRACE_STORE_TEST_DEPS) +deps_census_trace_store_test: $(CENSUS_TRACE_STORE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_TRACE_STORE_TEST_DEPS) +-include $(CENSUS_TRACE_STORE_TEST_OBJS:.o=.dep) endif endif @@ -3858,7 +3714,6 @@ CENSUS_STATS_STORE_TEST_SRC = \ test/core/statistics/rpc_stats_test.c \ CENSUS_STATS_STORE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATS_STORE_TEST_SRC)))) -CENSUS_STATS_STORE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATS_STORE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3875,11 +3730,11 @@ endif objs/$(CONFIG)/test/core/statistics/rpc_stats_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_stats_store_test: $(CENSUS_STATS_STORE_TEST_DEPS) +deps_census_stats_store_test: $(CENSUS_STATS_STORE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STATS_STORE_TEST_DEPS) +-include $(CENSUS_STATS_STORE_TEST_OBJS:.o=.dep) endif endif @@ -3888,7 +3743,6 @@ CENSUS_WINDOW_STATS_TEST_SRC = \ test/core/statistics/window_stats_test.c \ CENSUS_WINDOW_STATS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_WINDOW_STATS_TEST_SRC)))) -CENSUS_WINDOW_STATS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_WINDOW_STATS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3905,11 +3759,11 @@ endif objs/$(CONFIG)/test/core/statistics/window_stats_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_window_stats_test: $(CENSUS_WINDOW_STATS_TEST_DEPS) +deps_census_window_stats_test: $(CENSUS_WINDOW_STATS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_WINDOW_STATS_TEST_DEPS) +-include $(CENSUS_WINDOW_STATS_TEST_OBJS:.o=.dep) endif endif @@ -3918,7 +3772,6 @@ CENSUS_STATISTICS_QUICK_TEST_SRC = \ test/core/statistics/quick_test.c \ CENSUS_STATISTICS_QUICK_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_QUICK_TEST_SRC)))) -CENSUS_STATISTICS_QUICK_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_QUICK_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3935,11 +3788,11 @@ endif objs/$(CONFIG)/test/core/statistics/quick_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_statistics_quick_test: $(CENSUS_STATISTICS_QUICK_TEST_DEPS) +deps_census_statistics_quick_test: $(CENSUS_STATISTICS_QUICK_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STATISTICS_QUICK_TEST_DEPS) +-include $(CENSUS_STATISTICS_QUICK_TEST_OBJS:.o=.dep) endif endif @@ -3948,7 +3801,6 @@ CENSUS_STATISTICS_SMALL_LOG_TEST_SRC = \ test/core/statistics/small_log_test.c \ CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_SMALL_LOG_TEST_SRC)))) -CENSUS_STATISTICS_SMALL_LOG_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_SMALL_LOG_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3965,11 +3817,11 @@ endif objs/$(CONFIG)/test/core/statistics/small_log_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_statistics_small_log_test: $(CENSUS_STATISTICS_SMALL_LOG_TEST_DEPS) +deps_census_statistics_small_log_test: $(CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STATISTICS_SMALL_LOG_TEST_DEPS) +-include $(CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS:.o=.dep) endif endif @@ -3978,7 +3830,6 @@ CENSUS_STATISTICS_PERFORMANCE_TEST_SRC = \ test/core/statistics/performance_test.c \ CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_PERFORMANCE_TEST_SRC)))) -CENSUS_STATISTICS_PERFORMANCE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_PERFORMANCE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -3995,11 +3846,11 @@ endif objs/$(CONFIG)/test/core/statistics/performance_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_statistics_performance_test: $(CENSUS_STATISTICS_PERFORMANCE_TEST_DEPS) +deps_census_statistics_performance_test: $(CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STATISTICS_PERFORMANCE_TEST_DEPS) +-include $(CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS:.o=.dep) endif endif @@ -4008,7 +3859,6 @@ CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_SRC = \ test/core/statistics/multiple_writers_test.c \ CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_SRC)))) -CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4025,11 +3875,11 @@ endif objs/$(CONFIG)/test/core/statistics/multiple_writers_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_statistics_multiple_writers_test: $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_DEPS) +deps_census_statistics_multiple_writers_test: $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_DEPS) +-include $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS:.o=.dep) endif endif @@ -4038,7 +3888,6 @@ CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_SRC = \ test/core/statistics/multiple_writers_circular_buffer_test.c \ CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_SRC)))) -CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4055,11 +3904,11 @@ endif objs/$(CONFIG)/test/core/statistics/multiple_writers_circular_buffer_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_statistics_multiple_writers_circular_buffer_test: $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_DEPS) +deps_census_statistics_multiple_writers_circular_buffer_test: $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_DEPS) +-include $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS:.o=.dep) endif endif @@ -4068,7 +3917,6 @@ CENSUS_STUB_TEST_SRC = \ test/core/statistics/census_stub_test.c \ CENSUS_STUB_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STUB_TEST_SRC)))) -CENSUS_STUB_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_STUB_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4085,11 +3933,11 @@ endif objs/$(CONFIG)/test/core/statistics/census_stub_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_stub_test: $(CENSUS_STUB_TEST_DEPS) +deps_census_stub_test: $(CENSUS_STUB_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STUB_TEST_DEPS) +-include $(CENSUS_STUB_TEST_OBJS:.o=.dep) endif endif @@ -4098,7 +3946,6 @@ CENSUS_HASH_TABLE_TEST_SRC = \ test/core/statistics/hash_table_test.c \ CENSUS_HASH_TABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_HASH_TABLE_TEST_SRC)))) -CENSUS_HASH_TABLE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CENSUS_HASH_TABLE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4115,11 +3962,11 @@ endif objs/$(CONFIG)/test/core/statistics/hash_table_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_hash_table_test: $(CENSUS_HASH_TABLE_TEST_DEPS) +deps_census_hash_table_test: $(CENSUS_HASH_TABLE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_HASH_TABLE_TEST_DEPS) +-include $(CENSUS_HASH_TABLE_TEST_OBJS:.o=.dep) endif endif @@ -4128,7 +3975,6 @@ FLING_SERVER_SRC = \ test/core/fling/server.c \ FLING_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_SERVER_SRC)))) -FLING_SERVER_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(FLING_SERVER_SRC)))) ifeq ($(NO_SECURE),true) @@ -4145,11 +3991,11 @@ endif objs/$(CONFIG)/test/core/fling/server.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_fling_server: $(FLING_SERVER_DEPS) +deps_fling_server: $(FLING_SERVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FLING_SERVER_DEPS) +-include $(FLING_SERVER_OBJS:.o=.dep) endif endif @@ -4158,7 +4004,6 @@ FLING_CLIENT_SRC = \ test/core/fling/client.c \ FLING_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_CLIENT_SRC)))) -FLING_CLIENT_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(FLING_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) @@ -4175,11 +4020,11 @@ endif objs/$(CONFIG)/test/core/fling/client.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_fling_client: $(FLING_CLIENT_DEPS) +deps_fling_client: $(FLING_CLIENT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FLING_CLIENT_DEPS) +-include $(FLING_CLIENT_OBJS:.o=.dep) endif endif @@ -4188,7 +4033,6 @@ FLING_TEST_SRC = \ test/core/fling/fling_test.c \ FLING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_TEST_SRC)))) -FLING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(FLING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4205,11 +4049,11 @@ endif objs/$(CONFIG)/test/core/fling/fling_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_fling_test: $(FLING_TEST_DEPS) +deps_fling_test: $(FLING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FLING_TEST_DEPS) +-include $(FLING_TEST_OBJS:.o=.dep) endif endif @@ -4218,7 +4062,6 @@ ECHO_SERVER_SRC = \ test/core/echo/server.c \ ECHO_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_SERVER_SRC)))) -ECHO_SERVER_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ECHO_SERVER_SRC)))) ifeq ($(NO_SECURE),true) @@ -4235,11 +4078,11 @@ endif objs/$(CONFIG)/test/core/echo/server.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_echo_server: $(ECHO_SERVER_DEPS) +deps_echo_server: $(ECHO_SERVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ECHO_SERVER_DEPS) +-include $(ECHO_SERVER_OBJS:.o=.dep) endif endif @@ -4248,7 +4091,6 @@ ECHO_CLIENT_SRC = \ test/core/echo/client.c \ ECHO_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_CLIENT_SRC)))) -ECHO_CLIENT_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ECHO_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) @@ -4265,11 +4107,11 @@ endif objs/$(CONFIG)/test/core/echo/client.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_echo_client: $(ECHO_CLIENT_DEPS) +deps_echo_client: $(ECHO_CLIENT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ECHO_CLIENT_DEPS) +-include $(ECHO_CLIENT_OBJS:.o=.dep) endif endif @@ -4278,7 +4120,6 @@ ECHO_TEST_SRC = \ test/core/echo/echo_test.c \ ECHO_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_TEST_SRC)))) -ECHO_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ECHO_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4295,11 +4136,11 @@ endif objs/$(CONFIG)/test/core/echo/echo_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_echo_test: $(ECHO_TEST_DEPS) +deps_echo_test: $(ECHO_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ECHO_TEST_DEPS) +-include $(ECHO_TEST_OBJS:.o=.dep) endif endif @@ -4308,7 +4149,6 @@ LOW_LEVEL_PING_PONG_BENCHMARK_SRC = \ test/core/network_benchmarks/low_level_ping_pong.c \ LOW_LEVEL_PING_PONG_BENCHMARK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LOW_LEVEL_PING_PONG_BENCHMARK_SRC)))) -LOW_LEVEL_PING_PONG_BENCHMARK_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LOW_LEVEL_PING_PONG_BENCHMARK_SRC)))) ifeq ($(NO_SECURE),true) @@ -4325,11 +4165,11 @@ endif objs/$(CONFIG)/test/core/network_benchmarks/low_level_ping_pong.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_low_level_ping_pong_benchmark: $(LOW_LEVEL_PING_PONG_BENCHMARK_DEPS) +deps_low_level_ping_pong_benchmark: $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LOW_LEVEL_PING_PONG_BENCHMARK_DEPS) +-include $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS:.o=.dep) endif endif @@ -4338,7 +4178,6 @@ MESSAGE_COMPRESS_TEST_SRC = \ test/core/compression/message_compress_test.c \ MESSAGE_COMPRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(MESSAGE_COMPRESS_TEST_SRC)))) -MESSAGE_COMPRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(MESSAGE_COMPRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4355,11 +4194,11 @@ endif objs/$(CONFIG)/test/core/compression/message_compress_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_message_compress_test: $(MESSAGE_COMPRESS_TEST_DEPS) +deps_message_compress_test: $(MESSAGE_COMPRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(MESSAGE_COMPRESS_TEST_DEPS) +-include $(MESSAGE_COMPRESS_TEST_OBJS:.o=.dep) endif endif @@ -4368,7 +4207,6 @@ BIN_ENCODER_TEST_SRC = \ test/core/transport/chttp2/bin_encoder_test.c \ BIN_ENCODER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(BIN_ENCODER_TEST_SRC)))) -BIN_ENCODER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(BIN_ENCODER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4385,11 +4223,11 @@ endif objs/$(CONFIG)/test/core/transport/chttp2/bin_encoder_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_bin_encoder_test: $(BIN_ENCODER_TEST_DEPS) +deps_bin_encoder_test: $(BIN_ENCODER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(BIN_ENCODER_TEST_DEPS) +-include $(BIN_ENCODER_TEST_OBJS:.o=.dep) endif endif @@ -4398,7 +4236,6 @@ SECURE_ENDPOINT_TEST_SRC = \ test/core/security/secure_endpoint_test.c \ SECURE_ENDPOINT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SECURE_ENDPOINT_TEST_SRC)))) -SECURE_ENDPOINT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(SECURE_ENDPOINT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4415,11 +4252,11 @@ endif objs/$(CONFIG)/test/core/security/secure_endpoint_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_secure_endpoint_test: $(SECURE_ENDPOINT_TEST_DEPS) +deps_secure_endpoint_test: $(SECURE_ENDPOINT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SECURE_ENDPOINT_TEST_DEPS) +-include $(SECURE_ENDPOINT_TEST_OBJS:.o=.dep) endif endif @@ -4428,7 +4265,6 @@ HTTPCLI_FORMAT_REQUEST_TEST_SRC = \ test/core/httpcli/format_request_test.c \ HTTPCLI_FORMAT_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_FORMAT_REQUEST_TEST_SRC)))) -HTTPCLI_FORMAT_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(HTTPCLI_FORMAT_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4445,11 +4281,11 @@ endif objs/$(CONFIG)/test/core/httpcli/format_request_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_httpcli_format_request_test: $(HTTPCLI_FORMAT_REQUEST_TEST_DEPS) +deps_httpcli_format_request_test: $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HTTPCLI_FORMAT_REQUEST_TEST_DEPS) +-include $(HTTPCLI_FORMAT_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -4458,7 +4294,6 @@ HTTPCLI_PARSER_TEST_SRC = \ test/core/httpcli/parser_test.c \ HTTPCLI_PARSER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_PARSER_TEST_SRC)))) -HTTPCLI_PARSER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(HTTPCLI_PARSER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4475,11 +4310,11 @@ endif objs/$(CONFIG)/test/core/httpcli/parser_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_httpcli_parser_test: $(HTTPCLI_PARSER_TEST_DEPS) +deps_httpcli_parser_test: $(HTTPCLI_PARSER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HTTPCLI_PARSER_TEST_DEPS) +-include $(HTTPCLI_PARSER_TEST_OBJS:.o=.dep) endif endif @@ -4488,7 +4323,6 @@ HTTPCLI_TEST_SRC = \ test/core/httpcli/httpcli_test.c \ HTTPCLI_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HTTPCLI_TEST_SRC)))) -HTTPCLI_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(HTTPCLI_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4505,11 +4339,11 @@ endif objs/$(CONFIG)/test/core/httpcli/httpcli_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_httpcli_test: $(HTTPCLI_TEST_DEPS) +deps_httpcli_test: $(HTTPCLI_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HTTPCLI_TEST_DEPS) +-include $(HTTPCLI_TEST_OBJS:.o=.dep) endif endif @@ -4518,7 +4352,6 @@ GRPC_CREDENTIALS_TEST_SRC = \ test/core/security/credentials_test.c \ GRPC_CREDENTIALS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CREDENTIALS_TEST_SRC)))) -GRPC_CREDENTIALS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_CREDENTIALS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4535,11 +4368,11 @@ endif objs/$(CONFIG)/test/core/security/credentials_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_credentials_test: $(GRPC_CREDENTIALS_TEST_DEPS) +deps_grpc_credentials_test: $(GRPC_CREDENTIALS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_CREDENTIALS_TEST_DEPS) +-include $(GRPC_CREDENTIALS_TEST_OBJS:.o=.dep) endif endif @@ -4548,7 +4381,6 @@ GRPC_FETCH_OAUTH2_SRC = \ test/core/security/fetch_oauth2.c \ GRPC_FETCH_OAUTH2_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_FETCH_OAUTH2_SRC)))) -GRPC_FETCH_OAUTH2_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_FETCH_OAUTH2_SRC)))) ifeq ($(NO_SECURE),true) @@ -4565,11 +4397,11 @@ endif objs/$(CONFIG)/test/core/security/fetch_oauth2.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_fetch_oauth2: $(GRPC_FETCH_OAUTH2_DEPS) +deps_grpc_fetch_oauth2: $(GRPC_FETCH_OAUTH2_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_FETCH_OAUTH2_DEPS) +-include $(GRPC_FETCH_OAUTH2_OBJS:.o=.dep) endif endif @@ -4578,7 +4410,6 @@ GRPC_BASE64_TEST_SRC = \ test/core/security/base64_test.c \ GRPC_BASE64_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_BASE64_TEST_SRC)))) -GRPC_BASE64_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_BASE64_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4595,11 +4426,11 @@ endif objs/$(CONFIG)/test/core/security/base64_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_base64_test: $(GRPC_BASE64_TEST_DEPS) +deps_grpc_base64_test: $(GRPC_BASE64_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_BASE64_TEST_DEPS) +-include $(GRPC_BASE64_TEST_OBJS:.o=.dep) endif endif @@ -4608,7 +4439,6 @@ GRPC_JSON_TOKEN_TEST_SRC = \ test/core/security/json_token_test.c \ GRPC_JSON_TOKEN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_JSON_TOKEN_TEST_SRC)))) -GRPC_JSON_TOKEN_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(GRPC_JSON_TOKEN_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4625,11 +4455,11 @@ endif objs/$(CONFIG)/test/core/security/json_token_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_json_token_test: $(GRPC_JSON_TOKEN_TEST_DEPS) +deps_grpc_json_token_test: $(GRPC_JSON_TOKEN_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_JSON_TOKEN_TEST_DEPS) +-include $(GRPC_JSON_TOKEN_TEST_OBJS:.o=.dep) endif endif @@ -4638,7 +4468,6 @@ TIMEOUT_ENCODING_TEST_SRC = \ test/core/transport/chttp2/timeout_encoding_test.c \ TIMEOUT_ENCODING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIMEOUT_ENCODING_TEST_SRC)))) -TIMEOUT_ENCODING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TIMEOUT_ENCODING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4655,11 +4484,11 @@ endif objs/$(CONFIG)/test/core/transport/chttp2/timeout_encoding_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_timeout_encoding_test: $(TIMEOUT_ENCODING_TEST_DEPS) +deps_timeout_encoding_test: $(TIMEOUT_ENCODING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TIMEOUT_ENCODING_TEST_DEPS) +-include $(TIMEOUT_ENCODING_TEST_OBJS:.o=.dep) endif endif @@ -4668,7 +4497,6 @@ FD_POSIX_TEST_SRC = \ test/core/iomgr/fd_posix_test.c \ FD_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FD_POSIX_TEST_SRC)))) -FD_POSIX_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(FD_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4685,11 +4513,11 @@ endif objs/$(CONFIG)/test/core/iomgr/fd_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_fd_posix_test: $(FD_POSIX_TEST_DEPS) +deps_fd_posix_test: $(FD_POSIX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FD_POSIX_TEST_DEPS) +-include $(FD_POSIX_TEST_OBJS:.o=.dep) endif endif @@ -4698,7 +4526,6 @@ FLING_STREAM_TEST_SRC = \ test/core/fling/fling_stream_test.c \ FLING_STREAM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_STREAM_TEST_SRC)))) -FLING_STREAM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(FLING_STREAM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4715,11 +4542,11 @@ endif objs/$(CONFIG)/test/core/fling/fling_stream_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_fling_stream_test: $(FLING_STREAM_TEST_DEPS) +deps_fling_stream_test: $(FLING_STREAM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FLING_STREAM_TEST_DEPS) +-include $(FLING_STREAM_TEST_OBJS:.o=.dep) endif endif @@ -4728,7 +4555,6 @@ LAME_CLIENT_TEST_SRC = \ test/core/surface/lame_client_test.c \ LAME_CLIENT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LAME_CLIENT_TEST_SRC)))) -LAME_CLIENT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LAME_CLIENT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4745,11 +4571,11 @@ endif objs/$(CONFIG)/test/core/surface/lame_client_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_lame_client_test: $(LAME_CLIENT_TEST_DEPS) +deps_lame_client_test: $(LAME_CLIENT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LAME_CLIENT_TEST_DEPS) +-include $(LAME_CLIENT_TEST_OBJS:.o=.dep) endif endif @@ -4758,7 +4584,6 @@ THREAD_POOL_TEST_SRC = \ test/cpp/server/thread_pool_test.cc \ THREAD_POOL_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(THREAD_POOL_TEST_SRC)))) -THREAD_POOL_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(THREAD_POOL_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4775,11 +4600,11 @@ endif objs/$(CONFIG)/test/cpp/server/thread_pool_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_thread_pool_test: $(THREAD_POOL_TEST_DEPS) +deps_thread_pool_test: $(THREAD_POOL_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(THREAD_POOL_TEST_DEPS) +-include $(THREAD_POOL_TEST_OBJS:.o=.dep) endif endif @@ -4788,7 +4613,6 @@ STATUS_TEST_SRC = \ test/cpp/util/status_test.cc \ STATUS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(STATUS_TEST_SRC)))) -STATUS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(STATUS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4805,11 +4629,11 @@ endif objs/$(CONFIG)/test/cpp/util/status_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_status_test: $(STATUS_TEST_DEPS) +deps_status_test: $(STATUS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(STATUS_TEST_DEPS) +-include $(STATUS_TEST_OBJS:.o=.dep) endif endif @@ -4818,7 +4642,6 @@ SYNC_CLIENT_ASYNC_SERVER_TEST_SRC = \ test/cpp/end2end/sync_client_async_server_test.cc \ SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SYNC_CLIENT_ASYNC_SERVER_TEST_SRC)))) -SYNC_CLIENT_ASYNC_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(SYNC_CLIENT_ASYNC_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -4835,11 +4658,11 @@ endif objs/$(CONFIG)/test/cpp/end2end/sync_client_async_server_test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_sync_client_async_server_test: $(SYNC_CLIENT_ASYNC_SERVER_TEST_DEPS) +deps_sync_client_async_server_test: $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SYNC_CLIENT_ASYNC_SERVER_TEST_DEPS) +-include $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS:.o=.dep) endif endif @@ -4849,7 +4672,6 @@ QPS_CLIENT_SRC = \ test/cpp/qps/client.cc \ QPS_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_CLIENT_SRC)))) -QPS_CLIENT_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(QPS_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) @@ -4867,11 +4689,11 @@ endif objs/$(CONFIG)/test/cpp/qps/qpstest.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a objs/$(CONFIG)/test/cpp/qps/client.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_qps_client: $(QPS_CLIENT_DEPS) +deps_qps_client: $(QPS_CLIENT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(QPS_CLIENT_DEPS) +-include $(QPS_CLIENT_OBJS:.o=.dep) endif endif @@ -4881,7 +4703,6 @@ QPS_SERVER_SRC = \ test/cpp/qps/server.cc \ QPS_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_SERVER_SRC)))) -QPS_SERVER_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(QPS_SERVER_SRC)))) ifeq ($(NO_SECURE),true) @@ -4899,11 +4720,11 @@ endif objs/$(CONFIG)/test/cpp/qps/qpstest.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a objs/$(CONFIG)/test/cpp/qps/server.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_qps_server: $(QPS_SERVER_DEPS) +deps_qps_server: $(QPS_SERVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(QPS_SERVER_DEPS) +-include $(QPS_SERVER_OBJS:.o=.dep) endif endif @@ -4915,7 +4736,6 @@ INTEROP_SERVER_SRC = \ test/cpp/interop/server.cc \ INTEROP_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_SERVER_SRC)))) -INTEROP_SERVER_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(INTEROP_SERVER_SRC)))) ifeq ($(NO_SECURE),true) @@ -4935,11 +4755,11 @@ objs/$(CONFIG)/test/cpp/interop/messages.o: libs/$(CONFIG)/libgrpc++_test_util. objs/$(CONFIG)/test/cpp/interop/test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a objs/$(CONFIG)/test/cpp/interop/server.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_interop_server: $(INTEROP_SERVER_DEPS) +deps_interop_server: $(INTEROP_SERVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(INTEROP_SERVER_DEPS) +-include $(INTEROP_SERVER_OBJS:.o=.dep) endif endif @@ -4951,7 +4771,6 @@ INTEROP_CLIENT_SRC = \ test/cpp/interop/client.cc \ INTEROP_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_CLIENT_SRC)))) -INTEROP_CLIENT_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(INTEROP_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) @@ -4971,11 +4790,11 @@ objs/$(CONFIG)/test/cpp/interop/messages.o: libs/$(CONFIG)/libgrpc++_test_util. objs/$(CONFIG)/test/cpp/interop/test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a objs/$(CONFIG)/test/cpp/interop/client.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_interop_client: $(INTEROP_CLIENT_DEPS) +deps_interop_client: $(INTEROP_CLIENT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(INTEROP_CLIENT_DEPS) +-include $(INTEROP_CLIENT_OBJS:.o=.dep) endif endif @@ -4984,7 +4803,6 @@ END2END_TEST_SRC = \ test/cpp/end2end/end2end_test.cc \ END2END_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(END2END_TEST_SRC)))) -END2END_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5001,11 +4819,11 @@ endif objs/$(CONFIG)/test/cpp/end2end/end2end_test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_end2end_test: $(END2END_TEST_DEPS) +deps_end2end_test: $(END2END_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(END2END_TEST_DEPS) +-include $(END2END_TEST_OBJS:.o=.dep) endif endif @@ -5014,7 +4832,6 @@ CHANNEL_ARGUMENTS_TEST_SRC = \ test/cpp/client/channel_arguments_test.cc \ CHANNEL_ARGUMENTS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHANNEL_ARGUMENTS_TEST_SRC)))) -CHANNEL_ARGUMENTS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHANNEL_ARGUMENTS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5031,11 +4848,11 @@ endif objs/$(CONFIG)/test/cpp/client/channel_arguments_test.o: libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a -deps_channel_arguments_test: $(CHANNEL_ARGUMENTS_TEST_DEPS) +deps_channel_arguments_test: $(CHANNEL_ARGUMENTS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHANNEL_ARGUMENTS_TEST_DEPS) +-include $(CHANNEL_ARGUMENTS_TEST_OBJS:.o=.dep) endif endif @@ -5044,7 +4861,6 @@ CREDENTIALS_TEST_SRC = \ test/cpp/client/credentials_test.cc \ CREDENTIALS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CREDENTIALS_TEST_SRC)))) -CREDENTIALS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CREDENTIALS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5061,11 +4877,11 @@ endif objs/$(CONFIG)/test/cpp/client/credentials_test.o: libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a -deps_credentials_test: $(CREDENTIALS_TEST_DEPS) +deps_credentials_test: $(CREDENTIALS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CREDENTIALS_TEST_DEPS) +-include $(CREDENTIALS_TEST_OBJS:.o=.dep) endif endif @@ -5074,7 +4890,6 @@ ALARM_TEST_SRC = \ test/core/iomgr/alarm_test.c \ ALARM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_TEST_SRC)))) -ALARM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ALARM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5091,11 +4906,11 @@ endif objs/$(CONFIG)/test/core/iomgr/alarm_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_alarm_test: $(ALARM_TEST_DEPS) +deps_alarm_test: $(ALARM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ALARM_TEST_DEPS) +-include $(ALARM_TEST_OBJS:.o=.dep) endif endif @@ -5104,7 +4919,6 @@ ALARM_LIST_TEST_SRC = \ test/core/iomgr/alarm_list_test.c \ ALARM_LIST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_LIST_TEST_SRC)))) -ALARM_LIST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ALARM_LIST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5121,11 +4935,11 @@ endif objs/$(CONFIG)/test/core/iomgr/alarm_list_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_alarm_list_test: $(ALARM_LIST_TEST_DEPS) +deps_alarm_list_test: $(ALARM_LIST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ALARM_LIST_TEST_DEPS) +-include $(ALARM_LIST_TEST_OBJS:.o=.dep) endif endif @@ -5134,7 +4948,6 @@ ALARM_HEAP_TEST_SRC = \ test/core/iomgr/alarm_heap_test.c \ ALARM_HEAP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_HEAP_TEST_SRC)))) -ALARM_HEAP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(ALARM_HEAP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5151,11 +4964,11 @@ endif objs/$(CONFIG)/test/core/iomgr/alarm_heap_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_alarm_heap_test: $(ALARM_HEAP_TEST_DEPS) +deps_alarm_heap_test: $(ALARM_HEAP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ALARM_HEAP_TEST_DEPS) +-include $(ALARM_HEAP_TEST_OBJS:.o=.dep) endif endif @@ -5164,7 +4977,6 @@ TIME_TEST_SRC = \ test/core/support/time_test.c \ TIME_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIME_TEST_SRC)))) -TIME_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(TIME_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5181,11 +4993,11 @@ endif objs/$(CONFIG)/test/core/support/time_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_time_test: $(TIME_TEST_DEPS) +deps_time_test: $(TIME_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TIME_TEST_DEPS) +-include $(TIME_TEST_OBJS:.o=.dep) endif endif @@ -5193,7 +5005,6 @@ endif CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5209,11 +5020,11 @@ bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test: $(CHTTP2_FAKE_SECU endif -deps_chttp2_fake_security_cancel_after_accept_test: $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_DEPS) +deps_chttp2_fake_security_cancel_after_accept_test: $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_OBJS:.o=.dep) endif endif @@ -5221,7 +5032,6 @@ endif CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5237,11 +5047,11 @@ bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test: endif -deps_chttp2_fake_security_cancel_after_accept_and_writes_closed_test: $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) +deps_chttp2_fake_security_cancel_after_accept_and_writes_closed_test: $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS:.o=.dep) endif endif @@ -5249,7 +5059,6 @@ endif CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5265,11 +5074,11 @@ bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test: $(CHTTP2_FAKE_SECU endif -deps_chttp2_fake_security_cancel_after_invoke_test: $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_DEPS) +deps_chttp2_fake_security_cancel_after_invoke_test: $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_OBJS:.o=.dep) endif endif @@ -5277,7 +5086,6 @@ endif CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5293,11 +5101,11 @@ bins/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test: $(CHTTP2_FAKE_SEC endif -deps_chttp2_fake_security_cancel_before_invoke_test: $(CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_DEPS) +deps_chttp2_fake_security_cancel_before_invoke_test: $(CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_OBJS:.o=.dep) endif endif @@ -5305,7 +5113,6 @@ endif CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5321,11 +5128,11 @@ bins/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test: $(CHTTP2_FAKE_SECUR endif -deps_chttp2_fake_security_cancel_in_a_vacuum_test: $(CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_DEPS) +deps_chttp2_fake_security_cancel_in_a_vacuum_test: $(CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_OBJS:.o=.dep) endif endif @@ -5333,7 +5140,6 @@ endif CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5349,11 +5155,11 @@ bins/$(CONFIG)/chttp2_fake_security_census_simple_request_test: $(CHTTP2_FAKE_SE endif -deps_chttp2_fake_security_census_simple_request_test: $(CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_DEPS) +deps_chttp2_fake_security_census_simple_request_test: $(CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -5361,7 +5167,6 @@ endif CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_SRC = \ CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5377,11 +5182,11 @@ bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test: $(CHTTP2_FAKE_SECU endif -deps_chttp2_fake_security_disappearing_server_test: $(CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_DEPS) +deps_chttp2_fake_security_disappearing_server_test: $(CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_OBJS:.o=.dep) endif endif @@ -5389,7 +5194,6 @@ endif CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC = \ CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5405,11 +5209,11 @@ bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_call endif -deps_chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test: $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) +deps_chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test: $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS:.o=.dep) endif endif @@ -5417,7 +5221,6 @@ endif CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC = \ CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5433,11 +5236,11 @@ bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test: $( endif -deps_chttp2_fake_security_early_server_shutdown_finishes_tags_test: $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) +deps_chttp2_fake_security_early_server_shutdown_finishes_tags_test: $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS:.o=.dep) endif endif @@ -5445,7 +5248,6 @@ endif CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5461,11 +5263,11 @@ bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test: $(CHTTP2_FAKE_SEC endif -deps_chttp2_fake_security_invoke_large_request_test: $(CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_DEPS) +deps_chttp2_fake_security_invoke_large_request_test: $(CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -5473,7 +5275,6 @@ endif CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_SRC = \ CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5489,11 +5290,11 @@ bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test: $(CHTTP2_FAKE_S endif -deps_chttp2_fake_security_max_concurrent_streams_test: $(CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_DEPS) +deps_chttp2_fake_security_max_concurrent_streams_test: $(CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_OBJS:.o=.dep) endif endif @@ -5501,7 +5302,6 @@ endif CHTTP2_FAKE_SECURITY_NO_OP_TEST_SRC = \ CHTTP2_FAKE_SECURITY_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_NO_OP_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_NO_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_NO_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5517,11 +5317,11 @@ bins/$(CONFIG)/chttp2_fake_security_no_op_test: $(CHTTP2_FAKE_SECURITY_NO_OP_TES endif -deps_chttp2_fake_security_no_op_test: $(CHTTP2_FAKE_SECURITY_NO_OP_TEST_DEPS) +deps_chttp2_fake_security_no_op_test: $(CHTTP2_FAKE_SECURITY_NO_OP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_NO_OP_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_NO_OP_TEST_OBJS:.o=.dep) endif endif @@ -5529,7 +5329,6 @@ endif CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_SRC = \ CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5545,11 +5344,11 @@ bins/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test: $(CHTTP2_FAKE_SECU endif -deps_chttp2_fake_security_ping_pong_streaming_test: $(CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_DEPS) +deps_chttp2_fake_security_ping_pong_streaming_test: $(CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_OBJS:.o=.dep) endif endif @@ -5557,7 +5356,6 @@ endif CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5573,11 +5371,11 @@ bins/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_pa endif -deps_chttp2_fake_security_request_response_with_binary_metadata_and_payload_test: $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_fake_security_request_response_with_binary_metadata_and_payload_test: $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -5585,7 +5383,6 @@ endif CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5601,11 +5398,11 @@ bins/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_t endif -deps_chttp2_fake_security_request_response_with_metadata_and_payload_test: $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_fake_security_request_response_with_metadata_and_payload_test: $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -5613,7 +5410,6 @@ endif CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC = \ CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5629,11 +5425,11 @@ bins/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test: $(CHTTP2 endif -deps_chttp2_fake_security_request_response_with_payload_test: $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) +deps_chttp2_fake_security_request_response_with_payload_test: $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -5641,7 +5437,6 @@ endif CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5657,11 +5452,11 @@ bins/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_ endif -deps_chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test: $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test: $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -5669,7 +5464,6 @@ endif CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_SRC = \ CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5685,11 +5479,11 @@ bins/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test: $(CHTTP2_FAKE_S endif -deps_chttp2_fake_security_simple_delayed_request_test: $(CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_DEPS) +deps_chttp2_fake_security_simple_delayed_request_test: $(CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -5697,7 +5491,6 @@ endif CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5713,11 +5506,11 @@ bins/$(CONFIG)/chttp2_fake_security_simple_request_test: $(CHTTP2_FAKE_SECURITY_ endif -deps_chttp2_fake_security_simple_request_test: $(CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_DEPS) +deps_chttp2_fake_security_simple_request_test: $(CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -5725,7 +5518,6 @@ endif CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_SRC = \ CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5741,11 +5533,11 @@ bins/$(CONFIG)/chttp2_fake_security_thread_stress_test: $(CHTTP2_FAKE_SECURITY_T endif -deps_chttp2_fake_security_thread_stress_test: $(CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_DEPS) +deps_chttp2_fake_security_thread_stress_test: $(CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_OBJS:.o=.dep) endif endif @@ -5753,7 +5545,6 @@ endif CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC = \ CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) -CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5769,11 +5560,11 @@ bins/$(CONFIG)/chttp2_fake_security_writes_done_hangs_with_pending_read_test: $( endif -deps_chttp2_fake_security_writes_done_hangs_with_pending_read_test: $(CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) +deps_chttp2_fake_security_writes_done_hangs_with_pending_read_test: $(CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) +-include $(CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS:.o=.dep) endif endif @@ -5781,7 +5572,6 @@ endif CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) -CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5797,11 +5587,11 @@ bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test: $(CHTTP2_FULLSTACK_CAN endif -deps_chttp2_fullstack_cancel_after_accept_test: $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS) +deps_chttp2_fullstack_cancel_after_accept_test: $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS:.o=.dep) endif endif @@ -5809,7 +5599,6 @@ endif CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC = \ CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) -CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5825,11 +5614,11 @@ bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test: $(CH endif -deps_chttp2_fullstack_cancel_after_accept_and_writes_closed_test: $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) +deps_chttp2_fullstack_cancel_after_accept_and_writes_closed_test: $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS:.o=.dep) endif endif @@ -5837,7 +5626,6 @@ endif CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC = \ CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) -CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5853,11 +5641,11 @@ bins/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test: $(CHTTP2_FULLSTACK_CAN endif -deps_chttp2_fullstack_cancel_after_invoke_test: $(CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS) +deps_chttp2_fullstack_cancel_after_invoke_test: $(CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS:.o=.dep) endif endif @@ -5865,7 +5653,6 @@ endif CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC = \ CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) -CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5881,11 +5668,11 @@ bins/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test: $(CHTTP2_FULLSTACK_CA endif -deps_chttp2_fullstack_cancel_before_invoke_test: $(CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS) +deps_chttp2_fullstack_cancel_before_invoke_test: $(CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS:.o=.dep) endif endif @@ -5893,7 +5680,6 @@ endif CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC = \ CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) -CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5909,11 +5695,11 @@ bins/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test: $(CHTTP2_FULLSTACK_CANC endif -deps_chttp2_fullstack_cancel_in_a_vacuum_test: $(CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS) +deps_chttp2_fullstack_cancel_in_a_vacuum_test: $(CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS:.o=.dep) endif endif @@ -5921,7 +5707,6 @@ endif CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5937,11 +5722,11 @@ bins/$(CONFIG)/chttp2_fullstack_census_simple_request_test: $(CHTTP2_FULLSTACK_C endif -deps_chttp2_fullstack_census_simple_request_test: $(CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS) +deps_chttp2_fullstack_census_simple_request_test: $(CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -5949,7 +5734,6 @@ endif CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC = \ CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) -CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5965,11 +5749,11 @@ bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test: $(CHTTP2_FULLSTACK_DIS endif -deps_chttp2_fullstack_disappearing_server_test: $(CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS) +deps_chttp2_fullstack_disappearing_server_test: $(CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS:.o=.dep) endif endif @@ -5977,7 +5761,6 @@ endif CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC = \ CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) -CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -5993,11 +5776,11 @@ bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_te endif -deps_chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test: $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) +deps_chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test: $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS:.o=.dep) endif endif @@ -6005,7 +5788,6 @@ endif CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC = \ CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) -CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6021,11 +5803,11 @@ bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test: $(CHTT endif -deps_chttp2_fullstack_early_server_shutdown_finishes_tags_test: $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) +deps_chttp2_fullstack_early_server_shutdown_finishes_tags_test: $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS:.o=.dep) endif endif @@ -6033,7 +5815,6 @@ endif CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) -CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6049,11 +5830,11 @@ bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test: $(CHTTP2_FULLSTACK_IN endif -deps_chttp2_fullstack_invoke_large_request_test: $(CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS) +deps_chttp2_fullstack_invoke_large_request_test: $(CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -6061,7 +5842,6 @@ endif CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC = \ CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) -CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6077,11 +5857,11 @@ bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test: $(CHTTP2_FULLSTACK_ endif -deps_chttp2_fullstack_max_concurrent_streams_test: $(CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS) +deps_chttp2_fullstack_max_concurrent_streams_test: $(CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS:.o=.dep) endif endif @@ -6089,7 +5869,6 @@ endif CHTTP2_FULLSTACK_NO_OP_TEST_SRC = \ CHTTP2_FULLSTACK_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_NO_OP_TEST_SRC)))) -CHTTP2_FULLSTACK_NO_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_NO_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6105,11 +5884,11 @@ bins/$(CONFIG)/chttp2_fullstack_no_op_test: $(CHTTP2_FULLSTACK_NO_OP_TEST_OBJS) endif -deps_chttp2_fullstack_no_op_test: $(CHTTP2_FULLSTACK_NO_OP_TEST_DEPS) +deps_chttp2_fullstack_no_op_test: $(CHTTP2_FULLSTACK_NO_OP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_NO_OP_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_NO_OP_TEST_OBJS:.o=.dep) endif endif @@ -6117,7 +5896,6 @@ endif CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC = \ CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) -CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6133,11 +5911,11 @@ bins/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test: $(CHTTP2_FULLSTACK_PIN endif -deps_chttp2_fullstack_ping_pong_streaming_test: $(CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS) +deps_chttp2_fullstack_ping_pong_streaming_test: $(CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS:.o=.dep) endif endif @@ -6145,7 +5923,6 @@ endif CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6161,11 +5938,11 @@ bins/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payloa endif -deps_chttp2_fullstack_request_response_with_binary_metadata_and_payload_test: $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_fullstack_request_response_with_binary_metadata_and_payload_test: $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -6173,7 +5950,6 @@ endif CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6189,11 +5965,11 @@ bins/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test: endif -deps_chttp2_fullstack_request_response_with_metadata_and_payload_test: $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_fullstack_request_response_with_metadata_and_payload_test: $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -6201,7 +5977,6 @@ endif CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC = \ CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) -CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6217,11 +5992,11 @@ bins/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test: $(CHTTP2_FUL endif -deps_chttp2_fullstack_request_response_with_payload_test: $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) +deps_chttp2_fullstack_request_response_with_payload_test: $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -6229,7 +6004,6 @@ endif CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6245,11 +6019,11 @@ bins/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payl endif -deps_chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test: $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test: $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -6257,7 +6031,6 @@ endif CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC = \ CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) -CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6273,11 +6046,11 @@ bins/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test: $(CHTTP2_FULLSTACK_ endif -deps_chttp2_fullstack_simple_delayed_request_test: $(CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS) +deps_chttp2_fullstack_simple_delayed_request_test: $(CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -6285,7 +6058,6 @@ endif CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6301,11 +6073,11 @@ bins/$(CONFIG)/chttp2_fullstack_simple_request_test: $(CHTTP2_FULLSTACK_SIMPLE_R endif -deps_chttp2_fullstack_simple_request_test: $(CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS) +deps_chttp2_fullstack_simple_request_test: $(CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -6313,7 +6085,6 @@ endif CHTTP2_FULLSTACK_THREAD_STRESS_TEST_SRC = \ CHTTP2_FULLSTACK_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_THREAD_STRESS_TEST_SRC)))) -CHTTP2_FULLSTACK_THREAD_STRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6329,11 +6100,11 @@ bins/$(CONFIG)/chttp2_fullstack_thread_stress_test: $(CHTTP2_FULLSTACK_THREAD_ST endif -deps_chttp2_fullstack_thread_stress_test: $(CHTTP2_FULLSTACK_THREAD_STRESS_TEST_DEPS) +deps_chttp2_fullstack_thread_stress_test: $(CHTTP2_FULLSTACK_THREAD_STRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_THREAD_STRESS_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_THREAD_STRESS_TEST_OBJS:.o=.dep) endif endif @@ -6341,7 +6112,6 @@ endif CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC = \ CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) -CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6357,11 +6127,11 @@ bins/$(CONFIG)/chttp2_fullstack_writes_done_hangs_with_pending_read_test: $(CHTT endif -deps_chttp2_fullstack_writes_done_hangs_with_pending_read_test: $(CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) +deps_chttp2_fullstack_writes_done_hangs_with_pending_read_test: $(CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) +-include $(CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS:.o=.dep) endif endif @@ -6369,7 +6139,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6385,11 +6154,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test: $(CHTTP2_SI endif -deps_chttp2_simple_ssl_fullstack_cancel_after_accept_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_cancel_after_accept_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS:.o=.dep) endif endif @@ -6397,7 +6166,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6413,11 +6181,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed endif -deps_chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS:.o=.dep) endif endif @@ -6425,7 +6193,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6441,11 +6208,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test: $(CHTTP2_SI endif -deps_chttp2_simple_ssl_fullstack_cancel_after_invoke_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_cancel_after_invoke_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS:.o=.dep) endif endif @@ -6453,7 +6220,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6469,11 +6235,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test: $(CHTTP2_S endif -deps_chttp2_simple_ssl_fullstack_cancel_before_invoke_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_cancel_before_invoke_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS:.o=.dep) endif endif @@ -6481,7 +6247,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6497,11 +6262,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test: $(CHTTP2_SIM endif -deps_chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS:.o=.dep) endif endif @@ -6509,7 +6274,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6525,11 +6289,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test: $(CHTTP2_ endif -deps_chttp2_simple_ssl_fullstack_census_simple_request_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_census_simple_request_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -6537,7 +6301,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6553,11 +6316,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test: $(CHTTP2_SI endif -deps_chttp2_simple_ssl_fullstack_disappearing_server_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_disappearing_server_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS:.o=.dep) endif endif @@ -6565,7 +6328,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6581,11 +6343,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflig endif -deps_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS:.o=.dep) endif endif @@ -6593,7 +6355,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6609,11 +6370,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_t endif -deps_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS:.o=.dep) endif endif @@ -6621,7 +6382,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6637,11 +6397,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test: $(CHTTP2_S endif -deps_chttp2_simple_ssl_fullstack_invoke_large_request_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_invoke_large_request_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -6649,7 +6409,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6665,11 +6424,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test: $(CHTTP2 endif -deps_chttp2_simple_ssl_fullstack_max_concurrent_streams_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_max_concurrent_streams_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS:.o=.dep) endif endif @@ -6677,7 +6436,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6693,11 +6451,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test: $(CHTTP2_SIMPLE_SSL_FULLS endif -deps_chttp2_simple_ssl_fullstack_no_op_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_no_op_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_OBJS:.o=.dep) endif endif @@ -6705,7 +6463,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6721,11 +6478,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test: $(CHTTP2_SI endif -deps_chttp2_simple_ssl_fullstack_ping_pong_streaming_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_ping_pong_streaming_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS:.o=.dep) endif endif @@ -6733,7 +6490,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6749,11 +6505,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata endif -deps_chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -6761,7 +6517,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6777,11 +6532,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_pa endif -deps_chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -6789,7 +6544,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6805,11 +6559,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test: $ endif -deps_chttp2_simple_ssl_fullstack_request_response_with_payload_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_request_response_with_payload_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -6817,7 +6571,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6833,11 +6586,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metada endif -deps_chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -6845,7 +6598,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6861,11 +6613,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test: $(CHTTP2 endif -deps_chttp2_simple_ssl_fullstack_simple_delayed_request_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_simple_delayed_request_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -6873,7 +6625,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6889,11 +6640,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test: $(CHTTP2_SIMPLE_ endif -deps_chttp2_simple_ssl_fullstack_simple_request_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_simple_request_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -6901,7 +6652,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6917,11 +6667,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_thread_stress_test: $(CHTTP2_SIMPLE_S endif -deps_chttp2_simple_ssl_fullstack_thread_stress_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_thread_stress_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_OBJS:.o=.dep) endif endif @@ -6929,7 +6679,6 @@ endif CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6945,11 +6694,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_t endif -deps_chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) +deps_chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS:.o=.dep) endif endif @@ -6957,7 +6706,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -6973,11 +6721,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test: endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS:.o=.dep) endif endif @@ -6985,7 +6733,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7001,11 +6748,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_w endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS:.o=.dep) endif endif @@ -7013,7 +6760,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7029,11 +6775,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test: endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS:.o=.dep) endif endif @@ -7041,7 +6787,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7057,11 +6802,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS:.o=.dep) endif endif @@ -7069,7 +6814,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7085,11 +6829,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test: endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS:.o=.dep) endif endif @@ -7097,7 +6841,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7113,11 +6856,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_tes endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -7125,7 +6868,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7141,11 +6883,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test: endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS:.o=.dep) endif endif @@ -7153,7 +6895,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7169,11 +6910,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_fin endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS:.o=.dep) endif endif @@ -7181,7 +6922,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7197,11 +6937,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_fin endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS:.o=.dep) endif endif @@ -7209,7 +6949,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7225,11 +6964,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -7237,7 +6976,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7253,11 +6991,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_te endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS:.o=.dep) endif endif @@ -7265,7 +7003,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7281,11 +7018,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test: $(CHTTP2_SIMP endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_no_op_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_no_op_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_OBJS:.o=.dep) endif endif @@ -7293,7 +7030,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7309,11 +7045,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test: endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS:.o=.dep) endif endif @@ -7321,7 +7057,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7337,11 +7072,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_bin endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -7349,7 +7084,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7365,11 +7099,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_met endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -7377,7 +7111,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7393,11 +7126,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_pay endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -7405,7 +7138,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7421,11 +7153,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_tra endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -7433,7 +7165,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7449,11 +7180,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_te endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -7461,7 +7192,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7477,11 +7207,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test: $(CH endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -7489,7 +7219,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7505,11 +7234,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test: $(CHT endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_OBJS:.o=.dep) endif endif @@ -7517,7 +7246,6 @@ endif CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) -CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7533,11 +7261,11 @@ bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pe endif -deps_chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) +deps_chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS:.o=.dep) endif endif @@ -7545,7 +7273,6 @@ endif CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7561,11 +7288,11 @@ bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test: $(CHTTP2_SOCKET_PAIR endif -deps_chttp2_socket_pair_cancel_after_accept_test: $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_DEPS) +deps_chttp2_socket_pair_cancel_after_accept_test: $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_OBJS:.o=.dep) endif endif @@ -7573,7 +7300,6 @@ endif CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC = \ CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7589,11 +7315,11 @@ bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test: $( endif -deps_chttp2_socket_pair_cancel_after_accept_and_writes_closed_test: $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) +deps_chttp2_socket_pair_cancel_after_accept_and_writes_closed_test: $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS:.o=.dep) endif endif @@ -7601,7 +7327,6 @@ endif CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_SRC = \ CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7617,11 +7342,11 @@ bins/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test: $(CHTTP2_SOCKET_PAIR endif -deps_chttp2_socket_pair_cancel_after_invoke_test: $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_DEPS) +deps_chttp2_socket_pair_cancel_after_invoke_test: $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_OBJS:.o=.dep) endif endif @@ -7629,7 +7354,6 @@ endif CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_SRC = \ CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7645,11 +7369,11 @@ bins/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test: $(CHTTP2_SOCKET_PAI endif -deps_chttp2_socket_pair_cancel_before_invoke_test: $(CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_DEPS) +deps_chttp2_socket_pair_cancel_before_invoke_test: $(CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_OBJS:.o=.dep) endif endif @@ -7657,7 +7381,6 @@ endif CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_SRC = \ CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7673,11 +7396,11 @@ bins/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test: $(CHTTP2_SOCKET_PAIR_ endif -deps_chttp2_socket_pair_cancel_in_a_vacuum_test: $(CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_DEPS) +deps_chttp2_socket_pair_cancel_in_a_vacuum_test: $(CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_OBJS:.o=.dep) endif endif @@ -7685,7 +7408,6 @@ endif CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7701,11 +7423,11 @@ bins/$(CONFIG)/chttp2_socket_pair_census_simple_request_test: $(CHTTP2_SOCKET_PA endif -deps_chttp2_socket_pair_census_simple_request_test: $(CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_DEPS) +deps_chttp2_socket_pair_census_simple_request_test: $(CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -7713,7 +7435,6 @@ endif CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_SRC = \ CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7729,11 +7450,11 @@ bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test: $(CHTTP2_SOCKET_PAIR endif -deps_chttp2_socket_pair_disappearing_server_test: $(CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_DEPS) +deps_chttp2_socket_pair_disappearing_server_test: $(CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_OBJS:.o=.dep) endif endif @@ -7741,7 +7462,6 @@ endif CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7757,11 +7477,11 @@ bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_ endif -deps_chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test: $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) +deps_chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test: $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS:.o=.dep) endif endif @@ -7769,7 +7489,6 @@ endif CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7785,11 +7504,11 @@ bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test: $(CH endif -deps_chttp2_socket_pair_early_server_shutdown_finishes_tags_test: $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) +deps_chttp2_socket_pair_early_server_shutdown_finishes_tags_test: $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS:.o=.dep) endif endif @@ -7797,7 +7516,6 @@ endif CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7813,11 +7531,11 @@ bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test: $(CHTTP2_SOCKET_PAI endif -deps_chttp2_socket_pair_invoke_large_request_test: $(CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_DEPS) +deps_chttp2_socket_pair_invoke_large_request_test: $(CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -7825,7 +7543,6 @@ endif CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7841,11 +7558,11 @@ bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test: $(CHTTP2_SOCKET_P endif -deps_chttp2_socket_pair_max_concurrent_streams_test: $(CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_DEPS) +deps_chttp2_socket_pair_max_concurrent_streams_test: $(CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_OBJS:.o=.dep) endif endif @@ -7853,7 +7570,6 @@ endif CHTTP2_SOCKET_PAIR_NO_OP_TEST_SRC = \ CHTTP2_SOCKET_PAIR_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_NO_OP_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_NO_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_NO_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7869,11 +7585,11 @@ bins/$(CONFIG)/chttp2_socket_pair_no_op_test: $(CHTTP2_SOCKET_PAIR_NO_OP_TEST_OB endif -deps_chttp2_socket_pair_no_op_test: $(CHTTP2_SOCKET_PAIR_NO_OP_TEST_DEPS) +deps_chttp2_socket_pair_no_op_test: $(CHTTP2_SOCKET_PAIR_NO_OP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_NO_OP_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_NO_OP_TEST_OBJS:.o=.dep) endif endif @@ -7881,7 +7597,6 @@ endif CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_SRC = \ CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7897,11 +7612,11 @@ bins/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test: $(CHTTP2_SOCKET_PAIR endif -deps_chttp2_socket_pair_ping_pong_streaming_test: $(CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_DEPS) +deps_chttp2_socket_pair_ping_pong_streaming_test: $(CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_OBJS:.o=.dep) endif endif @@ -7909,7 +7624,6 @@ endif CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7925,11 +7639,11 @@ bins/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payl endif -deps_chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test: $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test: $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -7937,7 +7651,6 @@ endif CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7953,11 +7666,11 @@ bins/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_tes endif -deps_chttp2_socket_pair_request_response_with_metadata_and_payload_test: $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_socket_pair_request_response_with_metadata_and_payload_test: $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -7965,7 +7678,6 @@ endif CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -7981,11 +7693,11 @@ bins/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test: $(CHTTP2_S endif -deps_chttp2_socket_pair_request_response_with_payload_test: $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) +deps_chttp2_socket_pair_request_response_with_payload_test: $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -7993,7 +7705,6 @@ endif CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8009,11 +7720,11 @@ bins/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_pa endif -deps_chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test: $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test: $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -8021,7 +7732,6 @@ endif CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8037,11 +7747,11 @@ bins/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test: $(CHTTP2_SOCKET_P endif -deps_chttp2_socket_pair_simple_delayed_request_test: $(CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_DEPS) +deps_chttp2_socket_pair_simple_delayed_request_test: $(CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -8049,7 +7759,6 @@ endif CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8065,11 +7774,11 @@ bins/$(CONFIG)/chttp2_socket_pair_simple_request_test: $(CHTTP2_SOCKET_PAIR_SIMP endif -deps_chttp2_socket_pair_simple_request_test: $(CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_DEPS) +deps_chttp2_socket_pair_simple_request_test: $(CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -8077,7 +7786,6 @@ endif CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8093,11 +7801,11 @@ bins/$(CONFIG)/chttp2_socket_pair_thread_stress_test: $(CHTTP2_SOCKET_PAIR_THREA endif -deps_chttp2_socket_pair_thread_stress_test: $(CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_DEPS) +deps_chttp2_socket_pair_thread_stress_test: $(CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_OBJS:.o=.dep) endif endif @@ -8105,7 +7813,6 @@ endif CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC = \ CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8121,11 +7828,11 @@ bins/$(CONFIG)/chttp2_socket_pair_writes_done_hangs_with_pending_read_test: $(CH endif -deps_chttp2_socket_pair_writes_done_hangs_with_pending_read_test: $(CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) +deps_chttp2_socket_pair_writes_done_hangs_with_pending_read_test: $(CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS:.o=.dep) endif endif @@ -8133,7 +7840,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8149,11 +7855,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test: $ endif -deps_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_OBJS:.o=.dep) endif endif @@ -8161,7 +7867,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8177,11 +7882,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_wri endif -deps_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS:.o=.dep) endif endif @@ -8189,7 +7894,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8205,11 +7909,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test: $ endif -deps_chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_OBJS:.o=.dep) endif endif @@ -8217,7 +7921,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8233,11 +7936,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test: endif -deps_chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_OBJS:.o=.dep) endif endif @@ -8245,7 +7948,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8261,11 +7963,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test: $( endif -deps_chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_OBJS:.o=.dep) endif endif @@ -8273,7 +7975,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8289,11 +7990,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test: endif -deps_chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -8301,7 +8002,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8317,11 +8017,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test: $ endif -deps_chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_OBJS:.o=.dep) endif endif @@ -8329,7 +8029,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8345,11 +8044,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finis endif -deps_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS:.o=.dep) endif endif @@ -8357,7 +8056,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8373,11 +8071,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finis endif -deps_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS:.o=.dep) endif endif @@ -8385,7 +8083,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8401,11 +8098,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test: endif -deps_chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -8413,7 +8110,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8429,11 +8125,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test endif -deps_chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_OBJS:.o=.dep) endif endif @@ -8441,7 +8137,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8457,11 +8152,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test: $(CHTTP2_SOCKET endif -deps_chttp2_socket_pair_one_byte_at_a_time_no_op_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_no_op_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_OBJS:.o=.dep) endif endif @@ -8469,7 +8164,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8485,11 +8179,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test: $ endif -deps_chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_OBJS:.o=.dep) endif endif @@ -8497,7 +8191,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8513,11 +8206,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binar endif -deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -8525,7 +8218,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8541,11 +8233,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metad endif -deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -8553,7 +8245,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8569,11 +8260,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_paylo endif -deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -8581,7 +8272,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8597,11 +8287,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trail endif -deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS:.o=.dep) endif endif @@ -8609,7 +8299,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8625,11 +8314,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test endif -deps_chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -8637,7 +8326,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8653,11 +8341,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test: $(CHTT endif -deps_chttp2_socket_pair_one_byte_at_a_time_simple_request_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_simple_request_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_OBJS:.o=.dep) endif endif @@ -8665,7 +8353,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8681,11 +8368,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_thread_stress_test: $(CHTTP endif -deps_chttp2_socket_pair_one_byte_at_a_time_thread_stress_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_thread_stress_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_OBJS:.o=.dep) endif endif @@ -8693,7 +8380,6 @@ endif CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) -CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_SRC)))) ifeq ($(NO_SECURE),true) @@ -8709,11 +8395,11 @@ bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pend endif -deps_chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) +deps_chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_DEPS) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS:.o=.dep) endif endif diff --git a/templates/Makefile.template b/templates/Makefile.template index 962bbd67295..d60448d4a46 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -613,7 +613,6 @@ PUBLIC_HEADERS_C += \\ % endif LIB${lib.name.upper()}_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIB${lib.name.upper()}_SRC)))) -LIB${lib.name.upper()}_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIB${lib.name.upper()}_SRC)))) % if lib.get('secure', True): ifeq ($(NO_SECURE),true) @@ -701,13 +700,11 @@ endif endif % endif -deps_lib${lib.name}: $(LIB${lib.name.upper()}_DEPS) - % if lib.get('secure', True): ifneq ($(NO_SECURE),true) % endif ifneq ($(NO_DEPS),true) --include $(LIB${lib.name.upper()}_DEPS) +-include $(LIB${lib.name.upper()}_OBJS:.o=.dep) endif % if lib.get('secure', True): endif @@ -735,7 +732,6 @@ ${tgt.name.upper()}_SRC = \\ % endfor ${tgt.name.upper()}_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(${tgt.name.upper()}_SRC)))) -${tgt.name.upper()}_DEPS = $(addprefix objs/$(CONFIG)/, $(addsuffix .dep, $(basename $(${tgt.name.upper()}_SRC)))) % if tgt.get('secure', True): ifeq ($(NO_SECURE),true) @@ -802,13 +798,13 @@ objs/$(CONFIG)/${os.path.splitext(src)[0]}.o: \ % endfor -deps_${tgt.name}: $(${tgt.name.upper()}_DEPS) +deps_${tgt.name}: $(${tgt.name.upper()}_OBJS:.o=.dep) % if tgt.get('secure', True): ifneq ($(NO_SECURE),true) % endif ifneq ($(NO_DEPS),true) --include $(${tgt.name.upper()}_DEPS) +-include $(${tgt.name.upper()}_OBJS:.o=.dep) endif % if tgt.get('secure', True): endif From f0afe50dc925b6596d552381046e7a41d8b9b949 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 09:04:49 -0800 Subject: [PATCH 009/121] Add missing space --- Makefile | 2 +- templates/Makefile.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 8215e3ba39c..4a7321b82a4 100644 --- a/Makefile +++ b/Makefile @@ -8408,5 +8408,5 @@ 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_cxxclean +.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 diff --git a/templates/Makefile.template b/templates/Makefile.template index d60448d4a46..bd49f5a24de 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -822,6 +822,6 @@ 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\ +dep_c dep_cxx bins_dep_c bins_dep_cxx \ clean From f58b9ef68124134eb8ed122a6087c2ef14bb22c0 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 09:09:12 -0800 Subject: [PATCH 010/121] Remove protoc_plugins, and use a variable. Files that have dependencies on phony targets are always remade, leading to much unnecessary compiling of the C++ tests. --- Makefile | 17 ++++++++--------- templates/Makefile.template | 17 ++++++++--------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/Makefile b/Makefile index 4a7321b82a4..93a65829916 100644 --- a/Makefile +++ b/Makefile @@ -202,6 +202,7 @@ endif .SECONDARY = %.pb.h %.pb.cc +PROTOC_PLUGINS= bins/$(CONFIG)/cpp_plugin bins/$(CONFIG)/ruby_plugin ifeq ($(DEP_MISSING),) all: static shared dep_error: @@ -901,8 +902,6 @@ test_cxx: buildtests_cxx tools: privatelibs bins/$(CONFIG)/gen_hpack_tables bins/$(CONFIG)/grpc_fetch_oauth2 -protoc_plugins: bins/$(CONFIG)/cpp_plugin bins/$(CONFIG)/ruby_plugin - buildbenchmarks: privatelibs bins/$(CONFIG)/grpc_completion_queue_benchmark bins/$(CONFIG)/low_level_ping_pong_benchmark benchmarks: buildbenchmarks @@ -937,37 +936,37 @@ strip-shared_cxx: shared_cxx $(E) "[STRIP] Stripping libgrpc++.so" $(Q) $(STRIP) libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) -gens/test/cpp/interop/empty.pb.cc: test/cpp/interop/empty.proto protoc_plugins +gens/test/cpp/interop/empty.pb.cc: test/cpp/interop/empty.proto $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -gens/test/cpp/interop/messages.pb.cc: test/cpp/interop/messages.proto protoc_plugins +gens/test/cpp/interop/messages.pb.cc: test/cpp/interop/messages.proto $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -gens/test/cpp/interop/test.pb.cc: test/cpp/interop/test.proto protoc_plugins +gens/test/cpp/interop/test.pb.cc: test/cpp/interop/test.proto $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -gens/test/cpp/qps/qpstest.pb.cc: test/cpp/qps/qpstest.proto protoc_plugins +gens/test/cpp/qps/qpstest.pb.cc: test/cpp/qps/qpstest.proto $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -gens/test/cpp/util/echo.pb.cc: test/cpp/util/echo.proto protoc_plugins +gens/test/cpp/util/echo.pb.cc: test/cpp/util/echo.proto $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -gens/test/cpp/util/echo_duplicate.pb.cc: test/cpp/util/echo_duplicate.proto protoc_plugins +gens/test/cpp/util/echo_duplicate.pb.cc: test/cpp/util/echo_duplicate.proto $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< -gens/test/cpp/util/messages.pb.cc: test/cpp/util/messages.proto protoc_plugins +gens/test/cpp/util/messages.pb.cc: test/cpp/util/messages.proto $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< diff --git a/templates/Makefile.template b/templates/Makefile.template index bd49f5a24de..8cd3805a2e7 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -219,6 +219,13 @@ endif .SECONDARY = %.pb.h %.pb.cc +PROTOC_PLUGINS=\ +% for tgt in targets: +% if tgt.build == 'protoc': + bins/$(CONFIG)/${tgt.name}\ +% endif +% endfor + ifeq ($(DEP_MISSING),) all: static shared\ % for tgt in targets: @@ -394,14 +401,6 @@ tools: privatelibs\ % endfor -protoc_plugins:\ -% for tgt in targets: -% if tgt.build == 'protoc': - bins/$(CONFIG)/${tgt.name}\ -% endif -% endfor - - buildbenchmarks: privatelibs\ % for tgt in targets: % if tgt.build == 'benchmark': @@ -459,7 +458,7 @@ strip-shared_cxx: shared_cxx % endfor % for p in protos: -gens/${p}.pb.cc: ${p}.proto protoc_plugins +gens/${p}.pb.cc: ${p}.proto $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< From 85bf09b315834a95a6e64382c1bec84f065474e8 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Thu, 15 Jan 2015 18:22:40 +0100 Subject: [PATCH 011/121] Fixing zlib dependency build. --- Makefile | 90 ++++++++++++++++++------------------- templates/Makefile.template | 13 +++--- 2 files changed, 51 insertions(+), 52 deletions(-) diff --git a/Makefile b/Makefile index bc7cf992544..5df8f982a62 100644 --- a/Makefile +++ b/Makefile @@ -498,8 +498,8 @@ run_dep_checks: $(ZLIB_CHECK_CMD) || true libs/$(CONFIG)/zlib/libz.a: - (cd third_party/zlib ; CFLAGS="-fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG))" ./configure --static) - $(MAKE) -c third_party/zlib clean + (cd third_party/zlib ; CC="$(CC)" CFLAGS="-fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG))" ./configure --static) + $(MAKE) -C third_party/zlib clean $(MAKE) -C third_party/zlib mkdir -p libs/$(CONFIG)/zlib cp third_party/zlib/libz.a libs/$(CONFIG)/zlib @@ -1228,7 +1228,7 @@ PUBLIC_HEADERS_C += \ LIBGPR_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_SRC)))) LIBGPR_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGPR_SRC)))) -libs/$(CONFIG)/libgpr.a: $(LIBGPR_OBJS) +libs/$(CONFIG)/libgpr.a: $(ZLIB_DEP) $(LIBGPR_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libgpr.a $(LIBGPR_OBJS) @@ -1236,12 +1236,12 @@ libs/$(CONFIG)/libgpr.a: $(LIBGPR_OBJS) ifeq ($(SYSTEM),MINGW32) -libs/$(CONFIG)/gpr.$(SHARED_EXT): $(LIBGPR_OBJS) +libs/$(CONFIG)/gpr.$(SHARED_EXT): $(LIBGPR_OBJS) $(ZLIB_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` $(Q) $(LD) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/gpr.def -Wl,--out-implib=libs/$(CONFIG)/libgpr-imp.a -o libs/$(CONFIG)/gpr.$(SHARED_EXT) $(LIBGPR_OBJS) $(LDLIBS) else -libs/$(CONFIG)/libgpr.$(SHARED_EXT): $(LIBGPR_OBJS) +libs/$(CONFIG)/libgpr.$(SHARED_EXT): $(LIBGPR_OBJS) $(ZLIB_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) @@ -1410,7 +1410,7 @@ endif else -libs/$(CONFIG)/libgrpc.a: $(OPENSSL_DEP) $(LIBGRPC_OBJS) +libs/$(CONFIG)/libgrpc.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc.a $(LIBGRPC_OBJS) @@ -1425,12 +1425,12 @@ libs/$(CONFIG)/libgrpc.a: $(OPENSSL_DEP) $(LIBGRPC_OBJS) ifeq ($(SYSTEM),MINGW32) -libs/$(CONFIG)/grpc.$(SHARED_EXT): $(LIBGRPC_OBJS) libs/$(CONFIG)/gpr.$(SHARED_EXT) $(OPENSSL_DEP) +libs/$(CONFIG)/grpc.$(SHARED_EXT): $(LIBGRPC_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/gpr.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` $(Q) $(LD) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/grpc.def -Wl,--out-implib=libs/$(CONFIG)/libgrpc-imp.a -o libs/$(CONFIG)/grpc.$(SHARED_EXT) $(LIBGRPC_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgpr-imp else -libs/$(CONFIG)/libgrpc.$(SHARED_EXT): $(LIBGRPC_OBJS) libs/$(CONFIG)/libgpr.$(SHARED_EXT) $(OPENSSL_DEP) +libs/$(CONFIG)/libgrpc.$(SHARED_EXT): $(LIBGRPC_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/libgpr.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) @@ -1643,7 +1643,7 @@ PUBLIC_HEADERS_C += \ LIBGRPC_UNSECURE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_UNSECURE_SRC)))) LIBGRPC_UNSECURE_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBGRPC_UNSECURE_SRC)))) -libs/$(CONFIG)/libgrpc_unsecure.a: $(LIBGRPC_UNSECURE_OBJS) +libs/$(CONFIG)/libgrpc_unsecure.a: $(ZLIB_DEP) $(LIBGRPC_UNSECURE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc_unsecure.a $(LIBGRPC_UNSECURE_OBJS) @@ -1651,12 +1651,12 @@ libs/$(CONFIG)/libgrpc_unsecure.a: $(LIBGRPC_UNSECURE_OBJS) ifeq ($(SYSTEM),MINGW32) -libs/$(CONFIG)/grpc_unsecure.$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) libs/$(CONFIG)/gpr.$(SHARED_EXT) +libs/$(CONFIG)/grpc_unsecure.$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/gpr.$(SHARED_EXT) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` $(Q) $(LD) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/grpc_unsecure.def -Wl,--out-implib=libs/$(CONFIG)/libgrpc_unsecure-imp.a -o libs/$(CONFIG)/grpc_unsecure.$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) -lgpr-imp else -libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) libs/$(CONFIG)/libgpr.$(SHARED_EXT) +libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/libgpr.$(SHARED_EXT) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) @@ -1776,7 +1776,7 @@ libs/$(CONFIG)/libgpr_test_util.a: openssl_dep_error else -libs/$(CONFIG)/libgpr_test_util.a: $(OPENSSL_DEP) $(LIBGPR_TEST_UTIL_OBJS) +libs/$(CONFIG)/libgpr_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGPR_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libgpr_test_util.a $(LIBGPR_TEST_UTIL_OBJS) @@ -1830,7 +1830,7 @@ libs/$(CONFIG)/libgrpc_test_util.a: openssl_dep_error else -libs/$(CONFIG)/libgrpc_test_util.a: $(OPENSSL_DEP) $(LIBGRPC_TEST_UTIL_OBJS) +libs/$(CONFIG)/libgrpc_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc_test_util.a $(LIBGRPC_TEST_UTIL_OBJS) @@ -1928,7 +1928,7 @@ endif else -libs/$(CONFIG)/libgrpc++.a: $(OPENSSL_DEP) $(LIBGRPC++_OBJS) +libs/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc++.a $(LIBGRPC++_OBJS) @@ -1936,12 +1936,12 @@ libs/$(CONFIG)/libgrpc++.a: $(OPENSSL_DEP) $(LIBGRPC++_OBJS) ifeq ($(SYSTEM),MINGW32) -libs/$(CONFIG)/grpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) libs/$(CONFIG)/grpc.$(SHARED_EXT) $(OPENSSL_DEP) +libs/$(CONFIG)/grpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/grpc.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/grpc++.def -Wl,--out-implib=libs/$(CONFIG)/libgrpc++-imp.a -o libs/$(CONFIG)/grpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc-imp else -libs/$(CONFIG)/libgrpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) libs/$(CONFIG)/libgrpc.$(SHARED_EXT) $(OPENSSL_DEP) +libs/$(CONFIG)/libgrpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/libgrpc.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) @@ -2010,7 +2010,7 @@ libs/$(CONFIG)/libgrpc++_test_util.a: openssl_dep_error else -libs/$(CONFIG)/libgrpc++_test_util.a: $(OPENSSL_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) +libs/$(CONFIG)/libgrpc++_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc++_test_util.a $(LIBGRPC++_TEST_UTIL_OBJS) @@ -2057,7 +2057,7 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a: openssl_dep_error else -libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a: $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS) +libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS) @@ -2100,7 +2100,7 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a: openssl_dep_error else -libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a: $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_OBJS) +libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_OBJS) @@ -2143,7 +2143,7 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a: openssl_dep_err else -libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a: $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_OBJS) +libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_OBJS) @@ -2186,7 +2186,7 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a: ope else -libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a: $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_OBJS) +libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_OBJS) @@ -2229,7 +2229,7 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a: openssl_dep_error else -libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a: $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_OBJS) +libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_OBJS) @@ -2272,7 +2272,7 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a: opens else -libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a: $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_OBJS) +libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_OBJS) @@ -2308,7 +2308,7 @@ LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_SRC = \ LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_SRC)))) LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_SRC)))) -libs/$(CONFIG)/libend2end_test_cancel_after_accept.a: $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS) +libs/$(CONFIG)/libend2end_test_cancel_after_accept.a: $(ZLIB_DEP) $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS) @@ -2340,7 +2340,7 @@ LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_SRC = \ LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_SRC)))) LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_SRC)))) -libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a: $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS) +libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a: $(ZLIB_DEP) $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS) @@ -2372,7 +2372,7 @@ LIBEND2END_TEST_CANCEL_AFTER_INVOKE_SRC = \ LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_SRC)))) LIBEND2END_TEST_CANCEL_AFTER_INVOKE_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_SRC)))) -libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a: $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS) +libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a: $(ZLIB_DEP) $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS) @@ -2404,7 +2404,7 @@ LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_SRC = \ LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_SRC)))) LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_SRC)))) -libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a: $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS) +libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a: $(ZLIB_DEP) $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS) @@ -2436,7 +2436,7 @@ LIBEND2END_TEST_CANCEL_IN_A_VACUUM_SRC = \ LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_SRC)))) LIBEND2END_TEST_CANCEL_IN_A_VACUUM_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_SRC)))) -libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a: $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS) +libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a: $(ZLIB_DEP) $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS) @@ -2468,7 +2468,7 @@ LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_SRC = \ LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_SRC)))) LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_SRC)))) -libs/$(CONFIG)/libend2end_test_census_simple_request.a: $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS) +libs/$(CONFIG)/libend2end_test_census_simple_request.a: $(ZLIB_DEP) $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS) @@ -2500,7 +2500,7 @@ LIBEND2END_TEST_DISAPPEARING_SERVER_SRC = \ LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_DISAPPEARING_SERVER_SRC)))) LIBEND2END_TEST_DISAPPEARING_SERVER_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_DISAPPEARING_SERVER_SRC)))) -libs/$(CONFIG)/libend2end_test_disappearing_server.a: $(LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS) +libs/$(CONFIG)/libend2end_test_disappearing_server.a: $(ZLIB_DEP) $(LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS) @@ -2532,7 +2532,7 @@ LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_SRC = \ LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_SRC)))) LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_SRC)))) -libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a: $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS) +libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a: $(ZLIB_DEP) $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS) @@ -2564,7 +2564,7 @@ LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_SRC = \ LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_SRC)))) LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_SRC)))) -libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a: $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS) +libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a: $(ZLIB_DEP) $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS) @@ -2596,7 +2596,7 @@ LIBEND2END_TEST_INVOKE_LARGE_REQUEST_SRC = \ LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_SRC)))) LIBEND2END_TEST_INVOKE_LARGE_REQUEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_SRC)))) -libs/$(CONFIG)/libend2end_test_invoke_large_request.a: $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS) +libs/$(CONFIG)/libend2end_test_invoke_large_request.a: $(ZLIB_DEP) $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS) @@ -2628,7 +2628,7 @@ LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_SRC = \ LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_SRC)))) LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_SRC)))) -libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a: $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS) +libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a: $(ZLIB_DEP) $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS) @@ -2660,7 +2660,7 @@ LIBEND2END_TEST_NO_OP_SRC = \ LIBEND2END_TEST_NO_OP_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_NO_OP_SRC)))) LIBEND2END_TEST_NO_OP_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_NO_OP_SRC)))) -libs/$(CONFIG)/libend2end_test_no_op.a: $(LIBEND2END_TEST_NO_OP_OBJS) +libs/$(CONFIG)/libend2end_test_no_op.a: $(ZLIB_DEP) $(LIBEND2END_TEST_NO_OP_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_no_op.a $(LIBEND2END_TEST_NO_OP_OBJS) @@ -2692,7 +2692,7 @@ LIBEND2END_TEST_PING_PONG_STREAMING_SRC = \ LIBEND2END_TEST_PING_PONG_STREAMING_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_PING_PONG_STREAMING_SRC)))) LIBEND2END_TEST_PING_PONG_STREAMING_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_PING_PONG_STREAMING_SRC)))) -libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a: $(LIBEND2END_TEST_PING_PONG_STREAMING_OBJS) +libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a: $(ZLIB_DEP) $(LIBEND2END_TEST_PING_PONG_STREAMING_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBEND2END_TEST_PING_PONG_STREAMING_OBJS) @@ -2724,7 +2724,7 @@ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_SRC = \ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_SRC)))) LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_SRC)))) -libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS) +libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a: $(ZLIB_DEP) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS) @@ -2756,7 +2756,7 @@ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_SRC = \ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_SRC)))) LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_SRC)))) -libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS) +libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a: $(ZLIB_DEP) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS) @@ -2788,7 +2788,7 @@ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_SRC = \ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_SRC)))) LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_SRC)))) -libs/$(CONFIG)/libend2end_test_request_response_with_payload.a: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS) +libs/$(CONFIG)/libend2end_test_request_response_with_payload.a: $(ZLIB_DEP) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS) @@ -2820,7 +2820,7 @@ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_SRC = \ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_SRC)))) LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_SRC)))) -libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a: $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS) +libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a: $(ZLIB_DEP) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS) @@ -2852,7 +2852,7 @@ LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_SRC = \ LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_SRC)))) LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_SRC)))) -libs/$(CONFIG)/libend2end_test_simple_delayed_request.a: $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS) +libs/$(CONFIG)/libend2end_test_simple_delayed_request.a: $(ZLIB_DEP) $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS) @@ -2884,7 +2884,7 @@ LIBEND2END_TEST_SIMPLE_REQUEST_SRC = \ LIBEND2END_TEST_SIMPLE_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_SIMPLE_REQUEST_SRC)))) LIBEND2END_TEST_SIMPLE_REQUEST_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_SIMPLE_REQUEST_SRC)))) -libs/$(CONFIG)/libend2end_test_simple_request.a: $(LIBEND2END_TEST_SIMPLE_REQUEST_OBJS) +libs/$(CONFIG)/libend2end_test_simple_request.a: $(ZLIB_DEP) $(LIBEND2END_TEST_SIMPLE_REQUEST_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_simple_request.a $(LIBEND2END_TEST_SIMPLE_REQUEST_OBJS) @@ -2916,7 +2916,7 @@ LIBEND2END_TEST_THREAD_STRESS_SRC = \ LIBEND2END_TEST_THREAD_STRESS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_THREAD_STRESS_SRC)))) LIBEND2END_TEST_THREAD_STRESS_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_THREAD_STRESS_SRC)))) -libs/$(CONFIG)/libend2end_test_thread_stress.a: $(LIBEND2END_TEST_THREAD_STRESS_OBJS) +libs/$(CONFIG)/libend2end_test_thread_stress.a: $(ZLIB_DEP) $(LIBEND2END_TEST_THREAD_STRESS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_thread_stress.a $(LIBEND2END_TEST_THREAD_STRESS_OBJS) @@ -2948,7 +2948,7 @@ LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_SRC = \ LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_SRC)))) LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_DEPS = $(addprefix deps/$(CONFIG)/, $(addsuffix .dep, $(basename $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_SRC)))) -libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a: $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS) +libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a: $(ZLIB_DEP) $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS) @@ -2990,7 +2990,7 @@ libs/$(CONFIG)/libend2end_certs.a: openssl_dep_error else -libs/$(CONFIG)/libend2end_certs.a: $(OPENSSL_DEP) $(LIBEND2END_CERTS_OBJS) +libs/$(CONFIG)/libend2end_certs.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_CERTS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_certs.a $(LIBEND2END_CERTS_OBJS) diff --git a/templates/Makefile.template b/templates/Makefile.template index 1ed97031c11..69a846045a1 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -315,8 +315,8 @@ run_dep_checks: $(ZLIB_CHECK_CMD) || true libs/$(CONFIG)/zlib/libz.a: - (cd third_party/zlib ; CFLAGS="-fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG))" ./configure --static) - $(MAKE) -c third_party/zlib clean + (cd third_party/zlib ; CC="$(CC)" CFLAGS="-fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG))" ./configure --static) + $(MAKE) -C third_party/zlib clean $(MAKE) -C third_party/zlib mkdir -p libs/$(CONFIG)/zlib cp third_party/zlib/libz.a libs/$(CONFIG)/zlib @@ -718,9 +718,9 @@ endif else -libs/$(CONFIG)/lib${lib.name}.a: $(OPENSSL_DEP) $(LIB${lib.name.upper()}_OBJS) +libs/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIB${lib.name.upper()}_OBJS) % else: -libs/$(CONFIG)/lib${lib.name}.a: $(LIB${lib.name.upper()}_OBJS) +libs/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(LIB${lib.name.upper()}_OBJS) % endif $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` @@ -749,9 +749,9 @@ libs/$(CONFIG)/lib${lib.name}.a: $(LIB${lib.name.upper()}_OBJS) common = '$(LIB' + lib.name.upper() + '_OBJS) $(LDLIBS)' libs = '' - lib_deps = '' + lib_deps = ' $(ZLIB_DEP)' mingw_libs = '' - mingw_lib_deps = '' + mingw_lib_deps = ' $(ZLIB_DEP)' for dep in lib.get('deps', []): libs = libs + ' -l' + dep lib_deps = lib_deps + 'libs/$(CONFIG)/lib' + dep + '.$(SHARED_EXT)' @@ -762,7 +762,6 @@ libs/$(CONFIG)/lib${lib.name}.a: $(LIB${lib.name.upper()}_OBJS) common = common + ' $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS)' lib_deps = lib_deps + ' $(OPENSSL_DEP)' mingw_lib_deps = mingw_lib_deps + ' $(OPENSSL_DEP)' - %> % if lib.build == "all": From a614caa54b46d9a7c3fbec5cad8ce535a11cbcc5 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 09:33:21 -0800 Subject: [PATCH 012/121] Add missing space --- Makefile | 6 +++--- templates/Makefile.template | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 5df8f982a62..8c205f8cd26 100644 --- a/Makefile +++ b/Makefile @@ -1430,7 +1430,7 @@ libs/$(CONFIG)/grpc.$(SHARED_EXT): $(LIBGRPC_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/gp $(Q) mkdir -p `dirname $@` $(Q) $(LD) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/grpc.def -Wl,--out-implib=libs/$(CONFIG)/libgrpc-imp.a -o libs/$(CONFIG)/grpc.$(SHARED_EXT) $(LIBGRPC_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgpr-imp else -libs/$(CONFIG)/libgrpc.$(SHARED_EXT): $(LIBGRPC_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/libgpr.$(SHARED_EXT) $(OPENSSL_DEP) +libs/$(CONFIG)/libgrpc.$(SHARED_EXT): $(LIBGRPC_OBJS) $(ZLIB_DEP) libs/$(CONFIG)/libgpr.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) @@ -1656,7 +1656,7 @@ libs/$(CONFIG)/grpc_unsecure.$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP $(Q) mkdir -p `dirname $@` $(Q) $(LD) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/grpc_unsecure.def -Wl,--out-implib=libs/$(CONFIG)/libgrpc_unsecure-imp.a -o libs/$(CONFIG)/grpc_unsecure.$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) -lgpr-imp else -libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/libgpr.$(SHARED_EXT) +libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP) libs/$(CONFIG)/libgpr.$(SHARED_EXT) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) @@ -1941,7 +1941,7 @@ libs/$(CONFIG)/grpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP)libs/$(CONFIG $(Q) mkdir -p `dirname $@` $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/grpc++.def -Wl,--out-implib=libs/$(CONFIG)/libgrpc++-imp.a -o libs/$(CONFIG)/grpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc-imp else -libs/$(CONFIG)/libgrpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/libgrpc.$(SHARED_EXT) $(OPENSSL_DEP) +libs/$(CONFIG)/libgrpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) libs/$(CONFIG)/libgrpc.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) diff --git a/templates/Makefile.template b/templates/Makefile.template index 69a846045a1..7a60e3d20eb 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -754,7 +754,7 @@ libs/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(LIB${lib.name.upper()}_OBJS) mingw_lib_deps = ' $(ZLIB_DEP)' for dep in lib.get('deps', []): libs = libs + ' -l' + dep - lib_deps = lib_deps + 'libs/$(CONFIG)/lib' + dep + '.$(SHARED_EXT)' + lib_deps = lib_deps + ' libs/$(CONFIG)/lib' + dep + '.$(SHARED_EXT)' mingw_libs = mingw_libs + ' -l' + dep + '-imp' mingw_lib_deps = mingw_lib_deps + 'libs/$(CONFIG)/' + dep + '.$(SHARED_EXT)' From a2075b90d7dd479fedb565b1fe3c325389d4bfce Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 10:16:35 -0800 Subject: [PATCH 013/121] Remove calls to grpc_call_accept from C core tests. This call is deprecated. --- test/core/echo/server.c | 3 ++- test/core/end2end/dualstack_socket_test.c | 3 ++- test/core/end2end/tests/cancel_after_accept.c | 3 ++- .../tests/cancel_after_accept_and_writes_closed.c | 3 ++- test/core/end2end/tests/census_simple_request.c | 3 ++- test/core/end2end/tests/disappearing_server.c | 3 ++- .../early_server_shutdown_finishes_inflight_calls.c | 3 ++- test/core/end2end/tests/invoke_large_request.c | 3 ++- test/core/end2end/tests/max_concurrent_streams.c | 9 ++++++--- test/core/end2end/tests/ping_pong_streaming.c | 3 ++- test/core/end2end/tests/request_response_with_payload.c | 3 ++- test/core/end2end/tests/simple_delayed_request.c | 3 ++- test/core/end2end/tests/simple_request.c | 6 ++++-- test/core/end2end/tests/thread_stress.c | 5 +++-- .../end2end/tests/writes_done_hangs_with_pending_read.c | 3 ++- test/core/fling/server.c | 3 ++- 16 files changed, 39 insertions(+), 20 deletions(-) diff --git a/test/core/echo/server.c b/test/core/echo/server.c index e70743af221..3cc5fd5909c 100644 --- a/test/core/echo/server.c +++ b/test/core/echo/server.c @@ -124,7 +124,8 @@ int main(int argc, char **argv) { case GRPC_SERVER_RPC_NEW: if (ev->call != NULL) { /* initial ops are already started in request_call */ - grpc_call_accept(ev->call, cq, s, GRPC_WRITE_BUFFER_HINT); + grpc_call_server_accept(ev->call, cq, s); + grpc_call_server_end_initial_metadata(ev->call, GRPC_WRITE_BUFFER_HINT); GPR_ASSERT(grpc_call_start_read(ev->call, s) == GRPC_CALL_OK); request_call(); } else { diff --git a/test/core/end2end/dualstack_socket_test.c b/test/core/end2end/dualstack_socket_test.c index d718a314d93..88a6acdd7d9 100644 --- a/test/core/end2end/dualstack_socket_test.c +++ b/test/core/end2end/dualstack_socket_test.c @@ -131,7 +131,8 @@ void test_connect(const char *server_host, const char *client_host, int port, deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(s, server_cq, tag(102), 0)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/cancel_after_accept.c b/test/core/end2end/tests/cancel_after_accept.c index 5339161f02c..467d360aaef 100644 --- a/test/core/end2end/tests/cancel_after_accept.c +++ b/test/core/end2end/tests/cancel_after_accept.c @@ -133,7 +133,8 @@ static void test_cancel_after_accept(grpc_end2end_test_config config, deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(s, f.server_cq, tag(102), 0)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c b/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c index e20b0ec0b24..f75c629d2a3 100644 --- a/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c +++ b/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c @@ -133,7 +133,8 @@ static void test_cancel_after_accept_and_writes_closed( deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(s, f.server_cq, tag(102), 0)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/census_simple_request.c b/test/core/end2end/tests/census_simple_request.c index 64c0d12ca4a..baeed5cb46f 100644 --- a/test/core/end2end/tests/census_simple_request.c +++ b/test/core/end2end/tests/census_simple_request.c @@ -122,7 +122,8 @@ static void test_body(grpc_end2end_test_fixture f) { deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(s, f.server_cq, tag(102), 0)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/disappearing_server.c b/test/core/end2end/tests/disappearing_server.c index c421798fc76..d64dfe05c01 100644 --- a/test/core/end2end/tests/disappearing_server.c +++ b/test/core/end2end/tests/disappearing_server.c @@ -115,7 +115,8 @@ static void do_request_and_shutdown_server(grpc_end2end_test_fixture *f, deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(s, f->server_cq, tag(102), 0)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f->server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c b/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c index 3855a7a3de4..77284b8cbb8 100644 --- a/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c +++ b/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c @@ -128,7 +128,8 @@ static void test_early_server_shutdown_finishes_inflight_calls( deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(s, f.server_cq, tag(102), 0)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/invoke_large_request.c b/test/core/end2end/tests/invoke_large_request.c index bad86fb9dcd..cb2d81df2bb 100644 --- a/test/core/end2end/tests/invoke_large_request.c +++ b/test/core/end2end/tests/invoke_large_request.c @@ -143,7 +143,8 @@ static void test_invoke_large_request(grpc_end2end_test_config config) { deadline, NULL); cq_verify(v_server); - grpc_call_accept(s, f.server_cq, tag(102), 0); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/max_concurrent_streams.c b/test/core/end2end/tests/max_concurrent_streams.c index a418d1b15f3..e413b101492 100644 --- a/test/core/end2end/tests/max_concurrent_streams.c +++ b/test/core/end2end/tests/max_concurrent_streams.c @@ -126,7 +126,8 @@ static void simple_request_body(grpc_end2end_test_fixture f) { deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(s, f.server_cq, tag(102), 0)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); @@ -216,7 +217,8 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) { "test.google.com", deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(s1, f.server_cq, tag(102), 0)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s1, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s1, 0)); cq_expect_client_metadata_read(v_client, tag(live_call + 1), NULL); cq_verify(v_client); @@ -246,7 +248,8 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) { "test.google.com", deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(s2, f.server_cq, tag(202), 0)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s2, f.server_cq, tag(202))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s2, 0)); cq_expect_client_metadata_read(v_client, tag(live_call + 1), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/ping_pong_streaming.c b/test/core/end2end/tests/ping_pong_streaming.c index 02a05e8e0c7..d9c5f480307 100644 --- a/test/core/end2end/tests/ping_pong_streaming.c +++ b/test/core/end2end/tests/ping_pong_streaming.c @@ -130,7 +130,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config, cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "test.google.com", deadline, NULL); cq_verify(v_server); - grpc_call_accept(s, f.server_cq, tag(102), 0); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/request_response_with_payload.c b/test/core/end2end/tests/request_response_with_payload.c index deb61a7a8b9..2f5be04cf50 100644 --- a/test/core/end2end/tests/request_response_with_payload.c +++ b/test/core/end2end/tests/request_response_with_payload.c @@ -141,7 +141,8 @@ static void request_response_with_payload(grpc_end2end_test_fixture f) { deadline, NULL); cq_verify(v_server); - grpc_call_accept(s, f.server_cq, tag(102), 0); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/simple_delayed_request.c b/test/core/end2end/tests/simple_delayed_request.c index b90316c32eb..fb45b67ceb7 100644 --- a/test/core/end2end/tests/simple_delayed_request.c +++ b/test/core/end2end/tests/simple_delayed_request.c @@ -124,7 +124,8 @@ static void simple_delayed_request_body(grpc_end2end_test_config config, deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(s, f->server_cq, tag(102), 0)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f->server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/simple_request.c b/test/core/end2end/tests/simple_request.c index 3511f276e66..909d839e7a6 100644 --- a/test/core/end2end/tests/simple_request.c +++ b/test/core/end2end/tests/simple_request.c @@ -126,7 +126,8 @@ static void simple_request_body(grpc_end2end_test_fixture f) { deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(s, f.server_cq, tag(102), 0)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); @@ -173,7 +174,8 @@ static void simple_request_body2(grpc_end2end_test_fixture f) { deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(s, f.server_cq, tag(102), 0)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_write_status( s, GRPC_STATUS_UNIMPLEMENTED, "xyz", tag(5))); diff --git a/test/core/end2end/tests/thread_stress.c b/test/core/end2end/tests/thread_stress.c index 4100b0e35d6..c68e8d34be2 100644 --- a/test/core/end2end/tests/thread_stress.c +++ b/test/core/end2end/tests/thread_stress.c @@ -218,9 +218,10 @@ static void server_thread(void *p) { break; case GRPC_SERVER_RPC_NEW: if (ev->call) { - GPR_ASSERT(GRPC_CALL_OK == grpc_call_accept(ev->call, + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(ev->call, g_fixture.server_cq, - ev->tag, 0)); + ev->tag)); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(ev->call,0)); GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_read(ev->call, ev->tag)); GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_write(ev->call, buf, ev->tag, 0)); diff --git a/test/core/end2end/tests/writes_done_hangs_with_pending_read.c b/test/core/end2end/tests/writes_done_hangs_with_pending_read.c index 2241519e894..5c5e264a21c 100644 --- a/test/core/end2end/tests/writes_done_hangs_with_pending_read.c +++ b/test/core/end2end/tests/writes_done_hangs_with_pending_read.c @@ -145,7 +145,8 @@ static void test_writes_done_hangs_with_pending_read( deadline, NULL); cq_verify(v_server); - grpc_call_accept(s, f.server_cq, tag(102), 0); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/fling/server.c b/test/core/fling/server.c index 44dc33a461f..1149d01ea17 100644 --- a/test/core/fling/server.c +++ b/test/core/fling/server.c @@ -130,7 +130,8 @@ int main(int argc, char **argv) { } else { s->flags = GRPC_WRITE_BUFFER_HINT; } - grpc_call_accept(ev->call, cq, s, s->flags); + grpc_call_server_accept(ev->call, cq, s); + grpc_call_server_end_initial_metadata(ev->call, s->flags); GPR_ASSERT(grpc_call_start_read(ev->call, s) == GRPC_CALL_OK); request_call(); } else { From 4f20042ce18fb815328dc90c5edd19d49e7acf4a Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 10:17:45 -0800 Subject: [PATCH 014/121] Remove grpc_call_accept --- include/grpc/grpc.h | 16 ---------------- src/core/surface/call.c | 11 ----------- 2 files changed, 27 deletions(-) diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h index 45915cbfadf..34c75810b71 100644 --- a/include/grpc/grpc.h +++ b/include/grpc/grpc.h @@ -325,22 +325,6 @@ grpc_call_error grpc_call_start_invoke(grpc_call *call, void *metadata_read_tag, void *finished_tag, gpr_uint32 flags); -/* DEPRECATED: users should use grpc_call_server_accept, and - grpc_call_server_end_initial_metadata instead now. - - - Accept an incoming RPC, binding a completion queue to it. - To be called after adding metadata to the call, but before sending - messages. - flags is a bit-field combination of the write flags defined above. - REQUIRES: Can be called at most once per call. - Can only be called on the server. - Produces a GRPC_FINISHED event with finished_tag when the call has been - completed (there may be other events for the call pending at this - time) */ -grpc_call_error grpc_call_accept(grpc_call *call, grpc_completion_queue *cq, - void *finished_tag, gpr_uint32 flags); - /* Accept an incoming RPC, binding a completion queue to it. To be called before sending or receiving messages. REQUIRES: Can be called at most once per call. diff --git a/src/core/surface/call.c b/src/core/surface/call.c index 0d72bf42fb8..db6dbe04e4c 100644 --- a/src/core/surface/call.c +++ b/src/core/surface/call.c @@ -535,17 +535,6 @@ grpc_call_error grpc_call_server_end_initial_metadata(grpc_call *call, return GRPC_CALL_OK; } -grpc_call_error grpc_call_accept(grpc_call *call, grpc_completion_queue *cq, - void *finished_tag, gpr_uint32 flags) { - grpc_call_error err; - - err = grpc_call_server_accept(call, cq, finished_tag); - if (err != GRPC_CALL_OK) return err; - err = grpc_call_server_end_initial_metadata(call, flags); - if (err != GRPC_CALL_OK) return err; - return GRPC_CALL_OK; -} - static void done_writes_done(void *user_data, grpc_op_error error) { grpc_call *call = user_data; void *tag = call->write_tag; From d7f2c2b1c72a829867da953cc908451fd6ec790e Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 10:18:47 -0800 Subject: [PATCH 015/121] clang-format --- test/core/echo/server.c | 3 ++- test/core/end2end/tests/disappearing_server.c | 3 ++- test/core/end2end/tests/max_concurrent_streams.c | 6 ++++-- test/core/end2end/tests/simple_delayed_request.c | 3 ++- test/core/end2end/tests/thread_stress.c | 9 +++++---- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/test/core/echo/server.c b/test/core/echo/server.c index 3cc5fd5909c..2655fb2bfcf 100644 --- a/test/core/echo/server.c +++ b/test/core/echo/server.c @@ -125,7 +125,8 @@ int main(int argc, char **argv) { if (ev->call != NULL) { /* initial ops are already started in request_call */ grpc_call_server_accept(ev->call, cq, s); - grpc_call_server_end_initial_metadata(ev->call, GRPC_WRITE_BUFFER_HINT); + grpc_call_server_end_initial_metadata(ev->call, + GRPC_WRITE_BUFFER_HINT); GPR_ASSERT(grpc_call_start_read(ev->call, s) == GRPC_CALL_OK); request_call(); } else { diff --git a/test/core/end2end/tests/disappearing_server.c b/test/core/end2end/tests/disappearing_server.c index d64dfe05c01..8d16367e0fa 100644 --- a/test/core/end2end/tests/disappearing_server.c +++ b/test/core/end2end/tests/disappearing_server.c @@ -115,7 +115,8 @@ static void do_request_and_shutdown_server(grpc_end2end_test_fixture *f, deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f->server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == + grpc_call_server_accept(s, f->server_cq, tag(102))); GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/max_concurrent_streams.c b/test/core/end2end/tests/max_concurrent_streams.c index e413b101492..09710fe7ed5 100644 --- a/test/core/end2end/tests/max_concurrent_streams.c +++ b/test/core/end2end/tests/max_concurrent_streams.c @@ -217,7 +217,8 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) { "test.google.com", deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s1, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == + grpc_call_server_accept(s1, f.server_cq, tag(102))); GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s1, 0)); cq_expect_client_metadata_read(v_client, tag(live_call + 1), NULL); cq_verify(v_client); @@ -248,7 +249,8 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) { "test.google.com", deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s2, f.server_cq, tag(202))); + GPR_ASSERT(GRPC_CALL_OK == + grpc_call_server_accept(s2, f.server_cq, tag(202))); GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s2, 0)); cq_expect_client_metadata_read(v_client, tag(live_call + 1), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/simple_delayed_request.c b/test/core/end2end/tests/simple_delayed_request.c index fb45b67ceb7..8a0bf699b1c 100644 --- a/test/core/end2end/tests/simple_delayed_request.c +++ b/test/core/end2end/tests/simple_delayed_request.c @@ -124,7 +124,8 @@ static void simple_delayed_request_body(grpc_end2end_test_config config, deadline, NULL); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f->server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == + grpc_call_server_accept(s, f->server_cq, tag(102))); GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); diff --git a/test/core/end2end/tests/thread_stress.c b/test/core/end2end/tests/thread_stress.c index c68e8d34be2..c9134a8cc5b 100644 --- a/test/core/end2end/tests/thread_stress.c +++ b/test/core/end2end/tests/thread_stress.c @@ -218,10 +218,11 @@ static void server_thread(void *p) { break; case GRPC_SERVER_RPC_NEW: if (ev->call) { - GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(ev->call, - g_fixture.server_cq, - ev->tag)); - GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(ev->call,0)); + GPR_ASSERT(GRPC_CALL_OK == + grpc_call_server_accept(ev->call, g_fixture.server_cq, + ev->tag)); + GPR_ASSERT(GRPC_CALL_OK == + grpc_call_server_end_initial_metadata(ev->call, 0)); GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_read(ev->call, ev->tag)); GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_write(ev->call, buf, ev->tag, 0)); From 32946d37e05714d358f66fb4ff8a204ce53d8573 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 11:37:30 -0800 Subject: [PATCH 016/121] () --> (void) --- include/grpc/grpc.h | 6 ++-- include/grpc/support/slice.h | 2 +- src/core/iomgr/alarm.c | 4 +-- src/core/iomgr/alarm_internal.h | 6 ++-- src/core/iomgr/iomgr.c | 10 +++---- src/core/iomgr/iomgr.h | 4 +-- src/core/iomgr/iomgr_internal.h | 8 ++--- src/core/iomgr/iomgr_posix.c | 4 +-- src/core/iomgr/iomgr_posix.h | 4 +-- src/core/iomgr/pollset_posix.c | 6 ++-- src/core/iomgr/pollset_posix.h | 2 +- src/core/iomgr/socket_utils_common_posix.c | 4 +-- src/core/iomgr/socket_utils_posix.h | 2 +- src/core/iomgr/tcp_server.h | 2 +- src/core/iomgr/tcp_server_posix.c | 6 ++-- src/core/security/credentials.c | 2 +- src/core/statistics/census_init.c | 4 +-- src/core/statistics/census_interface.h | 6 ++-- src/core/statistics/census_log.c | 10 +++---- src/core/statistics/census_log.h | 8 ++--- src/core/statistics/census_rpc_stats.c | 10 +++---- src/core/statistics/census_rpc_stats.h | 6 ++-- src/core/statistics/census_tracing.c | 14 ++++----- src/core/statistics/census_tracing.h | 8 ++--- src/core/support/cpu.h | 4 +-- src/core/support/cpu_linux.c | 4 +-- src/core/support/cpu_posix.c | 4 +-- src/core/support/log_linux.c | 2 +- src/core/support/log_posix.c | 2 +- src/core/support/slice.c | 2 +- src/core/support/string.c | 2 +- src/core/surface/completion_queue.c | 4 +-- src/core/surface/init.c | 4 +-- src/core/transport/chttp2/alpn.c | 2 +- src/core/transport/chttp2/alpn.h | 2 +- src/core/transport/chttp2/frame_settings.c | 2 +- src/core/transport/chttp2/frame_settings.h | 2 +- src/core/transport/chttp2/gen_hpack_tables.c | 14 ++++----- src/core/transport/metadata.c | 2 +- src/core/transport/metadata.h | 2 +- test/core/channel/channel_stack_test.c | 2 +- test/core/compression/message_compress_test.c | 2 +- test/core/echo/server.c | 2 +- test/core/end2end/tests/cancel_after_accept.c | 2 +- .../cancel_after_accept_and_writes_closed.c | 2 +- test/core/end2end/tests/cancel_after_invoke.c | 2 +- .../core/end2end/tests/cancel_before_invoke.c | 2 +- test/core/end2end/tests/cancel_in_a_vacuum.c | 2 +- test/core/end2end/tests/disappearing_server.c | 2 +- ..._server_shutdown_finishes_inflight_calls.c | 2 +- .../early_server_shutdown_finishes_tags.c | 2 +- .../core/end2end/tests/invoke_large_request.c | 2 +- .../end2end/tests/max_concurrent_streams.c | 2 +- test/core/end2end/tests/no_op.c | 2 +- test/core/end2end/tests/ping_pong_streaming.c | 2 +- ...esponse_with_binary_metadata_and_payload.c | 2 +- ...quest_response_with_metadata_and_payload.c | 2 +- .../tests/request_response_with_payload.c | 2 +- ...ponse_with_trailing_metadata_and_payload.c | 2 +- .../tests/request_with_large_metadata.c | 2 +- .../core/end2end/tests/request_with_payload.c | 2 +- .../end2end/tests/simple_delayed_request.c | 2 +- test/core/end2end/tests/simple_request.c | 2 +- test/core/end2end/tests/thread_stress.c | 6 ++-- .../writes_done_hangs_with_pending_read.c | 2 +- test/core/fling/client.c | 10 +++---- test/core/fling/server.c | 2 +- test/core/httpcli/format_request_test.c | 8 ++--- test/core/iomgr/alarm_heap_test.c | 6 ++-- test/core/iomgr/alarm_list_test.c | 6 ++-- test/core/iomgr/alarm_test.c | 2 +- test/core/iomgr/fd_posix_test.c | 4 +-- test/core/iomgr/resolve_address_test.c | 16 +++++----- test/core/iomgr/sockaddr_utils_test.c | 8 ++--- test/core/iomgr/tcp_client_posix_test.c | 8 ++--- test/core/iomgr/tcp_posix_test.c | 4 +-- test/core/iomgr/tcp_server_posix_test.c | 8 ++--- test/core/iomgr/time_averaged_stats_test.c | 16 +++++----- .../network_benchmarks/low_level_ping_pong.c | 2 +- test/core/security/secure_endpoint_test.c | 2 +- test/core/statistics/census_log_tests.c | 28 ++++++++--------- test/core/statistics/census_stub_test.c | 2 +- test/core/statistics/hash_table_test.c | 14 ++++----- test/core/statistics/rpc_stats_test.c | 10 +++---- test/core/statistics/trace_test.c | 12 ++++---- test/core/statistics/window_stats_test.c | 10 +++---- test/core/support/cmdline_test.c | 30 +++++++++---------- test/core/support/histogram_test.c | 8 ++--- test/core/support/host_port_test.c | 4 +-- test/core/support/slice_test.c | 8 ++--- test/core/support/string_test.c | 8 ++--- test/core/support/time_test.c | 2 +- test/core/surface/byte_buffer_reader_test.c | 6 ++-- test/core/surface/completion_queue_test.c | 20 ++++++------- test/core/transport/chttp2/hpack_table_test.c | 6 ++-- .../transport/chttp2/stream_encoder_test.c | 8 ++--- test/core/transport/chttp2/stream_map_test.c | 6 ++-- .../transport/chttp2/timeout_encoding_test.c | 6 ++-- test/core/transport/metadata_test.c | 18 +++++------ test/core/transport/transport_end2end_tests.c | 12 ++++---- test/core/util/grpc_profiler.c | 2 +- test/core/util/port_posix.c | 4 +-- test/core/util/test_config.c | 2 +- 103 files changed, 287 insertions(+), 287 deletions(-) diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h index 34c75810b71..40a3d2acb55 100644 --- a/include/grpc/grpc.h +++ b/include/grpc/grpc.h @@ -232,12 +232,12 @@ typedef struct grpc_event { } grpc_event; /* Initialize the grpc library */ -void grpc_init(); +void grpc_init(void); /* Shutdown the grpc library */ -void grpc_shutdown(); +void grpc_shutdown(void); -grpc_completion_queue *grpc_completion_queue_create(); +grpc_completion_queue *grpc_completion_queue_create(void); /* Blocks until an event is available, the completion queue is being shutdown, or deadline is reached. Returns NULL on timeout, otherwise the event that diff --git a/include/grpc/support/slice.h b/include/grpc/support/slice.h index 597b5688fce..7828ccdd13c 100644 --- a/include/grpc/support/slice.h +++ b/include/grpc/support/slice.h @@ -163,7 +163,7 @@ gpr_slice gpr_slice_split_tail(gpr_slice *s, size_t split); Requires s intialized, split <= s.length */ gpr_slice gpr_slice_split_head(gpr_slice *s, size_t split); -gpr_slice gpr_empty_slice(); +gpr_slice gpr_empty_slice(void); /* Returns <0 if a < b, ==0 if a == b, >0 if a > b */ int gpr_slice_cmp(gpr_slice a, gpr_slice b); diff --git a/src/core/iomgr/alarm.c b/src/core/iomgr/alarm.c index 26648793238..5b80368e3a2 100644 --- a/src/core/iomgr/alarm.c +++ b/src/core/iomgr/alarm.c @@ -100,7 +100,7 @@ void grpc_alarm_list_init(gpr_timespec now) { } } -void grpc_alarm_list_shutdown() { +void grpc_alarm_list_shutdown(void) { int i; while (run_some_expired_alarms(NULL, gpr_inf_future, NULL, 0)) ; @@ -360,7 +360,7 @@ int grpc_alarm_check(gpr_mu *drop_mu, gpr_timespec now, gpr_timespec *next) { return run_some_expired_alarms(drop_mu, now, next, 1); } -gpr_timespec grpc_alarm_list_next_timeout() { +gpr_timespec grpc_alarm_list_next_timeout(void) { gpr_timespec out; gpr_mu_lock(&g_mu); out = g_shard_queue[0]->min_deadline; diff --git a/src/core/iomgr/alarm_internal.h b/src/core/iomgr/alarm_internal.h index 12b6ab4286d..5c6b869302e 100644 --- a/src/core/iomgr/alarm_internal.h +++ b/src/core/iomgr/alarm_internal.h @@ -42,12 +42,12 @@ int grpc_alarm_check(gpr_mu *drop_mu, gpr_timespec now, gpr_timespec *next); void grpc_alarm_list_init(gpr_timespec now); -void grpc_alarm_list_shutdown(); +void grpc_alarm_list_shutdown(void); -gpr_timespec grpc_alarm_list_next_timeout(); +gpr_timespec grpc_alarm_list_next_timeout(void); /* the following must be implemented by each iomgr implementation */ -void grpc_kick_poller(); +void grpc_kick_poller(void); #endif /* __GRPC_INTERNAL_IOMGR_ALARM_INTERNAL_H_ */ diff --git a/src/core/iomgr/iomgr.c b/src/core/iomgr/iomgr.c index 03f56a50a32..7f266ab235c 100644 --- a/src/core/iomgr/iomgr.c +++ b/src/core/iomgr/iomgr.c @@ -80,9 +80,9 @@ static void background_callback_executor(void *ignored) { gpr_event_set(&g_background_callback_executor_done, (void *)1); } -void grpc_kick_poller() { gpr_cv_broadcast(&g_cv); } +void grpc_kick_poller(void) { gpr_cv_broadcast(&g_cv); } -void grpc_iomgr_init() { +void grpc_iomgr_init(void) { gpr_thd_id id; gpr_mu_init(&g_mu); gpr_cv_init(&g_cv); @@ -93,7 +93,7 @@ void grpc_iomgr_init() { gpr_thd_new(&id, background_callback_executor, NULL, NULL); } -void grpc_iomgr_shutdown() { +void grpc_iomgr_shutdown(void) { delayed_callback *cb; gpr_timespec shutdown_deadline = gpr_time_add(gpr_now(), gpr_time_from_seconds(10)); @@ -134,13 +134,13 @@ void grpc_iomgr_shutdown() { gpr_cv_destroy(&g_cv); } -void grpc_iomgr_ref() { +void grpc_iomgr_ref(void) { gpr_mu_lock(&g_mu); ++g_refs; gpr_mu_unlock(&g_mu); } -void grpc_iomgr_unref() { +void grpc_iomgr_unref(void) { gpr_mu_lock(&g_mu); if (0 == --g_refs) { gpr_cv_signal(&g_cv); diff --git a/src/core/iomgr/iomgr.h b/src/core/iomgr/iomgr.h index 16991a9b90e..06dc2e5dbfa 100644 --- a/src/core/iomgr/iomgr.h +++ b/src/core/iomgr/iomgr.h @@ -37,8 +37,8 @@ /* gRPC Callback definition */ typedef void (*grpc_iomgr_cb_func)(void *arg, int success); -void grpc_iomgr_init(); -void grpc_iomgr_shutdown(); +void grpc_iomgr_init(void); +void grpc_iomgr_shutdown(void); /* This function is called from within a callback or from anywhere else and causes the invocation of a callback at some point in the future */ diff --git a/src/core/iomgr/iomgr_internal.h b/src/core/iomgr/iomgr_internal.h index 5f72542777d..e9962a0f66b 100644 --- a/src/core/iomgr/iomgr_internal.h +++ b/src/core/iomgr/iomgr_internal.h @@ -42,10 +42,10 @@ int grpc_maybe_call_delayed_callbacks(gpr_mu *drop_mu, int success); void grpc_iomgr_add_delayed_callback(grpc_iomgr_cb_func cb, void *cb_arg, int success); -void grpc_iomgr_ref(); -void grpc_iomgr_unref(); +void grpc_iomgr_ref(void); +void grpc_iomgr_unref(void); -void grpc_iomgr_platform_init(); -void grpc_iomgr_platform_shutdown(); +void grpc_iomgr_platform_init(void); +void grpc_iomgr_platform_shutdown(void); #endif /* __GRPC_INTERNAL_IOMGR_IOMGR_INTERNAL_H_ */ diff --git a/src/core/iomgr/iomgr_posix.c b/src/core/iomgr/iomgr_posix.c index ff9195ec1dc..61fec6bc532 100644 --- a/src/core/iomgr/iomgr_posix.c +++ b/src/core/iomgr/iomgr_posix.c @@ -33,6 +33,6 @@ #include "src/core/iomgr/iomgr_posix.h" -void grpc_iomgr_platform_init() { grpc_pollset_global_init(); } +void grpc_iomgr_platform_init(void) { grpc_pollset_global_init(); } -void grpc_iomgr_platform_shutdown() { grpc_pollset_global_shutdown(); } +void grpc_iomgr_platform_shutdown(void) { grpc_pollset_global_shutdown(); } diff --git a/src/core/iomgr/iomgr_posix.h b/src/core/iomgr/iomgr_posix.h index ca5af3e5276..86973a050dc 100644 --- a/src/core/iomgr/iomgr_posix.h +++ b/src/core/iomgr/iomgr_posix.h @@ -36,7 +36,7 @@ #include "src/core/iomgr/iomgr_internal.h" -void grpc_pollset_global_init(); -void grpc_pollset_global_shutdown(); +void grpc_pollset_global_init(void); +void grpc_pollset_global_shutdown(void); #endif /* __GRPC_INTERNAL_IOMGR_IOMGR_POSIX_H_ */ diff --git a/src/core/iomgr/pollset_posix.c b/src/core/iomgr/pollset_posix.c index ff00e064291..6f1b3ced7df 100644 --- a/src/core/iomgr/pollset_posix.c +++ b/src/core/iomgr/pollset_posix.c @@ -129,9 +129,9 @@ void grpc_kick_drain(grpc_pollset *p) { /* global state management */ -grpc_pollset *grpc_backup_pollset() { return &g_backup_pollset; } +grpc_pollset *grpc_backup_pollset(void) { return &g_backup_pollset; } -void grpc_pollset_global_init() { +void grpc_pollset_global_init(void) { int i; gpr_thd_id id; @@ -151,7 +151,7 @@ void grpc_pollset_global_init() { gpr_thd_new(&id, backup_poller, NULL, NULL); } -void grpc_pollset_global_shutdown() { +void grpc_pollset_global_shutdown(void) { int i; /* terminate the backup poller thread */ diff --git a/src/core/iomgr/pollset_posix.h b/src/core/iomgr/pollset_posix.h index f051079f5b5..32a8f533ae7 100644 --- a/src/core/iomgr/pollset_posix.h +++ b/src/core/iomgr/pollset_posix.h @@ -86,7 +86,7 @@ void grpc_kick_drain(grpc_pollset *p); regardless of applications listening to events. Relying on this is slow however (the backup pollset only listens every 100ms or so) - so it's not to be relied on. */ -grpc_pollset *grpc_backup_pollset(); +grpc_pollset *grpc_backup_pollset(void); /* turn a pollset into a multipoller: platform specific */ void grpc_platform_become_multipoller(grpc_pollset *pollset, diff --git a/src/core/iomgr/socket_utils_common_posix.c b/src/core/iomgr/socket_utils_common_posix.c index 7f2b43f2cad..d65b025d700 100644 --- a/src/core/iomgr/socket_utils_common_posix.c +++ b/src/core/iomgr/socket_utils_common_posix.c @@ -115,7 +115,7 @@ int grpc_set_socket_low_latency(int fd, int low_latency) { static gpr_once g_probe_ipv6_once = GPR_ONCE_INIT; static int g_ipv6_loopback_available; -static void probe_ipv6_once() { +static void probe_ipv6_once(void) { int fd = socket(AF_INET6, SOCK_STREAM, 0); g_ipv6_loopback_available = 0; if (fd < 0) { @@ -135,7 +135,7 @@ static void probe_ipv6_once() { } } -int grpc_ipv6_loopback_available() { +int grpc_ipv6_loopback_available(void) { gpr_once_init(&g_probe_ipv6_once, probe_ipv6_once); return g_ipv6_loopback_available; } diff --git a/src/core/iomgr/socket_utils_posix.h b/src/core/iomgr/socket_utils_posix.h index 9c5d93c2b4b..a84457f01de 100644 --- a/src/core/iomgr/socket_utils_posix.h +++ b/src/core/iomgr/socket_utils_posix.h @@ -61,7 +61,7 @@ int grpc_set_socket_low_latency(int fd, int low_latency); and bind IPv6 sockets, but cannot connect to a getsockname() of [::]:port without a valid loopback interface. Rather than expose this half-broken state to library users, we turn off IPv6 sockets. */ -int grpc_ipv6_loopback_available(); +int grpc_ipv6_loopback_available(void); /* An enum to keep track of IPv4/IPv6 socket modes. diff --git a/src/core/iomgr/tcp_server.h b/src/core/iomgr/tcp_server.h index d881e146b96..8ffd7d3569e 100644 --- a/src/core/iomgr/tcp_server.h +++ b/src/core/iomgr/tcp_server.h @@ -46,7 +46,7 @@ typedef struct grpc_tcp_server grpc_tcp_server; typedef void (*grpc_tcp_server_cb)(void *arg, grpc_endpoint *ep); /* Create a server, initially not bound to any ports */ -grpc_tcp_server *grpc_tcp_server_create(); +grpc_tcp_server *grpc_tcp_server_create(void); /* Start listening to bound ports */ void grpc_tcp_server_start(grpc_tcp_server *server, grpc_pollset *pollset, diff --git a/src/core/iomgr/tcp_server_posix.c b/src/core/iomgr/tcp_server_posix.c index 753e24c38e5..5762eb8a970 100644 --- a/src/core/iomgr/tcp_server_posix.c +++ b/src/core/iomgr/tcp_server_posix.c @@ -84,7 +84,7 @@ struct grpc_tcp_server { size_t port_capacity; }; -grpc_tcp_server *grpc_tcp_server_create() { +grpc_tcp_server *grpc_tcp_server_create(void) { grpc_tcp_server *s = gpr_malloc(sizeof(grpc_tcp_server)); gpr_mu_init(&s->mu); gpr_cv_init(&s->cv); @@ -120,7 +120,7 @@ void grpc_tcp_server_destroy(grpc_tcp_server *s) { } /* get max listen queue size on linux */ -static void init_max_accept_queue_size() { +static void init_max_accept_queue_size(void) { int n = SOMAXCONN; char buf[64]; FILE *fp = fopen("/proc/sys/net/core/somaxconn", "r"); @@ -147,7 +147,7 @@ static void init_max_accept_queue_size() { } } -static int get_max_accept_queue_size() { +static int get_max_accept_queue_size(void) { gpr_once_init(&s_init_max_accept_queue_size, init_max_accept_queue_size); return s_max_accept_queue_size; } diff --git a/src/core/security/credentials.c b/src/core/security/credentials.c index d3bba0fb1f6..ea1a6cd1c4d 100644 --- a/src/core/security/credentials.c +++ b/src/core/security/credentials.c @@ -638,7 +638,7 @@ grpc_credentials *grpc_fake_transport_security_credentials_create(void) { } grpc_server_credentials * -grpc_fake_transport_security_server_credentials_create() { +grpc_fake_transport_security_server_credentials_create(void) { grpc_server_credentials *c = gpr_malloc(sizeof(grpc_server_credentials)); memset(c, 0, sizeof(grpc_server_credentials)); c->type = GRPC_CREDENTIALS_TYPE_FAKE_TRANSPORT_SECURITY; diff --git a/src/core/statistics/census_init.c b/src/core/statistics/census_init.c index bcb9ff9ad4e..cbf2089f3fa 100644 --- a/src/core/statistics/census_init.c +++ b/src/core/statistics/census_init.c @@ -37,13 +37,13 @@ #include "src/core/statistics/census_rpc_stats.h" #include "src/core/statistics/census_tracing.h" -void census_init() { +void census_init(void) { gpr_log(GPR_INFO, "Initialize census library."); census_tracing_init(); census_stats_store_init(); } -void census_shutdown() { +void census_shutdown(void) { gpr_log(GPR_INFO, "Shutdown census library."); census_stats_store_shutdown(); census_tracing_shutdown(); diff --git a/src/core/statistics/census_interface.h b/src/core/statistics/census_interface.h index af9c70c4fb7..8e586382f78 100644 --- a/src/core/statistics/census_interface.h +++ b/src/core/statistics/census_interface.h @@ -49,10 +49,10 @@ typedef struct census_op_id { typedef struct census_rpc_stats census_rpc_stats; /* Initializes Census library. No-op if Census is already initialized. */ -void census_init(); +void census_init(void); /* Shutdown Census Library. */ -void census_shutdown(); +void census_shutdown(void); /* Annotates grpc method name on a census_op_id. The method name has the format of /. Returns 0 iff @@ -68,7 +68,7 @@ int census_add_method_tag(census_op_id op_id, const char* method_name); void census_tracing_print(census_op_id op_id, const char* annotation); /* Starts tracing for an RPC. Returns a locally unique census_op_id */ -census_op_id census_tracing_start_op(); +census_op_id census_tracing_start_op(void); /* Ends tracing. Calling this function will invalidate the input op_id. */ void census_tracing_end_op(census_op_id op_id); diff --git a/src/core/statistics/census_log.c b/src/core/statistics/census_log.c index 56fa430bbdb..404e92cc621 100644 --- a/src/core/statistics/census_log.c +++ b/src/core/statistics/census_log.c @@ -368,7 +368,7 @@ static void cl_block_end_read(cl_block* block) { /* Allocates a new free block (or recycles an available dirty block if log is configured to discard old records). Returns NULL if out-of-space. */ -static cl_block* cl_allocate_block() { +static cl_block* cl_allocate_block(void) { cl_block* block = cl_block_list_head(&g_log.free_block_list); if (block != NULL) { cl_block_list_remove(&g_log.free_block_list, block); @@ -496,7 +496,7 @@ void census_log_initialize(size_t size_in_mb, int discard_old_records) { g_log.initialized = 1; } -void census_log_shutdown() { +void census_log_shutdown(void) { GPR_ASSERT(g_log.initialized); gpr_mu_destroy(&g_log.lock); gpr_free_aligned(g_log.core_local_blocks); @@ -551,7 +551,7 @@ void census_log_end_write(void* record, size_t bytes_written) { cl_block_end_write(cl_get_block(record), bytes_written); } -void census_log_init_reader() { +void census_log_init_reader(void) { GPR_ASSERT(g_log.initialized); gpr_mu_lock(&g_log.lock); /* If a block is locked for reading unlock it. */ @@ -584,7 +584,7 @@ const void* census_log_read_next(size_t* bytes_available) { return NULL; } -size_t census_log_remaining_space() { +size_t census_log_remaining_space(void) { size_t space; GPR_ASSERT(g_log.initialized); gpr_mu_lock(&g_log.lock); @@ -598,7 +598,7 @@ size_t census_log_remaining_space() { return space; } -int census_log_out_of_space_count() { +int census_log_out_of_space_count(void) { GPR_ASSERT(g_log.initialized); return gpr_atm_acq_load(&g_log.out_of_space_count); } diff --git a/src/core/statistics/census_log.h b/src/core/statistics/census_log.h index fa9229b1221..0d89df79929 100644 --- a/src/core/statistics/census_log.h +++ b/src/core/statistics/census_log.h @@ -53,7 +53,7 @@ void census_log_initialize(size_t size_in_mb, int discard_old_records); - no in progress or future call to any census_log functions - no incomplete records */ -void census_log_shutdown(); +void census_log_shutdown(void); /* Allocates and returns a 'size' bytes record and marks it in use. A subsequent census_log_end_write() marks the record complete. The @@ -74,7 +74,7 @@ void census_log_end_write(void* record, size_t bytes_written); is read. census_log_init_reader() starts the iteration or aborts the current iteration. */ -void census_log_init_reader(); +void census_log_init_reader(void); const void* census_log_read_next(size_t* bytes_available); /* Returns estimated remaining space across all blocks, in bytes. If log is @@ -82,10 +82,10 @@ const void* census_log_read_next(size_t* bytes_available); returns space available in empty blocks (partially filled blocks are treated as full). */ -size_t census_log_remaining_space(); +size_t census_log_remaining_space(void); /* Returns the number of times gprc_stats_log_start_write() failed due to out-of-space. */ -int census_log_out_of_space_count(); +int census_log_out_of_space_count(void); #endif /* __GRPC_INTERNAL_STATISTICS_LOG_H__ */ diff --git a/src/core/statistics/census_rpc_stats.c b/src/core/statistics/census_rpc_stats.c index a1ac2abff3b..2db3054a0d0 100644 --- a/src/core/statistics/census_rpc_stats.c +++ b/src/core/statistics/census_rpc_stats.c @@ -59,9 +59,9 @@ static gpr_mu g_mu; static census_ht* g_client_stats_store = NULL; static census_ht* g_server_stats_store = NULL; -static void init_mutex() { gpr_mu_init(&g_mu); } +static void init_mutex(void) { gpr_mu_init(&g_mu); } -static void init_mutex_once() { +static void init_mutex_once(void) { gpr_once_init(&g_stats_store_mu_init, init_mutex); } @@ -115,7 +115,7 @@ static gpr_timespec min_hour_total_intervals[3] = { static const census_window_stats_stat_info window_stats_settings = { sizeof(census_rpc_stats), init_rpc_stats, stat_add, stat_add_proportion}; -census_rpc_stats* census_rpc_stats_create_empty() { +census_rpc_stats* census_rpc_stats_create_empty(void) { census_rpc_stats* ret = (census_rpc_stats*)gpr_malloc(sizeof(census_rpc_stats)); memset(ret, 0, sizeof(census_rpc_stats)); @@ -220,7 +220,7 @@ void census_get_server_stats(census_aggregated_rpc_stats* data) { get_stats(g_server_stats_store, data); } -void census_stats_store_init() { +void census_stats_store_init(void) { gpr_log(GPR_INFO, "Initialize census stats store."); init_mutex_once(); gpr_mu_lock(&g_mu); @@ -233,7 +233,7 @@ void census_stats_store_init() { gpr_mu_unlock(&g_mu); } -void census_stats_store_shutdown() { +void census_stats_store_shutdown(void) { gpr_log(GPR_INFO, "Shutdown census stats store."); init_mutex_once(); gpr_mu_lock(&g_mu); diff --git a/src/core/statistics/census_rpc_stats.h b/src/core/statistics/census_rpc_stats.h index a9c999aa5ce..81466907fdc 100644 --- a/src/core/statistics/census_rpc_stats.h +++ b/src/core/statistics/census_rpc_stats.h @@ -53,7 +53,7 @@ struct census_rpc_stats { }; /* Creates an empty rpc stats object on heap. */ -census_rpc_stats* census_rpc_stats_create_empty(); +census_rpc_stats* census_rpc_stats_create_empty(void); typedef struct census_per_method_rpc_stats { const char* method; @@ -91,8 +91,8 @@ void census_get_server_stats(census_aggregated_rpc_stats* data_map); DO NOT CALL from outside of grpc code. */ void census_get_client_stats(census_aggregated_rpc_stats* data_map); -void census_stats_store_init(); -void census_stats_store_shutdown(); +void census_stats_store_init(void); +void census_stats_store_shutdown(void); #ifdef __cplusplus } diff --git a/src/core/statistics/census_tracing.c b/src/core/statistics/census_tracing.c index 45302cd6abe..99091cf80be 100644 --- a/src/core/statistics/census_tracing.c +++ b/src/core/statistics/census_tracing.c @@ -93,11 +93,11 @@ static gpr_uint64 op_id_2_uint64(census_op_id* id) { return ret; } -static void init_mutex() { gpr_mu_init(&g_mu); } +static void init_mutex(void) { gpr_mu_init(&g_mu); } -static void init_mutex_once() { gpr_once_init(&g_init_mutex_once, init_mutex); } +static void init_mutex_once(void) { gpr_once_init(&g_init_mutex_once, init_mutex); } -census_op_id census_tracing_start_op() { +census_op_id census_tracing_start_op(void) { gpr_mu_lock(&g_mu); { trace_obj* ret = (trace_obj*)gpr_malloc(sizeof(trace_obj)); @@ -164,7 +164,7 @@ void census_tracing_end_op(census_op_id op_id) { gpr_mu_unlock(&g_mu); } -void census_tracing_init() { +void census_tracing_init(void) { gpr_log(GPR_INFO, "Initialize census trace store."); init_mutex_once(); gpr_mu_lock(&g_mu); @@ -177,7 +177,7 @@ void census_tracing_init() { gpr_mu_unlock(&g_mu); } -void census_tracing_shutdown() { +void census_tracing_shutdown(void) { gpr_log(GPR_INFO, "Shutdown census trace store."); gpr_mu_lock(&g_mu); if (g_trace_store != NULL) { @@ -189,9 +189,9 @@ void census_tracing_shutdown() { gpr_mu_unlock(&g_mu); } -void census_internal_lock_trace_store() { gpr_mu_lock(&g_mu); } +void census_internal_lock_trace_store(void) { gpr_mu_lock(&g_mu); } -void census_internal_unlock_trace_store() { gpr_mu_unlock(&g_mu); } +void census_internal_unlock_trace_store(void) { gpr_mu_unlock(&g_mu); } trace_obj* census_get_trace_obj_locked(census_op_id op_id) { if (g_trace_store == NULL) { diff --git a/src/core/statistics/census_tracing.h b/src/core/statistics/census_tracing.h index 2285a5cd6bd..604096ba543 100644 --- a/src/core/statistics/census_tracing.h +++ b/src/core/statistics/census_tracing.h @@ -38,10 +38,10 @@ typedef struct trace_obj trace_obj; /* Initializes trace store. This function is thread safe. */ -void census_tracing_init(); +void census_tracing_init(void); /* Shutsdown trace store. This function is thread safe. */ -void census_tracing_shutdown(); +void census_tracing_shutdown(void); /* Gets trace obj corresponding to the input op_id. Returns NULL if trace store is not initialized or trace obj is not found. Requires trace store being @@ -50,8 +50,8 @@ trace_obj* census_get_trace_obj_locked(census_op_id op_id); /* The following two functions acquire and release the trace store global lock. They are for census internal use only. */ -void census_internal_lock_trace_store(); -void census_internal_unlock_trace_store(); +void census_internal_lock_trace_store(void); +void census_internal_unlock_trace_store(void); /* Gets method tag name associated with the input trace object. */ const char* census_get_trace_method_name(const trace_obj* trace); diff --git a/src/core/support/cpu.h b/src/core/support/cpu.h index 2435ec03530..1c2dde74ee1 100644 --- a/src/core/support/cpu.h +++ b/src/core/support/cpu.h @@ -38,12 +38,12 @@ /* Return the number of CPU cores on the current system. Will return 0 if if information is not available. */ -int gpr_cpu_num_cores(); +int gpr_cpu_num_cores(void); /* Return the CPU on which the current thread is executing; N.B. This should be considered advisory only - it is possible that the thread is switched to a different CPU at any time. Returns a value in range [0, gpr_cpu_num_cores() - 1] */ -int gpr_cpu_current_cpu(); +int gpr_cpu_current_cpu(void); #endif /* __GRPC_INTERNAL_SUPPORT_CPU_H__ */ diff --git a/src/core/support/cpu_linux.c b/src/core/support/cpu_linux.c index 922b61c3c58..d8006288066 100644 --- a/src/core/support/cpu_linux.c +++ b/src/core/support/cpu_linux.c @@ -75,7 +75,7 @@ #include -int gpr_cpu_num_cores() { +int gpr_cpu_num_cores(void) { static int ncpus = 0; if (ncpus == 0) { ncpus = sysconf(_SC_NPROCESSORS_ONLN); @@ -87,7 +87,7 @@ int gpr_cpu_num_cores() { return ncpus; } -int gpr_cpu_current_cpu() { +int gpr_cpu_current_cpu(void) { int cpu = sched_getcpu(); if (cpu < 0) { gpr_log(GPR_ERROR, "Error determining current CPU: %s\n", strerror(errno)); diff --git a/src/core/support/cpu_posix.c b/src/core/support/cpu_posix.c index 3dd1c548b0e..2ea80807fc2 100644 --- a/src/core/support/cpu_posix.c +++ b/src/core/support/cpu_posix.c @@ -45,7 +45,7 @@ static __thread char magic_thread_local; -int gpr_cpu_num_cores() { +int gpr_cpu_num_cores(void) { static int ncpus = 0; if (ncpus == 0) { ncpus = sysconf(_SC_NPROCESSORS_ONLN); @@ -63,7 +63,7 @@ static size_t shard_ptr(const void *info) { return ((x >> 4) ^ (x >> 9) ^ (x >> 14)) % gpr_cpu_num_cores(); } -int gpr_cpu_current_cpu() { +int gpr_cpu_current_cpu(void) { /* NOTE: there's no way I know to return the actual cpu index portably... most code that's using this is using it to shard across work queues though, so here we use thread identity instead to achieve a similar though not diff --git a/src/core/support/log_linux.c b/src/core/support/log_linux.c index 36fb4b5051f..a0307e1a9a4 100644 --- a/src/core/support/log_linux.c +++ b/src/core/support/log_linux.c @@ -47,7 +47,7 @@ #include #include -static long gettid() { return syscall(__NR_gettid); } +static long gettid(void) { return syscall(__NR_gettid); } void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format, ...) { diff --git a/src/core/support/log_posix.c b/src/core/support/log_posix.c index ee2705a2c20..1292c9e8c35 100644 --- a/src/core/support/log_posix.c +++ b/src/core/support/log_posix.c @@ -50,7 +50,7 @@ #include #include -static gpr_intptr gettid() { return (gpr_intptr)pthread_self(); } +static gpr_intptr gettid(void) { return (gpr_intptr)pthread_self(); } void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format, ...) { diff --git a/src/core/support/slice.c b/src/core/support/slice.c index fcdeb478fb6..836a5a6c2a7 100644 --- a/src/core/support/slice.c +++ b/src/core/support/slice.c @@ -37,7 +37,7 @@ #include -gpr_slice gpr_empty_slice() { +gpr_slice gpr_empty_slice(void) { gpr_slice out; out.refcount = 0; out.data.inlined.length = 0; diff --git a/src/core/support/string.c b/src/core/support/string.c index b1f07958466..7960547735b 100644 --- a/src/core/support/string.c +++ b/src/core/support/string.c @@ -63,7 +63,7 @@ typedef struct { char *data; } hexout; -static hexout hexout_create() { +static hexout hexout_create(void) { hexout r = {0, 0, NULL}; return r; } diff --git a/src/core/surface/completion_queue.c b/src/core/surface/completion_queue.c index b59c36e03a7..0f09933fc05 100644 --- a/src/core/surface/completion_queue.c +++ b/src/core/surface/completion_queue.c @@ -85,7 +85,7 @@ struct grpc_completion_queue { /* Default do-nothing on_finish function */ static void null_on_finish(void *user_data, grpc_op_error error) {} -grpc_completion_queue *grpc_completion_queue_create() { +grpc_completion_queue *grpc_completion_queue_create(void) { grpc_completion_queue *cc = gpr_malloc(sizeof(grpc_completion_queue)); memset(cc, 0, sizeof(*cc)); /* Initial ref is dropped by grpc_completion_queue_shutdown */ @@ -251,7 +251,7 @@ void grpc_cq_end_new_rpc(grpc_completion_queue *cc, void *tag, grpc_call *call, } /* Create a GRPC_QUEUE_SHUTDOWN event without queuing it anywhere */ -static event *create_shutdown_event() { +static event *create_shutdown_event(void) { event *ev = gpr_malloc(sizeof(event)); ev->base.type = GRPC_QUEUE_SHUTDOWN; ev->base.call = NULL; diff --git a/src/core/surface/init.c b/src/core/surface/init.c index 832ec085c79..b5019eb03f0 100644 --- a/src/core/surface/init.c +++ b/src/core/surface/init.c @@ -35,12 +35,12 @@ #include "src/core/statistics/census_interface.h" #include "src/core/iomgr/iomgr.h" -void grpc_init() { +void grpc_init(void) { grpc_iomgr_init(); census_init(); } -void grpc_shutdown() { +void grpc_shutdown(void) { grpc_iomgr_shutdown(); census_shutdown(); } diff --git a/src/core/transport/chttp2/alpn.c b/src/core/transport/chttp2/alpn.c index 8107406f8b5..bc4e789f60c 100644 --- a/src/core/transport/chttp2/alpn.c +++ b/src/core/transport/chttp2/alpn.c @@ -46,7 +46,7 @@ int grpc_chttp2_is_alpn_version_supported(const char *version, size_t size) { return 0; } -size_t grpc_chttp2_num_alpn_versions() { +size_t grpc_chttp2_num_alpn_versions(void) { return GPR_ARRAY_SIZE(supported_versions); } diff --git a/src/core/transport/chttp2/alpn.h b/src/core/transport/chttp2/alpn.h index de4da8fedb0..cb96f17831f 100644 --- a/src/core/transport/chttp2/alpn.h +++ b/src/core/transport/chttp2/alpn.h @@ -40,7 +40,7 @@ int grpc_chttp2_is_alpn_version_supported(const char *version, size_t size); /* Returns the number of protocol versions to advertise */ -size_t grpc_chttp2_num_alpn_versions(); +size_t grpc_chttp2_num_alpn_versions(void); /* Returns the protocol version at index i (0 <= i < * grpc_chttp2_num_alpn_versions()) */ diff --git a/src/core/transport/chttp2/frame_settings.c b/src/core/transport/chttp2/frame_settings.c index d8bc4928708..3ca973c07bf 100644 --- a/src/core/transport/chttp2/frame_settings.c +++ b/src/core/transport/chttp2/frame_settings.c @@ -102,7 +102,7 @@ gpr_slice grpc_chttp2_settings_create(gpr_uint32 *old, const gpr_uint32 *new, return output; } -gpr_slice grpc_chttp2_settings_ack_create() { +gpr_slice grpc_chttp2_settings_ack_create(void) { gpr_slice output = gpr_slice_malloc(9); fill_header(GPR_SLICE_START_PTR(output), 0, GRPC_CHTTP2_FLAG_ACK); return output; diff --git a/src/core/transport/chttp2/frame_settings.h b/src/core/transport/chttp2/frame_settings.h index 855f9636bba..fc513913d90 100644 --- a/src/core/transport/chttp2/frame_settings.h +++ b/src/core/transport/chttp2/frame_settings.h @@ -88,7 +88,7 @@ extern const grpc_chttp2_setting_parameters gpr_slice grpc_chttp2_settings_create(gpr_uint32 *old, const gpr_uint32 *new, gpr_uint32 force_mask, size_t count); /* Create an ack settings frame */ -gpr_slice grpc_chttp2_settings_ack_create(); +gpr_slice grpc_chttp2_settings_ack_create(void); grpc_chttp2_parse_error grpc_chttp2_settings_parser_begin_frame( grpc_chttp2_settings_parser *parser, gpr_uint32 length, gpr_uint8 flags, diff --git a/src/core/transport/chttp2/gen_hpack_tables.c b/src/core/transport/chttp2/gen_hpack_tables.c index 3b9e8ed4dc1..cd78fcc39aa 100644 --- a/src/core/transport/chttp2/gen_hpack_tables.c +++ b/src/core/transport/chttp2/gen_hpack_tables.c @@ -86,7 +86,7 @@ static unsigned char suffix_mask(unsigned char prefix_len) { return ~prefix_mask(prefix_len); } -static void generate_first_byte_lut() { +static void generate_first_byte_lut(void) { int i, j, n; const spec *chrspec; unsigned char suffix; @@ -136,21 +136,21 @@ typedef struct { char included[GRPC_CHTTP2_NUM_HUFFSYMS]; } symset; typedef struct { int values[16]; } nibblelut; /* returns a symset that includes all possible symbols */ -static symset symset_all() { +static symset symset_all(void) { symset x; memset(x.included, 1, sizeof(x.included)); return x; } /* returns a symset that includes no symbols */ -static symset symset_none() { +static symset symset_none(void) { symset x; memset(x.included, 0, sizeof(x.included)); return x; } /* returns an empty nibblelut */ -static nibblelut nibblelut_empty() { +static nibblelut nibblelut_empty(void) { nibblelut x; int i; for (i = 0; i < 16; i++) { @@ -296,7 +296,7 @@ static void dump_ctbl(const char *name) { printf("};\n"); } -static void generate_huff_tables() { +static void generate_huff_tables(void) { int i; build_dec_tbl(state_index(0, symset_all(), &i), 0, 0, 0, -1, symset_all()); @@ -317,7 +317,7 @@ static void generate_huff_tables() { dump_ctbl("emit_sub_tbl"); } -static void generate_base64_huff_encoder_table() { +static void generate_base64_huff_encoder_table(void) { static const char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; int i; @@ -332,7 +332,7 @@ static void generate_base64_huff_encoder_table() { printf("};\n"); } -static void generate_base64_inverse_table() { +static void generate_base64_inverse_table(void) { static const char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; unsigned char inverse[256]; diff --git a/src/core/transport/metadata.c b/src/core/transport/metadata.c index e8ab2166714..6881b871ecb 100644 --- a/src/core/transport/metadata.c +++ b/src/core/transport/metadata.c @@ -154,7 +154,7 @@ grpc_mdctx *grpc_mdctx_create_with_seed(gpr_uint32 seed) { return ctx; } -grpc_mdctx *grpc_mdctx_create() { +grpc_mdctx *grpc_mdctx_create(void) { /* This seed is used to prevent remote connections from controlling hash table * collisions. It needs to be somewhat unpredictable to a remote connection. */ diff --git a/src/core/transport/metadata.h b/src/core/transport/metadata.h index 943e65a981e..ac845def379 100644 --- a/src/core/transport/metadata.h +++ b/src/core/transport/metadata.h @@ -82,7 +82,7 @@ struct grpc_mdelem { }; /* Create/orphan a metadata context */ -grpc_mdctx *grpc_mdctx_create(); +grpc_mdctx *grpc_mdctx_create(void); grpc_mdctx *grpc_mdctx_create_with_seed(gpr_uint32 seed); void grpc_mdctx_orphan(grpc_mdctx *mdctx); diff --git a/test/core/channel/channel_stack_test.c b/test/core/channel/channel_stack_test.c index 9bc1f738bc7..fb52fe32705 100644 --- a/test/core/channel/channel_stack_test.c +++ b/test/core/channel/channel_stack_test.c @@ -76,7 +76,7 @@ static void channel_func(grpc_channel_element *elem, ++*(int *)(elem->channel_data); } -static void test_create_channel_stack() { +static void test_create_channel_stack(void) { const grpc_channel_filter filter = { call_func, channel_func, diff --git a/test/core/compression/message_compress_test.c b/test/core/compression/message_compress_test.c index 583f187a23c..d1e593564f4 100644 --- a/test/core/compression/message_compress_test.c +++ b/test/core/compression/message_compress_test.c @@ -145,7 +145,7 @@ static gpr_slice create_test_value(test_value id) { return gpr_slice_from_copied_string("bad value"); } -static void test_bad_data() { +static void test_bad_data(void) { gpr_slice_buffer input; gpr_slice_buffer output; int i; diff --git a/test/core/echo/server.c b/test/core/echo/server.c index 2655fb2bfcf..35f118dc9b1 100644 --- a/test/core/echo/server.c +++ b/test/core/echo/server.c @@ -56,7 +56,7 @@ typedef struct { gpr_intmax bytes_read; } call_state; -static void request_call() { +static void request_call(void) { call_state *tag = gpr_malloc(sizeof(*tag)); gpr_ref_init(&tag->pending_ops, 2); tag->bytes_read = 0; diff --git a/test/core/end2end/tests/cancel_after_accept.c b/test/core/end2end/tests/cancel_after_accept.c index 467d360aaef..85686051970 100644 --- a/test/core/end2end/tests/cancel_after_accept.c +++ b/test/core/end2end/tests/cancel_after_accept.c @@ -72,7 +72,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c b/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c index f75c629d2a3..798051f01b2 100644 --- a/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c +++ b/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c @@ -72,7 +72,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/cancel_after_invoke.c b/test/core/end2end/tests/cancel_after_invoke.c index 4fab9f7effa..3c9122944bd 100644 --- a/test/core/end2end/tests/cancel_after_invoke.c +++ b/test/core/end2end/tests/cancel_after_invoke.c @@ -72,7 +72,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/cancel_before_invoke.c b/test/core/end2end/tests/cancel_before_invoke.c index 2d8d465b249..d5edcd4ac17 100644 --- a/test/core/end2end/tests/cancel_before_invoke.c +++ b/test/core/end2end/tests/cancel_before_invoke.c @@ -68,7 +68,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/cancel_in_a_vacuum.c b/test/core/end2end/tests/cancel_in_a_vacuum.c index 1a4dfa7b73f..0c684acf0a9 100644 --- a/test/core/end2end/tests/cancel_in_a_vacuum.c +++ b/test/core/end2end/tests/cancel_in_a_vacuum.c @@ -70,7 +70,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/disappearing_server.c b/test/core/end2end/tests/disappearing_server.c index 8d16367e0fa..b27a356eaaa 100644 --- a/test/core/end2end/tests/disappearing_server.c +++ b/test/core/end2end/tests/disappearing_server.c @@ -52,7 +52,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c b/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c index 77284b8cbb8..6ed0e4e106b 100644 --- a/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c +++ b/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c @@ -64,7 +64,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/early_server_shutdown_finishes_tags.c b/test/core/end2end/tests/early_server_shutdown_finishes_tags.c index eb3eb7c07af..88f735c8e0a 100644 --- a/test/core/end2end/tests/early_server_shutdown_finishes_tags.c +++ b/test/core/end2end/tests/early_server_shutdown_finishes_tags.c @@ -64,7 +64,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/invoke_large_request.c b/test/core/end2end/tests/invoke_large_request.c index cb2d81df2bb..fc461250d13 100644 --- a/test/core/end2end/tests/invoke_large_request.c +++ b/test/core/end2end/tests/invoke_large_request.c @@ -100,7 +100,7 @@ static void end_test(grpc_end2end_test_fixture *f) { grpc_completion_queue_destroy(f->client_cq); } -static gpr_slice large_slice() { +static gpr_slice large_slice(void) { gpr_slice slice = gpr_slice_malloc(1000000); memset(GPR_SLICE_START_PTR(slice), 0xab, GPR_SLICE_LENGTH(slice)); return slice; diff --git a/test/core/end2end/tests/max_concurrent_streams.c b/test/core/end2end/tests/max_concurrent_streams.c index 09710fe7ed5..e88f418cb08 100644 --- a/test/core/end2end/tests/max_concurrent_streams.c +++ b/test/core/end2end/tests/max_concurrent_streams.c @@ -64,7 +64,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/no_op.c b/test/core/end2end/tests/no_op.c index 4039f2baf31..bd4ff06701e 100644 --- a/test/core/end2end/tests/no_op.c +++ b/test/core/end2end/tests/no_op.c @@ -62,7 +62,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/ping_pong_streaming.c b/test/core/end2end/tests/ping_pong_streaming.c index d9c5f480307..03d549a7b44 100644 --- a/test/core/end2end/tests/ping_pong_streaming.c +++ b/test/core/end2end/tests/ping_pong_streaming.c @@ -64,7 +64,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c b/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c index 8a0eea8072f..f58bf77dfd9 100644 --- a/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c +++ b/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c @@ -64,7 +64,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/request_response_with_metadata_and_payload.c b/test/core/end2end/tests/request_response_with_metadata_and_payload.c index eb528dd3083..09923b2fc5b 100644 --- a/test/core/end2end/tests/request_response_with_metadata_and_payload.c +++ b/test/core/end2end/tests/request_response_with_metadata_and_payload.c @@ -64,7 +64,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/request_response_with_payload.c b/test/core/end2end/tests/request_response_with_payload.c index 2f5be04cf50..be65bf1567d 100644 --- a/test/core/end2end/tests/request_response_with_payload.c +++ b/test/core/end2end/tests/request_response_with_payload.c @@ -64,7 +64,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c b/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c index 95e268441ba..d99141e0246 100644 --- a/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c +++ b/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c @@ -64,7 +64,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/request_with_large_metadata.c b/test/core/end2end/tests/request_with_large_metadata.c index 26b165625e1..e2f554b322c 100644 --- a/test/core/end2end/tests/request_with_large_metadata.c +++ b/test/core/end2end/tests/request_with_large_metadata.c @@ -64,7 +64,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/request_with_payload.c b/test/core/end2end/tests/request_with_payload.c index 602ade6f901..09b3c864fdd 100644 --- a/test/core/end2end/tests/request_with_payload.c +++ b/test/core/end2end/tests/request_with_payload.c @@ -64,7 +64,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/simple_delayed_request.c b/test/core/end2end/tests/simple_delayed_request.c index 8a0bf699b1c..90ed2277493 100644 --- a/test/core/end2end/tests/simple_delayed_request.c +++ b/test/core/end2end/tests/simple_delayed_request.c @@ -52,7 +52,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/simple_request.c b/test/core/end2end/tests/simple_request.c index 909d839e7a6..93dfa1fb0a2 100644 --- a/test/core/end2end/tests/simple_request.c +++ b/test/core/end2end/tests/simple_request.c @@ -64,7 +64,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/end2end/tests/thread_stress.c b/test/core/end2end/tests/thread_stress.c index c9134a8cc5b..5410258201a 100644 --- a/test/core/end2end/tests/thread_stress.c +++ b/test/core/end2end/tests/thread_stress.c @@ -56,7 +56,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } /* Drain pending events on a completion queue until it's ready to destroy. Does some post-processing to safely release memory on some of the events. */ @@ -105,7 +105,7 @@ static void drain_cq(int client, grpc_completion_queue *cq) { } /* Kick off a new request - assumes g_mu taken */ -static void start_request() { +static void start_request(void) { grpc_call *call = grpc_channel_create_call( g_fixture.client, "/Foo", "test.google.com", g_test_end_time); g_active_requests++; @@ -180,7 +180,7 @@ static void client_thread(void *p) { /* Request a new server call. We tag them with a ref-count that starts at two, and decrements after each of: a read completes and a write completes. When it drops to zero, we write status */ -static void request_server_call() { +static void request_server_call(void) { gpr_refcount *rc = gpr_malloc(sizeof(gpr_refcount)); gpr_ref_init(rc, 2); grpc_server_request_call(g_fixture.server, rc); diff --git a/test/core/end2end/tests/writes_done_hangs_with_pending_read.c b/test/core/end2end/tests/writes_done_hangs_with_pending_read.c index 5c5e264a21c..9878b4ce9a4 100644 --- a/test/core/end2end/tests/writes_done_hangs_with_pending_read.c +++ b/test/core/end2end/tests/writes_done_hangs_with_pending_read.c @@ -64,7 +64,7 @@ static gpr_timespec n_seconds_time(int n) { return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); } -static gpr_timespec five_seconds_time() { return n_seconds_time(5); } +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } static void drain_cq(grpc_completion_queue *cq) { grpc_event *ev; diff --git a/test/core/fling/client.c b/test/core/fling/client.c index cc661c34c5f..7e93860dc35 100644 --- a/test/core/fling/client.c +++ b/test/core/fling/client.c @@ -50,9 +50,9 @@ static grpc_channel *channel; static grpc_completion_queue *cq; static grpc_call *call; -static void init_ping_pong_request() {} +static void init_ping_pong_request(void) {} -static void step_ping_pong_request() { +static void step_ping_pong_request(void) { call = grpc_channel_create_call(channel, "/Reflector/reflectUnary", "localhost", gpr_inf_future); GPR_ASSERT(grpc_call_start_invoke(call, cq, (void *)1, (void *)1, (void *)1, @@ -71,7 +71,7 @@ static void step_ping_pong_request() { call = NULL; } -static void init_ping_pong_stream() { +static void init_ping_pong_stream(void) { call = grpc_channel_create_call(channel, "/Reflector/reflectStream", "localhost", gpr_inf_future); GPR_ASSERT(grpc_call_start_invoke(call, cq, (void *)1, (void *)1, (void *)1, @@ -80,7 +80,7 @@ static void init_ping_pong_stream() { grpc_event_finish(grpc_completion_queue_next(cq, gpr_inf_future)); } -static void step_ping_pong_stream() { +static void step_ping_pong_stream(void) { GPR_ASSERT(grpc_call_start_write(call, the_buffer, (void *)1, 0) == GRPC_CALL_OK); GPR_ASSERT(grpc_call_start_read(call, (void *)1) == GRPC_CALL_OK); @@ -88,7 +88,7 @@ static void step_ping_pong_stream() { grpc_event_finish(grpc_completion_queue_next(cq, gpr_inf_future)); } -static double now() { +static double now(void) { gpr_timespec tv = gpr_now(); return 1e9 * tv.tv_sec + tv.tv_nsec; } diff --git a/test/core/fling/server.c b/test/core/fling/server.c index 1149d01ea17..705ab3aca24 100644 --- a/test/core/fling/server.c +++ b/test/core/fling/server.c @@ -57,7 +57,7 @@ typedef struct { gpr_uint32 flags; } call_state; -static void request_call() { +static void request_call(void) { call_state *s = gpr_malloc(sizeof(call_state)); gpr_ref_init(&s->pending_ops, 2); grpc_server_request_call(server, s); diff --git a/test/core/httpcli/format_request_test.c b/test/core/httpcli/format_request_test.c index abda24b44b8..ec66f960042 100644 --- a/test/core/httpcli/format_request_test.c +++ b/test/core/httpcli/format_request_test.c @@ -38,7 +38,7 @@ #include #include "test/core/util/test_config.h" -static void test_format_get_request() { +static void test_format_get_request(void) { grpc_httpcli_header hdr = {"x-yz", "abc"}; grpc_httpcli_request req; gpr_slice slice; @@ -63,7 +63,7 @@ static void test_format_get_request() { gpr_slice_unref(slice); } -static void test_format_post_request() { +static void test_format_post_request(void) { grpc_httpcli_header hdr = {"x-yz", "abc"}; grpc_httpcli_request req; gpr_slice slice; @@ -93,7 +93,7 @@ static void test_format_post_request() { gpr_slice_unref(slice); } -static void test_format_post_request_no_body() { +static void test_format_post_request_no_body(void) { grpc_httpcli_header hdr = {"x-yz", "abc"}; grpc_httpcli_request req; gpr_slice slice; @@ -118,7 +118,7 @@ static void test_format_post_request_no_body() { gpr_slice_unref(slice); } -static void test_format_post_request_content_type_override() { +static void test_format_post_request_content_type_override(void) { grpc_httpcli_header hdrs[2]; grpc_httpcli_request req; gpr_slice slice; diff --git a/test/core/iomgr/alarm_heap_test.c b/test/core/iomgr/alarm_heap_test.c index eaaaf156f43..abb1086a22d 100644 --- a/test/core/iomgr/alarm_heap_test.c +++ b/test/core/iomgr/alarm_heap_test.c @@ -40,7 +40,7 @@ #include #include "test/core/util/test_config.h" -static gpr_timespec random_deadline() { +static gpr_timespec random_deadline(void) { gpr_timespec ts; ts.tv_sec = rand(); ts.tv_nsec = rand(); @@ -150,7 +150,7 @@ static void check_valid(grpc_alarm_heap *pq) { } } -static void test1() { +static void test1(void) { grpc_alarm_heap pq; const int num_test_elements = 200; const int num_test_operations = 10000; @@ -206,7 +206,7 @@ static void test1() { gpr_free(inpq); } -static void shrink_test() { +static void shrink_test(void) { grpc_alarm_heap pq; int i; int expected_size; diff --git a/test/core/iomgr/alarm_list_test.c b/test/core/iomgr/alarm_list_test.c index 686d21d705a..a2509512318 100644 --- a/test/core/iomgr/alarm_list_test.c +++ b/test/core/iomgr/alarm_list_test.c @@ -44,13 +44,13 @@ static int cb_called[MAX_CB][2]; static int kicks; -void grpc_kick_poller() { ++kicks; } +void grpc_kick_poller(void) { ++kicks; } static void cb(void *arg, int success) { cb_called[(gpr_intptr)arg][success]++; } -static void add_test() { +static void add_test(void) { gpr_timespec start = gpr_now(); int i; grpc_alarm alarms[20]; @@ -108,7 +108,7 @@ static void add_test() { } /* Cleaning up a list with pending alarms. */ -void destruction_test() { +void destruction_test(void) { grpc_alarm alarms[5]; grpc_alarm_list_init(gpr_time_0); diff --git a/test/core/iomgr/alarm_test.c b/test/core/iomgr/alarm_test.c index 247320de04f..aec3a50efc6 100644 --- a/test/core/iomgr/alarm_test.c +++ b/test/core/iomgr/alarm_test.c @@ -89,7 +89,7 @@ static void alarm_cb(void *arg /* alarm_arg */, int success) { } /* Test grpc_alarm add and cancel. */ -static void test_grpc_alarm() { +static void test_grpc_alarm(void) { grpc_alarm alarm; grpc_alarm alarm_to_cancel; /* Timeout on the alarm cond. var, so make big enough to absorb time diff --git a/test/core/iomgr/fd_posix_test.c b/test/core/iomgr/fd_posix_test.c index 325c9f0221d..136f34a8b09 100644 --- a/test/core/iomgr/fd_posix_test.c +++ b/test/core/iomgr/fd_posix_test.c @@ -349,7 +349,7 @@ static void client_wait_and_shutdown(client *cl) { /* Test grpc_fd. Start an upload server and client, upload a stream of bytes from the client to the server, and verify that the total number of sent bytes is equal to the total number of received bytes. */ -static void test_grpc_fd() { +static void test_grpc_fd(void) { server sv; client cl; int port; @@ -403,7 +403,7 @@ static void second_read_callback(void *arg /* fd_change_data */, int success) { Note that we have two different but almost identical callbacks above -- the point is to have two different function pointers and two different data pointers and make sure that changing both really works. */ -static void test_grpc_fd_change() { +static void test_grpc_fd_change(void) { grpc_fd *em_fd; fd_change_data a, b; int flags; diff --git a/test/core/iomgr/resolve_address_test.c b/test/core/iomgr/resolve_address_test.c index 99e3119581d..26a4bc67e6f 100644 --- a/test/core/iomgr/resolve_address_test.c +++ b/test/core/iomgr/resolve_address_test.c @@ -37,7 +37,7 @@ #include #include "test/core/util/test_config.h" -static gpr_timespec test_deadline() { +static gpr_timespec test_deadline(void) { return gpr_time_add(gpr_now(), gpr_time_from_micros(100000000)); } @@ -53,35 +53,35 @@ static void must_fail(void* evp, grpc_resolved_addresses* p) { gpr_event_set(evp, (void*)1); } -static void test_localhost() { +static void test_localhost(void) { gpr_event ev; gpr_event_init(&ev); grpc_resolve_address("localhost:1", NULL, must_succeed, &ev); GPR_ASSERT(gpr_event_wait(&ev, test_deadline())); } -static void test_default_port() { +static void test_default_port(void) { gpr_event ev; gpr_event_init(&ev); grpc_resolve_address("localhost", "1", must_succeed, &ev); GPR_ASSERT(gpr_event_wait(&ev, test_deadline())); } -static void test_missing_default_port() { +static void test_missing_default_port(void) { gpr_event ev; gpr_event_init(&ev); grpc_resolve_address("localhost", NULL, must_fail, &ev); GPR_ASSERT(gpr_event_wait(&ev, test_deadline())); } -static void test_ipv6_with_port() { +static void test_ipv6_with_port(void) { gpr_event ev; gpr_event_init(&ev); grpc_resolve_address("[2001:db8::1]:1", NULL, must_succeed, &ev); GPR_ASSERT(gpr_event_wait(&ev, test_deadline())); } -static void test_ipv6_without_port() { +static void test_ipv6_without_port(void) { const char* const kCases[] = { "2001:db8::1", "2001:db8::1.2.3.4", "[2001:db8::1]", }; @@ -94,7 +94,7 @@ static void test_ipv6_without_port() { } } -static void test_invalid_ip_addresses() { +static void test_invalid_ip_addresses(void) { const char* const kCases[] = { "293.283.1238.3:1", "[2001:db8::11111]:1", }; @@ -107,7 +107,7 @@ static void test_invalid_ip_addresses() { } } -static void test_unparseable_hostports() { +static void test_unparseable_hostports(void) { const char* const kCases[] = { "[", "[::1", "[::1]bad", "[1.2.3.4]", "[localhost]", "[localhost]:1", }; diff --git a/test/core/iomgr/sockaddr_utils_test.c b/test/core/iomgr/sockaddr_utils_test.c index 8cd9fb660f9..14018ed66c5 100644 --- a/test/core/iomgr/sockaddr_utils_test.c +++ b/test/core/iomgr/sockaddr_utils_test.c @@ -70,7 +70,7 @@ static const gpr_uint8 kIPv4[] = {192, 0, 2, 1}; static const gpr_uint8 kIPv6[] = {0x20, 0x01, 0x0d, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; -static void test_sockaddr_is_v4mapped() { +static void test_sockaddr_is_v4mapped(void) { struct sockaddr_in input4; struct sockaddr_in6 input6; struct sockaddr_in output4; @@ -101,7 +101,7 @@ static void test_sockaddr_is_v4mapped() { !grpc_sockaddr_is_v4mapped((const struct sockaddr *)&input4, NULL)); } -static void test_sockaddr_to_v4mapped() { +static void test_sockaddr_to_v4mapped(void) { struct sockaddr_in input4; struct sockaddr_in6 input6; struct sockaddr_in6 output6; @@ -129,7 +129,7 @@ static void test_sockaddr_to_v4mapped() { !grpc_sockaddr_to_v4mapped((const struct sockaddr *)&input6, &output6)); } -static void test_sockaddr_is_wildcard() { +static void test_sockaddr_is_wildcard(void) { struct sockaddr_in wild4; struct sockaddr_in6 wild6; struct sockaddr_in6 wild_mapped; @@ -187,7 +187,7 @@ static void expect_sockaddr_str(const char *expected, void *addr, gpr_free(str); } -static void test_sockaddr_to_string() { +static void test_sockaddr_to_string(void) { struct sockaddr_in input4; struct sockaddr_in6 input6; struct sockaddr dummy; diff --git a/test/core/iomgr/tcp_client_posix_test.c b/test/core/iomgr/tcp_client_posix_test.c index 2d0a89a1f52..79ba777e85e 100644 --- a/test/core/iomgr/tcp_client_posix_test.c +++ b/test/core/iomgr/tcp_client_posix_test.c @@ -43,7 +43,7 @@ #include #include -static gpr_timespec test_deadline() { +static gpr_timespec test_deadline(void) { return gpr_time_add(gpr_now(), gpr_time_from_seconds(10)); } @@ -59,7 +59,7 @@ static void must_fail(void *arg, grpc_endpoint *tcp) { gpr_event_set(arg, (void *)1); } -void test_succeeds() { +void test_succeeds(void) { struct sockaddr_in addr; socklen_t addr_len = sizeof(addr); int svr_fd; @@ -94,7 +94,7 @@ void test_succeeds() { GPR_ASSERT(gpr_event_wait(&ev, test_deadline())); } -void test_fails() { +void test_fails(void) { struct sockaddr_in addr; socklen_t addr_len = sizeof(addr); gpr_event ev; @@ -112,7 +112,7 @@ void test_fails() { GPR_ASSERT(gpr_event_wait(&ev, test_deadline())); } -void test_times_out() { +void test_times_out(void) { struct sockaddr_in addr; socklen_t addr_len = sizeof(addr); int svr_fd; diff --git a/test/core/iomgr/tcp_posix_test.c b/test/core/iomgr/tcp_posix_test.c index 6af3ded98b0..182ccba3f69 100644 --- a/test/core/iomgr/tcp_posix_test.c +++ b/test/core/iomgr/tcp_posix_test.c @@ -444,7 +444,7 @@ static void write_error_test(ssize_t num_bytes, ssize_t slice_size) { free(slices); } -void run_tests() { +void run_tests(void) { int i = 0; read_test(100, 8192); @@ -469,7 +469,7 @@ void run_tests() { } } -static void clean_up() {} +static void clean_up(void) {} static grpc_endpoint_test_fixture create_fixture_tcp_socketpair( size_t slice_size) { diff --git a/test/core/iomgr/tcp_server_posix_test.c b/test/core/iomgr/tcp_server_posix_test.c index f30ff917cb5..e906f302cf6 100644 --- a/test/core/iomgr/tcp_server_posix_test.c +++ b/test/core/iomgr/tcp_server_posix_test.c @@ -58,19 +58,19 @@ static void on_connect(void *arg, grpc_endpoint *tcp) { gpr_mu_unlock(&mu); } -static void test_no_op() { +static void test_no_op(void) { grpc_tcp_server *s = grpc_tcp_server_create(); grpc_tcp_server_destroy(s); } -static void test_no_op_with_start() { +static void test_no_op_with_start(void) { grpc_tcp_server *s = grpc_tcp_server_create(); LOG_TEST(); grpc_tcp_server_start(s, NULL, on_connect, NULL); grpc_tcp_server_destroy(s); } -static void test_no_op_with_port() { +static void test_no_op_with_port(void) { struct sockaddr_in addr; grpc_tcp_server *s = grpc_tcp_server_create(); LOG_TEST(); @@ -83,7 +83,7 @@ static void test_no_op_with_port() { grpc_tcp_server_destroy(s); } -static void test_no_op_with_port_and_start() { +static void test_no_op_with_port_and_start(void) { struct sockaddr_in addr; grpc_tcp_server *s = grpc_tcp_server_create(); LOG_TEST(); diff --git a/test/core/iomgr/time_averaged_stats_test.c b/test/core/iomgr/time_averaged_stats_test.c index 7ed2f84f21f..bbfeab56330 100644 --- a/test/core/iomgr/time_averaged_stats_test.c +++ b/test/core/iomgr/time_averaged_stats_test.c @@ -41,7 +41,7 @@ #define EXPECT_EQ(a, b) GPR_ASSERT((a) == (b)) #define EXPECT_DOUBLE_EQ(a, b) GPR_ASSERT(fabs((a) - (b)) < 1e-9) -static void no_regress_no_persist_test_1() { +static void no_regress_no_persist_test_1(void) { grpc_time_averaged_stats tas; grpc_time_averaged_stats_init(&tas, 1000, 0, 0.0); EXPECT_DOUBLE_EQ(1000, tas.aggregate_weighted_avg); @@ -59,7 +59,7 @@ static void no_regress_no_persist_test_1() { EXPECT_DOUBLE_EQ(1, tas.aggregate_total_weight); } -static void no_regress_no_persist_test_2() { +static void no_regress_no_persist_test_2(void) { grpc_time_averaged_stats tas; grpc_time_averaged_stats_init(&tas, 1000, 0, 0.0); EXPECT_DOUBLE_EQ(1000, tas.aggregate_weighted_avg); @@ -75,7 +75,7 @@ static void no_regress_no_persist_test_2() { EXPECT_DOUBLE_EQ(1, tas.aggregate_total_weight); } -static void no_regress_no_persist_test_3() { +static void no_regress_no_persist_test_3(void) { grpc_time_averaged_stats tas; grpc_time_averaged_stats_init(&tas, 1000, 0, 0.0); EXPECT_DOUBLE_EQ(1000, tas.aggregate_weighted_avg); @@ -92,7 +92,7 @@ static void no_regress_no_persist_test_3() { EXPECT_DOUBLE_EQ(2, tas.aggregate_total_weight); } -static void some_regress_no_persist_test() { +static void some_regress_no_persist_test(void) { grpc_time_averaged_stats tas; grpc_time_averaged_stats_init(&tas, 1000, 0.5, 0.0); EXPECT_DOUBLE_EQ(1000, tas.aggregate_weighted_avg); @@ -105,7 +105,7 @@ static void some_regress_no_persist_test() { EXPECT_DOUBLE_EQ(2.5, tas.aggregate_total_weight); } -static void some_decay_test() { +static void some_decay_test(void) { grpc_time_averaged_stats tas; grpc_time_averaged_stats_init(&tas, 1000, 1, 0.0); EXPECT_EQ(1000, tas.aggregate_weighted_avg); @@ -126,7 +126,7 @@ static void some_decay_test() { EXPECT_DOUBLE_EQ(2, tas.aggregate_total_weight); } -static void no_regress_full_persist_test() { +static void no_regress_full_persist_test(void) { grpc_time_averaged_stats tas; grpc_time_averaged_stats_init(&tas, 1000, 0, 1.0); EXPECT_DOUBLE_EQ(1000, tas.aggregate_weighted_avg); @@ -146,7 +146,7 @@ static void no_regress_full_persist_test() { EXPECT_DOUBLE_EQ(3, tas.aggregate_total_weight); } -static void no_regress_some_persist_test() { +static void no_regress_some_persist_test(void) { grpc_time_averaged_stats tas; grpc_time_averaged_stats_init(&tas, 1000, 0, 0.5); /* Should replace init value */ @@ -162,7 +162,7 @@ static void no_regress_some_persist_test() { EXPECT_DOUBLE_EQ(2.5, tas.aggregate_total_weight); } -static void some_regress_some_persist_test() { +static void some_regress_some_persist_test(void) { grpc_time_averaged_stats tas; grpc_time_averaged_stats_init(&tas, 1000, 0.4, 0.6); /* Sample weight = 0 */ diff --git a/test/core/network_benchmarks/low_level_ping_pong.c b/test/core/network_benchmarks/low_level_ping_pong.c index 8a4c1befb61..9a6f518399c 100644 --- a/test/core/network_benchmarks/low_level_ping_pong.c +++ b/test/core/network_benchmarks/low_level_ping_pong.c @@ -293,7 +293,7 @@ static void print_histogram(gpr_histogram *histogram) { gpr_histogram_percentile(histogram, 99.9)); } -static double now() { +static double now(void) { gpr_timespec tv = gpr_now(); return 1e9 * tv.tv_sec + tv.tv_nsec; } diff --git a/test/core/security/secure_endpoint_test.c b/test/core/security/secure_endpoint_test.c index d4baa64725f..2e23b6a2cdf 100644 --- a/test/core/security/secure_endpoint_test.c +++ b/test/core/security/secure_endpoint_test.c @@ -125,7 +125,7 @@ secure_endpoint_create_fixture_tcp_socketpair_leftover(size_t slice_size) { return f; } -static void clean_up() {} +static void clean_up(void) {} static grpc_endpoint_test_config configs[] = { {"secure_ep/tcp_socketpair", diff --git a/test/core/statistics/census_log_tests.c b/test/core/statistics/census_log_tests.c index 44ad4b93589..6a3c8adcc5d 100644 --- a/test/core/statistics/census_log_tests.c +++ b/test/core/statistics/census_log_tests.c @@ -114,7 +114,7 @@ static size_t perform_read_iteration(size_t record_size) { } /* Asserts that the log is empty. */ -static void assert_log_empty() { +static void assert_log_empty(void) { size_t bytes_available; census_log_init_reader(); GPR_ASSERT(census_log_read_next(&bytes_available) == NULL); @@ -345,7 +345,7 @@ static void setup_test(int circular_log) { /* Attempts to create a record of invalid size (size > CENSUS_LOG_MAX_RECORD_SIZE). */ -void test_invalid_record_size() { +void test_invalid_record_size(void) { static const size_t INVALID_SIZE = CENSUS_LOG_MAX_RECORD_SIZE + 1; static const size_t VALID_SIZE = 1; void* record; @@ -368,7 +368,7 @@ void test_invalid_record_size() { /* Tests end_write() with a different size than what was specified in start_write(). */ -void test_end_write_with_different_size() { +void test_end_write_with_different_size(void) { static const size_t START_WRITE_SIZE = 10; static const size_t END_WRITE_SIZE = 7; void* record_written; @@ -388,7 +388,7 @@ void test_end_write_with_different_size() { } /* Verifies that pending records are not available via read_next(). */ -void test_read_pending_record() { +void test_read_pending_record(void) { static const size_t PR_RECORD_SIZE = 1024; size_t bytes_available; const void* record_read; @@ -413,7 +413,7 @@ void test_read_pending_record() { } /* Tries reading beyond pending write. */ -void test_read_beyond_pending_record() { +void test_read_beyond_pending_record(void) { /* Start a write. */ gpr_int32 incomplete_record_size = 10; gpr_int32 complete_record_size = 20; @@ -452,7 +452,7 @@ void test_read_beyond_pending_record() { /* Tests scenario where block being read is detached from a core and put on the dirty list. */ -void test_detached_while_reading() { +void test_detached_while_reading(void) { static const size_t DWR_RECORD_SIZE = 10; size_t bytes_available; const void* record_read; @@ -488,7 +488,7 @@ void test_detached_while_reading() { /* Fills non-circular log with records sized such that size is a multiple of CENSUS_LOG_MAX_RECORD_SIZE (no per-block fragmentation). */ -void test_fill_log_no_fragmentation() { +void test_fill_log_no_fragmentation(void) { const int circular = 0; printf("Starting test: fill log no fragmentation\n"); setup_test(circular); @@ -498,7 +498,7 @@ void test_fill_log_no_fragmentation() { /* Fills circular log with records sized such that size is a multiple of CENSUS_LOG_MAX_RECORD_SIZE (no per-block fragmentation). */ -void test_fill_circular_log_no_fragmentation() { +void test_fill_circular_log_no_fragmentation(void) { const int circular = 1; printf("Starting test: fill circular log no fragmentation\n"); setup_test(circular); @@ -507,7 +507,7 @@ void test_fill_circular_log_no_fragmentation() { } /* Fills non-circular log with records that may straddle end of a block. */ -void test_fill_log_with_straddling_records() { +void test_fill_log_with_straddling_records(void) { const int circular = 0; printf("Starting test: fill log with straddling records\n"); setup_test(circular); @@ -516,7 +516,7 @@ void test_fill_log_with_straddling_records() { } /* Fills circular log with records that may straddle end of a block. */ -void test_fill_circular_log_with_straddling_records() { +void test_fill_circular_log_with_straddling_records(void) { const int circular = 1; printf("Starting test: fill circular log with straddling records\n"); setup_test(circular); @@ -526,7 +526,7 @@ void test_fill_circular_log_with_straddling_records() { /* Tests scenario where multiple writers and a single reader are using a log that is configured to discard old records. */ -void test_multiple_writers_circular_log() { +void test_multiple_writers_circular_log(void) { const int circular = 1; printf("Starting test: multiple writers circular log\n"); setup_test(circular); @@ -536,7 +536,7 @@ void test_multiple_writers_circular_log() { /* Tests scenario where multiple writers and a single reader are using a log that is configured to discard old records. */ -void test_multiple_writers() { +void test_multiple_writers(void) { const int circular = 0; printf("Starting test: multiple writers\n"); setup_test(circular); @@ -545,7 +545,7 @@ void test_multiple_writers() { } /* Repeat the straddling records and multiple writers tests with a small log. */ -void test_small_log() { +void test_small_log(void) { size_t log_size; const int circular = 0; printf("Starting test: small log\n"); @@ -559,7 +559,7 @@ void test_small_log() { census_log_shutdown(); } -void test_performance() { +void test_performance(void) { int write_size = 1; for (; write_size < CENSUS_LOG_MAX_RECORD_SIZE; write_size *= 2) { gpr_timespec write_time; diff --git a/test/core/statistics/census_stub_test.c b/test/core/statistics/census_stub_test.c index a86676fbb1b..c651eaf21ff 100644 --- a/test/core/statistics/census_stub_test.c +++ b/test/core/statistics/census_stub_test.c @@ -41,7 +41,7 @@ #include "test/core/util/test_config.h" /* Tests census noop stubs in a simulated rpc flow */ -void test_census_stubs() { +void test_census_stubs(void) { census_op_id op_id; census_rpc_stats* stats = census_rpc_stats_create_empty(); census_aggregated_rpc_stats data_map = {0, NULL}; diff --git a/test/core/statistics/hash_table_test.c b/test/core/statistics/hash_table_test.c index 8c768241935..5d05ab5bc4d 100644 --- a/test/core/statistics/hash_table_test.c +++ b/test/core/statistics/hash_table_test.c @@ -61,7 +61,7 @@ static gpr_uint64 force_collision(const void* k) { static void free_data(void* data) { gpr_free(data); } /* Basic tests that empty hash table can be created and destroyed. */ -static void test_create_table() { +static void test_create_table(void) { /* Create table with uint64 key type */ census_ht* ht = NULL; census_ht_option ht_options = {CENSUS_HT_UINT64, 1999, NULL, NULL, NULL, @@ -81,7 +81,7 @@ static void test_create_table() { census_ht_destroy(ht); } -static void test_table_with_int_key() { +static void test_table_with_int_key(void) { census_ht_option opt = {CENSUS_HT_UINT64, 7, NULL, NULL, NULL, NULL}; census_ht* ht = census_ht_create(&opt); gpr_uint64 i = 0; @@ -118,7 +118,7 @@ static void test_table_with_int_key() { } /* Test that there is no memory leak when keys and values are owned by table. */ -static void test_value_and_key_deleter() { +static void test_value_and_key_deleter(void) { census_ht_option opt = {CENSUS_HT_POINTER, 7, &hash64, &cmp_str_keys, &free_data, &free_data}; census_ht* ht = census_ht_create(&opt); @@ -148,7 +148,7 @@ static void test_value_and_key_deleter() { } /* Test simple insert and erase operations. */ -static void test_simple_add_and_erase() { +static void test_simple_add_and_erase(void) { census_ht_option opt = {CENSUS_HT_UINT64, 7, NULL, NULL, NULL, NULL}; census_ht* ht = census_ht_create(&opt); GPR_ASSERT(ht != NULL); @@ -183,7 +183,7 @@ static void test_simple_add_and_erase() { census_ht_destroy(ht); } -static void test_insertion_and_deletion_with_high_collision_rate() { +static void test_insertion_and_deletion_with_high_collision_rate(void) { census_ht_option opt = {CENSUS_HT_POINTER, 13, &force_collision, &cmp_str_keys, NULL, NULL}; census_ht* ht = census_ht_create(&opt); @@ -207,7 +207,7 @@ static void test_insertion_and_deletion_with_high_collision_rate() { census_ht_destroy(ht); } -static void test_table_with_string_key() { +static void test_table_with_string_key(void) { census_ht_option opt = {CENSUS_HT_POINTER, 7, &hash64, &cmp_str_keys, NULL, NULL}; census_ht* ht = census_ht_create(&opt); @@ -258,7 +258,7 @@ static void test_table_with_string_key() { census_ht_destroy(ht); } -static void test_insertion_with_same_key() { +static void test_insertion_with_same_key(void) { census_ht_option opt = {CENSUS_HT_UINT64, 11, NULL, NULL, NULL, NULL}; census_ht* ht = census_ht_create(&opt); census_ht_key key; diff --git a/test/core/statistics/rpc_stats_test.c b/test/core/statistics/rpc_stats_test.c index c1014034500..1e929d18ef0 100644 --- a/test/core/statistics/rpc_stats_test.c +++ b/test/core/statistics/rpc_stats_test.c @@ -45,7 +45,7 @@ #include "test/core/util/test_config.h" /* Ensure all possible state transitions are called without causing problem */ -static void test_init_shutdown() { +static void test_init_shutdown(void) { census_stats_store_init(); census_stats_store_init(); census_stats_store_shutdown(); @@ -53,7 +53,7 @@ static void test_init_shutdown() { census_stats_store_init(); } -static void test_create_and_destroy() { +static void test_create_and_destroy(void) { census_rpc_stats* stats = NULL; census_aggregated_rpc_stats agg_stats = {0, NULL}; @@ -80,7 +80,7 @@ static void test_create_and_destroy() { #define ASSERT_NEAR(a, b) \ GPR_ASSERT((a - b) * (a - b) < 1e-24 * (a + b) * (a + b)) -static void test_record_and_get_stats() { +static void test_record_and_get_stats(void) { census_rpc_stats stats = {1, 2, 3, 4, 5.1, 6.2, 7.3, 8.4}; census_op_id id; census_aggregated_rpc_stats agg_stats = {0, NULL}; @@ -149,7 +149,7 @@ static void test_record_and_get_stats() { census_shutdown(); } -static void test_record_stats_on_unknown_op_id() { +static void test_record_stats_on_unknown_op_id(void) { census_op_id unknown_id = {0xDEAD, 0xBEEF}; census_rpc_stats stats = {1, 2, 3, 4, 5.1, 6.2, 7.3, 8.4}; census_aggregated_rpc_stats agg_stats = {0, NULL}; @@ -169,7 +169,7 @@ static void test_record_stats_on_unknown_op_id() { } /* Test that record stats is noop when trace store is uninitialized. */ -static void test_record_stats_with_trace_store_uninitialized() { +static void test_record_stats_with_trace_store_uninitialized(void) { census_rpc_stats stats = {1, 2, 3, 4, 5.1, 6.2, 7.3, 8.4}; census_op_id id = {0, 0}; census_aggregated_rpc_stats agg_stats = {0, NULL}; diff --git a/test/core/statistics/trace_test.c b/test/core/statistics/trace_test.c index 9a6c54b90fe..6eafcf14568 100644 --- a/test/core/statistics/trace_test.c +++ b/test/core/statistics/trace_test.c @@ -45,7 +45,7 @@ #include "test/core/util/test_config.h" /* Ensure all possible state transitions are called without causing problem */ -static void test_init_shutdown() { +static void test_init_shutdown(void) { census_tracing_init(); census_tracing_init(); census_tracing_shutdown(); @@ -53,7 +53,7 @@ static void test_init_shutdown() { census_tracing_init(); } -static void test_start_op_generates_locally_unique_ids() { +static void test_start_op_generates_locally_unique_ids(void) { /* Check that ids generated within window size of 1000 are unique. TODO(hongyu): Replace O(n^2) duplicate detection algorithm with O(nlogn) algorithm. Enhance the test to larger window size (>10^6) */ @@ -75,7 +75,7 @@ static void test_start_op_generates_locally_unique_ids() { census_shutdown(); } -static void test_get_trace_method_name() { +static void test_get_trace_method_name(void) { census_op_id id; const char write_name[] = "service/method"; census_tracing_init(); @@ -119,7 +119,7 @@ static void mimic_trace_op_sequences(void* arg) { gpr_mu_unlock(&args->mu); } -static void test_concurrency() { +static void test_concurrency(void) { #define NUM_THREADS 1000 gpr_thd_id tid[NUM_THREADS]; int i = 0; @@ -141,7 +141,7 @@ static void test_concurrency() { #undef NUM_THREADS } -static void test_add_method_tag_to_unknown_op_id() { +static void test_add_method_tag_to_unknown_op_id(void) { census_op_id unknown_id = {0xDEAD, 0xBEEF}; int ret = 0; census_tracing_init(); @@ -150,7 +150,7 @@ static void test_add_method_tag_to_unknown_op_id() { census_tracing_shutdown(); } -static void test_trace_print() { +static void test_trace_print(void) { census_op_id id; int i; const char* annotation_txt[4] = {"abc", "", "$%^ *()_"}; diff --git a/test/core/statistics/window_stats_test.c b/test/core/statistics/window_stats_test.c index 2bf93d8c87f..1fe77477408 100644 --- a/test/core/statistics/window_stats_test.c +++ b/test/core/statistics/window_stats_test.c @@ -73,7 +73,7 @@ static int compare_double(double a, double b, double epsilon) { } } -void empty_test() { +void empty_test(void) { census_window_stats_sums result; const gpr_timespec zero = {0, 0}; test_stat sum; @@ -88,7 +88,7 @@ void empty_test() { census_window_stats_destroy(stats); } -void one_interval_test() { +void one_interval_test(void) { const test_stat value = {0.1, 4}; const double epsilon = 1e10 - 11; gpr_timespec when = {0, 0}; @@ -197,7 +197,7 @@ void one_interval_test() { census_window_stats_destroy(stats); } -void many_interval_test() { +void many_interval_test(void) { gpr_timespec intervals[4]; const test_stat value = {123.45, 8}; const double epsilon = 1e10 - 11; @@ -258,7 +258,7 @@ void many_interval_test() { census_window_stats_destroy(stats); } -void rolling_time_test() { +void rolling_time_test(void) { const test_stat value = {0.1, 4}; gpr_timespec when = {0, 0}; census_window_stats_sums result; @@ -282,7 +282,7 @@ void rolling_time_test() { census_window_stats_destroy(stats); } #include -void infinite_interval_test() { +void infinite_interval_test(void) { const test_stat value = {0.1, 4}; gpr_timespec when = {0, 0}; census_window_stats_sums result; diff --git a/test/core/support/cmdline_test.c b/test/core/support/cmdline_test.c index 91035a662b5..1d15c662898 100644 --- a/test/core/support/cmdline_test.c +++ b/test/core/support/cmdline_test.c @@ -41,7 +41,7 @@ #define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__) -static void test_simple_int() { +static void test_simple_int(void) { int x = 1; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "-foo", "3"}; @@ -56,7 +56,7 @@ static void test_simple_int() { gpr_cmdline_destroy(cl); } -static void test_eq_int() { +static void test_eq_int(void) { int x = 1; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "-foo=3"}; @@ -71,7 +71,7 @@ static void test_eq_int() { gpr_cmdline_destroy(cl); } -static void test_2dash_int() { +static void test_2dash_int(void) { int x = 1; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "--foo", "3"}; @@ -86,7 +86,7 @@ static void test_2dash_int() { gpr_cmdline_destroy(cl); } -static void test_2dash_eq_int() { +static void test_2dash_eq_int(void) { int x = 1; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "--foo=3"}; @@ -101,7 +101,7 @@ static void test_2dash_eq_int() { gpr_cmdline_destroy(cl); } -static void test_simple_string() { +static void test_simple_string(void) { char *x = NULL; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "-foo", "3"}; @@ -116,7 +116,7 @@ static void test_simple_string() { gpr_cmdline_destroy(cl); } -static void test_eq_string() { +static void test_eq_string(void) { char *x = NULL; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "-foo=3"}; @@ -131,7 +131,7 @@ static void test_eq_string() { gpr_cmdline_destroy(cl); } -static void test_2dash_string() { +static void test_2dash_string(void) { char *x = NULL; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "--foo", "3"}; @@ -146,7 +146,7 @@ static void test_2dash_string() { gpr_cmdline_destroy(cl); } -static void test_2dash_eq_string() { +static void test_2dash_eq_string(void) { char *x = NULL; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "--foo=3"}; @@ -161,7 +161,7 @@ static void test_2dash_eq_string() { gpr_cmdline_destroy(cl); } -static void test_flag_on() { +static void test_flag_on(void) { int x = 2; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "--foo"}; @@ -176,7 +176,7 @@ static void test_flag_on() { gpr_cmdline_destroy(cl); } -static void test_flag_no() { +static void test_flag_no(void) { int x = 2; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "--no-foo"}; @@ -191,7 +191,7 @@ static void test_flag_no() { gpr_cmdline_destroy(cl); } -static void test_flag_val_1() { +static void test_flag_val_1(void) { int x = 2; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "--foo=1"}; @@ -206,7 +206,7 @@ static void test_flag_val_1() { gpr_cmdline_destroy(cl); } -static void test_flag_val_0() { +static void test_flag_val_0(void) { int x = 2; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "--foo=0"}; @@ -221,7 +221,7 @@ static void test_flag_val_0() { gpr_cmdline_destroy(cl); } -static void test_flag_val_true() { +static void test_flag_val_true(void) { int x = 2; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "--foo=true"}; @@ -236,7 +236,7 @@ static void test_flag_val_true() { gpr_cmdline_destroy(cl); } -static void test_flag_val_false() { +static void test_flag_val_false(void) { int x = 2; gpr_cmdline *cl; char *args[] = {(char *)__FUNCTION__, "--foo=false"}; @@ -251,7 +251,7 @@ static void test_flag_val_false() { gpr_cmdline_destroy(cl); } -static void test_many() { +static void test_many(void) { char *str = NULL; int x = 0; int flag = 2; diff --git a/test/core/support/histogram_test.c b/test/core/support/histogram_test.c index 3b5fd730474..4769ce05998 100644 --- a/test/core/support/histogram_test.c +++ b/test/core/support/histogram_test.c @@ -36,7 +36,7 @@ #define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__); -static void test_no_op() { +static void test_no_op(void) { gpr_histogram_destroy(gpr_histogram_create(0.01, 60e9)); } @@ -49,7 +49,7 @@ static void expect_percentile(gpr_histogram *h, double percentile, GPR_ASSERT(got <= max_expect); } -static void test_simple() { +static void test_simple(void) { gpr_histogram *h; LOG_TEST(); @@ -66,7 +66,7 @@ static void test_simple() { gpr_histogram_destroy(h); } -static void test_percentile() { +static void test_percentile(void) { gpr_histogram *h; double last; double i; @@ -111,7 +111,7 @@ static void test_percentile() { gpr_histogram_destroy(h); } -static void test_merge() { +static void test_merge(void) { gpr_histogram *h1, *h2; double last; double i; diff --git a/test/core/support/host_port_test.c b/test/core/support/host_port_test.c index d1553c514ef..5b06b7076ee 100644 --- a/test/core/support/host_port_test.c +++ b/test/core/support/host_port_test.c @@ -48,7 +48,7 @@ static void join_host_port_expect(const char *host, int port, gpr_free(buf); } -static void test_join_host_port() { +static void test_join_host_port(void) { join_host_port_expect("foo", 101, "foo:101"); join_host_port_expect("", 102, ":102"); join_host_port_expect("1::2", 103, "[1::2]:103"); @@ -56,7 +56,7 @@ static void test_join_host_port() { } /* Garbage in, garbage out. */ -static void test_join_host_port_garbage() { +static void test_join_host_port_garbage(void) { join_host_port_expect("[foo]", 105, "[foo]:105"); join_host_port_expect("[::", 106, "[:::106"); join_host_port_expect("::]", 107, "[::]]:107"); diff --git a/test/core/support/slice_test.c b/test/core/support/slice_test.c index 40440344c03..2a7056feb2d 100644 --- a/test/core/support/slice_test.c +++ b/test/core/support/slice_test.c @@ -40,7 +40,7 @@ #define LOG_TEST_NAME() gpr_log(GPR_INFO, "%s", __FUNCTION__); -static void test_slice_malloc_returns_something_sensible() { +static void test_slice_malloc_returns_something_sensible(void) { /* Calls gpr_slice_create for various lengths and verifies the internals for consistency. */ size_t length; @@ -74,7 +74,7 @@ static void test_slice_malloc_returns_something_sensible() { static void do_nothing(void *ignored) {} -static void test_slice_new_returns_something_sensible() { +static void test_slice_new_returns_something_sensible(void) { gpr_uint8 x; gpr_slice slice = gpr_slice_new(&x, 1, do_nothing); @@ -91,7 +91,7 @@ static void do_nothing_with_len_1(void *ignored, size_t len) { do_nothing_with_len_1_calls++; } -static void test_slice_new_with_len_returns_something_sensible() { +static void test_slice_new_with_len_returns_something_sensible(void) { gpr_uint8 x; gpr_slice slice = gpr_slice_new_with_len(&x, 1, do_nothing_with_len_1); @@ -198,7 +198,7 @@ static void test_slice_split_tail_works(int length) { gpr_slice_unref(slice); } -static void test_slice_from_copied_string_works() { +static void test_slice_from_copied_string_works(void) { static const char *text = "HELLO WORLD!"; gpr_slice slice; diff --git a/test/core/support/string_test.c b/test/core/support/string_test.c index 22ae7bacf52..e87a606aba2 100644 --- a/test/core/support/string_test.c +++ b/test/core/support/string_test.c @@ -44,7 +44,7 @@ #define LOG_TEST_NAME() gpr_log(GPR_INFO, "%s", __FUNCTION__) -static void test_strdup() { +static void test_strdup(void) { static const char *src1 = "hello world"; char *dst1; @@ -64,7 +64,7 @@ static void expect_hexdump(const char *buf, size_t len, gpr_uint32 flags, gpr_free(got); } -static void test_hexdump() { +static void test_hexdump(void) { LOG_TEST_NAME(); expect_hexdump("\x01", 1, 0, "01"); expect_hexdump("\x01", 1, GPR_HEXDUMP_PLAINTEXT, "01 '.'"); @@ -85,7 +85,7 @@ static void test_pu32_succeed(const char *s, gpr_uint32 want) { GPR_ASSERT(out == want); } -static void test_parse_uint32() { +static void test_parse_uint32(void) { LOG_TEST_NAME(); test_pu32_fail("-1"); @@ -119,7 +119,7 @@ static void test_parse_uint32() { test_pu32_fail("4294967299"); } -static void test_asprintf() { +static void test_asprintf(void) { char *buf; int i, j; diff --git a/test/core/support/time_test.c b/test/core/support/time_test.c index d74d6a52d9d..56f927787bc 100644 --- a/test/core/support/time_test.c +++ b/test/core/support/time_test.c @@ -222,7 +222,7 @@ static void test_sticky_infinities(void) { } } -static void test_similar() { +static void test_similar(void) { GPR_ASSERT(1 == gpr_time_similar(gpr_inf_future, gpr_inf_future, gpr_time_0)); GPR_ASSERT(1 == gpr_time_similar(gpr_inf_past, gpr_inf_past, gpr_time_0)); GPR_ASSERT(0 == gpr_time_similar(gpr_inf_past, gpr_inf_future, gpr_time_0)); diff --git a/test/core/surface/byte_buffer_reader_test.c b/test/core/surface/byte_buffer_reader_test.c index bc5a512a0b8..d78dd641ad6 100644 --- a/test/core/surface/byte_buffer_reader_test.c +++ b/test/core/surface/byte_buffer_reader_test.c @@ -46,7 +46,7 @@ #define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__) -static void test_create() { +static void test_create(void) { grpc_byte_buffer *buffer; grpc_byte_buffer_reader *reader; gpr_slice empty = gpr_empty_slice(); @@ -57,7 +57,7 @@ static void test_create() { grpc_byte_buffer_destroy(buffer); } -static void test_read_one_slice() { +static void test_read_one_slice(void) { gpr_slice slice; grpc_byte_buffer *buffer; grpc_byte_buffer_reader *reader; @@ -79,7 +79,7 @@ static void test_read_one_slice() { grpc_byte_buffer_destroy(buffer); } -static void test_read_one_slice_malloc() { +static void test_read_one_slice_malloc(void) { gpr_slice slice; grpc_byte_buffer *buffer; grpc_byte_buffer_reader *reader; diff --git a/test/core/surface/completion_queue_test.c b/test/core/surface/completion_queue_test.c index 9be2a67d8d2..71f9cc22916 100644 --- a/test/core/surface/completion_queue_test.c +++ b/test/core/surface/completion_queue_test.c @@ -47,7 +47,7 @@ static void increment_int_on_finish(void *user_data, grpc_op_error error) { ++*(int *)user_data; } -static void *create_test_tag() { +static void *create_test_tag(void) { static gpr_intptr i = 0; return (void *)(++i); } @@ -64,12 +64,12 @@ static void shutdown_and_destroy(grpc_completion_queue *cc) { } /* ensure we can create and destroy a completion channel */ -static void test_no_op() { +static void test_no_op(void) { LOG_TEST(); shutdown_and_destroy(grpc_completion_queue_create()); } -static void test_wait_empty() { +static void test_wait_empty(void) { grpc_completion_queue *cc; LOG_TEST(); @@ -79,7 +79,7 @@ static void test_wait_empty() { shutdown_and_destroy(cc); } -static void test_cq_end_read() { +static void test_cq_end_read(void) { grpc_event *ev; grpc_completion_queue *cc; int on_finish_called = 0; @@ -105,7 +105,7 @@ static void test_cq_end_read() { shutdown_and_destroy(cc); } -static void test_cq_end_invoke_accepted() { +static void test_cq_end_invoke_accepted(void) { grpc_event *ev; grpc_completion_queue *cc; int on_finish_called = 0; @@ -131,7 +131,7 @@ static void test_cq_end_invoke_accepted() { shutdown_and_destroy(cc); } -static void test_cq_end_write_accepted() { +static void test_cq_end_write_accepted(void) { grpc_event *ev; grpc_completion_queue *cc; int on_finish_called = 0; @@ -157,7 +157,7 @@ static void test_cq_end_write_accepted() { shutdown_and_destroy(cc); } -static void test_cq_end_finish_accepted() { +static void test_cq_end_finish_accepted(void) { grpc_event *ev; grpc_completion_queue *cc; int on_finish_called = 0; @@ -183,7 +183,7 @@ static void test_cq_end_finish_accepted() { shutdown_and_destroy(cc); } -static void test_cq_end_client_metadata_read() { +static void test_cq_end_client_metadata_read(void) { grpc_event *ev; grpc_completion_queue *cc; int on_finish_called = 0; @@ -210,7 +210,7 @@ static void test_cq_end_client_metadata_read() { shutdown_and_destroy(cc); } -static void test_pluck() { +static void test_pluck(void) { grpc_event *ev; grpc_completion_queue *cc; void *tags[128]; @@ -273,7 +273,7 @@ typedef struct test_thread_options { grpc_completion_queue *cc; } test_thread_options; -gpr_timespec ten_seconds_time() { +gpr_timespec ten_seconds_time(void) { return gpr_time_add(gpr_now(), gpr_time_from_micros(10 * 1000000)); } diff --git a/test/core/transport/chttp2/hpack_table_test.c b/test/core/transport/chttp2/hpack_table_test.c index 8810925ba5a..1576a30c1b0 100644 --- a/test/core/transport/chttp2/hpack_table_test.c +++ b/test/core/transport/chttp2/hpack_table_test.c @@ -54,7 +54,7 @@ static void assert_index(const grpc_chttp2_hptbl *tbl, int idx, const char *key, assert_str(tbl, md->value, value); } -static void test_static_lookup() { +static void test_static_lookup(void) { grpc_chttp2_hptbl tbl; grpc_mdctx *mdctx; @@ -128,7 +128,7 @@ static void test_static_lookup() { grpc_mdctx_orphan(mdctx); } -static void test_many_additions() { +static void test_many_additions(void) { grpc_chttp2_hptbl tbl; int i; char key[32]; @@ -165,7 +165,7 @@ static grpc_chttp2_hptbl_find_result find_simple(grpc_chttp2_hptbl *tbl, return r; } -static void test_find() { +static void test_find(void) { grpc_chttp2_hptbl tbl; int i; char buffer[32]; diff --git a/test/core/transport/chttp2/stream_encoder_test.c b/test/core/transport/chttp2/stream_encoder_test.c index ba552786db0..102288f5d74 100644 --- a/test/core/transport/chttp2/stream_encoder_test.c +++ b/test/core/transport/chttp2/stream_encoder_test.c @@ -102,7 +102,7 @@ static void assert_result_ok(void *user_data, grpc_op_error error) { GPR_ASSERT(error == GRPC_OP_OK); } -static void test_small_data_framing() { +static void test_small_data_framing(void) { grpc_sopb_add_no_op(&g_sopb); verify_sopb(10, 0, 0, ""); @@ -135,7 +135,7 @@ static void add_sopb_header(const char *key, const char *value) { grpc_mdelem_from_strings(g_mdctx, key, value)); } -static void test_basic_headers() { +static void test_basic_headers(void) { int i; add_sopb_header("a", "a"); @@ -183,7 +183,7 @@ static void encode_int_to_str(int i, char *p) { p[2] = 0; } -static void test_decode_table_overflow() { +static void test_decode_table_overflow(void) { int i; char key[3], value[3]; char expect[128]; @@ -282,7 +282,7 @@ static void test_decode_random_headers_inner(int max_len) { } #define DECL_TEST_DECODE_RANDOM_HEADERS(n) \ - static void test_decode_random_headers_##n() { \ + static void test_decode_random_headers_##n(void) { \ test_decode_random_headers_inner(n); \ } \ int keeps_formatting_correct_##n diff --git a/test/core/transport/chttp2/stream_map_test.c b/test/core/transport/chttp2/stream_map_test.c index 459ef2aedeb..9b4446f7f80 100644 --- a/test/core/transport/chttp2/stream_map_test.c +++ b/test/core/transport/chttp2/stream_map_test.c @@ -38,7 +38,7 @@ #define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__) /* test creation & destruction */ -static void test_no_op() { +static void test_no_op(void) { grpc_chttp2_stream_map map; LOG_TEST(); @@ -48,7 +48,7 @@ static void test_no_op() { } /* test lookup on an empty map */ -static void test_empty_find() { +static void test_empty_find(void) { grpc_chttp2_stream_map map; LOG_TEST(); @@ -59,7 +59,7 @@ static void test_empty_find() { } /* test it's safe to delete twice */ -static void test_double_deletion() { +static void test_double_deletion(void) { grpc_chttp2_stream_map map; LOG_TEST(); diff --git a/test/core/transport/chttp2/timeout_encoding_test.c b/test/core/transport/chttp2/timeout_encoding_test.c index 793d2b945ea..4bb84e3f0bf 100644 --- a/test/core/transport/chttp2/timeout_encoding_test.c +++ b/test/core/transport/chttp2/timeout_encoding_test.c @@ -49,7 +49,7 @@ static void assert_encodes_as(gpr_timespec ts, const char *s) { GPR_ASSERT(0 == strcmp(buffer, s)); } -void test_encoding() { +void test_encoding(void) { LOG_TEST(); assert_encodes_as(gpr_time_from_micros(-1), "1n"); assert_encodes_as(gpr_time_from_seconds(-10), "1n"); @@ -106,7 +106,7 @@ void decode_suite(char ext, gpr_timespec (*answer)(long x)) { } } -void test_decoding() { +void test_decoding(void) { LOG_TEST(); decode_suite('n', gpr_time_from_nanos); decode_suite('u', gpr_time_from_micros); @@ -117,7 +117,7 @@ void test_decoding() { assert_decodes_as("1000000000000000000000u", gpr_inf_future); } -void test_decoding_fails() { +void test_decoding_fails(void) { gpr_timespec x; LOG_TEST(); GPR_ASSERT(0 == grpc_chttp2_decode_timeout("", &x)); diff --git a/test/core/transport/metadata_test.c b/test/core/transport/metadata_test.c index ec424ce144c..804096d0e1e 100644 --- a/test/core/transport/metadata_test.c +++ b/test/core/transport/metadata_test.c @@ -45,7 +45,7 @@ /* a large number */ #define MANY 1000000 -static void test_no_op() { +static void test_no_op(void) { grpc_mdctx *ctx; LOG_TEST(); @@ -54,7 +54,7 @@ static void test_no_op() { grpc_mdctx_orphan(ctx); } -static void test_create_string() { +static void test_create_string(void) { grpc_mdctx *ctx; grpc_mdstr *s1, *s2, *s3; @@ -74,7 +74,7 @@ static void test_create_string() { grpc_mdstr_unref(s3); } -static void test_create_metadata() { +static void test_create_metadata(void) { grpc_mdctx *ctx; grpc_mdelem *m1, *m2, *m3; @@ -97,7 +97,7 @@ static void test_create_metadata() { grpc_mdctx_orphan(ctx); } -static void test_create_many_ephemeral_metadata() { +static void test_create_many_ephemeral_metadata(void) { grpc_mdctx *ctx; char buffer[256]; long i; @@ -118,7 +118,7 @@ static void test_create_many_ephemeral_metadata() { grpc_mdctx_orphan(ctx); } -static void test_create_many_persistant_metadata() { +static void test_create_many_persistant_metadata(void) { grpc_mdctx *ctx; char buffer[256]; long i; @@ -149,7 +149,7 @@ static void test_create_many_persistant_metadata() { gpr_free(created); } -static void test_spin_creating_the_same_thing() { +static void test_spin_creating_the_same_thing(void) { grpc_mdctx *ctx; LOG_TEST(); @@ -173,7 +173,7 @@ static void test_spin_creating_the_same_thing() { grpc_mdctx_orphan(ctx); } -static void test_things_stick_around() { +static void test_things_stick_around(void) { grpc_mdctx *ctx; int i, j; char buffer[64]; @@ -220,7 +220,7 @@ static void test_things_stick_around() { gpr_free(shuf); } -static void test_slices_work() { +static void test_slices_work(void) { /* ensure no memory leaks when switching representation from mdstr to slice */ grpc_mdctx *ctx; grpc_mdstr *str; @@ -245,7 +245,7 @@ static void test_slices_work() { grpc_mdctx_orphan(ctx); } -static void test_base64_and_huffman_works() { +static void test_base64_and_huffman_works(void) { grpc_mdctx *ctx; grpc_mdstr *str; gpr_slice slice1; diff --git a/test/core/transport/transport_end2end_tests.c b/test/core/transport/transport_end2end_tests.c index 86e987bef0e..712081bc8ab 100644 --- a/test/core/transport/transport_end2end_tests.c +++ b/test/core/transport/transport_end2end_tests.c @@ -144,36 +144,36 @@ static gpr_slice alloc_recv_buffer(void *user_data, grpc_transport *transport, return gpr_slice_malloc(size_hint); } -static void pending_ops_cleanup() { +static void pending_ops_cleanup(void) { gpr_mu_destroy(&g_mu); gpr_cv_destroy(&g_cv); } -static void pending_ops_init() { +static void pending_ops_init(void) { gpr_mu_init(&g_mu); gpr_cv_init(&g_cv); atexit(pending_ops_cleanup); } -static void use_pending_ops() { +static void use_pending_ops(void) { gpr_once_init(&g_pending_ops_init, pending_ops_init); } -static void add_pending_op() { +static void add_pending_op(void) { use_pending_ops(); gpr_mu_lock(&g_mu); g_pending_ops++; gpr_mu_unlock(&g_mu); } -static void end_pending_op() { +static void end_pending_op(void) { gpr_mu_lock(&g_mu); g_pending_ops--; gpr_cv_broadcast(&g_cv); gpr_mu_unlock(&g_mu); } -static void wait_pending_ops() { +static void wait_pending_ops(void) { use_pending_ops(); gpr_mu_lock(&g_mu); while (g_pending_ops > 0) { diff --git a/test/core/util/grpc_profiler.c b/test/core/util/grpc_profiler.c index e135743d579..340b2d53b96 100644 --- a/test/core/util/grpc_profiler.c +++ b/test/core/util/grpc_profiler.c @@ -35,4 +35,4 @@ void grpc_profiler_start(const char *filename) {} -void grpc_profiler_stop() {} +void grpc_profiler_stop(void) {} diff --git a/test/core/util/port_posix.c b/test/core/util/port_posix.c index 5f51478f8cf..52008895dca 100644 --- a/test/core/util/port_posix.c +++ b/test/core/util/port_posix.c @@ -98,7 +98,7 @@ static int is_port_available(int *port, int is_tcp) { return 1; } -int grpc_pick_unused_port() { +int grpc_pick_unused_port(void) { /* We repeatedly pick a port and then see whether or not it is available for use both as a TCP socket and a UDP socket. First, we pick a random large port number. For subsequent @@ -141,7 +141,7 @@ int grpc_pick_unused_port() { return 0; } -int grpc_pick_unused_port_or_die() { +int grpc_pick_unused_port_or_die(void) { int port = grpc_pick_unused_port(); GPR_ASSERT(port > 0); return port; diff --git a/test/core/util/test_config.c b/test/core/util/test_config.c index 44ab35fc5e4..6df86b593f4 100644 --- a/test/core/util/test_config.c +++ b/test/core/util/test_config.c @@ -39,7 +39,7 @@ #if GPR_GETPID_IN_UNISTD_H #include -static int seed() { return getpid(); } +static int seed(void) { return getpid(); } #endif #if GPR_GETPID_IN_PROCESS_H From 3eef2c4bcb2031ee7503d58936f2a92fae84c3ea Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 11:37:54 -0800 Subject: [PATCH 017/121] clang-format --- src/core/security/credentials.c | 4 ++-- src/core/statistics/census_tracing.c | 4 +++- test/core/transport/chttp2/stream_encoder_test.c | 6 +++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/core/security/credentials.c b/src/core/security/credentials.c index ea1a6cd1c4d..006d863e27b 100644 --- a/src/core/security/credentials.c +++ b/src/core/security/credentials.c @@ -637,8 +637,8 @@ grpc_credentials *grpc_fake_transport_security_credentials_create(void) { return c; } -grpc_server_credentials * -grpc_fake_transport_security_server_credentials_create(void) { +grpc_server_credentials *grpc_fake_transport_security_server_credentials_create( + void) { grpc_server_credentials *c = gpr_malloc(sizeof(grpc_server_credentials)); memset(c, 0, sizeof(grpc_server_credentials)); c->type = GRPC_CREDENTIALS_TYPE_FAKE_TRANSPORT_SECURITY; diff --git a/src/core/statistics/census_tracing.c b/src/core/statistics/census_tracing.c index 99091cf80be..8c7cf116426 100644 --- a/src/core/statistics/census_tracing.c +++ b/src/core/statistics/census_tracing.c @@ -95,7 +95,9 @@ static gpr_uint64 op_id_2_uint64(census_op_id* id) { static void init_mutex(void) { gpr_mu_init(&g_mu); } -static void init_mutex_once(void) { gpr_once_init(&g_init_mutex_once, init_mutex); } +static void init_mutex_once(void) { + gpr_once_init(&g_init_mutex_once, init_mutex); +} census_op_id census_tracing_start_op(void) { gpr_mu_lock(&g_mu); diff --git a/test/core/transport/chttp2/stream_encoder_test.c b/test/core/transport/chttp2/stream_encoder_test.c index 102288f5d74..cebc2634fba 100644 --- a/test/core/transport/chttp2/stream_encoder_test.c +++ b/test/core/transport/chttp2/stream_encoder_test.c @@ -281,10 +281,10 @@ static void test_decode_random_headers_inner(int max_len) { grpc_sopb_destroy(&encops); } -#define DECL_TEST_DECODE_RANDOM_HEADERS(n) \ +#define DECL_TEST_DECODE_RANDOM_HEADERS(n) \ static void test_decode_random_headers_##n(void) { \ - test_decode_random_headers_inner(n); \ - } \ + test_decode_random_headers_inner(n); \ + } \ int keeps_formatting_correct_##n DECL_TEST_DECODE_RANDOM_HEADERS(1); From 58192e8c9bf1531e2ffafb1cd8cfd885b6825fde Mon Sep 17 00:00:00 2001 From: Tim Emiola Date: Thu, 15 Jan 2015 12:56:22 -0800 Subject: [PATCH 018/121] Simplify the docker image update cmd --- tools/gce_setup/grpc_docker.sh | 164 +++++++++++++----------- tools/gce_setup/shared_startup_funcs.sh | 6 +- 2 files changed, 92 insertions(+), 78 deletions(-) diff --git a/tools/gce_setup/grpc_docker.sh b/tools/gce_setup/grpc_docker.sh index c5d02d77a38..d62f063b53c 100755 --- a/tools/gce_setup/grpc_docker.sh +++ b/tools/gce_setup/grpc_docker.sh @@ -85,88 +85,98 @@ grpc_add_docker_user() { gcloud compute $project_opt ssh $zone_opt $host --command "$ssh_cmd" } -# Updates a docker image specified in a local dockerfile via the docker -# container GCE instance. -# -# the docker container GCE instance -# - should have been setup using ./new_grpc_docker_instance -# - so will have /var/local/startup_scripts/shared_startup_funcs.sh, a copy of -# ./shared_startup_funcs.sh -# -# grpc_update_image gs://bucket/path/to/dockerfile parent \. -# image_label path/to/docker_dir docker_gce_instance [project] [zone] -grpc_update_image() { - _grpc_ensure_gcloud_ssh || return 1; - local gs_root_uri=$1 - [[ -n $gs_root_uri ]] || { - echo "$FUNCNAME: missing arg: gs_root_uri" 1>&2 - return 1 - } +_grpc_update_image_args() { + # default the host, root storage uri and docker file root + grpc_gs_root='gs://tmp-grpc-dev/admin/' + grpc_dockerfile_root='tools/dockerfile' + grpc_gce_script_root='tools/gce_setup' + host='grpc-docker-builder' - local image_label=$2 - [[ -n $image_label ]] || { - echo "$FUNCNAME: missing arg: host" 1>&2 - return 1 - } + # see if -p or -z is used to override the the project or zone + local OPTIND + local OPTARG + while getopts :r:d:h name + do + case $name in + d) grpc_dockerfile_root=$OPTARG ;; + r) grpc_gs_root=$OPTARG ;; + s) grpc_gce_script_root=$OPTARG ;; + h) host=$OPTARG ;; + :) continue ;; # ignore -r or -d without args, just use the defaults + \?) echo "-$OPTARG: unknown flag; it's ignored" 1>&2; continue ;; + esac + done + shift $((OPTIND-1)) - local docker_dir=$3 - [[ -n $docker_dir ]] || { - echo "$FUNCNAME: missing arg: docker_dir" 1>&2 + [[ -d $grpc_dockerfile_root ]] || { + echo "Could not locate dockerfile root dir: $grpc_dockerfile_root" 1>&2 return 1 } - [[ -d $docker_dir ]] || { - echo "could find directory $docker_dir" 1>&2 + + [[ -d $grpc_gce_script_root ]] || { + echo "Could not locate gce script dir: $grpc_gce_script_root" 1>&2 return 1 } - local docker_parent_dir=$(dirname $docker_dir) - local gce_docker_dir="/var/local/dockerfile/$(basename $docker_dir)" - local host=$4 - [[ -n $host ]] || { - echo "$FUNCNAME: missing arg: host" 1>&2 + # the suffix is required and can't be defaulted + # the suffix has two roles: + # - images are labelled grpc/ + # - the dockerfile is for an image is dockerfile_root/grpc_ + [[ -n $1 ]] && { + label_suffix=$1 + shift + } || { + echo "$FUNCNAME: missing arg: label_suffix (e.g cxx,base,ruby,java_base)" 1>&2 return 1 } +} - local project=$5 - local project_opt='' - [[ -n $project ]] && project_opt=" --project $project" - - local zone=$6 - local zone_opt='' - [[ -n $zone ]] && zone_opt=" --zone $zone" +# Updates a docker image specified in a local dockerfile via the docker +# container GCE instance. +# +# the docker container GCE instance +# - should have been setup using ./new_grpc_docker_instance +# +# There are options for +# +# call-seq: +# grpc_update_image php_base +# grpc_update_image cxx # rebuilds the cxx image +# +grpc_update_image() { + _grpc_ensure_gcloud_ssh || return 1; - local func_lib="/var/local/startup_scripts/shared_startup_funcs.sh" - local ssh_cmd="source $func_lib" + # set up by _grpc_update_args + local host grpc_gs_root grpc_gce_script_root grpc_dockerfile_root label_suffix + local grpc_zone grpc_project dry_run # set by _grpc_set_project_and_zone + _grpc_set_project_and_zone -f _grpc_update_image_args "$@" || return 1 + local project_opt="--project $grpc_project" + local zone_opt="--zone $grpc_zone" + local image_label="grpc/$label_suffix" + local docker_dir_basename="grpc_$label_suffix" + local gce_docker_dir="/var/local/dockerfile/${docker_dir_basename}" + + # Set up and run the SSH command that builds the image + local func_lib="shared_startup_funcs.sh" + local gce_func_lib="/var/local/startup_scripts/$func_lib" + local ssh_cmd="source $gce_func_lib" local ssh_cmd+=" && grpc_dockerfile_refresh $image_label $gce_docker_dir" + echo "will run:" + echo " $ssh_cmd" + echo "on $host" + [[ $dry_run == 1 ]] && return 0 # don't run the command on a dry run - grpc_push_dockerfiles $docker_parent_dir $gs_root_uri || return 1 - gcloud compute $project_opt ssh $zone_opt $host --command "$ssh_cmd" -} - -# gce_has_instance checks if a project contains a named instance -# -# gce_has_instance -gce_has_instance() { - local project=$1 - [[ -n $project ]] || { echo "$FUNCNAME: missing arg: project" 1>&2; return 1; } - local checked_instance=$2 - [[ -n $checked_instance ]] || { - echo "$FUNCNAME: missing arg: checked_instance" 1>&2 - return 1 - } + # Update the remote copy of the GCE func library. + local src_func_lib="$grpc_gce_script_root/$func_lib" + local rmt_func_lib="$host:$gce_func_lib" + gcloud compute copy-files $src_func_lib $rmt_func_lib $project_opt $zone_opt || return 1 - instances=$(gcloud --project $project compute instances list \ - | sed -e 's/ \+/ /g' | cut -d' ' -f 1) - for i in $instances - do - if [[ $i == $checked_instance ]] - then - return 0 - fi - done + # Update the remote version of the docker func. + local src_docker_dir="$grpc_dockerfile_root/$docker_dir_basename" + local rmt_docker_root="$host:/var/local/dockerfile" + gcloud compute copy-files $src_docker_dir $rmt_docker_root $project_opt $zone_opt || return 1 - echo "instance '$checked_instance' not found in compute project $project" 1>&2 - return 1 + gcloud compute $project_opt ssh $zone_opt $host --command "$ssh_cmd" } # gce_find_internal_ip finds the ip address of a instance if it is present in @@ -202,13 +212,19 @@ gce_find_internal_ip() { # - is set to the value gcloud config value for project if that's present # - it defaults to stoked-keyword-656 (the grpc cloud testing project) # - it can be overridden by passing -p -grpc_set_project_and_zone() { +_grpc_set_project_and_zone() { + # can be set to 1 by passing -n in the args dry_run=0 + + # by default; grpc_zone == gcloud config value || asia-east1-a + # - can be assigned via -p in the args grpc_zone=$(gcloud config list compute/zone --format text \ | sed -e 's/ \+/ /g' | cut -d' ' -f 2) # pick a known zone as a default [[ $grpc_zone == 'None' ]] && grpc_zone='asia-east1-a' + # grpc_project == gcloud config value || stoked-keyword-656 + # - can be assigned via -z in the args grpc_project=$(gcloud config list project --format text \ | sed -e 's/ \+/ /g' | cut -d' ' -f 2) # pick an known zone as a default @@ -370,12 +386,12 @@ grpc_update_docker_images() { # declare vars local so that they don't pollute the shell environment # where they this func is used. - local grpc_zone grpc_project dry_run # set by grpc_set_project_and_zone + local grpc_zone grpc_project dry_run # set by _grpc_set_project_and_zone # set by grpc_update_docker_images_args local host # set the project zone and check that all necessary args are provided - grpc_set_project_and_zone -f grpc_update_docker_images_args "$@" || return 1 + _grpc_set_project_and_zone -f grpc_update_docker_images_args "$@" || return 1 gce_has_instance $grpc_project $host || return 1; local func_lib="/var/local/startup_scripts/shared_startup_funcs.sh" @@ -427,12 +443,12 @@ grpc_launch_server_args() { grpc_launch_server() { # declare vars local so that they don't pollute the shell environment # where they this func is used. - local grpc_zone grpc_project dry_run # set by grpc_set_project_and_zone + local grpc_zone grpc_project dry_run # set by _grpc_set_project_and_zone # set by grpc_launch_server_args local docker_label docker_name host grpc_port # set the project zone and check that all necessary args are provided - grpc_set_project_and_zone -f grpc_launch_server_args "$@" || return 1 + _grpc_set_project_and_zone -f grpc_launch_server_args "$@" || return 1 gce_has_instance $grpc_project $host || return 1; cmd="sudo docker run -d --name $docker_name" @@ -491,12 +507,12 @@ grpc_interop_test() { # declare vars local so that they don't pollute the shell environment # where they this func is used. - local grpc_zone grpc_project dry_run # set by grpc_set_project_and_zone + local grpc_zone grpc_project dry_run # set by _grpc_set_project_and_zone # grpc_interop_test_args local test_case host grpc_gen_test_cmd grpc_server grpc_port # set the project zone and check that all necessary args are provided - grpc_set_project_and_zone -f grpc_interop_test_args "$@" || return 1 + _grpc_set_project_and_zone -f grpc_interop_test_args "$@" || return 1 gce_has_instance $grpc_project $host || return 1; local addr=$(gce_find_internal_ip $grpc_project $grpc_server) diff --git a/tools/gce_setup/shared_startup_funcs.sh b/tools/gce_setup/shared_startup_funcs.sh index 8bd62e213e5..9ea6eca4619 100755 --- a/tools/gce_setup/shared_startup_funcs.sh +++ b/tools/gce_setup/shared_startup_funcs.sh @@ -423,10 +423,8 @@ grpc_dockerfile_install() { # requires: $2 is a local directory containing a Dockerfile # requires: there is a docker registry running on 5000, e.g, grpc_docker_launch_registry was run # -# invokes pull_dockerfiles to refresh them all from cloud storage, then grpc_dockerfile_install -# -# grpc_dockerfile_refresh "grpc/mylabel" /var/local/dockerfile/dir_containing_my_dockerfile +# call-seq: +# grpc_dockerfile_refresh "grpc/mylabel" /var/local/dockerfile/dir_containing_my_dockerfile grpc_dockerfile_refresh() { - grpc_dockerfile_pull || return 1 grpc_dockerfile_install "$@" } From 4036f002e1026fd7e1e2d5f134b5713ab7a82bcd Mon Sep 17 00:00:00 2001 From: Tim Emiola Date: Thu, 15 Jan 2015 13:43:31 -0800 Subject: [PATCH 019/121] Renames and grpc_update_docker_images to grpc_sync_images - also allows it to sync multiple hosts --- tools/gce_setup/grpc_docker.sh | 65 ++++++++++++++++++++++++---------- 1 file changed, 47 insertions(+), 18 deletions(-) diff --git a/tools/gce_setup/grpc_docker.sh b/tools/gce_setup/grpc_docker.sh index d62f063b53c..8a72853e188 100755 --- a/tools/gce_setup/grpc_docker.sh +++ b/tools/gce_setup/grpc_docker.sh @@ -179,6 +179,33 @@ grpc_update_image() { gcloud compute $project_opt ssh $zone_opt $host --command "$ssh_cmd" } +# gce_has_instance checks if a project contains a named instance +# +# call-seq: +# gce_has_instance +gce_has_instance() { + local project=$1 + [[ -n $project ]] || { echo "$FUNCNAME: missing arg: project" 1>&2; return 1; } + local checked_instance=$2 + [[ -n $checked_instance ]] || { + echo "$FUNCNAME: missing arg: checked_instance" 1>&2 + return 1 + } + + instances=$(gcloud --project $project compute instances list \ + | sed -e 's/ \+/ /g' | cut -d' ' -f 1) + for i in $instances + do + if [[ $i == $checked_instance ]] + then + return 0 + fi + done + + echo "instance '$checked_instance' not found in compute project $project" 1>&2 + return 1 +} + # gce_find_internal_ip finds the ip address of a instance if it is present in # the project. # @@ -365,45 +392,47 @@ grpc_interop_test_args() { } } -grpc_update_docker_images_args() { - [[ -n $1 ]] && { # host - host=$1 - shift - } || { - echo "$FUNCNAME: missing arg: host" 1>&2 +grpc_sync_images_args() { + [[ $# -lt 1 ]] && { + echo "$FUNCNAME: missing arg: host1 [host2 ... hostN]" 1>&2 return 1 } + grpc_hosts="$@" } # Updates all the known docker images on a host.. # # call-seq; -# grpc_update_docker_images +# grpc_sync_images , .. # # Updates the GCE docker instance -grpc_update_docker_images() { +grpc_sync_images() { _grpc_ensure_gcloud_ssh || return 1; # declare vars local so that they don't pollute the shell environment # where they this func is used. local grpc_zone grpc_project dry_run # set by _grpc_set_project_and_zone - # set by grpc_update_docker_images_args - local host + # set by grpc_sync_images + local grpc_hosts # set the project zone and check that all necessary args are provided - _grpc_set_project_and_zone -f grpc_update_docker_images_args "$@" || return 1 - gce_has_instance $grpc_project $host || return 1; + _grpc_set_project_and_zone -f grpc_sync_images_args "$@" || return 1 local func_lib="/var/local/startup_scripts/shared_startup_funcs.sh" local cmd="source $func_lib && grpc_docker_pull_known" local project_opt="--project $grpc_project" local zone_opt="--zone $grpc_zone" - local ssh_cmd="bash -l -c \"$cmd\"" - echo "will run:" - echo " $ssh_cmd" - echo "on $host" - [[ $dry_run == 1 ]] && return 0 # don't run the command on a dry run - gcloud compute $project_opt ssh $zone_opt $host --command "$cmd" + local host + for host in $grpc_hosts + do + gce_has_instance $grpc_project $h || return 1; + local ssh_cmd="bash -l -c \"$cmd\"" + echo "will run:" + echo " $ssh_cmd" + echo "on $host" + [[ $dry_run == 1 ]] && continue # don't run the command on a dry run + gcloud compute $project_opt ssh $zone_opt $host --command "$cmd" + done } grpc_launch_server_args() { From cca5ffa9911b810042a30978eb92ca3d426b1c20 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Thu, 15 Jan 2015 14:06:56 -0800 Subject: [PATCH 020/121] Added code generation for clients and servers --- src/node/common.js | 82 ++++++++++++++++++-------- src/node/examples/math.proto | 41 ++++++++++--- src/node/examples/math_server.js | 83 +++----------------------- src/node/main.js | 98 +++++++++++++++++++++++++++++++ src/node/package.json | 9 +-- src/node/server.js | 6 ++ src/node/surface_client.js | 34 ++++++----- src/node/surface_server.js | 65 +++++++++++++------- src/node/test/math_client_test.js | 86 +++------------------------ src/node/test/surface_test.js | 75 +++++++++++++++++++++++ 10 files changed, 356 insertions(+), 223 deletions(-) create mode 100644 src/node/main.js create mode 100644 src/node/test/surface_test.js diff --git a/src/node/common.js b/src/node/common.js index c2dc276608b..656a4aca953 100644 --- a/src/node/common.js +++ b/src/node/common.js @@ -31,32 +31,68 @@ * */ -var _ = require('highland'); +/** + * Get a function that deserializes a specific type of protobuf. + * @param {function()} cls The constructor of the message type to deserialize + * @return {function(Buffer):cls} The deserialization function + */ +function deserializeCls(cls) { + /** + * Deserialize a buffer to a message object + * @param {Buffer} arg_buf The buffer to deserialize + * @return {cls} The resulting object + */ + return function deserialize(arg_buf) { + return cls.decode(arg_buf); + }; +} + +/** + * Get a function that serializes objects to a buffer by protobuf class. + * @param {function()} Cls The constructor of the message type to serialize + * @return {function(Cls):Buffer} The serialization function + */ +function serializeCls(Cls) { + /** + * Serialize an object to a Buffer + * @param {Object} arg The object to serialize + * @return {Buffer} The serialized object + */ + return function serialize(arg) { + return new Buffer(new Cls(arg).encode().toBuffer()); + }; +} /** - * When the given stream finishes without error, call the callback once. This - * will not be called until something begins to consume the stream. - * @param {function} callback The callback to call at stream end - * @param {stream} source The stream to watch - * @return {stream} The stream with the callback attached + * Get the fully qualified (dotted) name of a ProtoBuf.Reflect value. + * @param {ProtoBuf.Reflect.Namespace} value The value to get the name of + * @return {string} The fully qualified name of the value */ -function onSuccessfulStreamEnd(callback, source) { - var error = false; - return source.consume(function(err, x, push, next) { - if (x === _.nil) { - if (!error) { - callback(); - } - push(null, x); - } else if (err) { - error = true; - push(err); - next(); - } else { - push(err, x); - next(); +function fullyQualifiedName(value) { + if (value === null || value === undefined) { + return ''; + } + var name = value.name; + if (value.hasOwnProperty('parent')) { + var parent_name = fullyQualifiedName(value.parent); + if (parent_name !== '') { + name = parent_name + '.' + name; } - }); + } + return name; } -exports.onSuccessfulStreamEnd = onSuccessfulStreamEnd; +/** + * See docs for deserializeCls + */ +exports.deserializeCls = deserializeCls; + +/** + * See docs for serializeCls + */ +exports.serializeCls = serializeCls; + +/** + * See docs for fullyQualifiedName + */ +exports.fullyQualifiedName = fullyQualifiedName; diff --git a/src/node/examples/math.proto b/src/node/examples/math.proto index 14eff5daaf6..c49787ad54d 100644 --- a/src/node/examples/math.proto +++ b/src/node/examples/math.proto @@ -1,15 +1,15 @@ -syntax = "proto2"; +syntax = "proto3"; package math; message DivArgs { - required int64 dividend = 1; - required int64 divisor = 2; + optional int64 dividend = 1; + optional int64 divisor = 2; } message DivReply { - required int64 quotient = 1; - required int64 remainder = 2; + optional int64 quotient = 1; + optional int64 remainder = 2; } message FibArgs { @@ -17,9 +17,34 @@ message FibArgs { } message Num { - required int64 num = 1; + optional int64 num = 1; } message FibReply { - required int64 count = 1; -} \ No newline at end of file + optional int64 count = 1; +} + +service Math { + // Div divides args.dividend by args.divisor and returns the quotient and + // remainder. + rpc Div (DivArgs) returns (DivReply) { + } + + // DivMany accepts an arbitrary number of division args from the client stream + // and sends back the results in the reply stream. The stream continues until + // the client closes its end; the server does the same after sending all the + // replies. The stream ends immediately if either end aborts. + rpc DivMany (stream DivArgs) returns (stream DivReply) { + } + + // Fib generates numbers in the Fibonacci sequence. If args.limit > 0, Fib + // generates up to limit numbers; otherwise it continues until the call is + // canceled. Unlike Fib above, Fib has no final FibReply. + rpc Fib (FibArgs) returns (stream Num) { + } + + // Sum sums a stream of numbers, returning the final result once the stream + // is closed. + rpc Sum (stream Num) returns (Num) { + } +} diff --git a/src/node/examples/math_server.js b/src/node/examples/math_server.js index 87336b61e5f..366513dc17d 100644 --- a/src/node/examples/math_server.js +++ b/src/node/examples/math_server.js @@ -38,77 +38,10 @@ var util = require('util'); var Transform = require('stream').Transform; -var builder = ProtoBuf.loadProtoFile(__dirname + '/math.proto'); -var math = builder.build('math'); +var grpc = require('..'); +var math = grpc.load(__dirname + '/math.proto').math; -var makeConstructor = require('../surface_server.js').makeServerConstructor; - -/** - * Get a function that deserializes a specific type of protobuf. - * @param {function()} cls The constructor of the message type to deserialize - * @return {function(Buffer):cls} The deserialization function - */ -function deserializeCls(cls) { - /** - * Deserialize a buffer to a message object - * @param {Buffer} arg_buf The buffer to deserialize - * @return {cls} The resulting object - */ - return function deserialize(arg_buf) { - return cls.decode(arg_buf); - }; -} - -/** - * Get a function that serializes objects to a buffer by protobuf class. - * @param {function()} Cls The constructor of the message type to serialize - * @return {function(Cls):Buffer} The serialization function - */ -function serializeCls(Cls) { - /** - * Serialize an object to a Buffer - * @param {Object} arg The object to serialize - * @return {Buffer} The serialized object - */ - return function serialize(arg) { - return new Buffer(new Cls(arg).encode().toBuffer()); - }; -} - -/* This function call creates a server constructor for servers that that expose - * the four specified methods. This specifies how to serialize messages that the - * server sends and deserialize messages that the client sends, and whether the - * client or the server will send a stream of messages, for each method. This - * also specifies a prefix that will be added to method names when sending them - * on the wire. This function call and all of the preceding code in this file - * are intended to approximate what the generated code will look like for the - * math service */ -var Server = makeConstructor({ - Div: { - serialize: serializeCls(math.DivReply), - deserialize: deserializeCls(math.DivArgs), - client_stream: false, - server_stream: false - }, - Fib: { - serialize: serializeCls(math.Num), - deserialize: deserializeCls(math.FibArgs), - client_stream: false, - server_stream: true - }, - Sum: { - serialize: serializeCls(math.Num), - deserialize: deserializeCls(math.Num), - client_stream: true, - server_stream: false - }, - DivMany: { - serialize: serializeCls(math.DivReply), - deserialize: deserializeCls(math.DivArgs), - client_stream: true, - server_stream: true - } -}, '/Math/'); +var Server = grpc.buildServer([math.Math.service]); /** * Server function for division. Provides the /Math/DivMany and /Math/Div @@ -185,10 +118,12 @@ function mathDivMany(stream) { } var server = new Server({ - Div: mathDiv, - Fib: mathFib, - Sum: mathSum, - DivMany: mathDivMany + 'math.Math' : { + Div: mathDiv, + Fib: mathFib, + Sum: mathSum, + DivMany: mathDivMany + } }); if (require.main === module) { diff --git a/src/node/main.js b/src/node/main.js new file mode 100644 index 00000000000..a8dfa200245 --- /dev/null +++ b/src/node/main.js @@ -0,0 +1,98 @@ +/* + * + * Copyright 2014, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +var _ = require('underscore'); + +var ProtoBuf = require('protobufjs'); + +var surface_client = require('./surface_client.js'); + +var surface_server = require('./surface_server.js'); + +var grpc = require('bindings')('grpc'); + +/** + * Load a gRPC object from an existing ProtoBuf.Reflect object. + * @param {ProtoBuf.Reflect.Namespace} value The ProtoBuf object to load. + * @return {Object} The resulting gRPC object + */ +function loadObject(value) { + var result = {}; + if (value.className === 'Namespace') { + _.each(value.children, function(child) { + result[child.name] = loadObject(child); + }); + return result; + } else if (value.className === 'Service') { + return surface_client.makeClientConstructor(value); + } else if (value.className === 'Service.Message') { + return value.build(); + } else { + return value; + } +} + +/** + * Load a gRPC object from a .proto file. + * @param {string} filename The file to load + * @return {Object} The resulting gRPC object + */ +function load(filename) { + var builder = ProtoBuf.loadProtoFile(filename); + + return loadObject(builder.ns); +} + +/** + * See docs for loadObject + */ +exports.loadObject = loadObject; + +/** + * See docs for load + */ +exports.load = load; + +/** + * See docs for surface_server.makeServerConstructor + */ +exports.buildServer = surface_server.makeServerConstructor; + +/** + * Status name to code number mapping + */ +exports.status = grpc.status; +/** + * Call error name to code number mapping + */ +exports.callError = grpc.callError; diff --git a/src/node/package.json b/src/node/package.json index a2940b29bbc..ed93c4ff41e 100644 --- a/src/node/package.json +++ b/src/node/package.json @@ -8,11 +8,12 @@ "dependencies": { "bindings": "^1.2.1", "nan": "~1.3.0", - "underscore": "^1.7.0" + "underscore": "^1.7.0", + "protobufjs": "murgatroid99/ProtoBuf.js" }, "devDependencies": { "mocha": "~1.21.0", - "highland": "~2.0.0", - "protobufjs": "~3.8.0" - } + "highland": "~2.0.0" + }, + "main": "main.js" } diff --git a/src/node/server.js b/src/node/server.js index 2704c68f17c..e947032b297 100644 --- a/src/node/server.js +++ b/src/node/server.js @@ -31,6 +31,8 @@ * */ +var _ = require('underscore'); + var grpc = require('bindings')('grpc.node'); var common = require('./common'); @@ -176,6 +178,10 @@ function Server(options) { * @this Server */ this.start = function() { + console.log('Server starting'); + _.each(handlers, function(handler, handler_name) { + console.log('Serving', handler_name); + }); if (this.started) { throw 'Server is already running'; } diff --git a/src/node/surface_client.js b/src/node/surface_client.js index acd22089ce1..77dab5ca6f8 100644 --- a/src/node/surface_client.js +++ b/src/node/surface_client.js @@ -35,6 +35,8 @@ var _ = require('underscore'); var client = require('./client.js'); +var common = require('./common.js'); + var EventEmitter = require('events').EventEmitter; var stream = require('stream'); @@ -44,6 +46,7 @@ var Writable = stream.Writable; var Duplex = stream.Duplex; var util = require('util'); + function forwardEvent(fromEmitter, toEmitter, event) { fromEmitter.on(event, function forward() { _.partial(toEmitter.emit, event).apply(toEmitter, arguments); @@ -317,16 +320,13 @@ var requester_makers = { } /** - * Creates a constructor for clients with a service defined by the methods - * object. The methods object has string keys and values of this form: - * {serialize: function, deserialize: function, client_stream: bool, - * server_stream: bool} - * @param {!Object} methods Method descriptor for each method - * the client should expose - * @param {string} prefix The prefix to prepend to each method name + * Creates a constructor for clients for the given service + * @param {ProtoBuf.Reflect.Service} service The service to generate a client + * for * @return {function(string, Object)} New client constructor */ -function makeClientConstructor(methods, prefix) { +function makeClientConstructor(service) { + var prefix = '/' + common.fullyQualifiedName(service) + '/'; /** * Create a client with the given methods * @constructor @@ -337,27 +337,29 @@ function makeClientConstructor(methods, prefix) { this.channel = new client.Channel(address, options); } - _.each(methods, function(method, name) { + _.each(service.children, function(method) { var method_type; - if (method.client_stream) { - if (method.server_stream) { + if (method.requestStream) { + if (method.responseStream) { method_type = 'bidi'; } else { method_type = 'client_stream'; } } else { - if (method.server_stream) { + if (method.responseStream) { method_type = 'server_stream'; } else { method_type = 'unary'; } } - SurfaceClient.prototype[name] = requester_makers[method_type]( - prefix + name, - method.serialize, - method.deserialize); + SurfaceClient.prototype[method.name] = requester_makers[method_type]( + prefix + method.name, + common.serializeCls(method.resolvedRequestType.build()), + common.deserializeCls(method.resolvedResponseType.build())); }); + SurfaceClient.service = service; + return SurfaceClient; } diff --git a/src/node/surface_server.js b/src/node/surface_server.js index 295c1ccafff..b6e0c37b4cd 100644 --- a/src/node/surface_server.js +++ b/src/node/surface_server.js @@ -42,6 +42,8 @@ var Writable = stream.Writable; var Duplex = stream.Duplex; var util = require('util'); +var common = require('./common.js'); + util.inherits(ServerReadableObjectStream, Readable); /** @@ -287,36 +289,59 @@ var handler_makers = { * @param {string} prefix The prefex to prepend to each method name * @return {function(Object, Object)} New server constructor */ -function makeServerConstructor(methods, prefix) { +function makeServerConstructor(services) { + var qual_names = []; + _.each(services, function(service) { + _.each(service.children, function(method) { + var name = common.fullyQualifiedName(method); + if (_.indexOf(qual_names, name) !== -1) { + throw new Error('Method ' + name + ' exposed by more than one service'); + } + qual_names.push(name); + }); + }); /** * Create a server with the given handlers for all of the methods. * @constructor - * @param {Object} handlers Map from method names to method handlers. + * @param {Object} service_handlers Map from service names to map from method + * names to handlers * @param {Object} options Options to pass to the underlying server */ - function SurfaceServer(handlers, options) { + function SurfaceServer(service_handlers, options) { var server = new Server(options); this.inner_server = server; - _.each(handlers, function(handler, name) { - var method = methods[name]; - var method_type; - if (method.client_stream) { - if (method.server_stream) { - method_type = 'bidi'; + _.each(services, function(service) { + var service_name = common.fullyQualifiedName(service); + if (service_handlers[service_name] === undefined) { + throw new Error('Handlers for service ' + + service_name + ' not provided.'); + } + var prefix = '/' + common.fullyQualifiedName(service) + '/'; + _.each(service.children, function(method) { + var method_type; + if (method.requestStream) { + if (method.responseStream) { + method_type = 'bidi'; + } else { + method_type = 'client_stream'; + } } else { - method_type = 'client_stream'; + if (method.responseStream) { + method_type = 'server_stream'; + } else { + method_type = 'unary'; + } } - } else { - if (method.server_stream) { - method_type = 'server_stream'; - } else { - method_type = 'unary'; + if (service_handlers[service_name][method.name] === undefined) { + throw new Error('Method handler for ' + + common.fullyQualifiedName(method) + ' not provided.'); } - } - var binary_handler = handler_makers[method_type](handler, - method.serialize, - method.deserialize); - server.register('' + prefix + name, binary_handler); + var binary_handler = handler_makers[method_type]( + service_handlers[service_name][method.name], + common.serializeCls(method.resolvedResponseType.build()), + common.deserializeCls(method.resolvedRequestType.build())); + server.register(prefix + method.name, binary_handler); + }); }, this); } diff --git a/src/node/test/math_client_test.js b/src/node/test/math_client_test.js index 5b34a228ad3..45c956d1793 100644 --- a/src/node/test/math_client_test.js +++ b/src/node/test/math_client_test.js @@ -32,83 +32,13 @@ */ var assert = require('assert'); -var ProtoBuf = require('protobufjs'); var port_picker = require('../port_picker'); -var builder = ProtoBuf.loadProtoFile(__dirname + '/../examples/math.proto'); -var math = builder.build('math'); +var grpc = require('..'); +var math = grpc.load(__dirname + '/../examples/math.proto').math; -var client = require('../surface_client.js'); -var makeConstructor = client.makeClientConstructor; /** - * Get a function that deserializes a specific type of protobuf. - * @param {function()} cls The constructor of the message type to deserialize - * @return {function(Buffer):cls} The deserialization function - */ -function deserializeCls(cls) { - /** - * Deserialize a buffer to a message object - * @param {Buffer} arg_buf The buffer to deserialize - * @return {cls} The resulting object - */ - return function deserialize(arg_buf) { - return cls.decode(arg_buf); - }; -} - -/** - * Get a function that serializes objects to a buffer by protobuf class. - * @param {function()} Cls The constructor of the message type to serialize - * @return {function(Cls):Buffer} The serialization function - */ -function serializeCls(Cls) { - /** - * Serialize an object to a Buffer - * @param {Object} arg The object to serialize - * @return {Buffer} The serialized object - */ - return function serialize(arg) { - return new Buffer(new Cls(arg).encode().toBuffer()); - }; -} - -/* This function call creates a client constructor for clients that expose the - * four specified methods. This specifies how to serialize messages that the - * client sends and deserialize messages that the server sends, and whether the - * client or the server will send a stream of messages, for each method. This - * also specifies a prefix that will be added to method names when sending them - * on the wire. This function call and all of the preceding code in this file - * are intended to approximate what the generated code will look like for the - * math client */ -var MathClient = makeConstructor({ - Div: { - serialize: serializeCls(math.DivArgs), - deserialize: deserializeCls(math.DivReply), - client_stream: false, - server_stream: false - }, - Fib: { - serialize: serializeCls(math.FibArgs), - deserialize: deserializeCls(math.Num), - client_stream: false, - server_stream: true - }, - Sum: { - serialize: serializeCls(math.Num), - deserialize: deserializeCls(math.Num), - client_stream: true, - server_stream: false - }, - DivMany: { - serialize: serializeCls(math.DivArgs), - deserialize: deserializeCls(math.DivReply), - client_stream: true, - server_stream: true - } -}, '/Math/'); - -/** - * Channel to use to make requests to a running server. + * Client to use to make requests to a running server. */ var math_client; @@ -122,7 +52,7 @@ describe('Math client', function() { before(function(done) { port_picker.nextAvailablePort(function(port) { server.bind(port).listen(); - math_client = new MathClient(port); + math_client = new math.Math(port); done(); }); }); @@ -137,7 +67,7 @@ describe('Math client', function() { assert.equal(value.remainder, 3); }); call.on('status', function checkStatus(status) { - assert.strictEqual(status.code, client.status.OK); + assert.strictEqual(status.code, grpc.status.OK); done(); }); }); @@ -150,7 +80,7 @@ describe('Math client', function() { next_expected += 1; }); call.on('status', function checkStatus(status) { - assert.strictEqual(status.code, client.status.OK); + assert.strictEqual(status.code, grpc.status.OK); done(); }); }); @@ -164,7 +94,7 @@ describe('Math client', function() { } call.end(); call.on('status', function checkStatus(status) { - assert.strictEqual(status.code, client.status.OK); + assert.strictEqual(status.code, grpc.status.OK); done(); }); }); @@ -184,7 +114,7 @@ describe('Math client', function() { } call.end(); call.on('status', function checkStatus(status) { - assert.strictEqual(status.code, client.status.OK); + assert.strictEqual(status.code, grpc.status.OK); done(); }); }); diff --git a/src/node/test/surface_test.js b/src/node/test/surface_test.js new file mode 100644 index 00000000000..8d0d8ec3bc9 --- /dev/null +++ b/src/node/test/surface_test.js @@ -0,0 +1,75 @@ +/* + * + * Copyright 2014, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +var assert = require('assert'); + +var surface_server = require('../surface_server.js'); + +var ProtoBuf = require('protobufjs'); + +var grpc = require('..'); + +var math_proto = ProtoBuf.loadProtoFile(__dirname + '/../examples/math.proto'); + +var mathService = math_proto.lookup('math.Math'); + +describe('Surface server constructor', function() { + it('Should fail with conflicting method names', function() { + assert.throws(function() { + grpc.buildServer([mathService, mathService]); + }); + }); + it('Should succeed with a single service', function() { + assert.doesNotThrow(function() { + grpc.buildServer([mathService]); + }); + }); + it('Should fail with missing handlers', function() { + var Server = grpc.buildServer([mathService]); + assert.throws(function() { + new Server({ + 'math.Math': { + 'Div': function() {}, + 'DivMany': function() {}, + 'Fib': function() {} + } + }); + }, /math.Math.Sum/); + }); + it('Should fail with no handlers for the service', function() { + var Server = grpc.buildServer([mathService]); + assert.throws(function() { + new Server({}); + }, /math.Math/); + }); +}); From f3c7ae229d32f36c6ce85e418b566f86df52dcfd Mon Sep 17 00:00:00 2001 From: Tim Emiola Date: Thu, 15 Jan 2015 14:09:13 -0800 Subject: [PATCH 021/121] Updates launch server to remove existing server if it's present --- tools/gce_setup/grpc_docker.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/gce_setup/grpc_docker.sh b/tools/gce_setup/grpc_docker.sh index 8a72853e188..bf776126b5a 100755 --- a/tools/gce_setup/grpc_docker.sh +++ b/tools/gce_setup/grpc_docker.sh @@ -480,7 +480,9 @@ grpc_launch_server() { _grpc_set_project_and_zone -f grpc_launch_server_args "$@" || return 1 gce_has_instance $grpc_project $host || return 1; - cmd="sudo docker run -d --name $docker_name" + cmd="sudo docker kill $docker_name > /dev/null 2>&1; " + cmd+="sudo docker rm $docker_name > /dev/null 2>&1; " + cmd+="sudo docker run -d --name $docker_name" cmd+=" -p $grpc_port:$grpc_port $docker_label" local project_opt="--project $grpc_project" local zone_opt="--zone $grpc_zone" From 54f68b6a8a0bd5eb0998e75febdaed37197eb934 Mon Sep 17 00:00:00 2001 From: Nicolas Noble Date: Thu, 15 Jan 2015 15:38:07 -0800 Subject: [PATCH 022/121] Fixing typos in build.json: .cpp -> .cc This was working so far because of GNU make's magic that automatically finds the sources depending on its output, and not on its input. This also explains why running "make" would always rebuild the plugins: because GNU make think some dependencies are phony and aren't there. --- Makefile | 8 ++++---- build.json | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index b43cb734ba5..85201c0eb67 100644 --- a/Makefile +++ b/Makefile @@ -2654,8 +2654,8 @@ endif CPP_PLUGIN_SRC = \ - src/compiler/cpp_plugin.cpp \ - src/compiler/cpp_generator.cpp \ + src/compiler/cpp_plugin.cc \ + src/compiler/cpp_generator.cc \ CPP_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CPP_PLUGIN_SRC)))) @@ -2675,8 +2675,8 @@ endif RUBY_PLUGIN_SRC = \ - src/compiler/ruby_plugin.cpp \ - src/compiler/ruby_generator.cpp \ + src/compiler/ruby_plugin.cc \ + src/compiler/ruby_generator.cc \ RUBY_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(RUBY_PLUGIN_SRC)))) diff --git a/build.json b/build.json index 8dfd5c4f977..1e465404a57 100644 --- a/build.json +++ b/build.json @@ -422,8 +422,8 @@ "c++": true, "secure": false, "src": [ - "src/compiler/cpp_plugin.cpp", - "src/compiler/cpp_generator.cpp" + "src/compiler/cpp_plugin.cc", + "src/compiler/cpp_generator.cc" ], "headers": [ "src/compiler/cpp_generator.h", @@ -437,8 +437,8 @@ "c++": true, "secure": false, "src": [ - "src/compiler/ruby_plugin.cpp", - "src/compiler/ruby_generator.cpp" + "src/compiler/ruby_plugin.cc", + "src/compiler/ruby_generator.cc" ], "headers": [ "src/compiler/cpp_generator.h", From 297fafa078a8a43a4ddb693129b8e25b9d0bf618 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 15:46:39 -0800 Subject: [PATCH 023/121] Opportunistically use perftools if installed. Allows us to collect profiles of the open source build using gprof. --- .gitignore | 13 ++++++++++--- Makefile | 7 +++++++ templates/Makefile.template | 7 +++++++ test/build/perftools.c | 7 +++++++ test/core/util/grpc_profiler.c | 9 +++++++++ 5 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 test/build/perftools.c diff --git a/.gitignore b/.gitignore index 3cae07ed12f..0bde1467656 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,15 @@ +# C/C++ build outputs bins -coverage -deps -*.gcno gens libs objs + +# gcov coverage data +coverage +*.gcno + +# profiler output +*.prof + +# python compiled objects *.pyc diff --git a/Makefile b/Makefile index b43cb734ba5..ab1ba14bb34 100644 --- a/Makefile +++ b/Makefile @@ -172,6 +172,13 @@ endif OPENSSL_ALPN_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/openssl-alpn.c -lssl -lcrypto -ldl $(LDFLAGS) ZLIB_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/zlib.c -lz $(LDFLAGS) +PERFTOOLS_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/perftools.c -lprofiler $(LDFLAGS) + +HAS_SYSTEM_PERFTOOLS = $(shell $(PERFTOOLS_CHECK_CMD) 2> /dev/null && echo true || echo false) +ifeq ($(HAS_SYSTEM_PERFTOOLS),true) +DEFINES += GRPC_HAVE_PERFTOOLS +LIBS += profiler +endif ifndef REQUIRE_CUSTOM_LIBRARIES_$(CONFIG) HAS_SYSTEM_OPENSSL_ALPN = $(shell $(OPENSSL_ALPN_CHECK_CMD) 2> /dev/null && echo true || echo false) diff --git a/templates/Makefile.template b/templates/Makefile.template index 25bc4069a1b..5f20bd7f35d 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -189,6 +189,13 @@ endif OPENSSL_ALPN_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/openssl-alpn.c -lssl -lcrypto -ldl $(LDFLAGS) ZLIB_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/zlib.c -lz $(LDFLAGS) +PERFTOOLS_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/perftools.c -lprofiler $(LDFLAGS) + +HAS_SYSTEM_PERFTOOLS = $(shell $(PERFTOOLS_CHECK_CMD) 2> /dev/null && echo true || echo false) +ifeq ($(HAS_SYSTEM_PERFTOOLS),true) +DEFINES += GRPC_HAVE_PERFTOOLS +LIBS += profiler +endif ifndef REQUIRE_CUSTOM_LIBRARIES_$(CONFIG) HAS_SYSTEM_OPENSSL_ALPN = $(shell $(OPENSSL_ALPN_CHECK_CMD) 2> /dev/null && echo true || echo false) diff --git a/test/build/perftools.c b/test/build/perftools.c new file mode 100644 index 00000000000..03548b4c7ef --- /dev/null +++ b/test/build/perftools.c @@ -0,0 +1,7 @@ +#include + +int main() { + ProfilerStart("/dev/null"); + ProfilerStop(); + return 0; +} diff --git a/test/core/util/grpc_profiler.c b/test/core/util/grpc_profiler.c index 340b2d53b96..489d34396a4 100644 --- a/test/core/util/grpc_profiler.c +++ b/test/core/util/grpc_profiler.c @@ -33,6 +33,15 @@ #include "test/core/util/grpc_profiler.h" +#if GRPC_HAVE_PERFTOOLS +#include + +void grpc_profiler_start(const char *filename) { ProfilerStart(filename); } + +void grpc_profiler_stop() { ProfilerStop(); } +#else + void grpc_profiler_start(const char *filename) {} void grpc_profiler_stop(void) {} +#endif From 71735185a14ca1064472e4e7a8df9d275c762e1e Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 17:07:13 -0800 Subject: [PATCH 024/121] Cache for successful test runs By default don't re-run tests that have already run successfully, to reduce latency between making a change and seeing if it fixed the last thing that you were trying to fix. --- .gitignore | 3 ++ tools/run_tests/jobset.py | 52 +++++++++++++++++++++++++++-------- tools/run_tests/run_tests.py | 53 ++++++++++++++++++++++++++++++++---- 3 files changed, 91 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 3cae07ed12f..bf57027c942 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ gens libs objs *.pyc + +# cache for run_tests.py +.run_tests_cache diff --git a/tools/run_tests/jobset.py b/tools/run_tests/jobset.py index bb1c862f1ad..7a6d979ba30 100755 --- a/tools/run_tests/jobset.py +++ b/tools/run_tests/jobset.py @@ -1,6 +1,8 @@ """Run a group of subprocesses and then finish.""" +import hashlib import multiprocessing +import os import random import subprocess import sys @@ -75,30 +77,43 @@ def message(tag, message, explanatory_text=None, do_newline=False): sys.stdout.flush() +def which(filename): + if '/' in filename: + return filename + for path in os.environ['PATH'].split(os.pathsep): + if os.path.exists(os.path.join(path, filename)): + return os.path.join(path, filename) + raise Exception('%s not found' % filename) + + class Job(object): """Manages one job.""" - def __init__(self, cmdline, newline_on_success): - self._cmdline = ' '.join(cmdline) + def __init__(self, cmdline, bin_hash, newline_on_success): + self._cmdline = cmdline + self._bin_hash = bin_hash self._tempfile = tempfile.TemporaryFile() self._process = subprocess.Popen(args=cmdline, stderr=subprocess.STDOUT, stdout=self._tempfile) self._state = _RUNNING self._newline_on_success = newline_on_success - message('START', self._cmdline) + message('START', ' '.join(self._cmdline)) - def state(self): + def state(self, update_cache): """Poll current state of the job. Prints messages at completion.""" if self._state == _RUNNING and self._process.poll() is not None: if self._process.returncode != 0: self._state = _FAILURE self._tempfile.seek(0) stdout = self._tempfile.read() - message('FAILED', '%s [ret=%d]' % (self._cmdline, self._process.returncode), stdout) + message('FAILED', '%s [ret=%d]' % ( + ' '.join(self._cmdline), self._process.returncode), stdout) else: self._state = _SUCCESS - message('PASSED', '%s' % self._cmdline, do_newline=self._newline_on_success) + message('PASSED', '%s' % ' '.join(self._cmdline), + do_newline=self._newline_on_success) + update_cache.finished(self._cmdline, self._bin_hash) return self._state def kill(self): @@ -110,7 +125,7 @@ class Job(object): class Jobset(object): """Manages one run of jobs.""" - def __init__(self, check_cancelled, maxjobs, newline_on_success): + def __init__(self, check_cancelled, maxjobs, newline_on_success, cache): self._running = set() self._check_cancelled = check_cancelled self._cancelled = False @@ -118,6 +133,7 @@ class Jobset(object): self._completed = 0 self._maxjobs = maxjobs self._newline_on_success = newline_on_success + self._cache = cache def start(self, cmdline): """Start a job. Return True on success, False on failure.""" @@ -125,7 +141,10 @@ class Jobset(object): if self.cancelled(): return False self.reap() if self.cancelled(): return False - self._running.add(Job(cmdline, self._newline_on_success)) + with open(which(cmdline[0])) as f: + bin_hash = hashlib.sha1(f.read()).hexdigest() + if self._cache.should_run(cmdline, bin_hash): + self._running.add(Job(cmdline, bin_hash, self._newline_on_success)) return True def reap(self): @@ -133,7 +152,7 @@ class Jobset(object): while self._running: dead = set() for job in self._running: - st = job.state() + st = job.state(self._cache) if st == _RUNNING: continue if st == _FAILURE: self._failures += 1 dead.add(job) @@ -165,13 +184,24 @@ def _never_cancelled(): return False +# cache class that caches nothing +class NoCache(object): + def should_run(self, cmdline, bin_hash): + return True + + def finished(self, cmdline, bin_hash): + pass + + def run(cmdlines, check_cancelled=_never_cancelled, maxjobs=None, - newline_on_success=False): + newline_on_success=False, + cache=None): js = Jobset(check_cancelled, maxjobs if maxjobs is not None else _DEFAULT_MAX_JOBS, - newline_on_success) + newline_on_success, + cache if cache is not None else NoCache()) for cmdline in shuffle_iteratable(cmdlines): if not js.start(cmdline): break diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index aa3245d8303..8d54f884876 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -4,6 +4,7 @@ import argparse import glob import itertools +import simplejson import multiprocessing import sys import time @@ -85,7 +86,37 @@ runs_per_test = args.runs_per_test forever = args.forever -def _build_and_run(check_cancelled, newline_on_success, forever=False): +class TestCache(object): + def __init__(self): + self._last_successful_run = {} + + def should_run(self, cmdline, bin_hash): + cmdline = ' '.join(cmdline) + if cmdline not in self._last_successful_run: + return True + if self._last_successful_run[cmdline] != bin_hash: + return True + return False + + def finished(self, cmdline, bin_hash): + self._last_successful_run[' '.join(cmdline)] = bin_hash + + def dump(self): + return [{'cmdline': k, 'hash': v} for k, v in self._last_successful_run.iteritems()] + + def parse(self, exdump): + self._last_successful_run = dict((o['cmdline'], o['hash']) for o in exdump) + + def save(self): + with open('.run_tests_cache', 'w') as f: + f.write(simplejson.dumps(self.dump())) + + def load(self): + with open('.run_tests_cache') as f: + self.parse(simplejson.loads(f.read())) + + +def _build_and_run(check_cancelled, newline_on_success, cache): """Do one pass of building & running tests.""" # build latest, sharing cpu between the various makes if not jobset.run( @@ -109,12 +140,20 @@ def _build_and_run(check_cancelled, newline_on_success, forever=False): runs_per_test)))), check_cancelled, newline_on_success=newline_on_success, - maxjobs=min(c.maxjobs for c in run_configs)): + maxjobs=min(c.maxjobs for c in run_configs), + cache=cache): return 2 return 0 +test_cache = (None if runs_per_test != 1 + or 'gcov' in build_configs + or 'valgrind' in build_configs + else TestCache()) +if test_cache: + test_cache.load() + if forever: success = True while True: @@ -122,9 +161,9 @@ if forever: initial_time = dw.most_recent_change() have_files_changed = lambda: dw.most_recent_change() != initial_time previous_success = success - success = _build_and_run(have_files_changed, + success = _build_and_run(check_cancelled=have_files_changed, newline_on_success=False, - forever=True) == 0 + cache=test_cache) == 0 if not previous_success and success: jobset.message('SUCCESS', 'All tests are now passing properly', @@ -133,10 +172,12 @@ if forever: while not have_files_changed(): time.sleep(1) else: - result = _build_and_run(lambda: False, - newline_on_success=args.newline_on_success) + result = _build_and_run(check_cancelled=lambda: False, + newline_on_success=args.newline_on_success, + cache=test_cache) if result == 0: jobset.message('SUCCESS', 'All tests passed', do_newline=True) else: jobset.message('FAILED', 'Some tests failed', do_newline=True) + test_cache.save() sys.exit(result) From b50d166634565b925c3ccdbf7ddab52344c24f0a Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 17:28:21 -0800 Subject: [PATCH 025/121] Make run_tests.py pass lint --- tools/run_tests/run_tests.py | 42 ++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 8d54f884876..8c4c998d7be 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -4,16 +4,18 @@ import argparse import glob import itertools -import simplejson import multiprocessing import sys import time import jobset +import simplejson import watch_dirs + # SimpleConfig: just compile with CONFIG=config, and run the binary to test class SimpleConfig(object): + def __init__(self, config): self.build_config = config self.maxjobs = 32 * multiprocessing.cpu_count() @@ -24,6 +26,7 @@ class SimpleConfig(object): # ValgrindConfig: compile with some CONFIG=config, but use valgrind to run class ValgrindConfig(object): + def __init__(self, config, tool): self.build_config = config self.tool = tool @@ -35,15 +38,15 @@ class ValgrindConfig(object): # different configurations we can run under _CONFIGS = { - 'dbg': SimpleConfig('dbg'), - 'opt': SimpleConfig('opt'), - 'tsan': SimpleConfig('tsan'), - 'msan': SimpleConfig('msan'), - 'asan': SimpleConfig('asan'), - 'gcov': SimpleConfig('gcov'), - 'memcheck': ValgrindConfig('valgrind', 'memcheck'), - 'helgrind': ValgrindConfig('dbg', 'helgrind') - } + 'dbg': SimpleConfig('dbg'), + 'opt': SimpleConfig('opt'), + 'tsan': SimpleConfig('tsan'), + 'msan': SimpleConfig('msan'), + 'asan': SimpleConfig('asan'), + 'gcov': SimpleConfig('gcov'), + 'memcheck': ValgrindConfig('valgrind', 'memcheck'), + 'helgrind': ValgrindConfig('dbg', 'helgrind') + } _DEFAULT = ['dbg', 'opt'] @@ -87,6 +90,8 @@ forever = args.forever class TestCache(object): + """Cache for running tests.""" + def __init__(self): self._last_successful_run = {} @@ -102,7 +107,8 @@ class TestCache(object): self._last_successful_run[' '.join(cmdline)] = bin_hash def dump(self): - return [{'cmdline': k, 'hash': v} for k, v in self._last_successful_run.iteritems()] + return [{'cmdline': k, 'hash': v} + for k, v in self._last_successful_run.iteritems()] def parse(self, exdump): self._last_successful_run = dict((o['cmdline'], o['hash']) for o in exdump) @@ -138,19 +144,19 @@ def _build_and_run(check_cancelled, newline_on_success, cache): glob.glob('bins/%s/%s_test' % ( config.build_config, filt)), runs_per_test)))), - check_cancelled, - newline_on_success=newline_on_success, - maxjobs=min(c.maxjobs for c in run_configs), - cache=cache): + check_cancelled, + newline_on_success=newline_on_success, + maxjobs=min(c.maxjobs for c in run_configs), + cache=cache): return 2 return 0 test_cache = (None if runs_per_test != 1 - or 'gcov' in build_configs - or 'valgrind' in build_configs - else TestCache()) + or 'gcov' in build_configs + or 'valgrind' in build_configs + else TestCache()) if test_cache: test_cache.load() From f5c5d80968a466ceb999fe51cb33e6dc871b762e Mon Sep 17 00:00:00 2001 From: Nicolas Noble Date: Thu, 15 Jan 2015 16:36:13 -0800 Subject: [PATCH 026/121] Removing "using namespace std" everywhere. --- src/compiler/cpp_generator.cc | 30 ++++++++--------- src/compiler/cpp_generator.h | 10 +++--- src/compiler/cpp_generator_helpers.h | 25 +++++++-------- src/compiler/cpp_plugin.cc | 10 +++--- src/compiler/ruby_generator.cc | 30 ++++++++--------- src/compiler/ruby_generator.h | 4 +-- src/compiler/ruby_generator_helpers-inl.h | 4 +-- src/compiler/ruby_generator_map-inl.h | 9 +++--- src/compiler/ruby_generator_string-inl.h | 39 ++++++++++++----------- src/compiler/ruby_plugin.cc | 8 ++--- 10 files changed, 84 insertions(+), 85 deletions(-) diff --git a/src/compiler/cpp_generator.cc b/src/compiler/cpp_generator.cc index 94e56d73a6e..413cbb49418 100644 --- a/src/compiler/cpp_generator.cc +++ b/src/compiler/cpp_generator.cc @@ -92,8 +92,8 @@ bool HasBidiStreaming(const google::protobuf::FileDescriptor* file) { } } // namespace -string GetHeaderIncludes(const google::protobuf::FileDescriptor* file) { - string temp = +std::string GetHeaderIncludes(const google::protobuf::FileDescriptor* file) { + std::string temp = "#include \"grpc++/impl/internal_stub.h\"\n" "#include \"grpc++/status.h\"\n" "\n" @@ -121,7 +121,7 @@ string GetHeaderIncludes(const google::protobuf::FileDescriptor* file) { return temp; } -string GetSourceIncludes() { +std::string GetSourceIncludes() { return "#include \"grpc++/channel_interface.h\"\n" "#include \"grpc++/impl/rpc_method.h\"\n" "#include \"grpc++/impl/rpc_service_method.h\"\n" @@ -130,7 +130,7 @@ string GetSourceIncludes() { void PrintHeaderClientMethod(google::protobuf::io::Printer* printer, const google::protobuf::MethodDescriptor* method, - map* vars) { + std::map* vars) { (*vars)["Method"] = method->name(); (*vars)["Request"] = grpc_cpp_generator::ClassName(method->input_type(), true); @@ -159,7 +159,7 @@ void PrintHeaderClientMethod(google::protobuf::io::Printer* printer, void PrintHeaderServerMethod(google::protobuf::io::Printer* printer, const google::protobuf::MethodDescriptor* method, - map* vars) { + std::map* vars) { (*vars)["Method"] = method->name(); (*vars)["Request"] = grpc_cpp_generator::ClassName(method->input_type(), true); @@ -193,7 +193,7 @@ void PrintHeaderServerMethod(google::protobuf::io::Printer* printer, void PrintHeaderService(google::protobuf::io::Printer* printer, const google::protobuf::ServiceDescriptor* service, - map* vars) { + std::map* vars) { (*vars)["Service"] = service->name(); printer->Print(*vars, @@ -238,11 +238,11 @@ void PrintHeaderService(google::protobuf::io::Printer* printer, printer->Print("};\n"); } -string GetHeaderServices(const google::protobuf::FileDescriptor* file) { - string output; +std::string GetHeaderServices(const google::protobuf::FileDescriptor* file) { + std::string output; google::protobuf::io::StringOutputStream output_stream(&output); google::protobuf::io::Printer printer(&output_stream, '$'); - map vars; + std::map vars; for (int i = 0; i < file->service_count(); ++i) { PrintHeaderService(&printer, file->service(i), &vars); @@ -253,7 +253,7 @@ string GetHeaderServices(const google::protobuf::FileDescriptor* file) { void PrintSourceClientMethod(google::protobuf::io::Printer* printer, const google::protobuf::MethodDescriptor* method, - map* vars) { + std::map* vars) { (*vars)["Method"] = method->name(); (*vars)["Request"] = grpc_cpp_generator::ClassName(method->input_type(), true); @@ -311,7 +311,7 @@ void PrintSourceClientMethod(google::protobuf::io::Printer* printer, void PrintSourceServerMethod(google::protobuf::io::Printer* printer, const google::protobuf::MethodDescriptor* method, - map* vars) { + std::map* vars) { (*vars)["Method"] = method->name(); (*vars)["Request"] = grpc_cpp_generator::ClassName(method->input_type(), true); @@ -361,7 +361,7 @@ void PrintSourceServerMethod(google::protobuf::io::Printer* printer, void PrintSourceService(google::protobuf::io::Printer* printer, const google::protobuf::ServiceDescriptor* service, - map* vars) { + std::map* vars) { (*vars)["Service"] = service->name(); printer->Print( *vars, @@ -455,11 +455,11 @@ void PrintSourceService(google::protobuf::io::Printer* printer, printer->Print("}\n\n"); } -string GetSourceServices(const google::protobuf::FileDescriptor* file) { - string output; +std::string GetSourceServices(const google::protobuf::FileDescriptor* file) { + std::string output; google::protobuf::io::StringOutputStream output_stream(&output); google::protobuf::io::Printer printer(&output_stream, '$'); - map vars; + std::map vars; // Package string is empty or ends with a dot. It is used to fully qualify // method names. vars["Package"] = file->package(); diff --git a/src/compiler/cpp_generator.h b/src/compiler/cpp_generator.h index 8bd785f13e8..1a74211b715 100644 --- a/src/compiler/cpp_generator.h +++ b/src/compiler/cpp_generator.h @@ -42,21 +42,19 @@ class FileDescriptor; } // namespace protobuf } // namespace google -using namespace std; - namespace grpc_cpp_generator { // Return the includes needed for generated header file. -string GetHeaderIncludes(const google::protobuf::FileDescriptor* file); +std::string GetHeaderIncludes(const google::protobuf::FileDescriptor* file); // Return the includes needed for generated source file. -string GetSourceIncludes(); +std::string GetSourceIncludes(); // Return the services for generated header file. -string GetHeaderServices(const google::protobuf::FileDescriptor* file); +std::string GetHeaderServices(const google::protobuf::FileDescriptor* file); // Return the services for generated source file. -string GetSourceServices(const google::protobuf::FileDescriptor* file); +std::string GetSourceServices(const google::protobuf::FileDescriptor* file); } // namespace grpc_cpp_generator diff --git a/src/compiler/cpp_generator_helpers.h b/src/compiler/cpp_generator_helpers.h index ba251faf29a..1ad3cb2db3e 100644 --- a/src/compiler/cpp_generator_helpers.h +++ b/src/compiler/cpp_generator_helpers.h @@ -39,14 +39,12 @@ #include #include -using namespace std; - namespace grpc_cpp_generator { -inline bool StripSuffix(string* filename, const string& suffix) { +inline bool StripSuffix(std::string* filename, const std::string& suffix) { if (filename->length() >= suffix.length()) { size_t suffix_pos = filename->length() - suffix.length(); - if (filename->compare(suffix_pos, string::npos, suffix) == 0) { + if (filename->compare(suffix_pos, std::string::npos, suffix) == 0) { filename->resize(filename->size() - suffix.size()); return true; } @@ -55,19 +53,20 @@ inline bool StripSuffix(string* filename, const string& suffix) { return false; } -inline string StripProto(string filename) { +inline std::string StripProto(std::string filename) { if (!StripSuffix(&filename, ".protodevel")) { StripSuffix(&filename, ".proto"); } return filename; } -inline string StringReplace(string str, const string& from, const string& to) { +inline std::string StringReplace(std::string str, const std::string& from, + const std::string& to) { size_t pos = 0; for (;;) { pos = str.find(from, pos); - if (pos == string::npos) { + if (pos == std::string::npos) { break; } str.replace(pos, from.length(), to); @@ -77,23 +76,23 @@ inline string StringReplace(string str, const string& from, const string& to) { return str; } -inline string DotsToColons(const string& name) { +inline std::string DotsToColons(const std::string& name) { return StringReplace(name, ".", "::"); } -inline string DotsToUnderscores(const string& name) { +inline std::string DotsToUnderscores(const std::string& name) { return StringReplace(name, ".", "_"); } -inline string ClassName(const google::protobuf::Descriptor* descriptor, - bool qualified) { +inline std::string ClassName(const google::protobuf::Descriptor* descriptor, + bool qualified) { // Find "outer", the descriptor of the top-level message in which // "descriptor" is embedded. const google::protobuf::Descriptor* outer = descriptor; while (outer->containing_type() != NULL) outer = outer->containing_type(); - const string& outer_name = outer->full_name(); - string inner_name = descriptor->full_name().substr(outer_name.size()); + const std::string& outer_name = outer->full_name(); + std::string inner_name = descriptor->full_name().substr(outer_name.size()); if (qualified) { return "::" + DotsToColons(outer_name) + DotsToUnderscores(inner_name); diff --git a/src/compiler/cpp_plugin.cc b/src/compiler/cpp_plugin.cc index 17836b16125..b5da9efb09c 100644 --- a/src/compiler/cpp_plugin.cc +++ b/src/compiler/cpp_plugin.cc @@ -50,9 +50,9 @@ class CppGrpcGenerator : public google::protobuf::compiler::CodeGenerator { virtual ~CppGrpcGenerator() {} virtual bool Generate(const google::protobuf::FileDescriptor* file, - const string& parameter, + const std::string& parameter, google::protobuf::compiler::GeneratorContext* context, - string* error) const { + std::string* error) const { if (file->options().cc_generic_services()) { *error = "cpp grpc proto compiler plugin does not work with generic " @@ -61,7 +61,7 @@ class CppGrpcGenerator : public google::protobuf::compiler::CodeGenerator { return false; } - string file_name = grpc_cpp_generator::StripProto(file->name()); + std::string file_name = grpc_cpp_generator::StripProto(file->name()); // Generate .pb.h Insert(context, file_name + ".pb.h", "includes", @@ -80,8 +80,8 @@ class CppGrpcGenerator : public google::protobuf::compiler::CodeGenerator { private: // Insert the given code into the given file at the given insertion point. void Insert(google::protobuf::compiler::GeneratorContext* context, - const string& filename, const string& insertion_point, - const string& code) const { + const std::string& filename, const std::string& insertion_point, + const std::string& code) const { std::unique_ptr output( context->OpenForInsert(filename, insertion_point)); google::protobuf::io::CodedOutputStream coded_out(output.get()); diff --git a/src/compiler/ruby_generator.cc b/src/compiler/ruby_generator.cc index fae8858ff72..7795515b344 100644 --- a/src/compiler/ruby_generator.cc +++ b/src/compiler/ruby_generator.cc @@ -56,17 +56,17 @@ namespace grpc_ruby_generator { namespace { // Prints out the method using the ruby gRPC DSL. -void PrintMethod(const MethodDescriptor* method, const string& package, +void PrintMethod(const MethodDescriptor* method, const std::string& package, Printer* out) { - string input_type = RubyTypeOf(method->input_type()->name(), package); + std::string input_type = RubyTypeOf(method->input_type()->name(), package); if (method->client_streaming()) { input_type = "stream(" + input_type + ")"; } - string output_type = RubyTypeOf(method->output_type()->name(), package); + std::string output_type = RubyTypeOf(method->output_type()->name(), package); if (method->server_streaming()) { output_type = "stream(" + output_type + ")"; } - map method_vars = ListToDict({ + std::map method_vars = ListToDict({ "mth.name", method->name(), "input.type", input_type, "output.type", output_type, }); @@ -74,22 +74,22 @@ void PrintMethod(const MethodDescriptor* method, const string& package, } // Prints out the service using the ruby gRPC DSL. -void PrintService(const ServiceDescriptor* service, const string& package, +void PrintService(const ServiceDescriptor* service, const std::string& package, Printer* out) { if (service->method_count() == 0) { return; } // Begin the service module - map module_vars = ListToDict({ + std::map module_vars = ListToDict({ "module.name", CapitalizeFirst(service->name()), }); out->Print(module_vars, "module $module.name$\n"); out->Indent(); // TODO(temiola): add documentation - string doc = "TODO: add proto service documentation here"; - map template_vars = ListToDict({ + std::string doc = "TODO: add proto service documentation here"; + std::map template_vars = ListToDict({ "Documentation", doc, }); out->Print("\n"); @@ -103,7 +103,7 @@ void PrintService(const ServiceDescriptor* service, const string& package, out->Print("\n"); out->Print("self.marshal_class_method = :encode\n"); out->Print("self.unmarshal_class_method = :decode\n"); - map pkg_vars = ListToDict({ + std::map pkg_vars = ListToDict({ "service.name", service->name(), "pkg.name", package, }); out->Print(pkg_vars, "self.service_name = '$pkg.name$.$service.name$'\n"); @@ -124,8 +124,8 @@ void PrintService(const ServiceDescriptor* service, const string& package, } // namespace -string GetServices(const FileDescriptor* file) { - string output; +std::string GetServices(const FileDescriptor* file) { + std::string output; StringOutputStream output_stream(&output); Printer out(&output_stream, '$'); @@ -136,7 +136,7 @@ string GetServices(const FileDescriptor* file) { } // Write out a file header. - map header_comment_vars = ListToDict({ + std::map header_comment_vars = ListToDict({ "file.name", file->name(), "file.package", file->package(), }); out.Print("# Generated by the protocol buffer compiler. DO NOT EDIT!\n"); @@ -148,16 +148,16 @@ string GetServices(const FileDescriptor* file) { // Write out require statemment to import the separately generated file // that defines the messages used by the service. This is generated by the // main ruby plugin. - map dep_vars = ListToDict({ + std::map dep_vars = ListToDict({ "dep.name", MessagesRequireName(file), }); out.Print(dep_vars, "require '$dep.name$'\n"); // Write out services within the modules out.Print("\n"); - vector modules = Split(file->package(), '.'); + std::vector modules = Split(file->package(), '.'); for (size_t i = 0; i < modules.size(); ++i) { - map module_vars = ListToDict({ + std::map module_vars = ListToDict({ "module.name", CapitalizeFirst(modules[i]), }); out.Print(module_vars, "module $module.name$\n"); diff --git a/src/compiler/ruby_generator.h b/src/compiler/ruby_generator.h index 4f13f1a33b0..0306536d08a 100644 --- a/src/compiler/ruby_generator.h +++ b/src/compiler/ruby_generator.h @@ -36,8 +36,6 @@ #include -using namespace std; - namespace google { namespace protobuf { class FileDescriptor; @@ -46,7 +44,7 @@ class FileDescriptor; namespace grpc_ruby_generator { -string GetServices(const google::protobuf::FileDescriptor* file); +std::string GetServices(const google::protobuf::FileDescriptor* file); } // namespace grpc_ruby_generator diff --git a/src/compiler/ruby_generator_helpers-inl.h b/src/compiler/ruby_generator_helpers-inl.h index 8263e353b24..7b973ed9ebe 100644 --- a/src/compiler/ruby_generator_helpers-inl.h +++ b/src/compiler/ruby_generator_helpers-inl.h @@ -42,7 +42,7 @@ namespace grpc_ruby_generator { inline bool ServicesFilename(const google::protobuf::FileDescriptor* file, - string* file_name_or_error) { + std::string* file_name_or_error) { // Get output file name. static const unsigned proto_suffix_length = 6; // length of ".proto" if (file->name().size() > proto_suffix_length && @@ -57,7 +57,7 @@ inline bool ServicesFilename(const google::protobuf::FileDescriptor* file, } } -inline string MessagesRequireName( +inline std::string MessagesRequireName( const google::protobuf::FileDescriptor* file) { return Replace(file->name(), ".proto", ""); } diff --git a/src/compiler/ruby_generator_map-inl.h b/src/compiler/ruby_generator_map-inl.h index fa86fbb9569..a49650a2f7b 100644 --- a/src/compiler/ruby_generator_map-inl.h +++ b/src/compiler/ruby_generator_map-inl.h @@ -48,17 +48,18 @@ namespace grpc_ruby_generator { // Converts an initializer list of the form { key0, value0, key1, value1, ... } // into a map of key* to value*. Is merely a readability helper for later code. -inline map ListToDict(const initializer_list& values) { +inline std::map ListToDict( + const initializer_list& values) { if (values.size() % 2 != 0) { // MOE: insert std::cerr << "Not every 'key' has a value in `values`." // << std::endl; } - map value_map; + std::map value_map; auto value_iter = values.begin(); for (unsigned i = 0; i < values.size() / 2; ++i) { - string key = *value_iter; + std::string key = *value_iter; ++value_iter; - string value = *value_iter; + std::string value = *value_iter; value_map[key] = value; ++value_iter; } diff --git a/src/compiler/ruby_generator_string-inl.h b/src/compiler/ruby_generator_string-inl.h index 44e17a202a7..a253f78d49a 100644 --- a/src/compiler/ruby_generator_string-inl.h +++ b/src/compiler/ruby_generator_string-inl.h @@ -45,10 +45,10 @@ using std::transform; namespace grpc_ruby_generator { // Split splits a string using char into elems. -inline vector& Split(const string& s, char delim, - vector* elems) { - stringstream ss(s); - string item; +inline std::vector& Split(const std::string& s, char delim, + std::vector* elems) { + std::stringstream ss(s); + std::string item; while (getline(ss, item, delim)) { elems->push_back(item); } @@ -56,16 +56,17 @@ inline vector& Split(const string& s, char delim, } // Split splits a string using char, returning the result in a vector. -inline vector Split(const string& s, char delim) { - vector elems; +inline std::vector Split(const std::string& s, char delim) { + std::vector elems; Split(s, delim, &elems); return elems; } // Replace replaces from with to in s. -inline string Replace(string s, const string& from, const string& to) { +inline std::string Replace(std::string s, const std::string& from, + const std::string& to) { size_t start_pos = s.find(from); - if (start_pos == string::npos) { + if (start_pos == std::string::npos) { return s; } s.replace(start_pos, from.length(), to); @@ -73,10 +74,10 @@ inline string Replace(string s, const string& from, const string& to) { } // ReplaceAll replaces all instances of search with replace in s. -inline string ReplaceAll(string s, const string& search, - const string& replace) { +inline std::string ReplaceAll(std::string s, const std::string& search, + const std::string& replace) { size_t pos = 0; - while ((pos = s.find(search, pos)) != string::npos) { + while ((pos = s.find(search, pos)) != std::string::npos) { s.replace(pos, search.length(), replace); pos += replace.length(); } @@ -84,9 +85,10 @@ inline string ReplaceAll(string s, const string& search, } // ReplacePrefix replaces from with to in s if search is a prefix of s. -inline bool ReplacePrefix(string* s, const string& from, const string& to) { +inline bool ReplacePrefix(std::string* s, const std::string& from, + const std::string& to) { size_t start_pos = s->find(from); - if (start_pos == string::npos || start_pos != 0) { + if (start_pos == std::string::npos || start_pos != 0) { return false; } s->replace(start_pos, from.length(), to); @@ -94,7 +96,7 @@ inline bool ReplacePrefix(string* s, const string& from, const string& to) { } // CapitalizeFirst capitalizes the first char in a string. -inline string CapitalizeFirst(string s) { +inline std::string CapitalizeFirst(std::string s) { if (s.empty()) { return s; } @@ -103,14 +105,15 @@ inline string CapitalizeFirst(string s) { } // RubyTypeOf updates a proto type to the required ruby equivalent. -inline string RubyTypeOf(const string& a_type, const string& package) { - string res(a_type); +inline std::string RubyTypeOf(const std::string& a_type, + const std::string& package) { + std::string res(a_type); ReplacePrefix(&res, package, ""); // remove the leading package if present ReplacePrefix(&res, ".", ""); // remove the leading . (no package) - if (res.find('.') == string::npos) { + if (res.find('.') == std::string::npos) { return res; } else { - vector prefixes_and_type = Split(res, '.'); + std::vector prefixes_and_type = Split(res, '.'); for (unsigned int i = 0; i < prefixes_and_type.size(); ++i) { if (i != 0) { res += "::"; // switch '.' to the ruby module delim diff --git a/src/compiler/ruby_plugin.cc b/src/compiler/ruby_plugin.cc index c1748cfaeb0..15a3c187deb 100644 --- a/src/compiler/ruby_plugin.cc +++ b/src/compiler/ruby_plugin.cc @@ -52,16 +52,16 @@ class RubyGrpcGenerator : public google::protobuf::compiler::CodeGenerator { ~RubyGrpcGenerator() override {} bool Generate(const google::protobuf::FileDescriptor* file, - const string& parameter, + const std::string& parameter, google::protobuf::compiler::GeneratorContext* context, - string* error) const override { - string code = grpc_ruby_generator::GetServices(file); + std::string* error) const override { + std::string code = grpc_ruby_generator::GetServices(file); if (code.size() == 0) { return true; // don't generate a file if there are no services } // Get output file name. - string file_name; + std::string file_name; if (!grpc_ruby_generator::ServicesFilename(file, &file_name)) { return false; } From 36f5323846c2edbf2683491a8db4c2f7ad271065 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Fri, 16 Jan 2015 06:39:58 +0100 Subject: [PATCH 027/121] Fixing includes inconsistency. --- src/compiler/cpp_generator.cc | 3 +++ src/compiler/cpp_plugin.cc | 2 ++ src/compiler/ruby_generator.cc | 1 + src/compiler/ruby_plugin.cc | 1 + 4 files changed, 7 insertions(+) diff --git a/src/compiler/cpp_generator.cc b/src/compiler/cpp_generator.cc index 413cbb49418..29bd3560f3e 100644 --- a/src/compiler/cpp_generator.cc +++ b/src/compiler/cpp_generator.cc @@ -31,6 +31,9 @@ * */ +#include +#include + #include "src/compiler/cpp_generator.h" #include "src/compiler/cpp_generator_helpers.h" diff --git a/src/compiler/cpp_plugin.cc b/src/compiler/cpp_plugin.cc index b5da9efb09c..e43278529d6 100644 --- a/src/compiler/cpp_plugin.cc +++ b/src/compiler/cpp_plugin.cc @@ -35,6 +35,8 @@ // #include +#include + #include "src/compiler/cpp_generator.h" #include "src/compiler/cpp_generator_helpers.h" #include diff --git a/src/compiler/ruby_generator.cc b/src/compiler/ruby_generator.cc index 7795515b344..393f8f3b593 100644 --- a/src/compiler/ruby_generator.cc +++ b/src/compiler/ruby_generator.cc @@ -32,6 +32,7 @@ */ #include +#include #include #include diff --git a/src/compiler/ruby_plugin.cc b/src/compiler/ruby_plugin.cc index 15a3c187deb..86c0e11e1c1 100644 --- a/src/compiler/ruby_plugin.cc +++ b/src/compiler/ruby_plugin.cc @@ -37,6 +37,7 @@ // and net/proto2/compiler/public/plugin.h for more information on plugins. #include +#include #include "src/compiler/ruby_generator.h" #include "src/compiler/ruby_generator_helpers-inl.h" From 17f2b5921e02ab6185a3110a96502c17ffe22749 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Fri, 16 Jan 2015 07:09:10 +0100 Subject: [PATCH 028/121] Fixing parallel build. The source code of the libraries depends on openssl being built, as it will setup the headers. Since we don't know exactly which source depends on openssl (we could start flagging it in build.json, but that'd be painful), we just flag all the source for every ssl-enabled library to depend on openssl being built. --- Makefile | 198 ++++++++++++++++++++++++++++++++++-- templates/Makefile.template | 28 +++-- 2 files changed, 206 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index 85201c0eb67..87f6719bd71 100644 --- a/Makefile +++ b/Makefile @@ -495,18 +495,20 @@ run_dep_checks: $(ZLIB_CHECK_CMD) || true libs/$(CONFIG)/zlib/libz.a: - (cd third_party/zlib ; CC="$(CC)" CFLAGS="-fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG))" ./configure --static) - $(MAKE) -C third_party/zlib clean - $(MAKE) -C third_party/zlib - mkdir -p libs/$(CONFIG)/zlib - cp third_party/zlib/libz.a libs/$(CONFIG)/zlib + $(E) "[MAKE] Building zlib" + $(Q)(cd third_party/zlib ; CC="$(CC)" CFLAGS="-fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG))" ./configure --static) + $(Q)$(MAKE) -C third_party/zlib clean + $(Q)$(MAKE) -C third_party/zlib + $(Q)mkdir -p libs/$(CONFIG)/zlib + $(Q)cp third_party/zlib/libz.a libs/$(CONFIG)/zlib libs/$(CONFIG)/openssl/libssl.a: - (cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(OPENSSL_CFLAGS_$(CONFIG))" ./config $(OPENSSL_CONFIG_$(CONFIG))) - $(MAKE) -C third_party/openssl clean - $(MAKE) -C third_party/openssl build_crypto build_ssl - mkdir -p libs/$(CONFIG)/openssl - cp third_party/openssl/libssl.a third_party/openssl/libcrypto.a libs/$(CONFIG)/openssl + $(E) "[MAKE] Building openssl" + $(Q)(cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(OPENSSL_CFLAGS_$(CONFIG))" ./config $(OPENSSL_CONFIG_$(CONFIG))) + $(Q)$(MAKE) -C third_party/openssl clean + $(Q)$(MAKE) -C third_party/openssl build_crypto build_ssl + $(Q)mkdir -p libs/$(CONFIG)/openssl + $(Q)cp third_party/openssl/libssl.a third_party/openssl/libcrypto.a libs/$(CONFIG)/openssl static: static_c static_cxx @@ -1347,6 +1349,101 @@ endif else +ifneq ($(OPENSSL_DEP),) +src/core/security/auth.c: $(OPENSSL_DEP) +src/core/security/base64.c: $(OPENSSL_DEP) +src/core/security/credentials.c: $(OPENSSL_DEP) +src/core/security/factories.c: $(OPENSSL_DEP) +src/core/security/google_root_certs.c: $(OPENSSL_DEP) +src/core/security/json_token.c: $(OPENSSL_DEP) +src/core/security/secure_endpoint.c: $(OPENSSL_DEP) +src/core/security/secure_transport_setup.c: $(OPENSSL_DEP) +src/core/security/security_context.c: $(OPENSSL_DEP) +src/core/security/server_secure_chttp2.c: $(OPENSSL_DEP) +src/core/tsi/fake_transport_security.c: $(OPENSSL_DEP) +src/core/tsi/ssl_transport_security.c: $(OPENSSL_DEP) +src/core/tsi/transport_security.c: $(OPENSSL_DEP) +src/core/channel/call_op_string.c: $(OPENSSL_DEP) +src/core/channel/census_filter.c: $(OPENSSL_DEP) +src/core/channel/channel_args.c: $(OPENSSL_DEP) +src/core/channel/channel_stack.c: $(OPENSSL_DEP) +src/core/channel/child_channel.c: $(OPENSSL_DEP) +src/core/channel/client_channel.c: $(OPENSSL_DEP) +src/core/channel/client_setup.c: $(OPENSSL_DEP) +src/core/channel/connected_channel.c: $(OPENSSL_DEP) +src/core/channel/http_client_filter.c: $(OPENSSL_DEP) +src/core/channel/http_filter.c: $(OPENSSL_DEP) +src/core/channel/http_server_filter.c: $(OPENSSL_DEP) +src/core/channel/metadata_buffer.c: $(OPENSSL_DEP) +src/core/channel/noop_filter.c: $(OPENSSL_DEP) +src/core/compression/algorithm.c: $(OPENSSL_DEP) +src/core/compression/message_compress.c: $(OPENSSL_DEP) +src/core/httpcli/format_request.c: $(OPENSSL_DEP) +src/core/httpcli/httpcli.c: $(OPENSSL_DEP) +src/core/httpcli/httpcli_security_context.c: $(OPENSSL_DEP) +src/core/httpcli/parser.c: $(OPENSSL_DEP) +src/core/iomgr/alarm.c: $(OPENSSL_DEP) +src/core/iomgr/alarm_heap.c: $(OPENSSL_DEP) +src/core/iomgr/endpoint.c: $(OPENSSL_DEP) +src/core/iomgr/endpoint_pair_posix.c: $(OPENSSL_DEP) +src/core/iomgr/fd_posix.c: $(OPENSSL_DEP) +src/core/iomgr/iomgr.c: $(OPENSSL_DEP) +src/core/iomgr/iomgr_posix.c: $(OPENSSL_DEP) +src/core/iomgr/pollset_multipoller_with_poll_posix.c: $(OPENSSL_DEP) +src/core/iomgr/pollset_posix.c: $(OPENSSL_DEP) +src/core/iomgr/resolve_address_posix.c: $(OPENSSL_DEP) +src/core/iomgr/sockaddr_utils.c: $(OPENSSL_DEP) +src/core/iomgr/socket_utils_common_posix.c: $(OPENSSL_DEP) +src/core/iomgr/socket_utils_linux.c: $(OPENSSL_DEP) +src/core/iomgr/socket_utils_posix.c: $(OPENSSL_DEP) +src/core/iomgr/tcp_client_posix.c: $(OPENSSL_DEP) +src/core/iomgr/tcp_posix.c: $(OPENSSL_DEP) +src/core/iomgr/tcp_server_posix.c: $(OPENSSL_DEP) +src/core/iomgr/time_averaged_stats.c: $(OPENSSL_DEP) +src/core/statistics/census_init.c: $(OPENSSL_DEP) +src/core/statistics/census_log.c: $(OPENSSL_DEP) +src/core/statistics/census_rpc_stats.c: $(OPENSSL_DEP) +src/core/statistics/census_tracing.c: $(OPENSSL_DEP) +src/core/statistics/hash_table.c: $(OPENSSL_DEP) +src/core/statistics/window_stats.c: $(OPENSSL_DEP) +src/core/surface/byte_buffer.c: $(OPENSSL_DEP) +src/core/surface/byte_buffer_reader.c: $(OPENSSL_DEP) +src/core/surface/call.c: $(OPENSSL_DEP) +src/core/surface/channel.c: $(OPENSSL_DEP) +src/core/surface/channel_create.c: $(OPENSSL_DEP) +src/core/surface/client.c: $(OPENSSL_DEP) +src/core/surface/completion_queue.c: $(OPENSSL_DEP) +src/core/surface/event_string.c: $(OPENSSL_DEP) +src/core/surface/init.c: $(OPENSSL_DEP) +src/core/surface/lame_client.c: $(OPENSSL_DEP) +src/core/surface/secure_channel_create.c: $(OPENSSL_DEP) +src/core/surface/secure_server_create.c: $(OPENSSL_DEP) +src/core/surface/server.c: $(OPENSSL_DEP) +src/core/surface/server_chttp2.c: $(OPENSSL_DEP) +src/core/surface/server_create.c: $(OPENSSL_DEP) +src/core/transport/chttp2/alpn.c: $(OPENSSL_DEP) +src/core/transport/chttp2/bin_encoder.c: $(OPENSSL_DEP) +src/core/transport/chttp2/frame_data.c: $(OPENSSL_DEP) +src/core/transport/chttp2/frame_goaway.c: $(OPENSSL_DEP) +src/core/transport/chttp2/frame_ping.c: $(OPENSSL_DEP) +src/core/transport/chttp2/frame_rst_stream.c: $(OPENSSL_DEP) +src/core/transport/chttp2/frame_settings.c: $(OPENSSL_DEP) +src/core/transport/chttp2/frame_window_update.c: $(OPENSSL_DEP) +src/core/transport/chttp2/hpack_parser.c: $(OPENSSL_DEP) +src/core/transport/chttp2/hpack_table.c: $(OPENSSL_DEP) +src/core/transport/chttp2/huffsyms.c: $(OPENSSL_DEP) +src/core/transport/chttp2/status_conversion.c: $(OPENSSL_DEP) +src/core/transport/chttp2/stream_encoder.c: $(OPENSSL_DEP) +src/core/transport/chttp2/stream_map.c: $(OPENSSL_DEP) +src/core/transport/chttp2/timeout_encoding.c: $(OPENSSL_DEP) +src/core/transport/chttp2/varint.c: $(OPENSSL_DEP) +src/core/transport/chttp2_transport.c: $(OPENSSL_DEP) +src/core/transport/metadata.c: $(OPENSSL_DEP) +src/core/transport/stream_op.c: $(OPENSSL_DEP) +src/core/transport/transport.c: $(OPENSSL_DEP) +third_party/cJSON/cJSON.c: $(OPENSSL_DEP) +endif + libs/$(CONFIG)/libgrpc.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` @@ -1693,6 +1790,10 @@ libs/$(CONFIG)/libgpr_test_util.a: openssl_dep_error else +ifneq ($(OPENSSL_DEP),) +test/core/util/test_config.c: $(OPENSSL_DEP) +endif + libs/$(CONFIG)/libgpr_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGPR_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` @@ -1737,6 +1838,21 @@ libs/$(CONFIG)/libgrpc_test_util.a: openssl_dep_error else +ifneq ($(OPENSSL_DEP),) +test/core/end2end/cq_verifier.c: $(OPENSSL_DEP) +test/core/end2end/data/test_root_cert.c: $(OPENSSL_DEP) +test/core/end2end/data/prod_roots_certs.c: $(OPENSSL_DEP) +test/core/end2end/data/server1_cert.c: $(OPENSSL_DEP) +test/core/end2end/data/server1_key.c: $(OPENSSL_DEP) +test/core/iomgr/endpoint_tests.c: $(OPENSSL_DEP) +test/core/statistics/census_log_tests.c: $(OPENSSL_DEP) +test/core/transport/transport_end2end_tests.c: $(OPENSSL_DEP) +test/core/util/grpc_profiler.c: $(OPENSSL_DEP) +test/core/util/port_posix.c: $(OPENSSL_DEP) +test/core/util/parse_hexstring.c: $(OPENSSL_DEP) +test/core/util/slice_splitter.c: $(OPENSSL_DEP) +endif + libs/$(CONFIG)/libgrpc_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` @@ -1825,6 +1941,29 @@ endif else +ifneq ($(OPENSSL_DEP),) +src/cpp/client/channel.cc: $(OPENSSL_DEP) +src/cpp/client/channel_arguments.cc: $(OPENSSL_DEP) +src/cpp/client/client_context.cc: $(OPENSSL_DEP) +src/cpp/client/create_channel.cc: $(OPENSSL_DEP) +src/cpp/client/credentials.cc: $(OPENSSL_DEP) +src/cpp/client/internal_stub.cc: $(OPENSSL_DEP) +src/cpp/proto/proto_utils.cc: $(OPENSSL_DEP) +src/cpp/common/rpc_method.cc: $(OPENSSL_DEP) +src/cpp/server/async_server.cc: $(OPENSSL_DEP) +src/cpp/server/async_server_context.cc: $(OPENSSL_DEP) +src/cpp/server/completion_queue.cc: $(OPENSSL_DEP) +src/cpp/server/server_builder.cc: $(OPENSSL_DEP) +src/cpp/server/server_context_impl.cc: $(OPENSSL_DEP) +src/cpp/server/server.cc: $(OPENSSL_DEP) +src/cpp/server/server_rpc_handler.cc: $(OPENSSL_DEP) +src/cpp/server/server_credentials.cc: $(OPENSSL_DEP) +src/cpp/server/thread_pool.cc: $(OPENSSL_DEP) +src/cpp/stream/stream_context.cc: $(OPENSSL_DEP) +src/cpp/util/status.cc: $(OPENSSL_DEP) +src/cpp/util/time.cc: $(OPENSSL_DEP) +endif + libs/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` @@ -1897,6 +2036,14 @@ libs/$(CONFIG)/libgrpc++_test_util.a: openssl_dep_error else +ifneq ($(OPENSSL_DEP),) +test/cpp/util/messages.proto: $(OPENSSL_DEP) +test/cpp/util/echo.proto: $(OPENSSL_DEP) +test/cpp/util/echo_duplicate.proto: $(OPENSSL_DEP) +test/cpp/util/create_test_channel.cc: $(OPENSSL_DEP) +test/cpp/end2end/async_test_server.cc: $(OPENSSL_DEP) +endif + libs/$(CONFIG)/libgrpc++_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` @@ -1934,6 +2081,10 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a: openssl_dep_error else +ifneq ($(OPENSSL_DEP),) +test/core/end2end/fixtures/chttp2_fake_security.c: $(OPENSSL_DEP) +endif + libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` @@ -1967,6 +2118,10 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a: openssl_dep_error else +ifneq ($(OPENSSL_DEP),) +test/core/end2end/fixtures/chttp2_fullstack.c: $(OPENSSL_DEP) +endif + libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` @@ -2000,6 +2155,10 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a: openssl_dep_err else +ifneq ($(OPENSSL_DEP),) +test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c: $(OPENSSL_DEP) +endif + libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` @@ -2033,6 +2192,10 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a: ope else +ifneq ($(OPENSSL_DEP),) +test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c: $(OPENSSL_DEP) +endif + libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` @@ -2066,6 +2229,10 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a: openssl_dep_error else +ifneq ($(OPENSSL_DEP),) +test/core/end2end/fixtures/chttp2_socket_pair.c: $(OPENSSL_DEP) +endif + libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` @@ -2099,6 +2266,10 @@ libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a: opens else +ifneq ($(OPENSSL_DEP),) +test/core/end2end/fixtures/chttp2_socket_pair_one_byte_at_a_time.c: $(OPENSSL_DEP) +endif + libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` @@ -2597,6 +2768,13 @@ libs/$(CONFIG)/libend2end_certs.a: openssl_dep_error else +ifneq ($(OPENSSL_DEP),) +test/core/end2end/data/test_root_cert.c: $(OPENSSL_DEP) +test/core/end2end/data/prod_roots_certs.c: $(OPENSSL_DEP) +test/core/end2end/data/server1_cert.c: $(OPENSSL_DEP) +test/core/end2end/data/server1_key.c: $(OPENSSL_DEP) +endif + libs/$(CONFIG)/libend2end_certs.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_CERTS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` diff --git a/templates/Makefile.template b/templates/Makefile.template index 25bc4069a1b..9a49935e49f 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -318,18 +318,20 @@ run_dep_checks: $(ZLIB_CHECK_CMD) || true libs/$(CONFIG)/zlib/libz.a: - (cd third_party/zlib ; CC="$(CC)" CFLAGS="-fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG))" ./configure --static) - $(MAKE) -C third_party/zlib clean - $(MAKE) -C third_party/zlib - mkdir -p libs/$(CONFIG)/zlib - cp third_party/zlib/libz.a libs/$(CONFIG)/zlib + $(E) "[MAKE] Building zlib" + $(Q)(cd third_party/zlib ; CC="$(CC)" CFLAGS="-fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG))" ./configure --static) + $(Q)$(MAKE) -C third_party/zlib clean + $(Q)$(MAKE) -C third_party/zlib + $(Q)mkdir -p libs/$(CONFIG)/zlib + $(Q)cp third_party/zlib/libz.a libs/$(CONFIG)/zlib libs/$(CONFIG)/openssl/libssl.a: - (cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(OPENSSL_CFLAGS_$(CONFIG))" ./config $(OPENSSL_CONFIG_$(CONFIG))) - $(MAKE) -C third_party/openssl clean - $(MAKE) -C third_party/openssl build_crypto build_ssl - mkdir -p libs/$(CONFIG)/openssl - cp third_party/openssl/libssl.a third_party/openssl/libcrypto.a libs/$(CONFIG)/openssl + $(E) "[MAKE] Building openssl" + $(Q)(cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(OPENSSL_CFLAGS_$(CONFIG))" ./config $(OPENSSL_CONFIG_$(CONFIG))) + $(Q)$(MAKE) -C third_party/openssl clean + $(Q)$(MAKE) -C third_party/openssl build_crypto build_ssl + $(Q)mkdir -p libs/$(CONFIG)/openssl + $(Q)cp third_party/openssl/libssl.a third_party/openssl/libcrypto.a libs/$(CONFIG)/openssl static: static_c static_cxx @@ -658,6 +660,12 @@ endif else +ifneq ($(OPENSSL_DEP),) +% for src in lib.src: +${src}: $(OPENSSL_DEP) +% endfor +endif + libs/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIB${lib.name.upper()}_OBJS) % else: libs/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(LIB${lib.name.upper()}_OBJS) From b222b4d978c19a786838b9d616f98c7d36be2deb Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Thu, 15 Jan 2015 17:01:39 -0800 Subject: [PATCH 029/121] Changing size type in Transport Security (TSI) from uint32_t to size_t: Will remove grpc impedance mismatch. --- src/core/security/secure_endpoint.c | 12 +-- src/core/security/secure_transport_setup.c | 4 +- src/core/security/security_context.c | 4 +- src/core/tsi/ssl_transport_security.c | 88 ++++++++++----------- src/core/tsi/ssl_transport_security.h | 12 +-- src/core/tsi/transport_security.c | 32 ++++---- src/core/tsi/transport_security.h | 26 +++--- src/core/tsi/transport_security_interface.h | 39 ++++----- test/core/security/secure_endpoint_test.c | 8 +- 9 files changed, 113 insertions(+), 112 deletions(-) diff --git a/src/core/security/secure_endpoint.c b/src/core/security/secure_endpoint.c index 7f0fdf73c97..e73767c1aad 100644 --- a/src/core/security/secure_endpoint.c +++ b/src/core/security/secure_endpoint.c @@ -126,8 +126,8 @@ static void on_read(void *user_data, gpr_slice *slices, size_t nslices, size_t message_size = GPR_SLICE_LENGTH(encrypted); while (message_size > 0 || keep_looping) { - gpr_uint32 unprotected_buffer_size_written = end - cur; - gpr_uint32 processed_message_size = message_size; + size_t unprotected_buffer_size_written = end - cur; + size_t processed_message_size = message_size; gpr_mu_lock(&ep->protector_mu); result = tsi_frame_protector_unprotect(ep->protector, message_bytes, &processed_message_size, cur, @@ -245,8 +245,8 @@ static grpc_endpoint_write_status endpoint_write(grpc_endpoint *secure_ep, gpr_uint8 *message_bytes = GPR_SLICE_START_PTR(plain); size_t message_size = GPR_SLICE_LENGTH(plain); while (message_size > 0) { - gpr_uint32 protected_buffer_size_to_send = end - cur; - gpr_uint32 processed_message_size = message_size; + size_t protected_buffer_size_to_send = end - cur; + size_t processed_message_size = message_size; gpr_mu_lock(&ep->protector_mu); result = tsi_frame_protector_protect(ep->protector, message_bytes, &processed_message_size, cur, @@ -268,9 +268,9 @@ static grpc_endpoint_write_status endpoint_write(grpc_endpoint *secure_ep, if (result != TSI_OK) break; } if (result == TSI_OK) { - gpr_uint32 still_pending_size; + size_t still_pending_size; do { - gpr_uint32 protected_buffer_size_to_send = end - cur; + size_t protected_buffer_size_to_send = end - cur; gpr_mu_lock(&ep->protector_mu); result = tsi_frame_protector_protect_flush(ep->protector, cur, &protected_buffer_size_to_send, diff --git a/src/core/security/secure_transport_setup.c b/src/core/security/secure_transport_setup.c index 3df91ed8e7f..50a6987fbf7 100644 --- a/src/core/security/secure_transport_setup.c +++ b/src/core/security/secure_transport_setup.c @@ -131,7 +131,7 @@ static void send_handshake_bytes_to_peer(grpc_secure_transport_setup *s) { grpc_endpoint_write_status write_status; do { - uint32_t to_send_size = s->handshake_buffer_size - offset; + size_t to_send_size = s->handshake_buffer_size - offset; result = tsi_handshaker_get_bytes_to_send_to_peer( s->handshaker, s->handshake_buffer + offset, &to_send_size); offset += to_send_size; @@ -174,7 +174,7 @@ static void on_handshake_data_received_from_peer( void *setup, gpr_slice *slices, size_t nslices, grpc_endpoint_cb_status error) { grpc_secure_transport_setup *s = setup; - uint32_t consumed_slice_size = 0; + size_t consumed_slice_size = 0; tsi_result result = TSI_OK; size_t i; size_t num_left_overs; diff --git a/src/core/security/security_context.c b/src/core/security/security_context.c index fc722f2d829..421b81fd362 100644 --- a/src/core/security/security_context.c +++ b/src/core/security/security_context.c @@ -411,9 +411,9 @@ grpc_security_status grpc_ssl_server_security_context_create( c->base.vtable = &ssl_server_vtable; result = tsi_create_ssl_server_handshaker_factory( (const unsigned char **)&config->pem_private_key, - (const gpr_uint32 *)&config->pem_private_key_size, + &config->pem_private_key_size, (const unsigned char **)&config->pem_cert_chain, - (const gpr_uint32 *)&config->pem_cert_chain_size, 1, + &config->pem_cert_chain_size, 1, config->pem_root_certs, config->pem_root_certs_size, GRPC_SSL_CIPHER_SUITES, alpn_protocol_strings, alpn_protocol_string_lengths, num_alpn_protocols, &c->handshaker_factory); diff --git a/src/core/tsi/ssl_transport_security.c b/src/core/tsi/ssl_transport_security.c index c98071a9376..02af080a310 100644 --- a/src/core/tsi/ssl_transport_security.c +++ b/src/core/tsi/ssl_transport_security.c @@ -76,9 +76,9 @@ typedef struct { associated with the contexts at the same index. */ SSL_CTX** ssl_contexts; tsi_peer* ssl_context_x509_subject_names; - uint32_t ssl_context_count; + size_t ssl_context_count; unsigned char* alpn_protocol_list; - uint32_t alpn_protocol_list_length; + size_t alpn_protocol_list_length; } tsi_ssl_server_handshaker_factory; typedef struct { @@ -95,8 +95,8 @@ typedef struct { BIO* into_ssl; BIO* from_ssl; unsigned char* buffer; - uint32_t buffer_size; - uint32_t buffer_offset; + size_t buffer_size; + size_t buffer_offset; } tsi_ssl_frame_protector; /* --- Library Initialization. ---*/ @@ -159,7 +159,7 @@ static void ssl_info_callback(const SSL* ssl, int where, int ret) { /* Gets the subject CN from an X509 cert. */ static tsi_result ssl_get_x509_common_name(X509* cert, unsigned char** utf8, - uint32_t* utf8_size) { + size_t* utf8_size) { int common_name_index = -1; X509_NAME_ENTRY* common_name_entry = NULL; ASN1_STRING* common_name_asn1 = NULL; @@ -200,7 +200,7 @@ static tsi_result ssl_get_x509_common_name(X509* cert, unsigned char** utf8, static tsi_result peer_property_from_x509_common_name( X509* cert, tsi_peer_property* property) { unsigned char* common_name; - uint32_t common_name_size; + size_t common_name_size; tsi_result result = ssl_get_x509_common_name(cert, &common_name, &common_name_size); if (result != TSI_OK) return result; @@ -266,7 +266,7 @@ static tsi_result peer_property_from_x509_subject_alt_names( static tsi_result peer_from_x509(X509* cert, int include_certificate_type, tsi_peer* peer) { /* TODO(jboeuf): Maybe add more properties. */ - uint32_t property_count = include_certificate_type ? 3 : 2; + size_t property_count = include_certificate_type ? 3 : 2; tsi_result result = tsi_construct_peer(property_count, peer); if (result != TSI_OK) return result; do { @@ -299,7 +299,7 @@ static void log_ssl_error_stack(void) { /* Performs an SSL_read and handle errors. */ static tsi_result do_ssl_read(SSL* ssl, unsigned char* unprotected_bytes, - uint32_t* unprotected_bytes_size) { + size_t* unprotected_bytes_size) { int read_from_ssl = SSL_read(ssl, unprotected_bytes, *unprotected_bytes_size); if (read_from_ssl == 0) { gpr_log(GPR_ERROR, "SSL_read returned 0 unexpectedly."); @@ -333,7 +333,7 @@ static tsi_result do_ssl_read(SSL* ssl, unsigned char* unprotected_bytes, /* Performs an SSL_write and handle errors. */ static tsi_result do_ssl_write(SSL* ssl, unsigned char* unprotected_bytes, - uint32_t unprotected_bytes_size) { + size_t unprotected_bytes_size) { int ssl_write_result = SSL_write(ssl, unprotected_bytes, unprotected_bytes_size); if (ssl_write_result < 0) { @@ -354,7 +354,7 @@ static tsi_result do_ssl_write(SSL* ssl, unsigned char* unprotected_bytes, /* Loads an in-memory PEM certificate chain into the SSL context. */ static tsi_result ssl_ctx_use_certificate_chain( SSL_CTX* context, const unsigned char* pem_cert_chain, - uint32_t pem_cert_chain_size) { + size_t pem_cert_chain_size) { tsi_result result = TSI_OK; X509* certificate = NULL; BIO* pem = BIO_new_mem_buf((void*)pem_cert_chain, pem_cert_chain_size); @@ -395,7 +395,7 @@ static tsi_result ssl_ctx_use_certificate_chain( /* Loads an in-memory PEM private key into the SSL context. */ static tsi_result ssl_ctx_use_private_key(SSL_CTX* context, const unsigned char* pem_key, - uint32_t pem_key_size) { + size_t pem_key_size) { tsi_result result = TSI_OK; EVP_PKEY* private_key = NULL; BIO* pem = BIO_new_mem_buf((void*)pem_key, pem_key_size); @@ -419,10 +419,10 @@ static tsi_result ssl_ctx_use_private_key(SSL_CTX* context, /* Loads in-memory PEM verification certs into the SSL context and optionally returns the verification cert names (root_names can be NULL). */ static tsi_result ssl_ctx_load_verification_certs( - SSL_CTX* context, const unsigned char* pem_roots, uint32_t pem_roots_size, + SSL_CTX* context, const unsigned char* pem_roots, size_t pem_roots_size, STACK_OF(X509_NAME) * *root_names) { tsi_result result = TSI_OK; - uint32_t num_roots = 0; + size_t num_roots = 0; X509* root = NULL; X509_NAME* root_name = NULL; BIO* pem = BIO_new_mem_buf((void*)pem_roots, pem_roots_size); @@ -485,8 +485,8 @@ static tsi_result ssl_ctx_load_verification_certs( cipher list and the ephemeral ECDH key. */ static tsi_result populate_ssl_context( SSL_CTX* context, const unsigned char* pem_private_key, - uint32_t pem_private_key_size, const unsigned char* pem_certificate_chain, - uint32_t pem_certificate_chain_size, const char* cipher_list) { + size_t pem_private_key_size, const unsigned char* pem_certificate_chain, + size_t pem_certificate_chain_size, const char* cipher_list) { tsi_result result = TSI_OK; if (pem_certificate_chain != NULL) { result = ssl_ctx_use_certificate_chain(context, pem_certificate_chain, @@ -522,7 +522,7 @@ static tsi_result populate_ssl_context( /* Extracts the CN and the SANs from an X509 cert as a peer object. */ static tsi_result extract_x509_subject_names_from_pem_cert( - const unsigned char* pem_cert, uint32_t pem_cert_size, tsi_peer* peer) { + const unsigned char* pem_cert, size_t pem_cert_size, tsi_peer* peer) { tsi_result result = TSI_OK; X509* cert = NULL; BIO* pem = BIO_new_mem_buf((void*)pem_cert, pem_cert_size); @@ -544,7 +544,7 @@ static tsi_result extract_x509_subject_names_from_pem_cert( static tsi_result build_alpn_protocol_name_list( const unsigned char** alpn_protocols, const unsigned char* alpn_protocols_lengths, uint16_t num_alpn_protocols, - unsigned char** protocol_name_list, uint32_t* protocol_name_list_length) { + unsigned char** protocol_name_list, size_t* protocol_name_list_length) { uint16_t i; unsigned char* current; *protocol_name_list = NULL; @@ -575,15 +575,15 @@ static tsi_result build_alpn_protocol_name_list( static tsi_result ssl_protector_protect( tsi_frame_protector* self, const unsigned char* unprotected_bytes, - uint32_t* unprotected_bytes_size, unsigned char* protected_output_frames, - uint32_t* protected_output_frames_size) { + size_t* unprotected_bytes_size, unsigned char* protected_output_frames, + size_t* protected_output_frames_size) { tsi_ssl_frame_protector* impl = (tsi_ssl_frame_protector*)self; int read_from_ssl; - uint32_t available; + size_t available; tsi_result result = TSI_OK; /* First see if we have some pending data in the SSL BIO. */ - uint32_t pending_in_ssl = BIO_ctrl_pending(impl->from_ssl); + size_t pending_in_ssl = BIO_ctrl_pending(impl->from_ssl); if (pending_in_ssl > 0) { *unprotected_bytes_size = 0; read_from_ssl = BIO_read(impl->from_ssl, protected_output_frames, @@ -627,7 +627,7 @@ static tsi_result ssl_protector_protect( static tsi_result ssl_protector_protect_flush( tsi_frame_protector* self, unsigned char* protected_output_frames, - uint32_t* protected_output_frames_size, uint32_t* still_pending_size) { + size_t* protected_output_frames_size, size_t* still_pending_size) { tsi_result result = TSI_OK; tsi_ssl_frame_protector* impl = (tsi_ssl_frame_protector*)self; int read_from_ssl = 0; @@ -654,12 +654,12 @@ static tsi_result ssl_protector_protect_flush( static tsi_result ssl_protector_unprotect( tsi_frame_protector* self, const unsigned char* protected_frames_bytes, - uint32_t* protected_frames_bytes_size, unsigned char* unprotected_bytes, - uint32_t* unprotected_bytes_size) { + size_t* protected_frames_bytes_size, unsigned char* unprotected_bytes, + size_t* unprotected_bytes_size) { tsi_result result = TSI_OK; int written_into_ssl = 0; - uint32_t output_bytes_size = *unprotected_bytes_size; - uint32_t output_bytes_offset = 0; + size_t output_bytes_size = *unprotected_bytes_size; + size_t output_bytes_offset = 0; tsi_ssl_frame_protector* impl = (tsi_ssl_frame_protector*)self; /* First, try to read remaining data from ssl. */ @@ -708,7 +708,7 @@ static const tsi_frame_protector_vtable frame_protector_vtable = { /* --- tsi_handshaker methods implementation. ---*/ static tsi_result ssl_handshaker_get_bytes_to_send_to_peer( - tsi_handshaker* self, unsigned char* bytes, uint32_t* bytes_size) { + tsi_handshaker* self, unsigned char* bytes, size_t* bytes_size) { tsi_ssl_handshaker* impl = (tsi_ssl_handshaker*)self; int bytes_read_from_ssl = 0; if (bytes == NULL || bytes_size == NULL || *bytes_size == 0 || @@ -725,7 +725,7 @@ static tsi_result ssl_handshaker_get_bytes_to_send_to_peer( return TSI_OK; } } - *bytes_size = (uint32_t)bytes_read_from_ssl; + *bytes_size = (size_t)bytes_read_from_ssl; return BIO_ctrl_pending(impl->from_ssl) == 0 ? TSI_OK : TSI_INCOMPLETE_DATA; } @@ -739,7 +739,7 @@ static tsi_result ssl_handshaker_get_result(tsi_handshaker* self) { } static tsi_result ssl_handshaker_process_bytes_from_peer( - tsi_handshaker* self, const unsigned char* bytes, uint32_t* bytes_size) { + tsi_handshaker* self, const unsigned char* bytes, size_t* bytes_size) { tsi_ssl_handshaker* impl = (tsi_ssl_handshaker*)self; int bytes_written_into_ssl_size = 0; if (bytes == NULL || bytes_size == 0 || *bytes_size > INT_MAX) { @@ -796,7 +796,7 @@ static tsi_result ssl_handshaker_extract_peer(tsi_handshaker* self, } SSL_get0_alpn_selected(impl->ssl, &alpn_selected, &alpn_selected_len); if (alpn_selected != NULL) { - uint32_t i; + size_t i; tsi_peer_property* new_properties = calloc(1, sizeof(tsi_peer_property) * (peer->property_count + 1)); if (new_properties == NULL) return TSI_OUT_OF_RESOURCES; @@ -818,9 +818,9 @@ static tsi_result ssl_handshaker_extract_peer(tsi_handshaker* self, } static tsi_result ssl_handshaker_create_frame_protector( - tsi_handshaker* self, uint32_t* max_output_protected_frame_size, + tsi_handshaker* self, size_t* max_output_protected_frame_size, tsi_frame_protector** protector) { - uint32_t actual_max_output_protected_frame_size = + size_t actual_max_output_protected_frame_size = TSI_SSL_MAX_PROTECTED_FRAME_SIZE_UPPER_BOUND; tsi_ssl_handshaker* impl = (tsi_ssl_handshaker*)self; tsi_ssl_frame_protector* protector_impl = @@ -993,7 +993,7 @@ static void ssl_server_handshaker_factory_destroy( tsi_ssl_handshaker_factory* self) { tsi_ssl_server_handshaker_factory* impl = (tsi_ssl_server_handshaker_factory*)self; - uint32_t i; + size_t i; for (i = 0; i < impl->ssl_context_count; i++) { if (impl->ssl_contexts[i] != NULL) { SSL_CTX_free(impl->ssl_contexts[i]); @@ -1008,7 +1008,7 @@ static void ssl_server_handshaker_factory_destroy( free(impl); } -static int does_entry_match_name(const char* entry, uint32_t entry_length, +static int does_entry_match_name(const char* entry, size_t entry_length, const char* name) { const char* name_subdomain = NULL; if (entry_length == 0) return 0; @@ -1035,7 +1035,7 @@ static int ssl_server_handshaker_factory_servername_callback(SSL* ssl, int* ap, void* arg) { tsi_ssl_server_handshaker_factory* impl = (tsi_ssl_server_handshaker_factory*)arg; - uint32_t i = 0; + size_t i = 0; const char* servername = SSL_get_servername(ssl, TLSEXT_NAMETYPE_host_name); if (servername == NULL || strlen(servername) == 0) { return SSL_TLSEXT_ERR_NOACK; @@ -1080,9 +1080,9 @@ static int server_handshaker_factory_alpn_callback( /* --- tsi_ssl_handshaker_factory constructors. --- */ tsi_result tsi_create_ssl_client_handshaker_factory( - const unsigned char* pem_private_key, uint32_t pem_private_key_size, - const unsigned char* pem_cert_chain, uint32_t pem_cert_chain_size, - const unsigned char* pem_root_certs, uint32_t pem_root_certs_size, + const unsigned char* pem_private_key, size_t pem_private_key_size, + const unsigned char* pem_cert_chain, size_t pem_cert_chain_size, + const unsigned char* pem_root_certs, size_t pem_root_certs_size, const char* cipher_list, const unsigned char** alpn_protocols, const unsigned char* alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory** factory) { @@ -1115,7 +1115,7 @@ tsi_result tsi_create_ssl_client_handshaker_factory( if (num_alpn_protocols != 0) { unsigned char* alpn_protocol_list = NULL; - uint32_t alpn_protocol_list_length = 0; + size_t alpn_protocol_list_length = 0; int ssl_failed; result = build_alpn_protocol_name_list( alpn_protocols, alpn_protocols_lengths, num_alpn_protocols, @@ -1157,17 +1157,17 @@ tsi_result tsi_create_ssl_client_handshaker_factory( tsi_result tsi_create_ssl_server_handshaker_factory( const unsigned char** pem_private_keys, - const uint32_t* pem_private_keys_sizes, + const size_t* pem_private_keys_sizes, const unsigned char** pem_cert_chains, - const uint32_t* pem_cert_chains_sizes, uint32_t key_cert_pair_count, + const size_t* pem_cert_chains_sizes, size_t key_cert_pair_count, const unsigned char* pem_client_root_certs, - uint32_t pem_client_root_certs_size, const char* cipher_list, + size_t pem_client_root_certs_size, const char* cipher_list, const unsigned char** alpn_protocols, const unsigned char* alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory** factory) { tsi_ssl_server_handshaker_factory* impl = NULL; tsi_result result = TSI_OK; - uint32_t i = 0; + size_t i = 0; gpr_once_init(&init_openssl_once, init_openssl); @@ -1255,7 +1255,7 @@ tsi_result tsi_create_ssl_server_handshaker_factory( /* --- tsi_ssl utils. --- */ int tsi_ssl_peer_matches_name(const tsi_peer* peer, const char* name) { - uint32_t i = 0; + size_t i = 0; const tsi_peer_property* property = tsi_peer_get_property_by_name( peer, TSI_X509_SUBJECT_COMMON_NAME_PEER_PROPERTY); if (property == NULL || property->type != TSI_PEER_PROPERTY_TYPE_STRING) { diff --git a/src/core/tsi/ssl_transport_security.h b/src/core/tsi/ssl_transport_security.h index de2b1df7bf6..9c839b9d3a7 100644 --- a/src/core/tsi/ssl_transport_security.h +++ b/src/core/tsi/ssl_transport_security.h @@ -89,9 +89,9 @@ typedef struct tsi_ssl_handshaker_factory tsi_ssl_handshaker_factory; - This method returns TSI_OK on success or TSI_INVALID_PARAMETER in the case where a parameter is invalid. */ tsi_result tsi_create_ssl_client_handshaker_factory( - const unsigned char* pem_private_key, uint32_t pem_private_key_size, - const unsigned char* pem_cert_chain, uint32_t pem_cert_chain_size, - const unsigned char* pem_root_certs, uint32_t pem_root_certs_size, + const unsigned char* pem_private_key, size_t pem_private_key_size, + const unsigned char* pem_cert_chain, size_t pem_cert_chain_size, + const unsigned char* pem_root_certs, size_t pem_root_certs_size, const char* cipher_suites, const unsigned char** alpn_protocols, const unsigned char* alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory** factory); @@ -132,11 +132,11 @@ tsi_result tsi_create_ssl_client_handshaker_factory( where a parameter is invalid. */ tsi_result tsi_create_ssl_server_handshaker_factory( const unsigned char** pem_private_keys, - const uint32_t* pem_private_keys_sizes, + const size_t* pem_private_keys_sizes, const unsigned char** pem_cert_chains, - const uint32_t* pem_cert_chains_sizes, uint32_t key_cert_pair_count, + const size_t* pem_cert_chains_sizes, size_t key_cert_pair_count, const unsigned char* pem_client_root_certs, - uint32_t pem_client_root_certs_size, const char* cipher_suites, + size_t pem_client_root_certs_size, const char* cipher_suites, const unsigned char** alpn_protocols, const unsigned char* alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory** factory); diff --git a/src/core/tsi/transport_security.c b/src/core/tsi/transport_security.c index 5a42f03f5f8..fcf03eeb952 100644 --- a/src/core/tsi/transport_security.c +++ b/src/core/tsi/transport_security.c @@ -40,7 +40,7 @@ char* tsi_strdup(const char* src) { char* dst; - uint32_t len; + size_t len; if (!src) return NULL; len = strlen(src) + 1; dst = malloc(len); @@ -90,9 +90,9 @@ const char* tsi_result_to_string(tsi_result result) { tsi_result tsi_frame_protector_protect(tsi_frame_protector* self, const unsigned char* unprotected_bytes, - uint32_t* unprotected_bytes_size, + size_t* unprotected_bytes_size, unsigned char* protected_output_frames, - uint32_t* protected_output_frames_size) { + size_t* protected_output_frames_size) { if (self == NULL || unprotected_bytes == NULL || unprotected_bytes_size == NULL || protected_output_frames == NULL || protected_output_frames_size == NULL) { @@ -105,7 +105,7 @@ tsi_result tsi_frame_protector_protect(tsi_frame_protector* self, tsi_result tsi_frame_protector_protect_flush( tsi_frame_protector* self, unsigned char* protected_output_frames, - uint32_t* protected_output_frames_size, uint32_t* still_pending_size) { + size_t* protected_output_frames_size, size_t* still_pending_size) { if (self == NULL || protected_output_frames == NULL || protected_output_frames == NULL || still_pending_size == NULL) { return TSI_INVALID_ARGUMENT; @@ -117,8 +117,8 @@ tsi_result tsi_frame_protector_protect_flush( tsi_result tsi_frame_protector_unprotect( tsi_frame_protector* self, const unsigned char* protected_frames_bytes, - uint32_t* protected_frames_bytes_size, unsigned char* unprotected_bytes, - uint32_t* unprotected_bytes_size) { + size_t* protected_frames_bytes_size, unsigned char* unprotected_bytes, + size_t* unprotected_bytes_size) { if (self == NULL || protected_frames_bytes == NULL || protected_frames_bytes_size == NULL || unprotected_bytes == NULL || unprotected_bytes_size == NULL) { @@ -140,7 +140,7 @@ void tsi_frame_protector_destroy(tsi_frame_protector* self) { tsi_result tsi_handshaker_get_bytes_to_send_to_peer(tsi_handshaker* self, unsigned char* bytes, - uint32_t* bytes_size) { + size_t* bytes_size) { if (self == NULL) return TSI_INVALID_ARGUMENT; if (self->frame_protector_created) return TSI_FAILED_PRECONDITION; return self->vtable->get_bytes_to_send_to_peer(self, bytes, bytes_size); @@ -148,7 +148,7 @@ tsi_result tsi_handshaker_get_bytes_to_send_to_peer(tsi_handshaker* self, tsi_result tsi_handshaker_process_bytes_from_peer(tsi_handshaker* self, const unsigned char* bytes, - uint32_t* bytes_size) { + size_t* bytes_size) { if (self == NULL) return TSI_INVALID_ARGUMENT; if (self->frame_protector_created) return TSI_FAILED_PRECONDITION; return self->vtable->process_bytes_from_peer(self, bytes, bytes_size); @@ -171,7 +171,7 @@ tsi_result tsi_handshaker_extract_peer(tsi_handshaker* self, tsi_peer* peer) { } tsi_result tsi_handshaker_create_frame_protector( - tsi_handshaker* self, uint32_t* max_protected_frame_size, + tsi_handshaker* self, size_t* max_protected_frame_size, tsi_frame_protector** protector) { tsi_result result; if (self == NULL || protector == NULL) return TSI_INVALID_ARGUMENT; @@ -196,7 +196,7 @@ void tsi_handshaker_destroy(tsi_handshaker* self) { const tsi_peer_property* tsi_peer_get_property_by_name(const tsi_peer* self, const char* name) { - uint32_t i; + size_t i; if (self == NULL) return NULL; for (i = 0; i < self->property_count; i++) { const tsi_peer_property* property = &self->properties[i]; @@ -218,8 +218,8 @@ tsi_peer_property tsi_init_peer_property(void) { } static void tsi_peer_destroy_list_property(tsi_peer_property* children, - uint32_t child_count) { - uint32_t i; + size_t child_count) { + size_t i; for (i = 0; i < child_count; i++) { tsi_peer_property_destruct(&children[i]); } @@ -292,7 +292,7 @@ tsi_result tsi_construct_real_peer_property(const char* name, double value, } tsi_result tsi_construct_allocated_string_peer_property( - const char* name, uint32_t value_length, tsi_peer_property* property) { + const char* name, size_t value_length, tsi_peer_property* property) { *property = tsi_init_peer_property(); property->type = TSI_PEER_PROPERTY_TYPE_STRING; if (name != NULL) { @@ -318,7 +318,7 @@ tsi_result tsi_construct_string_peer_property_from_cstring( tsi_result tsi_construct_string_peer_property(const char* name, const char* value, - uint32_t value_length, + size_t value_length, tsi_peer_property* property) { tsi_result result = tsi_construct_allocated_string_peer_property( name, value_length, property); @@ -330,7 +330,7 @@ tsi_result tsi_construct_string_peer_property(const char* name, } tsi_result tsi_construct_list_peer_property(const char* name, - uint32_t child_count, + size_t child_count, tsi_peer_property* property) { *property = tsi_init_peer_property(); property->type = TSI_PEER_PROPERTY_TYPE_LIST; @@ -350,7 +350,7 @@ tsi_result tsi_construct_list_peer_property(const char* name, return TSI_OK; } -tsi_result tsi_construct_peer(uint32_t property_count, tsi_peer* peer) { +tsi_result tsi_construct_peer(size_t property_count, tsi_peer* peer) { memset(peer, 0, sizeof(tsi_peer)); if (property_count > 0) { peer->properties = calloc(property_count, sizeof(tsi_peer_property)); diff --git a/src/core/tsi/transport_security.h b/src/core/tsi/transport_security.h index 9a20fa83a5f..3a6ed5290b3 100644 --- a/src/core/tsi/transport_security.h +++ b/src/core/tsi/transport_security.h @@ -45,18 +45,18 @@ extern "C" { typedef struct { tsi_result (*protect)(tsi_frame_protector* self, const unsigned char* unprotected_bytes, - uint32_t* unprotected_bytes_size, + size_t* unprotected_bytes_size, unsigned char* protected_output_frames, - uint32_t* protected_output_frames_size); + size_t* protected_output_frames_size); tsi_result (*protect_flush)(tsi_frame_protector* self, unsigned char* protected_output_frames, - uint32_t* protected_output_frames_size, - uint32_t* still_pending_size); + size_t* protected_output_frames_size, + size_t* still_pending_size); tsi_result (*unprotect)(tsi_frame_protector* self, const unsigned char* protected_frames_bytes, - uint32_t* protected_frames_bytes_size, + size_t* protected_frames_bytes_size, unsigned char* unprotected_bytes, - uint32_t* unprotected_bytes_size); + size_t* unprotected_bytes_size); void (*destroy)(tsi_frame_protector* self); } tsi_frame_protector_vtable; @@ -69,14 +69,14 @@ struct tsi_frame_protector { typedef struct { tsi_result (*get_bytes_to_send_to_peer)(tsi_handshaker* self, unsigned char* bytes, - uint32_t* bytes_size); + size_t* bytes_size); tsi_result (*process_bytes_from_peer)(tsi_handshaker* self, const unsigned char* bytes, - uint32_t* bytes_size); + size_t* bytes_size); tsi_result (*get_result)(tsi_handshaker* self); tsi_result (*extract_peer)(tsi_handshaker* self, tsi_peer* peer); tsi_result (*create_frame_protector)(tsi_handshaker* self, - uint32_t* max_protected_frame_size, + size_t* max_protected_frame_size, tsi_frame_protector** protector); void (*destroy)(tsi_handshaker* self); } tsi_handshaker_vtable; @@ -87,7 +87,7 @@ struct tsi_handshaker { }; /* Peer and property construction/destruction functions. */ -tsi_result tsi_construct_peer(uint32_t property_count, tsi_peer* peer); +tsi_result tsi_construct_peer(size_t property_count, tsi_peer* peer); tsi_peer_property tsi_init_peer_property(void); void tsi_peer_property_destruct(tsi_peer_property* property); tsi_result tsi_construct_signed_integer_peer_property( @@ -98,14 +98,14 @@ tsi_result tsi_construct_real_peer_property(const char* name, double value, tsi_peer_property* property); tsi_result tsi_construct_string_peer_property(const char* name, const char* value, - uint32_t value_length, + size_t value_length, tsi_peer_property* property); tsi_result tsi_construct_allocated_string_peer_property( - const char* name, uint32_t value_length, tsi_peer_property* property); + const char* name, size_t value_length, tsi_peer_property* property); tsi_result tsi_construct_string_peer_property_from_cstring( const char* name, const char* value, tsi_peer_property* property); tsi_result tsi_construct_list_peer_property(const char* name, - uint32_t child_count, + size_t child_count, tsi_peer_property* property); /* Utils. */ diff --git a/src/core/tsi/transport_security_interface.h b/src/core/tsi/transport_security_interface.h index 76746a4b207..d180e90799a 100644 --- a/src/core/tsi/transport_security_interface.h +++ b/src/core/tsi/transport_security_interface.h @@ -35,6 +35,7 @@ #define __TRANSPORT_SECURITY_INTERFACE_H_ #include +#include #ifdef __cplusplus extern "C" { @@ -89,11 +90,11 @@ typedef struct tsi_frame_protector tsi_frame_protector; ------------------------------------------------------------------------ unsigned char protected_buffer[4096]; - uint32_t protected_buffer_size = sizeof(protected_buffer); + size_t protected_buffer_size = sizeof(protected_buffer); tsi_result result = TSI_OK; while (message_size > 0) { - uint32_t protected_buffer_size_to_send = protected_buffer_size; - uint32_t processed_message_size = message_size; + size_t protected_buffer_size_to_send = protected_buffer_size; + size_t processed_message_size = message_size; result = tsi_frame_protector_protect(protector, message_bytes, &processed_message_size, @@ -106,7 +107,7 @@ typedef struct tsi_frame_protector tsi_frame_protector; // Don't forget to flush. if (message_size == 0) { - uint32_t still_pending_size; + size_t still_pending_size; do { protected_buffer_size_to_send = protected_buffer_size; result = tsi_frame_protector_protect_flush( @@ -122,9 +123,9 @@ typedef struct tsi_frame_protector tsi_frame_protector; ------------------------------------------------------------------------ */ tsi_result tsi_frame_protector_protect(tsi_frame_protector* self, const unsigned char* unprotected_bytes, - uint32_t* unprotected_bytes_size, + size_t* unprotected_bytes_size, unsigned char* protected_output_frames, - uint32_t* protected_output_frames_size); + size_t* protected_output_frames_size); /* Indicates that we need to flush the bytes buffered in the protector and get the resulting frame. @@ -136,7 +137,7 @@ tsi_result tsi_frame_protector_protect(tsi_frame_protector* self, that still need to be flushed from the protector.*/ tsi_result tsi_frame_protector_protect_flush( tsi_frame_protector* self, unsigned char* protected_output_frames, - uint32_t* protected_output_frames_size, uint32_t* still_pending_size); + size_t* protected_output_frames_size, size_t* still_pending_size); /* Outputs unprotected bytes. - protected_frames_bytes is an input only parameter and points to the @@ -160,8 +161,8 @@ tsi_result tsi_frame_protector_protect_flush( protected_frames_size will be set to 0. */ tsi_result tsi_frame_protector_unprotect( tsi_frame_protector* self, const unsigned char* protected_frames_bytes, - uint32_t* protected_frames_bytes_size, unsigned char* unprotected_bytes, - uint32_t* unprotected_bytes_size); + size_t* protected_frames_bytes_size, unsigned char* unprotected_bytes, + size_t* unprotected_bytes_size); /* Destroys the tsi_frame_protector object. */ void tsi_frame_protector_destroy(tsi_frame_protector* self); @@ -194,18 +195,18 @@ typedef struct tsi_peer_property { double real; struct { char* data; - uint32_t length; + size_t length; } string; struct { struct tsi_peer_property* children; - uint32_t child_count; + size_t child_count; } list; } value; } tsi_peer_property; typedef struct { tsi_peer_property* properties; - uint32_t property_count; + size_t property_count; } tsi_peer; /* Gets the first property with the specified name. Iteration over the @@ -227,12 +228,12 @@ void tsi_peer_destruct(tsi_peer* self); ------------------------------------------------------------------------ tsi_result result = TSI_OK; unsigned char buf[4096]; - uint32_t buf_offset; - uint32_t buf_size; + size_t buf_offset; + size_t buf_size; while (1) { // See if we need to send some bytes to the peer. do { - uint32_t buf_size_to_send = sizeof(buf); + size_t buf_size_to_send = sizeof(buf); result = tsi_handshaker_get_bytes_to_send_to_peer(handshaker, buf, &buf_size_to_send); if (buf_size_to_send > 0) send_bytes_to_peer(buf, buf_size_to_send); @@ -250,7 +251,7 @@ void tsi_peer_destruct(tsi_peer* self); // Process the bytes from the peer. We have to be careful as these bytes // may contain non-handshake data (protected data). If this is the case, // we will exit from the loop with buf_size > 0. - uint32_t consumed_by_handshaker = buf_size; + size_t consumed_by_handshaker = buf_size; result = tsi_handshaker_process_bytes_from_peer( handshaker, buf, &consumed_by_handshaker); buf_size -= consumed_by_handshaker; @@ -300,7 +301,7 @@ typedef struct tsi_handshaker tsi_handshaker; error in the handshake, another specific error code is returned. */ tsi_result tsi_handshaker_get_bytes_to_send_to_peer(tsi_handshaker* self, unsigned char* bytes, - uint32_t* bytes_size); + size_t* bytes_size); /* Processes bytes received from the peer. - bytes is the buffer containing the data. @@ -313,7 +314,7 @@ tsi_result tsi_handshaker_get_bytes_to_send_to_peer(tsi_handshaker* self, returned. */ tsi_result tsi_handshaker_process_bytes_from_peer(tsi_handshaker* self, const unsigned char* bytes, - uint32_t* bytes_size); + size_t* bytes_size); /* Gets the result of the handshaker. Returns TSI_OK if the hanshake completed successfully and there has been no @@ -349,7 +350,7 @@ tsi_result tsi_handshaker_extract_peer(tsi_handshaker* self, tsi_peer* peer); the handshaker is not in a fatal error state. The caller is responsible for destroying the protector. */ tsi_result tsi_handshaker_create_frame_protector( - tsi_handshaker* self, uint32_t* max_output_protected_frame_size, + tsi_handshaker* self, size_t* max_output_protected_frame_size, tsi_frame_protector** protector); /* This method releases the tsi_handshaker object. After this method is called, diff --git a/test/core/security/secure_endpoint_test.c b/test/core/security/secure_endpoint_test.c index 2e23b6a2cdf..0db15d48b45 100644 --- a/test/core/security/secure_endpoint_test.c +++ b/test/core/security/secure_endpoint_test.c @@ -61,7 +61,7 @@ static grpc_endpoint_test_fixture secure_endpoint_create_fixture_tcp_socketpair( } else { int i; tsi_result result; - gpr_uint32 still_pending_size; + size_t still_pending_size; size_t total_buffer_size = 8192; size_t buffer_size = total_buffer_size; gpr_uint8 *encrypted_buffer = gpr_malloc(buffer_size); @@ -72,8 +72,8 @@ static grpc_endpoint_test_fixture secure_endpoint_create_fixture_tcp_socketpair( gpr_uint8 *message_bytes = GPR_SLICE_START_PTR(plain); size_t message_size = GPR_SLICE_LENGTH(plain); while (message_size > 0) { - gpr_uint32 protected_buffer_size_to_send = buffer_size; - gpr_uint32 processed_message_size = message_size; + size_t protected_buffer_size_to_send = buffer_size; + size_t processed_message_size = message_size; result = tsi_frame_protector_protect( fake_write_protector, message_bytes, &processed_message_size, cur, &protected_buffer_size_to_send); @@ -88,7 +88,7 @@ static grpc_endpoint_test_fixture secure_endpoint_create_fixture_tcp_socketpair( gpr_slice_unref(plain); } do { - gpr_uint32 protected_buffer_size_to_send = buffer_size; + size_t protected_buffer_size_to_send = buffer_size; result = tsi_frame_protector_protect_flush(fake_write_protector, cur, &protected_buffer_size_to_send, &still_pending_size); From 1cc11dbf58edca1e049c5f518deeaf6332b7c633 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 15 Jan 2015 22:50:50 -0800 Subject: [PATCH 030/121] Fix run_test.py so it runs the first time --- tools/run_tests/run_tests.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 8c4c998d7be..e8c121456a2 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -5,6 +5,7 @@ import argparse import glob import itertools import multiprocessing +import os import sys import time @@ -117,9 +118,10 @@ class TestCache(object): with open('.run_tests_cache', 'w') as f: f.write(simplejson.dumps(self.dump())) - def load(self): - with open('.run_tests_cache') as f: - self.parse(simplejson.loads(f.read())) + def maybe_load(self): + if os.path.exists('.run_tests_cache'): + with open('.run_tests_cache') as f: + self.parse(simplejson.loads(f.read())) def _build_and_run(check_cancelled, newline_on_success, cache): @@ -158,7 +160,7 @@ test_cache = (None if runs_per_test != 1 or 'valgrind' in build_configs else TestCache()) if test_cache: - test_cache.load() + test_cache.maybe_load() if forever: success = True From e2860c5bdb98a8574673804628db6ca4dfe7c26b Mon Sep 17 00:00:00 2001 From: Tim Emiola Date: Fri, 16 Jan 2015 02:58:41 -0800 Subject: [PATCH 031/121] Adds rubocop and fixes most style violations it detected - add rubocop as a dev dependency - fixed many style violations it reported, often using --auto-correct - add a rubocop config - .rubocop.yml shows the exceptions - .rubocopy_todo.yml tracks outstanding style issues - adds a rake task to allow rubocop styling checks to be automated --- src/ruby/.rubocop.yml | 10 + src/ruby/.rubocop_todo.yml | 52 + src/ruby/Rakefile | 32 +- src/ruby/bin/interop/interop_client.rb | 57 +- src/ruby/bin/interop/interop_server.rb | 35 +- src/ruby/bin/math_client.rb | 25 +- src/ruby/bin/math_server.rb | 44 +- src/ruby/bin/noproto_client.rb | 12 +- src/ruby/bin/noproto_server.rb | 16 +- src/ruby/ext/grpc/extconf.rb | 26 +- src/ruby/grpc.gemspec | 29 +- src/ruby/lib/grpc/beefcake.rb | 19 +- src/ruby/lib/grpc/core/event.rb | 7 +- src/ruby/lib/grpc/core/time_consts.rb | 18 +- src/ruby/lib/grpc/errors.rb | 9 +- src/ruby/lib/grpc/generic/active_call.rb | 919 +++++++++--------- src/ruby/lib/grpc/generic/bidi_call.rb | 337 +++---- src/ruby/lib/grpc/generic/client_stub.rb | 706 +++++++------- src/ruby/lib/grpc/generic/rpc_desc.rb | 131 ++- src/ruby/lib/grpc/generic/rpc_server.rb | 648 ++++++------ src/ruby/lib/grpc/generic/service.rb | 326 +++---- src/ruby/lib/grpc/version.rb | 1 + src/ruby/spec/alloc_spec.rb | 2 - src/ruby/spec/byte_buffer_spec.rb | 4 - src/ruby/spec/call_spec.rb | 60 +- src/ruby/spec/channel_spec.rb | 37 +- src/ruby/spec/client_server_spec.rb | 82 +- src/ruby/spec/completion_queue_spec.rb | 5 - src/ruby/spec/credentials_spec.rb | 14 +- src/ruby/spec/event_spec.rb | 22 +- src/ruby/spec/generic/active_call_spec.rb | 48 +- src/ruby/spec/generic/client_stub_spec.rb | 143 ++- src/ruby/spec/generic/rpc_desc_spec.rb | 117 +-- src/ruby/spec/generic/rpc_server_pool_spec.rb | 35 +- src/ruby/spec/generic/rpc_server_spec.rb | 139 ++- src/ruby/spec/generic/service_spec.rb | 58 +- src/ruby/spec/metadata_spec.rb | 2 - src/ruby/spec/port_picker.rb | 6 +- src/ruby/spec/server_credentials_spec.rb | 13 +- src/ruby/spec/server_spec.rb | 50 +- src/ruby/spec/time_consts_spec.rb | 4 - tools/gce_setup/grpc_docker.sh | 4 +- 42 files changed, 2083 insertions(+), 2221 deletions(-) create mode 100644 src/ruby/.rubocop.yml create mode 100644 src/ruby/.rubocop_todo.yml diff --git a/src/ruby/.rubocop.yml b/src/ruby/.rubocop.yml new file mode 100644 index 00000000000..47e382afa70 --- /dev/null +++ b/src/ruby/.rubocop.yml @@ -0,0 +1,10 @@ +# This is the configuration used to check the rubocop source code. + +inherit_from: .rubocop_todo.yml + +AllCops: + Exclude: + - 'bin/apis/**/*' + - 'bin/interop/test/**/*' + - 'bin/math.rb' + - 'bin/math_services.rb' diff --git a/src/ruby/.rubocop_todo.yml b/src/ruby/.rubocop_todo.yml new file mode 100644 index 00000000000..d5bb55e5a84 --- /dev/null +++ b/src/ruby/.rubocop_todo.yml @@ -0,0 +1,52 @@ +# This configuration was generated by `rubocop --auto-gen-config` +# on 2015-01-16 02:30:04 -0800 using RuboCop version 0.28.0. +# The point is for the user to remove these configuration records +# one by one as the offenses are removed from the code base. +# Note that changes in the inspected code, or installation of new +# versions of RuboCop, may require this file to be generated again. + +# Offense count: 3 +# Lint/UselessAssignment: +# Enabled: false + +# Offense count: 33 +Metrics/AbcSize: + Max: 39 + +# Offense count: 3 +# Configuration parameters: CountComments. +Metrics/ClassLength: + Max: 231 + +# Offense count: 2 +Metrics/CyclomaticComplexity: + Max: 8 + +# Offense count: 36 +# Configuration parameters: CountComments. +Metrics/MethodLength: + Max: 37 + +# Offense count: 8 +# Configuration parameters: CountKeywordArgs. +Metrics/ParameterLists: + Max: 8 + +# Offense count: 2 +Metrics/PerceivedComplexity: + Max: 10 + +# Offense count: 7 +# Configuration parameters: AllowedVariables. +Style/GlobalVars: + Enabled: false + +# Offense count: 1 +# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles. +Style/Next: + Enabled: false + +# Offense count: 2 +# Configuration parameters: Methods. +Style/SingleLineBlockParams: + Enabled: false diff --git a/src/ruby/Rakefile b/src/ruby/Rakefile index 0a0fbceccac..6ba9a97c893 100755 --- a/src/ruby/Rakefile +++ b/src/ruby/Rakefile @@ -1,46 +1,44 @@ # -*- ruby -*- require 'rake/extensiontask' require 'rspec/core/rake_task' +require 'rubocop/rake_task' +desc 'Run Rubocop to check for style violations' +RuboCop::RakeTask.new Rake::ExtensionTask.new 'grpc' do |ext| ext.lib_dir = File.join('lib', 'grpc') end SPEC_SUITES = [ - { :id => :wrapper, :title => 'wrapper layer', :files => %w(spec/*.rb) }, - { :id => :idiomatic, :title => 'idiomatic layer', :dir => %w(spec/generic), - :tag => '~bidi' }, - { :id => :bidi, :title => 'bidi tests', :dir => %w(spec/generic), - :tag => 'bidi' } + { id: :wrapper, title: 'wrapper layer', files: %w(spec/*.rb) }, + { id: :idiomatic, title: 'idiomatic layer', dir: %w(spec/generic), + tag: '~bidi' }, + { id: :bidi, title: 'bidi tests', dir: %w(spec/generic), + tag: 'bidi' } ] -desc "Run all RSpec tests" +desc 'Run all RSpec tests' namespace :spec do namespace :suite do SPEC_SUITES.each do |suite| desc "Run all specs in #{suite[:title]} spec suite" RSpec::Core::RakeTask.new(suite[:id]) do |t| spec_files = [] - if suite[:files] - suite[:files].each { |f| spec_files += Dir[f] } - end + suite[:files].each { |f| spec_files += Dir[f] } if suite[:files] if suite[:dirs] suite[:dirs].each { |f| spec_files += Dir["#{f}/**/*_spec.rb"] } end t.pattern = spec_files - - if suite[:tag] - t.rspec_opts = "--tag #{suite[:tag]}" - end + t.rspec_opts = "--tag #{suite[:tag]}" if suite[:tag] end end end end -task :default => "spec:suite:idiomatic" # this should be spec:suite:bidi -task "spec:suite:wrapper" => :compile -task "spec:suite:idiomatic" => "spec:suite:wrapper" -task "spec:suite:bidi" => "spec:suite:idiomatic" +task default: 'spec:suite:idiomatic' # this should be spec:suite:bidi +task 'spec:suite:wrapper' => :compile +task 'spec:suite:idiomatic' => 'spec:suite:wrapper' +task 'spec:suite:bidi' => 'spec:suite:idiomatic' diff --git a/src/ruby/bin/interop/interop_client.rb b/src/ruby/bin/interop/interop_client.rb index 718b0fdb83e..0ce10d9e30b 100755 --- a/src/ruby/bin/interop/interop_client.rb +++ b/src/ruby/bin/interop/interop_client.rb @@ -65,7 +65,7 @@ end # creates a Credentials from the test certificates. def test_creds certs = load_test_certs - creds = GRPC::Core::Credentials.new(certs[0]) + GRPC::Core::Credentials.new(certs[0]) end # creates a test stub that accesses host:port securely. @@ -73,15 +73,15 @@ def create_stub(host, port) address = "#{host}:#{port}" stub_opts = { :creds => test_creds, - GRPC::Core::Channel::SSL_TARGET => 'foo.test.google.com', + GRPC::Core::Channel::SSL_TARGET => 'foo.test.google.com' } logger.info("... connecting securely to #{address}") - stub = Grpc::Testing::TestService::Stub.new(address, **stub_opts) + Grpc::Testing::TestService::Stub.new(address, **stub_opts) end # produces a string of null chars (\0) of length l. def nulls(l) - raise 'requires #{l} to be +ve' if l < 0 + fail 'requires #{l} to be +ve' if l < 0 [].pack('x' * l).force_encoding('utf-8') end @@ -102,13 +102,13 @@ class PingPongPlayer def each_item return enum_for(:each_item) unless block_given? - req_cls, p_cls= StreamingOutputCallRequest, ResponseParameters # short + req_cls, p_cls = StreamingOutputCallRequest, ResponseParameters # short count = 0 @msg_sizes.each do |m| req_size, resp_size = m - req = req_cls.new(:payload => Payload.new(:body => nulls(req_size)), - :response_type => COMPRESSABLE, - :response_parameters => [p_cls.new(:size => resp_size)]) + req = req_cls.new(payload: Payload.new(body: nulls(req_size)), + response_type: COMPRESSABLE, + response_parameters: [p_cls.new(size: resp_size)]) yield req resp = @queue.pop assert_equal(PayloadType.lookup(COMPRESSABLE), resp.payload.type, @@ -148,11 +148,11 @@ class NamedTests # ruby server # FAILED def large_unary - req_size, wanted_response_size = 271828, 314159 - payload = Payload.new(:type => COMPRESSABLE, :body => nulls(req_size)) - req = SimpleRequest.new(:response_type => COMPRESSABLE, - :response_size => wanted_response_size, - :payload => payload) + req_size, wanted_response_size = 271_828, 314_159 + payload = Payload.new(type: COMPRESSABLE, body: nulls(req_size)) + req = SimpleRequest.new(response_type: COMPRESSABLE, + response_size: wanted_response_size, + payload: payload) resp = @stub.unary_call(req) assert_equal(wanted_response_size, resp.payload.body.length, 'large_unary: payload had the wrong length') @@ -166,27 +166,27 @@ class NamedTests # ruby server # FAILED def client_streaming - msg_sizes = [27182, 8, 1828, 45904] - wanted_aggregate_size = 74922 + msg_sizes = [27_182, 8, 1828, 45_904] + wanted_aggregate_size = 74_922 reqs = msg_sizes.map do |x| - req = Payload.new(:body => nulls(x)) - StreamingInputCallRequest.new(:payload => req) + req = Payload.new(body: nulls(x)) + StreamingInputCallRequest.new(payload: req) end resp = @stub.streaming_input_call(reqs) assert_equal(wanted_aggregate_size, resp.aggregated_payload_size, 'client_streaming: aggregate payload size is incorrect') p 'OK: client_streaming' - end + end # TESTING: # PASSED # ruby server # FAILED def server_streaming - msg_sizes = [31415, 9, 2653, 58979] - response_spec = msg_sizes.map { |s| ResponseParameters.new(:size => s) } - req = StreamingOutputCallRequest.new(:response_type => COMPRESSABLE, - :response_parameters => response_spec) + msg_sizes = [31_415, 9, 2653, 58_979] + response_spec = msg_sizes.map { |s| ResponseParameters.new(size: s) } + req = StreamingOutputCallRequest.new(response_type: COMPRESSABLE, + response_parameters: response_spec) resps = @stub.streaming_output_call(req) resps.each_with_index do |r, i| assert i < msg_sizes.length, 'too many responses' @@ -203,13 +203,12 @@ class NamedTests # ruby server # FAILED def ping_pong - msg_sizes = [[27182, 31415], [8, 9], [1828, 2653], [45904, 58979]] + msg_sizes = [[27_182, 31_415], [8, 9], [1828, 2653], [45_904, 58_979]] ppp = PingPongPlayer.new(msg_sizes) resps = @stub.full_duplex_call(ppp.each_item) resps.each { |r| ppp.queue.push(r) } p 'OK: ping_pong' end - end # validates the the command line options, returning them as a Hash. @@ -217,7 +216,7 @@ def parse_options options = { 'server_host' => nil, 'server_port' => nil, - 'test_case' => nil, + 'test_case' => nil } OptionParser.new do |opts| opts.banner = 'Usage: --server_host --server_port server_port' @@ -228,17 +227,17 @@ def parse_options options['server_port'] = v end # instance_methods(false) gives only the methods defined in that class - test_cases = NamedTests.instance_methods(false).map { |t| t.to_s } + test_cases = NamedTests.instance_methods(false).map(&:to_s) test_case_list = test_cases.join(',') - opts.on("--test_case CODE", test_cases, {}, "select a test_case", + opts.on('--test_case CODE', test_cases, {}, 'select a test_case', " (#{test_case_list})") do |v| options['test_case'] = v end end.parse! - ['server_host', 'server_port', 'test_case'].each do |arg| + %w(server_host, server_port, test_case).each do |arg| if options[arg].nil? - raise OptionParser::MissingArgument.new("please specify --#{arg}") + fail(OptionParser::MissingArgument, "please specify --#{arg}") end end options diff --git a/src/ruby/bin/interop/interop_server.rb b/src/ruby/bin/interop/interop_server.rb index 63071f3ec2e..9273dcdf911 100755 --- a/src/ruby/bin/interop/interop_server.rb +++ b/src/ruby/bin/interop/interop_server.rb @@ -62,12 +62,12 @@ end # creates a ServerCredentials from the test certificates. def test_server_creds certs = load_test_certs - server_creds = GRPC::Core::ServerCredentials.new(nil, certs[1], certs[2]) + GRPC::Core::ServerCredentials.new(nil, certs[1], certs[2]) end # produces a string of null chars (\0) of length l. def nulls(l) - raise 'requires #{l} to be +ve' if l < 0 + fail 'requires #{l} to be +ve' if l < 0 [].pack('x' * l).force_encoding('utf-8') end @@ -86,7 +86,7 @@ class EnumeratorQueue loop do r = @q.pop break if r.equal?(@sentinel) - raise r if r.is_a?Exception + fail r if r.is_a? Exception yield r end end @@ -98,27 +98,27 @@ class TestTarget < Grpc::Testing::TestService::Service include Grpc::Testing include Grpc::Testing::PayloadType - def empty_call(empty, call) + def empty_call(_empty, _call) Empty.new end - def unary_call(simple_req, call) + def unary_call(simple_req, _call) req_size = simple_req.response_size - SimpleResponse.new(:payload => Payload.new(:type => COMPRESSABLE, - :body => nulls(req_size))) + SimpleResponse.new(payload: Payload.new(type: COMPRESSABLE, + body: nulls(req_size))) end def streaming_input_call(call) sizes = call.each_remote_read.map { |x| x.payload.body.length } - sum = sizes.inject { |sum,x| sum + x } - StreamingInputCallResponse.new(:aggregated_payload_size => sum) + sum = sizes.inject { |s, x| s + x } + StreamingInputCallResponse.new(aggregated_payload_size: sum) end - def streaming_output_call(req, call) + def streaming_output_call(req, _call) cls = StreamingOutputCallResponse req.response_parameters.map do |p| - cls.new(:payload => Payload.new(:type => req.response_type, - :body => nulls(p.size))) + cls.new(payload: Payload.new(type: req.response_type, + body: nulls(p.size))) end end @@ -126,13 +126,13 @@ class TestTarget < Grpc::Testing::TestService::Service # reqs is a lazy Enumerator of the requests sent by the client. q = EnumeratorQueue.new(self) cls = StreamingOutputCallResponse - t = Thread.new do + Thread.new do begin reqs.each do |req| logger.info("read #{req.inspect}") resp_size = req.response_parameters[0].size - resp = cls.new(:payload => Payload.new(:type => req.response_type, - :body => nulls(resp_size))) + resp = cls.new(payload: Payload.new(type: req.response_type, + body: nulls(resp_size))) q.push(resp) end logger.info('finished reads') @@ -149,13 +149,12 @@ class TestTarget < Grpc::Testing::TestService::Service # currently used in any tests full_duplex_call(reqs) end - end # validates the the command line options, returning them as a Hash. def parse_options options = { - 'port' => nil, + 'port' => nil } OptionParser.new do |opts| opts.banner = 'Usage: --port port' @@ -165,7 +164,7 @@ def parse_options end.parse! if options['port'].nil? - raise OptionParser::MissingArgument.new("please specify --port") + fail(OptionParser::MissingArgument, 'please specify --port') end options end diff --git a/src/ruby/bin/math_client.rb b/src/ruby/bin/math_client.rb index 4df333d085d..195406c8b36 100755 --- a/src/ruby/bin/math_client.rb +++ b/src/ruby/bin/math_client.rb @@ -29,7 +29,6 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # Sample app that accesses a Calc service running on a Ruby gRPC server and # helps validate RpcServer as a gRPC server using proto2 serialization. # @@ -49,9 +48,9 @@ include GRPC::Core::TimeConsts def do_div(stub) logger.info('request_response') logger.info('----------------') - req = Math::DivArgs.new(:dividend => 7, :divisor => 3) + req = Math::DivArgs.new(dividend: 7, divisor: 3) logger.info("div(7/3): req=#{req.inspect}") - resp = stub.div(req, deadline=INFINITE_FUTURE) + resp = stub.div(req, INFINITE_FUTURE) logger.info("Answer: #{resp.inspect}") logger.info('----------------') end @@ -60,7 +59,7 @@ def do_sum(stub) # to make client streaming requests, pass an enumerable of the inputs logger.info('client_streamer') logger.info('---------------') - reqs = [1, 2, 3, 4, 5].map { |x| Math::Num.new(:num => x) } + reqs = [1, 2, 3, 4, 5].map { |x| Math::Num.new(num: x) } logger.info("sum(1, 2, 3, 4, 5): reqs=#{reqs.inspect}") resp = stub.sum(reqs) # reqs.is_a?(Enumerable) logger.info("Answer: #{resp.inspect}") @@ -70,9 +69,9 @@ end def do_fib(stub) logger.info('server_streamer') logger.info('----------------') - req = Math::FibArgs.new(:limit => 11) + req = Math::FibArgs.new(limit: 11) logger.info("fib(11): req=#{req.inspect}") - resp = stub.fib(req, deadline=INFINITE_FUTURE) + resp = stub.fib(req, INFINITE_FUTURE) resp.each do |r| logger.info("Answer: #{r.inspect}") end @@ -83,11 +82,11 @@ def do_div_many(stub) logger.info('bidi_streamer') logger.info('-------------') reqs = [] - reqs << Math::DivArgs.new(:dividend => 7, :divisor => 3) - reqs << Math::DivArgs.new(:dividend => 5, :divisor => 2) - reqs << Math::DivArgs.new(:dividend => 7, :divisor => 2) + reqs << Math::DivArgs.new(dividend: 7, divisor: 3) + reqs << Math::Di5AvArgs.new(dividend: 5, divisor: 2) + reqs << Math::DivArgs.new(dividend: 7, divisor: 2) logger.info("div(7/3), div(5/2), div(7/2): reqs=#{reqs.inspect}") - resp = stub.div_many(reqs, deadline=10) + resp = stub.div_many(reqs, 10) resp.each do |r| logger.info("Answer: #{r.inspect}") end @@ -103,7 +102,7 @@ end def test_creds certs = load_test_certs - creds = GRPC::Core::Credentials.new(certs[0]) + GRPC::Core::Credentials.new(certs[0]) end def main @@ -117,7 +116,7 @@ def main options['host'] = v end opts.on('-s', '--secure', 'access using test creds') do |v| - options['secure'] = true + options['secure'] = v end end.parse! @@ -128,7 +127,7 @@ def main if options['secure'] stub_opts = { :creds => test_creds, - GRPC::Core::Channel::SSL_TARGET => 'foo.test.google.com', + GRPC::Core::Channel::SSL_TARGET => 'foo.test.google.com' } p stub_opts p options['host'] diff --git a/src/ruby/bin/math_server.rb b/src/ruby/bin/math_server.rb index 0e47f71e668..55ee1d33141 100755 --- a/src/ruby/bin/math_server.rb +++ b/src/ruby/bin/math_server.rb @@ -46,9 +46,8 @@ require 'optparse' # Holds state for a fibonacci series class Fibber - def initialize(limit) - raise "bad limit: got #{limit}, want limit > 0" if limit < 1 + fail "bad limit: got #{limit}, want limit > 0" if limit < 1 @limit = limit end @@ -57,14 +56,14 @@ class Fibber idx, current, previous = 0, 1, 1 until idx == @limit if idx == 0 || idx == 1 - yield Math::Num.new(:num => 1) + yield Math::Num.new(num: 1) idx += 1 next end tmp = current current = previous + current previous = tmp - yield Math::Num.new(:num => current) + yield Math::Num.new(num: current) idx += 1 end end @@ -85,43 +84,41 @@ class EnumeratorQueue loop do r = @q.pop break if r.equal?(@sentinel) - raise r if r.is_a?Exception + fail r if r.is_a? Exception yield r end end - end # The Math::Math:: module occurs because the service has the same name as its # package. That practice should be avoided by defining real services. class Calculator < Math::Math::Service - - def div(div_args, call) + def div(div_args, _call) if div_args.divisor == 0 # To send non-OK status handlers raise a StatusError with the code and # and detail they want sent as a Status. - raise GRPC::StatusError.new(GRPC::Status::INVALID_ARGUMENT, - 'divisor cannot be 0') + fail GRPC::StatusError.new(GRPC::Status::INVALID_ARGUMENT, + 'divisor cannot be 0') end - Math::DivReply.new(:quotient => div_args.dividend/div_args.divisor, - :remainder => div_args.dividend % div_args.divisor) + Math::DivReply.new(quotient: div_args.dividend / div_args.divisor, + remainder: div_args.dividend % div_args.divisor) end def sum(call) # the requests are accesible as the Enumerator call#each_request - nums = call.each_remote_read.collect { |x| x.num } - sum = nums.inject { |sum,x| sum + x } - Math::Num.new(:num => sum) + nums = call.each_remote_read.collect(&:num) + sum = nums.inject { |s, x| s + x } + Math::Num.new(num: sum) end - def fib(fib_args, call) + def fib(fib_args, _call) if fib_args.limit < 1 - raise StatusError.new(Status::INVALID_ARGUMENT, 'limit must be >= 0') + fail StatusError.new(Status::INVALID_ARGUMENT, 'limit must be >= 0') end # return an Enumerator of Nums - Fibber.new(fib_args.limit).generator() + Fibber.new(fib_args.limit).generator # just return the generator, GRPC::GenericServer sends each actual response end @@ -132,10 +129,10 @@ class Calculator < Math::Math::Service begin requests.each do |req| logger.info("read #{req.inspect}") - resp = Math::DivReply.new(:quotient => req.dividend/req.divisor, - :remainder => req.dividend % req.divisor) + resp = Math::DivReply.new(quotient: req.dividend / req.divisor, + remainder: req.dividend % req.divisor) q.push(resp) - Thread::pass # let the internal Bidi threads run + Thread.pass # let the internal Bidi threads run end logger.info('finished reads') q.push(self) @@ -147,7 +144,6 @@ class Calculator < Math::Math::Service t.priority = -2 # hint that the div_many thread should not be favoured q.each_item end - end def load_test_certs @@ -159,7 +155,7 @@ end def test_server_creds certs = load_test_certs - server_creds = GRPC::Core::ServerCredentials.new(nil, certs[1], certs[2]) + GRPC::Core::ServerCredentials.new(nil, certs[1], certs[2]) end def main @@ -173,7 +169,7 @@ def main options['host'] = v end opts.on('-s', '--secure', 'access using test creds') do |v| - options['secure'] = true + options['secure'] = v end end.parse! diff --git a/src/ruby/bin/noproto_client.rb b/src/ruby/bin/noproto_client.rb index 34bdf545ee9..74bdfbb93a7 100755 --- a/src/ruby/bin/noproto_client.rb +++ b/src/ruby/bin/noproto_client.rb @@ -40,16 +40,18 @@ $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir) require 'grpc' require 'optparse' +# a simple non-protobuf message class. class NoProtoMsg - def self.marshal(o) + def self.marshal(_o) '' end - def self.unmarshal(o) + def self.unmarshal(_o) NoProtoMsg.new end end +# service the uses the non-protobuf message class. class NoProtoService include GRPC::GenericService rpc :AnRPC, NoProtoMsg, NoProtoMsg @@ -66,7 +68,7 @@ end def test_creds certs = load_test_certs - creds = GRPC::Core::Credentials.new(certs[0]) + GRPC::Core::Credentials.new(certs[0]) end def main @@ -80,14 +82,14 @@ def main options['host'] = v end opts.on('-s', '--secure', 'access using test creds') do |v| - options['secure'] = true + options['secure'] = v end end.parse! if options['secure'] stub_opts = { :creds => test_creds, - GRPC::Core::Channel::SSL_TARGET => 'foo.test.google.com', + GRPC::Core::Channel::SSL_TARGET => 'foo.test.google.com' } p stub_opts p options['host'] diff --git a/src/ruby/bin/noproto_server.rb b/src/ruby/bin/noproto_server.rb index 1bdc192f023..e34075c1f0c 100755 --- a/src/ruby/bin/noproto_server.rb +++ b/src/ruby/bin/noproto_server.rb @@ -40,26 +40,29 @@ $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir) require 'grpc' require 'optparse' +# a simple non-protobuf message class. class NoProtoMsg - def self.marshal(o) + def self.marshal(_o) '' end - def self.unmarshal(o) + def self.unmarshal(_o) NoProtoMsg.new end end +# service the uses the non-protobuf message class. class NoProtoService include GRPC::GenericService rpc :AnRPC, NoProtoMsg, NoProtoMsg end +# an implementation of the non-protobuf service. class NoProto < NoProtoService - def initialize(default_var='ignored') + def initialize(_default_var = 'ignored') end - def an_rpc(req, call) + def an_rpc(req, _call) logger.info('echo service received a request') req end @@ -74,7 +77,7 @@ end def test_server_creds certs = load_test_certs - server_creds = GRPC::Core::ServerCredentials.new(nil, certs[1], certs[2]) + GRPC::Core::ServerCredentials.new(nil, certs[1], certs[2]) end def main @@ -88,7 +91,7 @@ def main options['host'] = v end opts.on('-s', '--secure', 'access using test creds') do |v| - options['secure'] = true + options['secure'] = v end end.parse! @@ -106,5 +109,4 @@ def main s.run end - main diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb index a828b472948..e948504e9e6 100644 --- a/src/ruby/ext/grpc/extconf.rb +++ b/src/ruby/ext/grpc/extconf.rb @@ -33,29 +33,29 @@ LIBDIR = RbConfig::CONFIG['libdir'] INCLUDEDIR = RbConfig::CONFIG['includedir'] HEADER_DIRS = [ - # Search /opt/local (Mac source install) - '/opt/local/include', + # Search /opt/local (Mac source install) + '/opt/local/include', - # Search /usr/local (Source install) - '/usr/local/include', + # Search /usr/local (Source install) + '/usr/local/include', - # Check the ruby install locations - INCLUDEDIR, + # Check the ruby install locations + INCLUDEDIR ] LIB_DIRS = [ - # Search /opt/local (Mac source install) - '/opt/local/lib', + # Search /opt/local (Mac source install) + '/opt/local/lib', - # Search /usr/local (Source install) - '/usr/local/lib', + # Search /usr/local (Source install) + '/usr/local/lib', - # Check the ruby install locations - LIBDIR, + # Check the ruby install locations + LIBDIR ] def crash(msg) - print(" extconf failure: %s\n" % msg) + print(" extconf failure: #{msg}\n") exit 1 end diff --git a/src/ruby/grpc.gemspec b/src/ruby/grpc.gemspec index 53fdd29a798..ad4e274b7e8 100755 --- a/src/ruby/grpc.gemspec +++ b/src/ruby/grpc.gemspec @@ -1,31 +1,34 @@ # encoding: utf-8 -$:.push File.expand_path("../lib", __FILE__) +$LOAD_PATH.push File.expand_path('../lib', __FILE__) require 'grpc/version' Gem::Specification.new do |s| - s.name = "grpc" + s.name = 'grpc' s.version = Google::RPC::VERSION - s.authors = ["One Platform Team"] - s.email = "stubby-team@google.com" - s.homepage = "http://go/grpc" + s.authors = ['One Platform Team'] + s.email = 'stubby-team@google.com' + s.homepage = 'http://go/grpc' s.summary = 'Google RPC system in Ruby' s.description = 'Send RPCs from Ruby' s.files = `git ls-files`.split("\n") s.test_files = `git ls-files -- spec/*`.split("\n") - s.executables = `git ls-files -- examples/*.rb`.split("\n").map{ |f| File.basename(f) } - s.require_paths = ['lib' ] + s.executables = `git ls-files -- bin/*.rb`.split("\n").map do |f| + File.basename(f) + end + s.require_paths = ['lib'] s.platform = Gem::Platform::RUBY s.add_dependency 'xray' s.add_dependency 'logging', '~> 1.8' - s.add_dependency 'google-protobuf', '~> 3.0.0alpha.1.1' - s.add_dependency 'minitest', '~> 5.4' # not a dev dependency, used by the interop tests + s.add_dependency 'google-protobuf', '~> 3.0.0alpha' + s.add_dependency 'minitest', '~> 5.4' # reqd for interop tests - s.add_development_dependency "bundler", "~> 1.7" - s.add_development_dependency "rake", "~> 10.0" + s.add_development_dependency 'bundler', '~> 1.7' + s.add_development_dependency 'rake', '~> 10.0' s.add_development_dependency 'rake-compiler', '~> 0' - s.add_development_dependency 'rspec', "~> 3.0" + s.add_development_dependency 'rubocop', '~> 0.28.0' + s.add_development_dependency 'rspec', '~> 3.0' - s.extensions = %w[ext/grpc/extconf.rb] + s.extensions = %w(ext/grpc/extconf.rb) end diff --git a/src/ruby/lib/grpc/beefcake.rb b/src/ruby/lib/grpc/beefcake.rb index e8d7f0c2cd2..fd3ebbf4b84 100644 --- a/src/ruby/lib/grpc/beefcake.rb +++ b/src/ruby/lib/grpc/beefcake.rb @@ -29,25 +29,21 @@ require 'beefcake' -# Re-open the beefcake message module to add a static encode -# -# This is a temporary measure while beefcake is used as the default proto -# library for developing grpc ruby. Once that changes to the official proto -# library this can be removed. It's necessary to allow the update the service -# module to assume a static encode method. -# -# TODO(temiola): remove me, once official code generation is available in protoc module Beefcake + # Re-open the beefcake message module to add a static encode + # + # This is a temporary measure while beefcake is used as the default proto + # library for developing grpc ruby. Once that changes to the official proto + # library this can be removed. It's necessary to allow the update the service + # module to assume a static encode method. + # TODO(temiola): remove this. module Message - # additional mixin module that adds static encode method when include module StaticEncode - # encodes o with its instance#encode method def encode(o) o.encode end - end # extend self.included in Beefcake::Message to include StaticEncode @@ -57,6 +53,5 @@ module Beefcake o.extend Decode o.send(:include, Encode) end - end end diff --git a/src/ruby/lib/grpc/core/event.rb b/src/ruby/lib/grpc/core/event.rb index 29486763d5d..9a333589c21 100644 --- a/src/ruby/lib/grpc/core/event.rb +++ b/src/ruby/lib/grpc/core/event.rb @@ -30,9 +30,12 @@ module Google module RPC module Core - class Event # Add an inspect method to C-defined Event class. + # Event is a class defined in the c extension + # + # Here, we add an inspect method. + class Event def inspect - '<%s: type:%s, tag:%s result:%s>' % [self.class, type, tag, result] + "<#{self.class}: type:#{type}, tag:#{tag} result:#{result}>" end end end diff --git a/src/ruby/lib/grpc/core/time_consts.rb b/src/ruby/lib/grpc/core/time_consts.rb index 52e4c3f9b94..6876dcb02eb 100644 --- a/src/ruby/lib/grpc/core/time_consts.rb +++ b/src/ruby/lib/grpc/core/time_consts.rb @@ -32,9 +32,10 @@ require 'grpc' module Google module RPC module Core - - module TimeConsts # re-opens a module in the C extension. - + # TimeConsts is a module from the C extension. + # + # Here it's re-opened to add a utility func. + module TimeConsts # Converts a time delta to an absolute deadline. # # Assumes timeish is a relative time, and converts its to an absolute, @@ -48,24 +49,23 @@ module Google # @param timeish [Number|TimeSpec] # @return timeish [Number|TimeSpec] def from_relative_time(timeish) - if timeish.is_a?TimeSpec + if timeish.is_a? TimeSpec timeish elsif timeish.nil? TimeConsts::ZERO - elsif !timeish.is_a?Numeric - raise TypeError('Cannot make an absolute deadline from %s', - timeish.inspect) + elsif !timeish.is_a? Numeric + fail(TypeError, + "Cannot make an absolute deadline from #{timeish.inspect}") elsif timeish < 0 TimeConsts::INFINITE_FUTURE elsif timeish == 0 TimeConsts::ZERO - else !timeish.nil? + else Time.now + timeish end end module_function :from_relative_time - end end end diff --git a/src/ruby/lib/grpc/errors.rb b/src/ruby/lib/grpc/errors.rb index d14e69c65a1..70a92bfed77 100644 --- a/src/ruby/lib/grpc/errors.rb +++ b/src/ruby/lib/grpc/errors.rb @@ -30,9 +30,8 @@ require 'grpc' module Google - + # Google::RPC contains the General RPC module. module RPC - # OutOfTime is an exception class that indicates that an RPC exceeded its # deadline. OutOfTime = Class.new(StandardError) @@ -42,12 +41,11 @@ module Google # error should be returned to the other end of a GRPC connection; when # caught it means that this end received a status error. class BadStatus < StandardError - attr_reader :code, :details # @param code [Numeric] the status code # @param details [String] the details of the exception - def initialize(code, details='unknown cause') + def initialize(code, details = 'unknown cause') super("#{code}:#{details}") @code = code @details = details @@ -60,9 +58,6 @@ module Google def to_status Status.new(code, details) end - end - end - end diff --git a/src/ruby/lib/grpc/generic/active_call.rb b/src/ruby/lib/grpc/generic/active_call.rb index 288ea083e69..bd684a8d07a 100644 --- a/src/ruby/lib/grpc/generic/active_call.rb +++ b/src/ruby/lib/grpc/generic/active_call.rb @@ -31,519 +31,516 @@ require 'forwardable' require 'grpc/generic/bidi_call' def assert_event_type(ev, want) - raise OutOfTime if ev.nil? + fail OutOfTime if ev.nil? got = ev.type - raise 'Unexpected rpc event: got %s, want %s' % [got, want] unless got == want + fail "Unexpected rpc event: got #{got}, want #{want}" unless got == want end -module Google::RPC - - # The ActiveCall class provides simple methods for sending marshallable - # data to a call - class ActiveCall - include Core::CompletionType - include Core::StatusCodes - include Core::TimeConsts - attr_reader(:deadline) - - # client_start_invoke begins a client invocation. - # - # Flow Control note: this blocks until flow control accepts that client - # request can go ahead. - # - # deadline is the absolute deadline for the call. - # - # == Keyword Arguments == - # any keyword arguments are treated as metadata to be sent to the server - # if a keyword value is a list, multiple metadata for it's key are sent - # - # @param call [Call] a call on which to start and invocation - # @param q [CompletionQueue] used to wait for INVOKE_ACCEPTED - # @param deadline [Fixnum,TimeSpec] the deadline for INVOKE_ACCEPTED - def self.client_start_invoke(call, q, deadline, **kw) - raise ArgumentError.new('not a call') unless call.is_a?Core::Call - if !q.is_a?Core::CompletionQueue - raise ArgumentError.new('not a CompletionQueue') - end - call.add_metadata(kw) if kw.length > 0 - invoke_accepted, client_metadata_read = Object.new, Object.new - finished_tag = Object.new - call.start_invoke(q, invoke_accepted, client_metadata_read, finished_tag) +module Google + # Google::RPC contains the General RPC module. + module RPC + # The ActiveCall class provides simple methods for sending marshallable + # data to a call + class ActiveCall + include Core::CompletionType + include Core::StatusCodes + include Core::TimeConsts + attr_reader(:deadline) + + # client_start_invoke begins a client invocation. + # + # Flow Control note: this blocks until flow control accepts that client + # request can go ahead. + # + # deadline is the absolute deadline for the call. + # + # == Keyword Arguments == + # any keyword arguments are treated as metadata to be sent to the server + # if a keyword value is a list, multiple metadata for it's key are sent + # + # @param call [Call] a call on which to start and invocation + # @param q [CompletionQueue] used to wait for INVOKE_ACCEPTED + # @param deadline [Fixnum,TimeSpec] the deadline for INVOKE_ACCEPTED + def self.client_start_invoke(call, q, _deadline, **kw) + fail(ArgumentError, 'not a call') unless call.is_a? Core::Call + unless q.is_a? Core::CompletionQueue + fail(ArgumentError, 'not a CompletionQueue') + end + call.add_metadata(kw) if kw.length > 0 + invoke_accepted, client_metadata_read = Object.new, Object.new + finished_tag = Object.new + call.start_invoke(q, invoke_accepted, client_metadata_read, + finished_tag) + + # wait for the invocation to be accepted + ev = q.pluck(invoke_accepted, INFINITE_FUTURE) + fail OutOfTime if ev.nil? + ev.close - # wait for the invocation to be accepted - ev = q.pluck(invoke_accepted, INFINITE_FUTURE) - raise OutOfTime if ev.nil? - ev.close + [finished_tag, client_metadata_read] + end - [finished_tag, client_metadata_read] - end + # Creates an ActiveCall. + # + # ActiveCall should only be created after a call is accepted. That means + # different things on a client and a server. On the client, the call is + # accepted after call.start_invoke followed by receipt of the + # corresponding INVOKE_ACCEPTED. on the server, this is after + # call.accept. + # + # #initialize cannot determine if the call is accepted or not; so if a + # call that's not accepted is used here, the error won't be visible until + # the ActiveCall methods are called. + # + # deadline is the absolute deadline for the call. + # + # @param call [Call] the call used by the ActiveCall + # @param q [CompletionQueue] the completion queue used to accept + # the call + # @param marshal [Function] f(obj)->string that marshal requests + # @param unmarshal [Function] f(string)->obj that unmarshals responses + # @param deadline [Fixnum] the deadline for the call to complete + # @param finished_tag [Object] the object used as the call's finish tag, + # if the call has begun + # @param read_metadata_tag [Object] the object used as the call's finish + # tag, if the call has begun + # @param started [true|false] indicates if the call has begun + def initialize(call, q, marshal, unmarshal, deadline, finished_tag: nil, + read_metadata_tag: nil, started: true) + fail(ArgumentError, 'not a call') unless call.is_a? Core::Call + unless q.is_a? Core::CompletionQueue + fail(ArgumentError, 'not a CompletionQueue') + end + @call = call + @cq = q + @deadline = deadline + @finished_tag = finished_tag + @read_metadata_tag = read_metadata_tag + @marshal = marshal + @started = started + @unmarshal = unmarshal + end - # Creates an ActiveCall. - # - # ActiveCall should only be created after a call is accepted. That means - # different things on a client and a server. On the client, the call is - # accepted after call.start_invoke followed by receipt of the - # corresponding INVOKE_ACCEPTED. on the server, this is after - # call.accept. - # - # #initialize cannot determine if the call is accepted or not; so if a - # call that's not accepted is used here, the error won't be visible until - # the ActiveCall methods are called. - # - # deadline is the absolute deadline for the call. - # - # @param call [Call] the call used by the ActiveCall - # @param q [CompletionQueue] the completion queue used to accept - # the call - # @param marshal [Function] f(obj)->string that marshal requests - # @param unmarshal [Function] f(string)->obj that unmarshals responses - # @param deadline [Fixnum] the deadline for the call to complete - # @param finished_tag [Object] the object used as the call's finish tag, - # if the call has begun - # @param read_metadata_tag [Object] the object used as the call's finish - # tag, if the call has begun - # @param started [true|false] (default true) indicates if the call has begun - def initialize(call, q, marshal, unmarshal, deadline, finished_tag: nil, - read_metadata_tag: nil, started: true) - raise ArgumentError.new('not a call') unless call.is_a?Core::Call - if !q.is_a?Core::CompletionQueue - raise ArgumentError.new('not a CompletionQueue') + # Obtains the status of the call. + # + # this value is nil until the call completes + # @return this call's status + def status + @call.status end - @call = call - @cq = q - @deadline = deadline - @finished_tag = finished_tag - @read_metadata_tag = read_metadata_tag - @marshal = marshal - @started = started - @unmarshal = unmarshal - end - # Obtains the status of the call. - # - # this value is nil until the call completes - # @return this call's status - def status - @call.status - end + # Obtains the metadata of the call. + # + # At the start of the call this will be nil. During the call this gets + # some values as soon as the other end of the connection acknowledges the + # request. + # + # @return this calls's metadata + def metadata + @call.metadata + end - # Obtains the metadata of the call. - # - # At the start of the call this will be nil. During the call this gets - # some values as soon as the other end of the connection acknowledges the - # request. - # - # @return this calls's metadata - def metadata - @call.metadata - end + # Cancels the call. + # + # Cancels the call. The call does not return any result, but once this it + # has been called, the call should eventually terminate. Due to potential + # races between the execution of the cancel and the in-flight request, the + # result of the call after calling #cancel is indeterminate: + # + # - the call may terminate with a BadStatus exception, with code=CANCELLED + # - the call may terminate with OK Status, and return a response + # - the call may terminate with a different BadStatus exception if that + # was happening + def cancel + @call.cancel + end - # Cancels the call. - # - # Cancels the call. The call does not return any result, but once this it - # has been called, the call should eventually terminate. Due to potential - # races between the execution of the cancel and the in-flight request, the - # result of the call after calling #cancel is indeterminate: - # - # - the call may terminate with a BadStatus exception, with code=CANCELLED - # - the call may terminate with OK Status, and return a response - # - the call may terminate with a different BadStatus exception if that was - # happening - def cancel - @call.cancel - end + # indicates if the call is shutdown + def shutdown + @shutdown ||= false + end - # indicates if the call is shutdown - def shutdown - @shutdown ||= false - end + # indicates if the call is cancelled. + def cancelled + @cancelled ||= false + end - # indicates if the call is cancelled. - def cancelled - @cancelled ||= false - end + # multi_req_view provides a restricted view of this ActiveCall for use + # in a server client-streaming handler. + def multi_req_view + MultiReqView.new(self) + end - # multi_req_view provides a restricted view of this ActiveCall for use - # in a server client-streaming handler. - def multi_req_view - MultiReqView.new(self) - end + # single_req_view provides a restricted view of this ActiveCall for use in + # a server request-response handler. + def single_req_view + SingleReqView.new(self) + end - # single_req_view provides a restricted view of this ActiveCall for use in - # a server request-response handler. - def single_req_view - SingleReqView.new(self) - end + # operation provides a restricted view of this ActiveCall for use as + # a Operation. + def operation + Operation.new(self) + end - # operation provides a restricted view of this ActiveCall for use as - # a Operation. - def operation - Operation.new(self) - end + # writes_done indicates that all writes are completed. + # + # It blocks until the remote endpoint acknowledges by sending a FINISHED + # event, unless assert_finished is set to false. Any calls to + # #remote_send after this call will fail. + # + # @param assert_finished [true, false] when true(default), waits for + # FINISHED. + def writes_done(assert_finished = true) + @call.writes_done(self) + ev = @cq.pluck(self, INFINITE_FUTURE) + begin + assert_event_type(ev, FINISH_ACCEPTED) + logger.debug("Writes done: waiting for finish? #{assert_finished}") + ensure + ev.close + end - # writes_done indicates that all writes are completed. - # - # It blocks until the remote endpoint acknowledges by sending a FINISHED - # event, unless assert_finished is set to false. Any calls to - # #remote_send after this call will fail. - # - # @param assert_finished [true, false] when true(default), waits for - # FINISHED. - def writes_done(assert_finished=true) - @call.writes_done(self) - ev = @cq.pluck(self, INFINITE_FUTURE) - begin - assert_event_type(ev, FINISH_ACCEPTED) - logger.debug("Writes done: waiting for finish? #{assert_finished}") - ensure + return unless assert_finished + ev = @cq.pluck(@finished_tag, INFINITE_FUTURE) + fail 'unexpected nil event' if ev.nil? ev.close + @call.status end - if assert_finished + # finished waits until the call is completed. + # + # It blocks until the remote endpoint acknowledges by sending a FINISHED + # event. + def finished ev = @cq.pluck(@finished_tag, INFINITE_FUTURE) - raise "unexpected event: #{ev.inspect}" if ev.nil? - ev.close - return @call.status + begin + fail "unexpected event: #{ev.inspect}" unless ev.type == FINISHED + if @call.metadata.nil? + @call.metadata = ev.result.metadata + else + @call.metadata.merge!(ev.result.metadata) + end + + if ev.result.code != Core::StatusCodes::OK + fail BadStatus.new(ev.result.code, ev.result.details) + end + res = ev.result + ensure + ev.close + end + res end - end - # finished waits until the call is completed. - # - # It blocks until the remote endpoint acknowledges by sending a FINISHED - # event. - def finished - ev = @cq.pluck(@finished_tag, INFINITE_FUTURE) - begin - raise "unexpected event: #{ev.inspect}" unless ev.type == FINISHED - if @call.metadata.nil? - @call.metadata = ev.result.metadata + # remote_send sends a request to the remote endpoint. + # + # It blocks until the remote endpoint acknowledges by sending a + # WRITE_ACCEPTED. req can be marshalled already. + # + # @param req [Object, String] the object to send or it's marshal form. + # @param marshalled [false, true] indicates if the object is already + # marshalled. + def remote_send(req, marshalled = false) + assert_queue_is_ready + logger.debug("sending #{req.inspect}, marshalled? #{marshalled}") + if marshalled + payload = req else - @call.metadata.merge!(ev.result.metadata) + payload = @marshal.call(req) end - - if ev.result.code != Core::StatusCodes::OK - raise BadStatus.new(ev.result.code, ev.result.details) + @call.start_write(Core::ByteBuffer.new(payload), self) + + # call queue#pluck, and wait for WRITE_ACCEPTED, so as not to return + # until the flow control allows another send on this call. + ev = @cq.pluck(self, INFINITE_FUTURE) + begin + assert_event_type(ev, WRITE_ACCEPTED) + ensure + ev.close end - res = ev.result - ensure - ev.close end - res - end - # remote_send sends a request to the remote endpoint. - # - # It blocks until the remote endpoint acknowledges by sending a - # WRITE_ACCEPTED. req can be marshalled already. - # - # @param req [Object, String] the object to send or it's marshal form. - # @param marshalled [false, true] indicates if the object is already - # marshalled. - def remote_send(req, marshalled=false) - assert_queue_is_ready - logger.debug("sending payload #{req.inspect}, marshalled? #{marshalled}") - if marshalled - payload = req - else - payload = @marshal.call(req) - end - @call.start_write(Core::ByteBuffer.new(payload), self) - - # call queue#pluck, and wait for WRITE_ACCEPTED, so as not to return - # until the flow control allows another send on this call. - ev = @cq.pluck(self, INFINITE_FUTURE) - begin - assert_event_type(ev, WRITE_ACCEPTED) - ensure - ev.close + # send_status sends a status to the remote endpoint + # + # @param code [int] the status code to send + # @param details [String] details + # @param assert_finished [true, false] when true(default), waits for + # FINISHED. + def send_status(code = OK, details = '', assert_finished = false) + assert_queue_is_ready + @call.start_write_status(code, details, self) + ev = @cq.pluck(self, INFINITE_FUTURE) + begin + assert_event_type(ev, FINISH_ACCEPTED) + ensure + ev.close + end + logger.debug("Status sent: #{code}:'#{details}'") + return finished if assert_finished + nil end - end - # send_status sends a status to the remote endpoint - # - # @param code [int] the status code to send - # @param details [String] details - # @param assert_finished [true, false] when true(default), waits for - # FINISHED. - def send_status(code=OK, details='', assert_finished=false) - assert_queue_is_ready - @call.start_write_status(code, details, self) - ev = @cq.pluck(self, INFINITE_FUTURE) - begin - assert_event_type(ev, FINISH_ACCEPTED) - ensure - ev.close - end - logger.debug("Status sent: #{code}:'#{details}'") - if assert_finished - return finished - end - nil - end - - # remote_read reads a response from the remote endpoint. - # - # It blocks until the remote endpoint sends a READ or FINISHED event. On - # a READ, it returns the response after unmarshalling it. On - # FINISHED, it returns nil if the status is OK, otherwise raising BadStatus - def remote_read - if @call.metadata.nil? && !@read_metadata_tag.nil? - ev = @cq.pluck(@read_metadata_tag, INFINITE_FUTURE) - assert_event_type(ev, CLIENT_METADATA_READ) - @call.metadata = ev.result - @read_metadata_tag = nil - end + # remote_read reads a response from the remote endpoint. + # + # It blocks until the remote endpoint sends a READ or FINISHED event. On + # a READ, it returns the response after unmarshalling it. On + # FINISHED, it returns nil if the status is OK, otherwise raising + # BadStatus + def remote_read + if @call.metadata.nil? && !@read_metadata_tag.nil? + ev = @cq.pluck(@read_metadata_tag, INFINITE_FUTURE) + assert_event_type(ev, CLIENT_METADATA_READ) + @call.metadata = ev.result + @read_metadata_tag = nil + end - @call.start_read(self) - ev = @cq.pluck(self, INFINITE_FUTURE) - begin - assert_event_type(ev, READ) - logger.debug("received req: #{ev.result.inspect}") - if !ev.result.nil? - logger.debug("received req.to_s: #{ev.result.to_s}") - res = @unmarshal.call(ev.result.to_s) - logger.debug("received_req (unmarshalled): #{res.inspect}") - return res + @call.start_read(self) + ev = @cq.pluck(self, INFINITE_FUTURE) + begin + assert_event_type(ev, READ) + logger.debug("received req: #{ev.result.inspect}") + unless ev.result.nil? + logger.debug("received req.to_s: #{ev.result}") + res = @unmarshal.call(ev.result.to_s) + logger.debug("received_req (unmarshalled): #{res.inspect}") + return res + end + ensure + ev.close end - ensure - ev.close + logger.debug('found nil; the final response has been sent') + nil end - logger.debug('found nil; the final response has been sent') - nil - end - # each_remote_read passes each response to the given block or returns an - # enumerator the responses if no block is given. - # - # == Enumerator == - # - # * #next blocks until the remote endpoint sends a READ or FINISHED - # * for each read, enumerator#next yields the response - # * on status - # * if it's is OK, enumerator#next raises StopException - # * if is not OK, enumerator#next raises RuntimeException - # - # == Block == - # - # * if provided it is executed for each response - # * the call blocks until no more responses are provided - # - # @return [Enumerator] if no block was given - def each_remote_read - return enum_for(:each_remote_read) if !block_given? - loop do - resp = remote_read() - break if resp.is_a?Struct::Status # is an OK status, bad statii raise - break if resp.nil? # the last response was received - yield resp + # each_remote_read passes each response to the given block or returns an + # enumerator the responses if no block is given. + # + # == Enumerator == + # + # * #next blocks until the remote endpoint sends a READ or FINISHED + # * for each read, enumerator#next yields the response + # * on status + # * if it's is OK, enumerator#next raises StopException + # * if is not OK, enumerator#next raises RuntimeException + # + # == Block == + # + # * if provided it is executed for each response + # * the call blocks until no more responses are provided + # + # @return [Enumerator] if no block was given + def each_remote_read + return enum_for(:each_remote_read) unless block_given? + loop do + resp = remote_read + break if resp.is_a? Struct::Status # is an OK status + break if resp.nil? # the last response was received + yield resp + end end - end - # each_remote_read_then_finish passes each response to the given block or - # returns an enumerator of the responses if no block is given. - # - # It is like each_remote_read, but it blocks on finishing on detecting - # the final message. - # - # == Enumerator == - # - # * #next blocks until the remote endpoint sends a READ or FINISHED - # * for each read, enumerator#next yields the response - # * on status - # * if it's is OK, enumerator#next raises StopException - # * if is not OK, enumerator#next raises RuntimeException - # - # == Block == - # - # * if provided it is executed for each response - # * the call blocks until no more responses are provided - # - # @return [Enumerator] if no block was given - def each_remote_read_then_finish - return enum_for(:each_remote_read_then_finish) if !block_given? - loop do - resp = remote_read - break if resp.is_a?Struct::Status # is an OK status, bad statii raise - if resp.nil? # the last response was received, but not finished yet - finished - break + # each_remote_read_then_finish passes each response to the given block or + # returns an enumerator of the responses if no block is given. + # + # It is like each_remote_read, but it blocks on finishing on detecting + # the final message. + # + # == Enumerator == + # + # * #next blocks until the remote endpoint sends a READ or FINISHED + # * for each read, enumerator#next yields the response + # * on status + # * if it's is OK, enumerator#next raises StopException + # * if is not OK, enumerator#next raises RuntimeException + # + # == Block == + # + # * if provided it is executed for each response + # * the call blocks until no more responses are provided + # + # @return [Enumerator] if no block was given + def each_remote_read_then_finish + return enum_for(:each_remote_read_then_finish) unless block_given? + loop do + resp = remote_read + break if resp.is_a? Struct::Status # is an OK status + if resp.nil? # the last response was received, but not finished yet + finished + break + end + yield resp end - yield resp end - end - # request_response sends a request to a GRPC server, and returns the - # response. - # - # == Keyword Arguments == - # any keyword arguments are treated as metadata to be sent to the server - # if a keyword value is a list, multiple metadata for it's key are sent - # - # @param req [Object] the request sent to the server - # @return [Object] the response received from the server - def request_response(req, **kw) - start_call(**kw) unless @started - remote_send(req) - writes_done(false) - response = remote_read - if !response.is_a?(Struct::Status) # finish if status not yet received - finished + # request_response sends a request to a GRPC server, and returns the + # response. + # + # == Keyword Arguments == + # any keyword arguments are treated as metadata to be sent to the server + # if a keyword value is a list, multiple metadata for it's key are sent + # + # @param req [Object] the request sent to the server + # @return [Object] the response received from the server + def request_response(req, **kw) + start_call(**kw) unless @started + remote_send(req) + writes_done(false) + response = remote_read + finished unless response.is_a? Struct::Status + response end - response - end - # client_streamer sends a stream of requests to a GRPC server, and - # returns a single response. - # - # requests provides an 'iterable' of Requests. I.e. it follows Ruby's - # #each enumeration protocol. In the simplest case, requests will be an - # array of marshallable objects; in typical case it will be an Enumerable - # that allows dynamic construction of the marshallable objects. - # - # == Keyword Arguments == - # any keyword arguments are treated as metadata to be sent to the server - # if a keyword value is a list, multiple metadata for it's key are sent - # - # @param requests [Object] an Enumerable of requests to send - # @return [Object] the response received from the server - def client_streamer(requests, **kw) - start_call(**kw) unless @started - requests.each { |r| remote_send(r) } - writes_done(false) - response = remote_read - if !response.is_a?(Struct::Status) # finish if status not yet received - finished + # client_streamer sends a stream of requests to a GRPC server, and + # returns a single response. + # + # requests provides an 'iterable' of Requests. I.e. it follows Ruby's + # #each enumeration protocol. In the simplest case, requests will be an + # array of marshallable objects; in typical case it will be an Enumerable + # that allows dynamic construction of the marshallable objects. + # + # == Keyword Arguments == + # any keyword arguments are treated as metadata to be sent to the server + # if a keyword value is a list, multiple metadata for it's key are sent + # + # @param requests [Object] an Enumerable of requests to send + # @return [Object] the response received from the server + def client_streamer(requests, **kw) + start_call(**kw) unless @started + requests.each { |r| remote_send(r) } + writes_done(false) + response = remote_read + finished unless response.is_a? Struct::Status + response end - response - end - # server_streamer sends one request to the GRPC server, which yields a - # stream of responses. - # - # responses provides an enumerator over the streamed responses, i.e. it - # follows Ruby's #each iteration protocol. The enumerator blocks while - # waiting for each response, stops when the server signals that no - # further responses will be supplied. If the implicit block is provided, - # it is executed with each response as the argument and no result is - # returned. - # - # == Keyword Arguments == - # any keyword arguments are treated as metadata to be sent to the server - # if a keyword value is a list, multiple metadata for it's key are sent - # any keyword arguments are treated as metadata to be sent to the server. - # - # @param req [Object] the request sent to the server - # @return [Enumerator|nil] a response Enumerator - def server_streamer(req, **kw) - start_call(**kw) unless @started - remote_send(req) - writes_done(false) - replies = enum_for(:each_remote_read_then_finish) - return replies if !block_given? - replies.each { |r| yield r } - end + # server_streamer sends one request to the GRPC server, which yields a + # stream of responses. + # + # responses provides an enumerator over the streamed responses, i.e. it + # follows Ruby's #each iteration protocol. The enumerator blocks while + # waiting for each response, stops when the server signals that no + # further responses will be supplied. If the implicit block is provided, + # it is executed with each response as the argument and no result is + # returned. + # + # == Keyword Arguments == + # any keyword arguments are treated as metadata to be sent to the server + # if a keyword value is a list, multiple metadata for it's key are sent + # any keyword arguments are treated as metadata to be sent to the server. + # + # @param req [Object] the request sent to the server + # @return [Enumerator|nil] a response Enumerator + def server_streamer(req, **kw) + start_call(**kw) unless @started + remote_send(req) + writes_done(false) + replies = enum_for(:each_remote_read_then_finish) + return replies unless block_given? + replies.each { |r| yield r } + end - # bidi_streamer sends a stream of requests to the GRPC server, and yields - # a stream of responses. - # - # This method takes an Enumerable of requests, and returns and enumerable - # of responses. - # - # == requests == - # - # requests provides an 'iterable' of Requests. I.e. it follows Ruby's #each - # enumeration protocol. In the simplest case, requests will be an array of - # marshallable objects; in typical case it will be an Enumerable that - # allows dynamic construction of the marshallable objects. - # - # == responses == - # - # This is an enumerator of responses. I.e, its #next method blocks - # waiting for the next response. Also, if at any point the block needs - # to consume all the remaining responses, this can be done using #each or - # #collect. Calling #each or #collect should only be done if - # the_call#writes_done has been called, otherwise the block will loop - # forever. - # - # == Keyword Arguments == - # any keyword arguments are treated as metadata to be sent to the server - # if a keyword value is a list, multiple metadata for it's key are sent - # - # @param requests [Object] an Enumerable of requests to send - # @return [Enumerator, nil] a response Enumerator - def bidi_streamer(requests, **kw, &blk) - start_call(**kw) unless @started - bd = BidiCall.new(@call, @cq, @marshal, @unmarshal, @deadline, - @finished_tag) - bd.run_on_client(requests, &blk) - end + # bidi_streamer sends a stream of requests to the GRPC server, and yields + # a stream of responses. + # + # This method takes an Enumerable of requests, and returns and enumerable + # of responses. + # + # == requests == + # + # requests provides an 'iterable' of Requests. I.e. it follows Ruby's + # #each enumeration protocol. In the simplest case, requests will be an + # array of marshallable objects; in typical case it will be an + # Enumerable that allows dynamic construction of the marshallable + # objects. + # + # == responses == + # + # This is an enumerator of responses. I.e, its #next method blocks + # waiting for the next response. Also, if at any point the block needs + # to consume all the remaining responses, this can be done using #each or + # #collect. Calling #each or #collect should only be done if + # the_call#writes_done has been called, otherwise the block will loop + # forever. + # + # == Keyword Arguments == + # any keyword arguments are treated as metadata to be sent to the server + # if a keyword value is a list, multiple metadata for it's key are sent + # + # @param requests [Object] an Enumerable of requests to send + # @return [Enumerator, nil] a response Enumerator + def bidi_streamer(requests, **kw, &blk) + start_call(**kw) unless @started + bd = BidiCall.new(@call, @cq, @marshal, @unmarshal, @deadline, + @finished_tag) + bd.run_on_client(requests, &blk) + end - # run_server_bidi orchestrates a BiDi stream processing on a server. - # - # N.B. gen_each_reply is a func(Enumerable) - # - # It takes an enumerable of requests as an arg, in case there is a - # relationship between the stream of requests and the stream of replies. - # - # This does not mean that must necessarily be one. E.g, the replies - # produced by gen_each_reply could ignore the received_msgs - # - # @param gen_each_reply [Proc] generates the BiDi stream replies - def run_server_bidi(gen_each_reply) - bd = BidiCall.new(@call, @cq, @marshal, @unmarshal, @deadline, - @finished_tag) - bd.run_on_server(gen_each_reply) - end + # run_server_bidi orchestrates a BiDi stream processing on a server. + # + # N.B. gen_each_reply is a func(Enumerable) + # + # It takes an enumerable of requests as an arg, in case there is a + # relationship between the stream of requests and the stream of replies. + # + # This does not mean that must necessarily be one. E.g, the replies + # produced by gen_each_reply could ignore the received_msgs + # + # @param gen_each_reply [Proc] generates the BiDi stream replies + def run_server_bidi(gen_each_reply) + bd = BidiCall.new(@call, @cq, @marshal, @unmarshal, @deadline, + @finished_tag) + bd.run_on_server(gen_each_reply) + end - private + private - def start_call(**kw) - tags = ActiveCall.client_start_invoke(@call, @cq, @deadline, **kw) - @finished_tag, @read_metadata_tag = tags - @started = true - end + def start_call(**kw) + tags = ActiveCall.client_start_invoke(@call, @cq, @deadline, **kw) + @finished_tag, @read_metadata_tag = tags + @started = true + end - def self.view_class(*visible_methods) - Class.new do - extend ::Forwardable - def_delegators :@wrapped, *visible_methods + def self.view_class(*visible_methods) + Class.new do + extend ::Forwardable + def_delegators :@wrapped, *visible_methods - # @param wrapped [ActiveCall] the call whose methods are shielded - def initialize(wrapped) - @wrapped = wrapped + # @param wrapped [ActiveCall] the call whose methods are shielded + def initialize(wrapped) + @wrapped = wrapped + end end end - end - # SingleReqView limits access to an ActiveCall's methods for use in server - # handlers that receive just one request. - SingleReqView = view_class(:cancelled, :deadline) - - # MultiReqView limits access to an ActiveCall's methods for use in - # server client_streamer handlers. - MultiReqView = view_class(:cancelled, :deadline, :each_queued_msg, - :each_remote_read) - - # Operation limits access to an ActiveCall's methods for use as - # a Operation on the client. - Operation = view_class(:cancel, :cancelled, :deadline, :execute, :metadata, - :status) - - # confirms that no events are enqueued, and that the queue is not - # shutdown. - def assert_queue_is_ready - ev = nil - begin - ev = @cq.pluck(self, ZERO) - raise "unexpected event #{ev.inspect}" unless ev.nil? - rescue OutOfTime - # expected, nothing should be on the queue and the deadline was ZERO, - # except things using another tag - ensure - ev.close unless ev.nil? + # SingleReqView limits access to an ActiveCall's methods for use in server + # handlers that receive just one request. + SingleReqView = view_class(:cancelled, :deadline) + + # MultiReqView limits access to an ActiveCall's methods for use in + # server client_streamer handlers. + MultiReqView = view_class(:cancelled, :deadline, :each_queued_msg, + :each_remote_read) + + # Operation limits access to an ActiveCall's methods for use as + # a Operation on the client. + Operation = view_class(:cancel, :cancelled, :deadline, :execute, + :metadata, :status) + + # confirms that no events are enqueued, and that the queue is not + # shutdown. + def assert_queue_is_ready + ev = nil + begin + ev = @cq.pluck(self, ZERO) + fail "unexpected event #{ev.inspect}" unless ev.nil? + rescue OutOfTime + logging.debug('timed out waiting for next event') + # expected, nothing should be on the queue and the deadline was ZERO, + # except things using another tag + ensure + ev.close unless ev.nil? + end end end - end - end diff --git a/src/ruby/lib/grpc/generic/bidi_call.rb b/src/ruby/lib/grpc/generic/bidi_call.rb index 066ec851acd..14ef6c531f9 100644 --- a/src/ruby/lib/grpc/generic/bidi_call.rb +++ b/src/ruby/lib/grpc/generic/bidi_call.rb @@ -31,194 +31,195 @@ require 'forwardable' require 'grpc/grpc' def assert_event_type(ev, want) - raise OutOfTime if ev.nil? + fail OutOfTime if ev.nil? got = ev.type - raise 'Unexpected rpc event: got %s, want %s' % [got, want] unless got == want + fail("Unexpected rpc event: got #{got}, want #{want}") unless got == want end -module Google::RPC - - # The BiDiCall class orchestrates exection of a BiDi stream on a client or - # server. - class BidiCall - include Core::CompletionType - include Core::StatusCodes - include Core::TimeConsts - - # Creates a BidiCall. - # - # BidiCall should only be created after a call is accepted. That means - # different things on a client and a server. On the client, the call is - # accepted after call.start_invoke followed by receipt of the corresponding - # INVOKE_ACCEPTED. On the server, this is after call.accept. - # - # #initialize cannot determine if the call is accepted or not; so if a - # call that's not accepted is used here, the error won't be visible until - # the BidiCall#run is called. - # - # deadline is the absolute deadline for the call. - # - # @param call [Call] the call used by the ActiveCall - # @param q [CompletionQueue] the completion queue used to accept - # the call - # @param marshal [Function] f(obj)->string that marshal requests - # @param unmarshal [Function] f(string)->obj that unmarshals responses - # @param deadline [Fixnum] the deadline for the call to complete - # @param finished_tag [Object] the object used as the call's finish tag, - def initialize(call, q, marshal, unmarshal, deadline, finished_tag) - raise ArgumentError.new('not a call') unless call.is_a?Core::Call - if !q.is_a?Core::CompletionQueue - raise ArgumentError.new('not a CompletionQueue') +module Google + # Google::RPC contains the General RPC module. + module RPC + # The BiDiCall class orchestrates exection of a BiDi stream on a client or + # server. + class BidiCall + include Core::CompletionType + include Core::StatusCodes + include Core::TimeConsts + + # Creates a BidiCall. + # + # BidiCall should only be created after a call is accepted. That means + # different things on a client and a server. On the client, the call is + # accepted after call.start_invoke followed by receipt of the + # corresponding INVOKE_ACCEPTED. On the server, this is after + # call.accept. + # + # #initialize cannot determine if the call is accepted or not; so if a + # call that's not accepted is used here, the error won't be visible until + # the BidiCall#run is called. + # + # deadline is the absolute deadline for the call. + # + # @param call [Call] the call used by the ActiveCall + # @param q [CompletionQueue] the completion queue used to accept + # the call + # @param marshal [Function] f(obj)->string that marshal requests + # @param unmarshal [Function] f(string)->obj that unmarshals responses + # @param deadline [Fixnum] the deadline for the call to complete + # @param finished_tag [Object] the object used as the call's finish tag, + def initialize(call, q, marshal, unmarshal, deadline, finished_tag) + fail(ArgumentError, 'not a call') unless call.is_a? Core::Call + unless q.is_a? Core::CompletionQueue + fail(ArgumentError, 'not a CompletionQueue') + end + @call = call + @cq = q + @deadline = deadline + @finished_tag = finished_tag + @marshal = marshal + @readq = Queue.new + @unmarshal = unmarshal end - @call = call - @cq = q - @deadline = deadline - @finished_tag = finished_tag - @marshal = marshal - @readq = Queue.new - @unmarshal = unmarshal - end - # Begins orchestration of the Bidi stream for a client sending requests. - # - # The method either returns an Enumerator of the responses, or accepts a - # block that can be invoked with each response. - # - # @param requests the Enumerable of requests to send - # @return an Enumerator of requests to yield - def run_on_client(requests, &blk) - enq_th = start_write_loop(requests) - loop_th = start_read_loop - replies = each_queued_msg - return replies if blk.nil? - replies.each { |r| blk.call(r) } - enq_th.join - loop_th.join - end - - # Begins orchestration of the Bidi stream for a server generating replies. - # - # N.B. gen_each_reply is a func(Enumerable) - # - # It takes an enumerable of requests as an arg, in case there is a - # relationship between the stream of requests and the stream of replies. - # - # This does not mean that must necessarily be one. E.g, the replies - # produced by gen_each_reply could ignore the received_msgs - # - # @param gen_each_reply [Proc] generates the BiDi stream replies. - def run_on_server(gen_each_reply) - replys = gen_each_reply.call(each_queued_msg) - enq_th = start_write_loop(replys, is_client:false) - loop_th = start_read_loop() - loop_th.join - enq_th.join - end - - private + # Begins orchestration of the Bidi stream for a client sending requests. + # + # The method either returns an Enumerator of the responses, or accepts a + # block that can be invoked with each response. + # + # @param requests the Enumerable of requests to send + # @return an Enumerator of requests to yield + def run_on_client(requests, &blk) + enq_th = start_write_loop(requests) + loop_th = start_read_loop + replies = each_queued_msg + return replies if blk.nil? + replies.each { |r| blk.call(r) } + enq_th.join + loop_th.join + end - END_OF_READS = :end_of_reads - END_OF_WRITES = :end_of_writes + # Begins orchestration of the Bidi stream for a server generating replies. + # + # N.B. gen_each_reply is a func(Enumerable) + # + # It takes an enumerable of requests as an arg, in case there is a + # relationship between the stream of requests and the stream of replies. + # + # This does not mean that must necessarily be one. E.g, the replies + # produced by gen_each_reply could ignore the received_msgs + # + # @param gen_each_reply [Proc] generates the BiDi stream replies. + def run_on_server(gen_each_reply) + replys = gen_each_reply.call(each_queued_msg) + enq_th = start_write_loop(replys, is_client: false) + loop_th = start_read_loop + loop_th.join + enq_th.join + end - # each_queued_msg yields each message on this instances readq - # - # - messages are added to the readq by #read_loop - # - iteration ends when the instance itself is added - def each_queued_msg - return enum_for(:each_queued_msg) if !block_given? - count = 0 - loop do - logger.debug("each_queued_msg: msg##{count}") - count += 1 - req = @readq.pop - throw req if req.is_a?StandardError - break if req.equal?(END_OF_READS) - yield req + private + + END_OF_READS = :end_of_reads + END_OF_WRITES = :end_of_writes + + # each_queued_msg yields each message on this instances readq + # + # - messages are added to the readq by #read_loop + # - iteration ends when the instance itself is added + def each_queued_msg + return enum_for(:each_queued_msg) unless block_given? + count = 0 + loop do + logger.debug("each_queued_msg: msg##{count}") + count += 1 + req = @readq.pop + throw req if req.is_a? StandardError + break if req.equal?(END_OF_READS) + yield req + end end - end - # during bidi-streaming, read the requests to send from a separate thread - # read so that read_loop does not block waiting for requests to read. - def start_write_loop(requests, is_client: true) - Thread.new do # TODO(temiola) run on a thread pool - write_tag = Object.new - begin - count = 0 - requests.each do |req| - count += 1 - payload = @marshal.call(req) - @call.start_write(Core::ByteBuffer.new(payload), write_tag) - ev = @cq.pluck(write_tag, INFINITE_FUTURE) - begin - assert_event_type(ev, WRITE_ACCEPTED) - ensure - ev.close - end - end - if is_client - @call.writes_done(write_tag) - ev = @cq.pluck(write_tag, INFINITE_FUTURE) - begin - assert_event_type(ev, FINISH_ACCEPTED) - ensure - ev.close + # during bidi-streaming, read the requests to send from a separate thread + # read so that read_loop does not block waiting for requests to read. + def start_write_loop(requests, is_client: true) + Thread.new do # TODO(temiola) run on a thread pool + write_tag = Object.new + begin + count = 0 + requests.each do |req| + count += 1 + payload = @marshal.call(req) + @call.start_write(Core::ByteBuffer.new(payload), write_tag) + ev = @cq.pluck(write_tag, INFINITE_FUTURE) + begin + assert_event_type(ev, WRITE_ACCEPTED) + ensure + ev.close + end end - logger.debug("bidi-client: sent #{count} reqs, waiting to finish") - ev = @cq.pluck(@finished_tag, INFINITE_FUTURE) - begin - assert_event_type(ev, FINISHED) - ensure - ev.close + if is_client + @call.writes_done(write_tag) + ev = @cq.pluck(write_tag, INFINITE_FUTURE) + begin + assert_event_type(ev, FINISH_ACCEPTED) + ensure + ev.close + end + logger.debug("bidi-client: sent #{count} reqs, waiting to finish") + ev = @cq.pluck(@finished_tag, INFINITE_FUTURE) + begin + assert_event_type(ev, FINISHED) + ensure + ev.close + end + logger.debug('bidi-client: finished received') end - logger.debug('bidi-client: finished received') + rescue StandardError => e + logger.warn('bidi: write_loop failed') + logger.warn(e) end - rescue StandardError => e - logger.warn('bidi: write_loop failed') - logger.warn(e) end end - end - - # starts the read loop - def start_read_loop() - t = Thread.new do - begin - read_tag = Object.new - count = 0 - # queue the initial read before beginning the loop - loop do - logger.debug("waiting for read #{count}") - count += 1 - @call.start_read(read_tag) - ev = @cq.pluck(read_tag, INFINITE_FUTURE) - begin - assert_event_type(ev, READ) - - # handle the next event. - if ev.result.nil? - @readq.push(END_OF_READS) - logger.debug('done reading!') - break + # starts the read loop + def start_read_loop + Thread.new do + begin + read_tag = Object.new + count = 0 + + # queue the initial read before beginning the loop + loop do + logger.debug("waiting for read #{count}") + count += 1 + @call.start_read(read_tag) + ev = @cq.pluck(read_tag, INFINITE_FUTURE) + begin + assert_event_type(ev, READ) + + # handle the next event. + if ev.result.nil? + @readq.push(END_OF_READS) + logger.debug('done reading!') + break + end + + # push the latest read onto the queue and continue reading + logger.debug("received req: #{ev.result}") + res = @unmarshal.call(ev.result.to_s) + @readq.push(res) + ensure + ev.close end - - # push the latest read onto the queue and continue reading - logger.debug("received req.to_s: #{ev.result.to_s}") - res = @unmarshal.call(ev.result.to_s) - @readq.push(res) - ensure - ev.close end - end - rescue StandardError => e - logger.warn('bidi: read_loop failed') - logger.warn(e) - @readq.push(e) # let each_queued_msg terminate with this error + rescue StandardError => e + logger.warn('bidi: read_loop failed') + logger.warn(e) + @readq.push(e) # let each_queued_msg terminate with this error + end end end end - end - end diff --git a/src/ruby/lib/grpc/generic/client_stub.rb b/src/ruby/lib/grpc/generic/client_stub.rb index 62628cb1f02..7e13de19ca5 100644 --- a/src/ruby/lib/grpc/generic/client_stub.rb +++ b/src/ruby/lib/grpc/generic/client_stub.rb @@ -30,377 +30,381 @@ require 'grpc/generic/active_call' require 'xray/thread_dump_signal_handler' -module Google::RPC +module Google + # Google::RPC contains the General RPC module. + module RPC + # ClientStub represents an endpoint used to send requests to GRPC servers. + class ClientStub + include Core::StatusCodes - # ClientStub represents an endpoint used to send requests to GRPC servers. - class ClientStub - include Core::StatusCodes + # Default deadline is 5 seconds. + DEFAULT_DEADLINE = 5 - # Default deadline is 5 seconds. - DEFAULT_DEADLINE = 5 - - # Creates a new ClientStub. - # - # Minimally, a stub is created with the just the host of the gRPC service - # it wishes to access, e.g., - # - # my_stub = ClientStub.new(example.host.com:50505) - # - # Any arbitrary keyword arguments are treated as channel arguments used to - # configure the RPC connection to the host. - # - # There are some specific keyword args that are not used to configure the - # channel: - # - # - :channel_override - # when present, this must be a pre-created GRPC::Channel. If it's present - # the host and arbitrary keyword arg areignored, and the RPC connection uses - # this channel. - # - # - :deadline - # when present, this is the default deadline used for calls - # - # - :update_metadata - # when present, this a func that takes a hash and returns a hash - # it can be used to update metadata, i.e, remove, change or update - # amend metadata values. - # - # @param host [String] the host the stub connects to - # @param q [Core::CompletionQueue] used to wait for events - # @param channel_override [Core::Channel] a pre-created channel - # @param deadline [Number] the default deadline to use in requests - # @param creds [Core::Credentials] secures and/or authenticates the channel - # @param update_metadata a func that updates metadata as described above - # @param kw [KeywordArgs]the channel arguments - def initialize(host, q, - channel_override:nil, - deadline: DEFAULT_DEADLINE, - creds: nil, - update_metadata: nil, - **kw) - if !q.is_a?Core::CompletionQueue - raise ArgumentError.new('not a CompletionQueue') - end - @queue = q + # Creates a new ClientStub. + # + # Minimally, a stub is created with the just the host of the gRPC service + # it wishes to access, e.g., + # + # my_stub = ClientStub.new(example.host.com:50505) + # + # Any arbitrary keyword arguments are treated as channel arguments used to + # configure the RPC connection to the host. + # + # There are some specific keyword args that are not used to configure the + # channel: + # + # - :channel_override + # when present, this must be a pre-created GRPC::Channel. If it's + # present the host and arbitrary keyword arg areignored, and the RPC + # connection uses this channel. + # + # - :deadline + # when present, this is the default deadline used for calls + # + # - :update_metadata + # when present, this a func that takes a hash and returns a hash + # it can be used to update metadata, i.e, remove, change or update + # amend metadata values. + # + # @param host [String] the host the stub connects to + # @param q [Core::CompletionQueue] used to wait for events + # @param channel_override [Core::Channel] a pre-created channel + # @param deadline [Number] the default deadline to use in requests + # @param creds [Core::Credentials] the channel + # @param update_metadata a func that updates metadata as described above + # @param kw [KeywordArgs]the channel arguments + def initialize(host, q, + channel_override:nil, + deadline: DEFAULT_DEADLINE, + creds: nil, + update_metadata: nil, + **kw) + unless q.is_a? Core::CompletionQueue + fail(ArgumentError, 'not a CompletionQueue') + end + @queue = q - # set the channel instance - if !channel_override.nil? - ch = channel_override - raise ArgumentError.new('not a Channel') unless ch.is_a?(Core::Channel) - elsif creds.nil? - ch = Core::Channel.new(host, kw) - elsif !creds.is_a?(Core::Credentials) - raise ArgumentError.new('not a Credentials') - else - ch = Core::Channel.new(host, kw, creds) - end - @ch = ch + # set the channel instance + if !channel_override.nil? + ch = channel_override + fail(ArgumentError, 'not a Channel') unless ch.is_a? Core::Channel + else + if creds.nil? + ch = Core::Channel.new(host, kw) + elsif !creds.is_a?(Core::Credentials) + fail(ArgumentError, 'not a Credentials') + else + ch = Core::Channel.new(host, kw, creds) + end + end + @ch = ch - @update_metadata = nil - if !update_metadata.nil? - if !update_metadata.is_a?(Proc) - raise ArgumentError.new('update_metadata is not a Proc') + @update_metadata = nil + unless update_metadata.nil? + unless update_metadata.is_a? Proc + fail(ArgumentError, 'update_metadata is not a Proc') + end + @update_metadata = update_metadata end - @update_metadata = update_metadata + + @host = host + @deadline = deadline end + # request_response sends a request to a GRPC server, and returns the + # response. + # + # == Flow Control == + # This is a blocking call. + # + # * it does not return until a response is received. + # + # * the requests is sent only when GRPC core's flow control allows it to + # be sent. + # + # == Errors == + # An RuntimeError is raised if + # + # * the server responds with a non-OK status + # + # * the deadline is exceeded + # + # == Return Value == + # + # If return_op is false, the call returns the response + # + # If return_op is true, the call returns an Operation, calling execute + # on the Operation returns the response. + # + # == Keyword Args == + # + # Unspecified keyword arguments are treated as metadata to be sent to the + # server. + # + # @param method [String] the RPC method to call on the GRPC server + # @param req [Object] the request sent to the server + # @param marshal [Function] f(obj)->string that marshals requests + # @param unmarshal [Function] f(string)->obj that unmarshals responses + # @param deadline [Numeric] (optional) the max completion time in seconds + # @param return_op [true|false] return an Operation if true + # @return [Object] the response received from the server + def request_response(method, req, marshal, unmarshal, deadline = nil, + return_op: false, **kw) + c = new_active_call(method, marshal, unmarshal, deadline || @deadline) + md = @update_metadata.nil? ? kw : @update_metadata.call(kw.clone) + return c.request_response(req, **md) unless return_op - @host = host - @deadline = deadline - end + # return the operation view of the active_call; define #execute as a + # new method for this instance that invokes #request_response. + op = c.operation + op.define_singleton_method(:execute) do + c.request_response(req, **md) + end + op + end - # request_response sends a request to a GRPC server, and returns the - # response. - # - # == Flow Control == - # This is a blocking call. - # - # * it does not return until a response is received. - # - # * the requests is sent only when GRPC core's flow control allows it to - # be sent. - # - # == Errors == - # An RuntimeError is raised if - # - # * the server responds with a non-OK status - # - # * the deadline is exceeded - # - # == Return Value == - # - # If return_op is false, the call returns the response - # - # If return_op is true, the call returns an Operation, calling execute - # on the Operation returns the response. - # - # == Keyword Args == - # - # Unspecified keyword arguments are treated as metadata to be sent to the - # server. - # - # @param method [String] the RPC method to call on the GRPC server - # @param req [Object] the request sent to the server - # @param marshal [Function] f(obj)->string that marshals requests - # @param unmarshal [Function] f(string)->obj that unmarshals responses - # @param deadline [Numeric] (optional) the max completion time in seconds - # @param return_op [true|false] (default false) return an Operation if true - # @return [Object] the response received from the server - def request_response(method, req, marshal, unmarshal, deadline=nil, - return_op:false, **kw) - c = new_active_call(method, marshal, unmarshal, deadline || @deadline) - md = @update_metadata.nil? ? kw : @update_metadata.call(kw.clone) - return c.request_response(req, **md) unless return_op + # client_streamer sends a stream of requests to a GRPC server, and + # returns a single response. + # + # requests provides an 'iterable' of Requests. I.e. it follows Ruby's + # #each enumeration protocol. In the simplest case, requests will be an + # array of marshallable objects; in typical case it will be an Enumerable + # that allows dynamic construction of the marshallable objects. + # + # == Flow Control == + # This is a blocking call. + # + # * it does not return until a response is received. + # + # * each requests is sent only when GRPC core's flow control allows it to + # be sent. + # + # == Errors == + # An RuntimeError is raised if + # + # * the server responds with a non-OK status + # + # * the deadline is exceeded + # + # == Return Value == + # + # If return_op is false, the call consumes the requests and returns + # the response. + # + # If return_op is true, the call returns the response. + # + # == Keyword Args == + # + # Unspecified keyword arguments are treated as metadata to be sent to the + # server. + # + # @param method [String] the RPC method to call on the GRPC server + # @param requests [Object] an Enumerable of requests to send + # @param marshal [Function] f(obj)->string that marshals requests + # @param unmarshal [Function] f(string)->obj that unmarshals responses + # @param deadline [Numeric] the max completion time in seconds + # @param return_op [true|false] return an Operation if true + # @return [Object|Operation] the response received from the server + def client_streamer(method, requests, marshal, unmarshal, deadline = nil, + return_op: false, **kw) + c = new_active_call(method, marshal, unmarshal, deadline || @deadline) + md = @update_metadata.nil? ? kw : @update_metadata.call(kw.clone) + return c.client_streamer(requests, **md) unless return_op - # return the operation view of the active_call; define #execute as a - # new method for this instance that invokes #request_response. - op = c.operation - op.define_singleton_method(:execute) do - c.request_response(req, **md) + # return the operation view of the active_call; define #execute as a + # new method for this instance that invokes #client_streamer. + op = c.operation + op.define_singleton_method(:execute) do + c.client_streamer(requests, **md) + end + op end - op - end - # client_streamer sends a stream of requests to a GRPC server, and - # returns a single response. - # - # requests provides an 'iterable' of Requests. I.e. it follows Ruby's - # #each enumeration protocol. In the simplest case, requests will be an - # array of marshallable objects; in typical case it will be an Enumerable - # that allows dynamic construction of the marshallable objects. - # - # == Flow Control == - # This is a blocking call. - # - # * it does not return until a response is received. - # - # * each requests is sent only when GRPC core's flow control allows it to - # be sent. - # - # == Errors == - # An RuntimeError is raised if - # - # * the server responds with a non-OK status - # - # * the deadline is exceeded - # - # == Return Value == - # - # If return_op is false, the call consumes the requests and returns - # the response. - # - # If return_op is true, the call returns the response. - # - # == Keyword Args == - # - # Unspecified keyword arguments are treated as metadata to be sent to the - # server. - # - # @param method [String] the RPC method to call on the GRPC server - # @param requests [Object] an Enumerable of requests to send - # @param marshal [Function] f(obj)->string that marshals requests - # @param unmarshal [Function] f(string)->obj that unmarshals responses - # @param deadline [Numeric] the max completion time in seconds - # @param return_op [true|false] (default false) return an Operation if true - # @return [Object|Operation] the response received from the server - def client_streamer(method, requests, marshal, unmarshal, deadline=nil, - return_op:false, **kw) - c = new_active_call(method, marshal, unmarshal, deadline || @deadline) - md = @update_metadata.nil? ? kw : @update_metadata.call(kw.clone) - return c.client_streamer(requests, **md) unless return_op + # server_streamer sends one request to the GRPC server, which yields a + # stream of responses. + # + # responses provides an enumerator over the streamed responses, i.e. it + # follows Ruby's #each iteration protocol. The enumerator blocks while + # waiting for each response, stops when the server signals that no + # further responses will be supplied. If the implicit block is provided, + # it is executed with each response as the argument and no result is + # returned. + # + # == Flow Control == + # This is a blocking call. + # + # * the request is sent only when GRPC core's flow control allows it to + # be sent. + # + # * the request will not complete until the server sends the final + # response followed by a status message. + # + # == Errors == + # An RuntimeError is raised if + # + # * the server responds with a non-OK status when any response is + # * retrieved + # + # * the deadline is exceeded + # + # == Return Value == + # + # if the return_op is false, the return value is an Enumerator of the + # results, unless a block is provided, in which case the block is + # executed with each response. + # + # if return_op is true, the function returns an Operation whose #execute + # method runs server streamer call. Again, Operation#execute either + # calls the given block with each response or returns an Enumerator of the + # responses. + # + # == Keyword Args == + # + # Unspecified keyword arguments are treated as metadata to be sent to the + # server. + # + # @param method [String] the RPC method to call on the GRPC server + # @param req [Object] the request sent to the server + # @param marshal [Function] f(obj)->string that marshals requests + # @param unmarshal [Function] f(string)->obj that unmarshals responses + # @param deadline [Numeric] the max completion time in seconds + # @param return_op [true|false]return an Operation if true + # @param blk [Block] when provided, is executed for each response + # @return [Enumerator|Operation|nil] as discussed above + def server_streamer(method, req, marshal, unmarshal, deadline = nil, + return_op: false, **kw, &blk) + c = new_active_call(method, marshal, unmarshal, deadline || @deadline) + md = @update_metadata.nil? ? kw : @update_metadata.call(kw.clone) + return c.server_streamer(req, **md, &blk) unless return_op - # return the operation view of the active_call; define #execute as a - # new method for this instance that invokes #client_streamer. - op = c.operation - op.define_singleton_method(:execute) do - c.client_streamer(requests, **md) + # return the operation view of the active_call; define #execute + # as a new method for this instance that invokes #server_streamer + op = c.operation + op.define_singleton_method(:execute) do + c.server_streamer(req, **md, &blk) + end + op end - op - end - # server_streamer sends one request to the GRPC server, which yields a - # stream of responses. - # - # responses provides an enumerator over the streamed responses, i.e. it - # follows Ruby's #each iteration protocol. The enumerator blocks while - # waiting for each response, stops when the server signals that no - # further responses will be supplied. If the implicit block is provided, - # it is executed with each response as the argument and no result is - # returned. - # - # == Flow Control == - # This is a blocking call. - # - # * the request is sent only when GRPC core's flow control allows it to - # be sent. - # - # * the request will not complete until the server sends the final response - # followed by a status message. - # - # == Errors == - # An RuntimeError is raised if - # - # * the server responds with a non-OK status when any response is - # * retrieved - # - # * the deadline is exceeded - # - # == Return Value == - # - # if the return_op is false, the return value is an Enumerator of the - # results, unless a block is provided, in which case the block is - # executed with each response. - # - # if return_op is true, the function returns an Operation whose #execute - # method runs server streamer call. Again, Operation#execute either - # calls the given block with each response or returns an Enumerator of the - # responses. - # - # == Keyword Args == - # - # Unspecified keyword arguments are treated as metadata to be sent to the - # server. - # - # @param method [String] the RPC method to call on the GRPC server - # @param req [Object] the request sent to the server - # @param marshal [Function] f(obj)->string that marshals requests - # @param unmarshal [Function] f(string)->obj that unmarshals responses - # @param deadline [Numeric] the max completion time in seconds - # @param return_op [true|false] (default false) return an Operation if true - # @param blk [Block] when provided, is executed for each response - # @return [Enumerator|Operation|nil] as discussed above - def server_streamer(method, req, marshal, unmarshal, deadline=nil, - return_op:false, **kw, &blk) - c = new_active_call(method, marshal, unmarshal, deadline || @deadline) - md = @update_metadata.nil? ? kw : @update_metadata.call(kw.clone) - return c.server_streamer(req, **md, &blk) unless return_op + # bidi_streamer sends a stream of requests to the GRPC server, and yields + # a stream of responses. + # + # This method takes an Enumerable of requests, and returns and enumerable + # of responses. + # + # == requests == + # + # requests provides an 'iterable' of Requests. I.e. it follows Ruby's + # #each enumeration protocol. In the simplest case, requests will be an + # array of marshallable objects; in typical case it will be an + # Enumerable that allows dynamic construction of the marshallable + # objects. + # + # == responses == + # + # This is an enumerator of responses. I.e, its #next method blocks + # waiting for the next response. Also, if at any point the block needs + # to consume all the remaining responses, this can be done using #each or + # #collect. Calling #each or #collect should only be done if + # the_call#writes_done has been called, otherwise the block will loop + # forever. + # + # == Flow Control == + # This is a blocking call. + # + # * the call completes when the next call to provided block returns + # * [False] + # + # * the execution block parameters are two objects for sending and + # receiving responses, each of which blocks waiting for flow control. + # E.g, calles to bidi_call#remote_send will wait until flow control + # allows another write before returning; and obviously calls to + # responses#next block until the next response is available. + # + # == Termination == + # + # As well as sending and receiving messages, the block passed to the + # function is also responsible for: + # + # * calling bidi_call#writes_done to indicate no further reqs will be + # sent. + # + # * returning false if once the bidi stream is functionally completed. + # + # Note that response#next will indicate that there are no further + # responses by throwing StopIteration, but can only happen either + # if bidi_call#writes_done is called. + # + # To terminate the RPC correctly the block: + # + # * must call bidi#writes_done and then + # + # * either return false as soon as there is no need for other responses + # + # * loop on responses#next until no further responses are available + # + # == Errors == + # An RuntimeError is raised if + # + # * the server responds with a non-OK status when any response is + # * retrieved + # + # * the deadline is exceeded + # + # + # == Keyword Args == + # + # Unspecified keyword arguments are treated as metadata to be sent to the + # server. + # + # == Return Value == + # + # if the return_op is false, the return value is an Enumerator of the + # results, unless a block is provided, in which case the block is + # executed with each response. + # + # if return_op is true, the function returns an Operation whose #execute + # method runs the Bidi call. Again, Operation#execute either calls a + # given block with each response or returns an Enumerator of the + # responses. + # + # @param method [String] the RPC method to call on the GRPC server + # @param requests [Object] an Enumerable of requests to send + # @param marshal [Function] f(obj)->string that marshals requests + # @param unmarshal [Function] f(string)->obj that unmarshals responses + # @param deadline [Numeric] (optional) the max completion time in seconds + # @param blk [Block] when provided, is executed for each response + # @param return_op [true|false] return an Operation if true + # @return [Enumerator|nil|Operation] as discussed above + def bidi_streamer(method, requests, marshal, unmarshal, deadline = nil, + return_op: false, **kw, &blk) + c = new_active_call(method, marshal, unmarshal, deadline || @deadline) + md = @update_metadata.nil? ? kw : @update_metadata.call(kw.clone) + return c.bidi_streamer(requests, **md, &blk) unless return_op - # return the operation view of the active_call; define #execute - # as a new method for this instance that invokes #server_streamer - op = c.operation - op.define_singleton_method(:execute) do - c.server_streamer(req, **md, &blk) + # return the operation view of the active_call; define #execute + # as a new method for this instance that invokes #bidi_streamer + op = c.operation + op.define_singleton_method(:execute) do + c.bidi_streamer(requests, **md, &blk) + end + op end - op - end - # bidi_streamer sends a stream of requests to the GRPC server, and yields - # a stream of responses. - # - # This method takes an Enumerable of requests, and returns and enumerable - # of responses. - # - # == requests == - # - # requests provides an 'iterable' of Requests. I.e. it follows Ruby's #each - # enumeration protocol. In the simplest case, requests will be an array of - # marshallable objects; in typical case it will be an Enumerable that - # allows dynamic construction of the marshallable objects. - # - # == responses == - # - # This is an enumerator of responses. I.e, its #next method blocks - # waiting for the next response. Also, if at any point the block needs - # to consume all the remaining responses, this can be done using #each or - # #collect. Calling #each or #collect should only be done if - # the_call#writes_done has been called, otherwise the block will loop - # forever. - # - # == Flow Control == - # This is a blocking call. - # - # * the call completes when the next call to provided block returns - # * [False] - # - # * the execution block parameters are two objects for sending and - # receiving responses, each of which blocks waiting for flow control. - # E.g, calles to bidi_call#remote_send will wait until flow control - # allows another write before returning; and obviously calls to - # responses#next block until the next response is available. - # - # == Termination == - # - # As well as sending and receiving messages, the block passed to the - # function is also responsible for: - # - # * calling bidi_call#writes_done to indicate no further reqs will be - # sent. - # - # * returning false if once the bidi stream is functionally completed. - # - # Note that response#next will indicate that there are no further - # responses by throwing StopIteration, but can only happen either - # if bidi_call#writes_done is called. - # - # To terminate the RPC correctly the block: - # - # * must call bidi#writes_done and then - # - # * either return false as soon as there is no need for other responses - # - # * loop on responses#next until no further responses are available - # - # == Errors == - # An RuntimeError is raised if - # - # * the server responds with a non-OK status when any response is - # * retrieved - # - # * the deadline is exceeded - # - # - # == Keyword Args == - # - # Unspecified keyword arguments are treated as metadata to be sent to the - # server. - # - # == Return Value == - # - # if the return_op is false, the return value is an Enumerator of the - # results, unless a block is provided, in which case the block is - # executed with each response. - # - # if return_op is true, the function returns an Operation whose #execute - # method runs the Bidi call. Again, Operation#execute either calls a - # given block with each response or returns an Enumerator of the responses. - # - # @param method [String] the RPC method to call on the GRPC server - # @param requests [Object] an Enumerable of requests to send - # @param marshal [Function] f(obj)->string that marshals requests - # @param unmarshal [Function] f(string)->obj that unmarshals responses - # @param deadline [Numeric] (optional) the max completion time in seconds - # @param blk [Block] when provided, is executed for each response - # @param return_op [true|false] (default false) return an Operation if true - # @return [Enumerator|nil|Operation] as discussed above - def bidi_streamer(method, requests, marshal, unmarshal, deadline=nil, - return_op:false, **kw, &blk) - c = new_active_call(method, marshal, unmarshal, deadline || @deadline) - md = @update_metadata.nil? ? kw : @update_metadata.call(kw.clone) - return c.bidi_streamer(requests, **md, &blk) unless return_op + private - # return the operation view of the active_call; define #execute - # as a new method for this instance that invokes #bidi_streamer - op = c.operation - op.define_singleton_method(:execute) do - c.bidi_streamer(requests, **md, &blk) + # Creates a new active stub + # + # @param ch [GRPC::Channel] the channel used to create the stub. + # @param marshal [Function] f(obj)->string that marshals requests + # @param unmarshal [Function] f(string)->obj that unmarshals responses + # @param deadline [TimeConst] + def new_active_call(ch, marshal, unmarshal, deadline = nil) + absolute_deadline = Core::TimeConsts.from_relative_time(deadline) + call = @ch.create_call(ch, @host, absolute_deadline) + ActiveCall.new(call, @queue, marshal, unmarshal, absolute_deadline, + started: false) end - op end - - private - # Creates a new active stub - # - # @param ch [GRPC::Channel] the channel used to create the stub. - # @param marshal [Function] f(obj)->string that marshals requests - # @param unmarshal [Function] f(string)->obj that unmarshals responses - # @param deadline [TimeConst] - def new_active_call(ch, marshal, unmarshal, deadline=nil) - absolute_deadline = Core::TimeConsts.from_relative_time(deadline) - call = @ch.create_call(ch, @host, absolute_deadline) - ActiveCall.new(call, @queue, marshal, unmarshal, absolute_deadline, - started:false) - end - end - end diff --git a/src/ruby/lib/grpc/generic/rpc_desc.rb b/src/ruby/lib/grpc/generic/rpc_desc.rb index a915708f920..e1aa33e3183 100644 --- a/src/ruby/lib/grpc/generic/rpc_desc.rb +++ b/src/ruby/lib/grpc/generic/rpc_desc.rb @@ -29,54 +29,51 @@ require 'grpc/grpc' -module Google::RPC - - # RpcDesc is a Descriptor of an RPC method. - class RpcDesc < Struct.new(:name, :input, :output, :marshal_method, - :unmarshal_method) - include Core::StatusCodes - - # Used to wrap a message class to indicate that it needs to be streamed. - class Stream - attr_accessor :type - - def initialize(type) - @type = type +module Google + module RPC + # RpcDesc is a Descriptor of an RPC method. + class RpcDesc < Struct.new(:name, :input, :output, :marshal_method, + :unmarshal_method) + include Core::StatusCodes + + # Used to wrap a message class to indicate that it needs to be streamed. + class Stream + attr_accessor :type + + def initialize(type) + @type = type + end end - end - # @return [Proc] { |instance| marshalled(instance) } - def marshal_proc - Proc.new { |o| o.class.method(marshal_method).call(o).to_s } - end + # @return [Proc] { |instance| marshalled(instance) } + def marshal_proc + proc { |o| o.class.method(marshal_method).call(o).to_s } + end - # @param [:input, :output] target determines whether to produce the an - # unmarshal Proc for the rpc input parameter or - # its output parameter - # - # @return [Proc] An unmarshal proc { |marshalled(instance)| instance } - def unmarshal_proc(target) - raise ArgumentError if not [:input, :output].include?(target) - unmarshal_class = method(target).call - if unmarshal_class.is_a?Stream - unmarshal_class = unmarshal_class.type + # @param [:input, :output] target determines whether to produce the an + # unmarshal Proc for the rpc input parameter or + # its output parameter + # + # @return [Proc] An unmarshal proc { |marshalled(instance)| instance } + def unmarshal_proc(target) + fail ArgumentError unless [:input, :output].include?(target) + unmarshal_class = method(target).call + unmarshal_class = unmarshal_class.type if unmarshal_class.is_a? Stream + proc { |o| unmarshal_class.method(unmarshal_method).call(o) } end - Proc.new { |o| unmarshal_class.method(unmarshal_method).call(o) } - end - def run_server_method(active_call, mth) - # While a server method is running, it might be cancelled, its deadline - # might be reached, the handler could throw an unknown error, or a - # well-behaved handler could throw a StatusError. - begin - if is_request_response? + def run_server_method(active_call, mth) + # While a server method is running, it might be cancelled, its deadline + # might be reached, the handler could throw an unknown error, or a + # well-behaved handler could throw a StatusError. + if request_response? req = active_call.remote_read resp = mth.call(req, active_call.single_req_view) active_call.remote_send(resp) - elsif is_client_streamer? + elsif client_streamer? resp = mth.call(active_call.multi_req_view) active_call.remote_send(resp) - elsif is_server_streamer? + elsif server_streamer? req = active_call.remote_read replys = mth.call(req, active_call.single_req_view) replys.each { |r| active_call.remote_send(r) } @@ -88,7 +85,7 @@ module Google::RPC rescue BadStatus => e # this is raised by handlers that want GRPC to send an application # error code and detail message. - logger.debug("app error: #{active_call}, status:#{e.code}:#{e.details}") + logger.debug("app err: #{active_call}, status:#{e.code}:#{e.details}") send_status(active_call, e.code, e.details) rescue Core::CallError => e # This is raised by GRPC internals but should rarely, if ever happen. @@ -110,50 +107,46 @@ module Google::RPC logger.warn(e) send_status(active_call, UNKNOWN, 'no reason given') end - end - def assert_arity_matches(mth) - if (is_request_response? || is_server_streamer?) - if mth.arity != 2 - raise arity_error(mth, 2, "should be #{mth.name}(req, call)") - end - else - if mth.arity != 1 - raise arity_error(mth, 1, "should be #{mth.name}(call)") + def assert_arity_matches(mth) + if request_response? || server_streamer? + if mth.arity != 2 + fail arity_error(mth, 2, "should be #{mth.name}(req, call)") + end + else + if mth.arity != 1 + fail arity_error(mth, 1, "should be #{mth.name}(call)") + end end end - end - def is_request_response? - !input.is_a?(Stream) && !output.is_a?(Stream) - end + def request_response? + !input.is_a?(Stream) && !output.is_a?(Stream) + end - def is_client_streamer? - input.is_a?(Stream) && !output.is_a?(Stream) - end + def client_streamer? + input.is_a?(Stream) && !output.is_a?(Stream) + end - def is_server_streamer? - !input.is_a?(Stream) && output.is_a?(Stream) - end + def server_streamer? + !input.is_a?(Stream) && output.is_a?(Stream) + end - def is_bidi_streamer? - input.is_a?(Stream) && output.is_a?(Stream) - end + def bidi_streamer? + input.is_a?(Stream) && output.is_a?(Stream) + end - def arity_error(mth, want, msg) - "##{mth.name}: bad arg count; got:#{mth.arity}, want:#{want}, #{msg}" - end + def arity_error(mth, want, msg) + "##{mth.name}: bad arg count; got:#{mth.arity}, want:#{want}, #{msg}" + end - def send_status(active_client, code, details) - begin + def send_status(active_client, code, details) details = 'Not sure why' if details.nil? active_client.send_status(code, details) rescue StandardError => e - logger.warn('Could not send status %d:%s' % [code, details]) + logger.warn("Could not send status #{code}:#{details}") logger.warn(e) end end - end - end diff --git a/src/ruby/lib/grpc/generic/rpc_server.rb b/src/ruby/lib/grpc/generic/rpc_server.rb index 81db68804ec..5ea3cc94d65 100644 --- a/src/ruby/lib/grpc/generic/rpc_server.rb +++ b/src/ruby/lib/grpc/generic/rpc_server.rb @@ -33,382 +33,378 @@ require 'grpc/generic/service' require 'thread' require 'xray/thread_dump_signal_handler' -module Google::RPC - - # RpcServer hosts a number of services and makes them available on the - # network. - class RpcServer - include Core::CompletionType - include Core::TimeConsts - extend ::Forwardable - - def_delegators :@server, :add_http2_port - - # Default thread pool size is 3 - DEFAULT_POOL_SIZE = 3 - - # Default max_waiting_requests size is 20 - DEFAULT_MAX_WAITING_REQUESTS = 20 - - # Creates a new RpcServer. - # - # The RPC server is configured using keyword arguments. - # - # There are some specific keyword args used to configure the RpcServer - # instance, however other arbitrary are allowed and when present are used - # to configure the listeninng connection set up by the RpcServer. - # - # * server_override: which if passed must be a [GRPC::Core::Server]. When - # present. - # - # * poll_period: when present, the server polls for new events with this - # period - # - # * pool_size: the size of the thread pool the server uses to run its - # threads - # - # * completion_queue_override: when supplied, this will be used as the - # completion_queue that the server uses to receive network events, - # otherwise its creates a new instance itself - # - # * creds: [GRPC::Core::ServerCredentials] - # the credentials used to secure the server - # - # * max_waiting_requests: the maximum number of requests that are not - # being handled to allow. When this limit is exceeded, the server responds - # with not available to new requests - def initialize(pool_size:DEFAULT_POOL_SIZE, - max_waiting_requests:DEFAULT_MAX_WAITING_REQUESTS, - poll_period:INFINITE_FUTURE, - completion_queue_override:nil, - creds:nil, - server_override:nil, - **kw) - if !completion_queue_override.nil? - cq = completion_queue_override - if !cq.is_a?(Core::CompletionQueue) - raise ArgumentError.new('not a CompletionQueue') +module Google + # Google::RPC contains the General RPC module. + module RPC + # RpcServer hosts a number of services and makes them available on the + # network. + class RpcServer + include Core::CompletionType + include Core::TimeConsts + extend ::Forwardable + + def_delegators :@server, :add_http2_port + + # Default thread pool size is 3 + DEFAULT_POOL_SIZE = 3 + + # Default max_waiting_requests size is 20 + DEFAULT_MAX_WAITING_REQUESTS = 20 + + # Creates a new RpcServer. + # + # The RPC server is configured using keyword arguments. + # + # There are some specific keyword args used to configure the RpcServer + # instance, however other arbitrary are allowed and when present are used + # to configure the listeninng connection set up by the RpcServer. + # + # * server_override: which if passed must be a [GRPC::Core::Server]. When + # present. + # + # * poll_period: when present, the server polls for new events with this + # period + # + # * pool_size: the size of the thread pool the server uses to run its + # threads + # + # * completion_queue_override: when supplied, this will be used as the + # completion_queue that the server uses to receive network events, + # otherwise its creates a new instance itself + # + # * creds: [GRPC::Core::ServerCredentials] + # the credentials used to secure the server + # + # * max_waiting_requests: the maximum number of requests that are not + # being handled to allow. When this limit is exceeded, the server responds + # with not available to new requests + def initialize(pool_size:DEFAULT_POOL_SIZE, + max_waiting_requests:DEFAULT_MAX_WAITING_REQUESTS, + poll_period:INFINITE_FUTURE, + completion_queue_override:nil, + creds:nil, + server_override:nil, + **kw) + if completion_queue_override.nil? + cq = Core::CompletionQueue.new + else + cq = completion_queue_override + unless cq.is_a? Core::CompletionQueue + fail(ArgumentError, 'not a CompletionQueue') + end end - else - cq = Core::CompletionQueue.new - end - @cq = cq - - if !server_override.nil? - srv = server_override - raise ArgumentError.new('not a Server') unless srv.is_a?(Core::Server) - elsif creds.nil? - srv = Core::Server.new(@cq, kw) - elsif !creds.is_a?(Core::ServerCredentials) - raise ArgumentError.new('not a ServerCredentials') - else - srv = Core::Server.new(@cq, kw, creds) + @cq = cq + + if server_override.nil? + if creds.nil? + srv = Core::Server.new(@cq, kw) + elsif !creds.is_a? Core::ServerCredentials + fail(ArgumentError, 'not a ServerCredentials') + else + srv = Core::Server.new(@cq, kw, creds) + end + else + srv = server_override + fail(ArgumentError, 'not a Server') unless srv.is_a? Core::Server + end + @server = srv + + @pool_size = pool_size + @max_waiting_requests = max_waiting_requests + @poll_period = poll_period + @run_mutex = Mutex.new + @run_cond = ConditionVariable.new + @pool = Pool.new(@pool_size) end - @server = srv - - @pool_size = pool_size - @max_waiting_requests = max_waiting_requests - @poll_period = poll_period - @run_mutex = Mutex.new - @run_cond = ConditionVariable.new - @pool = Pool.new(@pool_size) - end - # stops a running server - # - # the call has no impact if the server is already stopped, otherwise - # server's current call loop is it's last. - def stop - if @running + # stops a running server + # + # the call has no impact if the server is already stopped, otherwise + # server's current call loop is it's last. + def stop + return unless @running @stopped = true @pool.stop end - end - # determines if the server is currently running - def running? - @running ||= false - end + # determines if the server is currently running + def running? + @running ||= false + end - # Is called from other threads to wait for #run to start up the server. - # - # If run has not been called, this returns immediately. - # - # @param timeout [Numeric] number of seconds to wait - # @result [true, false] true if the server is running, false otherwise - def wait_till_running(timeout=0.1) - end_time, sleep_period = Time.now + timeout, (1.0 * timeout)/100 - while Time.now < end_time - if !running? - @run_mutex.synchronize { @run_cond.wait(@run_mutex) } + # Is called from other threads to wait for #run to start up the server. + # + # If run has not been called, this returns immediately. + # + # @param timeout [Numeric] number of seconds to wait + # @result [true, false] true if the server is running, false otherwise + def wait_till_running(timeout = 0.1) + end_time, sleep_period = Time.now + timeout, (1.0 * timeout) / 100 + while Time.now < end_time + @run_mutex.synchronize { @run_cond.wait(@run_mutex) } unless running? + sleep(sleep_period) end - sleep(sleep_period) + running? end - return running? - end - - # determines if the server is currently stopped - def stopped? - @stopped ||= false - end - - # handle registration of classes - # - # service is either a class that includes GRPC::GenericService and whose - # #new function can be called without argument or any instance of such a - # class. - # - # E.g, after - # - # class Divider - # include GRPC::GenericService - # rpc :div DivArgs, DivReply # single request, single response - # def initialize(optional_arg='default option') # no args - # ... - # end - # - # srv = GRPC::RpcServer.new(...) - # - # # Either of these works - # - # srv.handle(Divider) - # - # # or - # - # srv.handle(Divider.new('replace optional arg')) - # - # It raises RuntimeError: - # - if service is not valid service class or object - # - if it is a valid service, but the handler methods are already registered - # - if the server is already running - # - # @param service [Object|Class] a service class or object as described - # above - def handle(service) - raise 'cannot add services if the server is running' if running? - raise 'cannot add services if the server is stopped' if stopped? - cls = service.is_a?(Class) ? service : service.class - assert_valid_service_class(cls) - add_rpc_descs_for(service) - end - # runs the server - # - # - if no rpc_descs are registered, this exits immediately, otherwise it - # continues running permanently and does not return until program exit. - # - # - #running? returns true after this is called, until #stop cause the - # the server to stop. - def run - if rpc_descs.size == 0 - logger.warn('did not run as no services were present') - return + # determines if the server is currently stopped + def stopped? + @stopped ||= false end - @run_mutex.synchronize do - @running = true - @run_cond.signal + + # handle registration of classes + # + # service is either a class that includes GRPC::GenericService and whose + # #new function can be called without argument or any instance of such a + # class. + # + # E.g, after + # + # class Divider + # include GRPC::GenericService + # rpc :div DivArgs, DivReply # single request, single response + # def initialize(optional_arg='default option') # no args + # ... + # end + # + # srv = GRPC::RpcServer.new(...) + # + # # Either of these works + # + # srv.handle(Divider) + # + # # or + # + # srv.handle(Divider.new('replace optional arg')) + # + # It raises RuntimeError: + # - if service is not valid service class or object + # - its handler methods are already registered + # - if the server is already running + # + # @param service [Object|Class] a service class or object as described + # above + def handle(service) + fail 'cannot add services if the server is running' if running? + fail 'cannot add services if the server is stopped' if stopped? + cls = service.is_a?(Class) ? service : service.class + assert_valid_service_class(cls) + add_rpc_descs_for(service) end - @pool.start - @server.start - server_tag = Object.new - while !stopped? - @server.request_call(server_tag) - ev = @cq.pluck(server_tag, @poll_period) - next if ev.nil? - if ev.type != SERVER_RPC_NEW - logger.warn("bad evt: got:#{ev.type}, want:#{SERVER_RPC_NEW}") - ev.close - next + + # runs the server + # + # - if no rpc_descs are registered, this exits immediately, otherwise it + # continues running permanently and does not return until program exit. + # + # - #running? returns true after this is called, until #stop cause the + # the server to stop. + def run + if rpc_descs.size == 0 + logger.warn('did not run as no services were present') + return end - c = new_active_server_call(ev.call, ev.result) - if !c.nil? - mth = ev.result.method.to_sym - ev.close - @pool.schedule(c) do |call| - rpc_descs[mth].run_server_method(call, rpc_handlers[mth]) + @run_mutex.synchronize do + @running = true + @run_cond.signal + end + @pool.start + @server.start + server_tag = Object.new + until stopped? + @server.request_call(server_tag) + ev = @cq.pluck(server_tag, @poll_period) + next if ev.nil? + if ev.type != SERVER_RPC_NEW + logger.warn("bad evt: got:#{ev.type}, want:#{SERVER_RPC_NEW}") + ev.close + next + end + c = new_active_server_call(ev.call, ev.result) + unless c.nil? + mth = ev.result.method.to_sym + ev.close + @pool.schedule(c) do |call| + rpc_descs[mth].run_server_method(call, rpc_handlers[mth]) + end end end - end - @running = false - end - - def new_active_server_call(call, new_server_rpc) - # TODO(temiola): perhaps reuse the main server completion queue here, but - # for now, create a new completion queue per call, pending best practice - # usage advice from the c core. - - # Accept the call. This is necessary even if a status is to be sent back - # immediately - finished_tag = Object.new - call_queue = Core::CompletionQueue.new - call.metadata = new_server_rpc.metadata # store the metadata on the call - call.server_accept(call_queue, finished_tag) - call.server_end_initial_metadata() - - # Send UNAVAILABLE if there are too many unprocessed jobs - jobs_count, max = @pool.jobs_waiting, @max_waiting_requests - logger.info("waiting: #{jobs_count}, max: #{max}") - if @pool.jobs_waiting > @max_waiting_requests - logger.warn("NOT AVAILABLE: too many jobs_waiting: #{new_server_rpc}") - noop = Proc.new { |x| x } - c = ActiveCall.new(call, call_queue, noop, noop, - new_server_rpc.deadline, finished_tag: finished_tag) - c.send_status(StatusCodes::UNAVAILABLE, '') - return nil + @running = false end - # Send NOT_FOUND if the method does not exist - mth = new_server_rpc.method.to_sym - if !rpc_descs.has_key?(mth) - logger.warn("NOT_FOUND: #{new_server_rpc}") - noop = Proc.new { |x| x } - c = ActiveCall.new(call, call_queue, noop, noop, - new_server_rpc.deadline, finished_tag: finished_tag) - c.send_status(StatusCodes::NOT_FOUND, '') - return nil - end + def new_active_server_call(call, new_server_rpc) + # TODO(temiola): perhaps reuse the main server completion queue here, + # but for now, create a new completion queue per call, pending best + # practice usage advice from the c core. + + # Accept the call. This is necessary even if a status is to be sent + # back immediately + finished_tag = Object.new + call_queue = Core::CompletionQueue.new + call.metadata = new_server_rpc.metadata # store the metadata + call.server_accept(call_queue, finished_tag) + call.server_end_initial_metadata + + # Send UNAVAILABLE if there are too many unprocessed jobs + jobs_count, max = @pool.jobs_waiting, @max_waiting_requests + logger.info("waiting: #{jobs_count}, max: #{max}") + if @pool.jobs_waiting > @max_waiting_requests + logger.warn("NOT AVAILABLE: too many jobs_waiting: #{new_server_rpc}") + noop = proc { |x| x } + c = ActiveCall.new(call, call_queue, noop, noop, + new_server_rpc.deadline, + finished_tag: finished_tag) + c.send_status(StatusCodes::UNAVAILABLE, '') + return nil + end - # Create the ActiveCall - rpc_desc = rpc_descs[mth] - logger.info("deadline is #{new_server_rpc.deadline}; (now=#{Time.now})") - ActiveCall.new(call, call_queue, - rpc_desc.marshal_proc, rpc_desc.unmarshal_proc(:input), - new_server_rpc.deadline, finished_tag: finished_tag) - end + # Send NOT_FOUND if the method does not exist + mth = new_server_rpc.method.to_sym + unless rpc_descs.key?(mth) + logger.warn("NOT_FOUND: #{new_server_rpc}") + noop = proc { |x| x } + c = ActiveCall.new(call, call_queue, noop, noop, + new_server_rpc.deadline, + finished_tag: finished_tag) + c.send_status(StatusCodes::NOT_FOUND, '') + return nil + end - # Pool is a simple thread pool for running server requests. - class Pool - - def initialize(size) - raise 'pool size must be positive' unless size > 0 - @jobs = Queue.new - @size = size - @stopped = false - @stop_mutex = Mutex.new - @stop_cond = ConditionVariable.new - @workers = [] + # Create the ActiveCall + rpc_desc = rpc_descs[mth] + logger.info("deadline is #{new_server_rpc.deadline}; (now=#{Time.now})") + ActiveCall.new(call, call_queue, + rpc_desc.marshal_proc, rpc_desc.unmarshal_proc(:input), + new_server_rpc.deadline, finished_tag: finished_tag) end - # Returns the number of jobs waiting - def jobs_waiting - @jobs.size - end + # Pool is a simple thread pool for running server requests. + class Pool + def initialize(size) + fail 'pool size must be positive' unless size > 0 + @jobs = Queue.new + @size = size + @stopped = false + @stop_mutex = Mutex.new + @stop_cond = ConditionVariable.new + @workers = [] + end - # Runs the given block on the queue with the provided args. - # - # @param args the args passed blk when it is called - # @param blk the block to call - def schedule(*args, &blk) - raise 'already stopped' if @stopped - return if blk.nil? - logger.info('schedule another job') - @jobs << [blk, args] - end + # Returns the number of jobs waiting + def jobs_waiting + @jobs.size + end + + # Runs the given block on the queue with the provided args. + # + # @param args the args passed blk when it is called + # @param blk the block to call + def schedule(*args, &blk) + fail 'already stopped' if @stopped + return if blk.nil? + logger.info('schedule another job') + @jobs << [blk, args] + end - # Starts running the jobs in the thread pool. - def start - raise 'already stopped' if @stopped - until @workers.size == @size.to_i - next_thread = Thread.new do - catch(:exit) do # allows { throw :exit } to kill a thread - loop do - begin - blk, args = @jobs.pop - blk.call(*args) - rescue StandardError => e - logger.warn('Error in worker thread') - logger.warn(e) + # Starts running the jobs in the thread pool. + def start + fail 'already stopped' if @stopped + until @workers.size == @size.to_i + next_thread = Thread.new do + catch(:exit) do # allows { throw :exit } to kill a thread + loop do + begin + blk, args = @jobs.pop + blk.call(*args) + rescue StandardError => e + logger.warn('Error in worker thread') + logger.warn(e) + end end end - end - # removes the threads from workers, and signal when all the threads - # are complete. - @stop_mutex.synchronize do - @workers.delete(Thread.current) - if @workers.size == 0 - @stop_cond.signal + # removes the threads from workers, and signal when all the + # threads are complete. + @stop_mutex.synchronize do + @workers.delete(Thread.current) + @stop_cond.signal if @workers.size == 0 end end + @workers << next_thread end - @workers << next_thread end - end - # Stops the jobs in the pool - def stop - logger.info('stopping, will wait for all the workers to exit') - @workers.size.times { schedule { throw :exit } } - @stopped = true + # Stops the jobs in the pool + def stop + logger.info('stopping, will wait for all the workers to exit') + @workers.size.times { schedule { throw :exit } } + @stopped = true - # TODO(temiola): allow configuration of the keepalive period - keep_alive = 5 - @stop_mutex.synchronize do - if @workers.size > 0 - @stop_cond.wait(@stop_mutex, keep_alive) + # TODO(temiola): allow configuration of the keepalive period + keep_alive = 5 + @stop_mutex.synchronize do + @stop_cond.wait(@stop_mutex, keep_alive) if @workers.size > 0 end - end - # Forcibly shutdown any threads that are still alive. - if @workers.size > 0 - logger.warn("forcibly terminating #{@workers.size} worker(s)") - @workers.each do |t| - next unless t.alive? - begin - t.exit - rescue StandardError => e - logger.warn('error while terminating a worker') - logger.warn(e) + # Forcibly shutdown any threads that are still alive. + if @workers.size > 0 + logger.warn("forcibly terminating #{@workers.size} worker(s)") + @workers.each do |t| + next unless t.alive? + begin + t.exit + rescue StandardError => e + logger.warn('error while terminating a worker') + logger.warn(e) + end end end - end - logger.info('stopped, all workers are shutdown') + logger.info('stopped, all workers are shutdown') + end end - end + protected - protected - - def rpc_descs - @rpc_descs ||= {} - end + def rpc_descs + @rpc_descs ||= {} + end - def rpc_handlers - @rpc_handlers ||= {} - end + def rpc_handlers + @rpc_handlers ||= {} + end - private + private - def assert_valid_service_class(cls) - if !cls.include?(GenericService) - raise "#{cls} should 'include GenericService'" - end - if cls.rpc_descs.size == 0 - raise "#{cls} should specify some rpc descriptions" + def assert_valid_service_class(cls) + unless cls.include?(GenericService) + fail "#{cls} should 'include GenericService'" + end + if cls.rpc_descs.size == 0 + fail "#{cls} should specify some rpc descriptions" + end + cls.assert_rpc_descs_have_methods end - cls.assert_rpc_descs_have_methods - end - def add_rpc_descs_for(service) - cls = service.is_a?(Class) ? service : service.class - specs = rpc_descs - handlers = rpc_handlers - cls.rpc_descs.each_pair do |name,spec| - route = "/#{cls.service_name}/#{name}".to_sym - if specs.has_key?(route) - raise "Cannot add rpc #{route} from #{spec}, already registered" - else - specs[route] = spec - if service.is_a?(Class) - handlers[route] = cls.new.method(name.to_s.underscore.to_sym) + def add_rpc_descs_for(service) + cls = service.is_a?(Class) ? service : service.class + specs = rpc_descs + handlers = rpc_handlers + cls.rpc_descs.each_pair do |name, spec| + route = "/#{cls.service_name}/#{name}".to_sym + if specs.key? route + fail "Cannot add rpc #{route} from #{spec}, already registered" else - handlers[route] = service.method(name.to_s.underscore.to_sym) + specs[route] = spec + if service.is_a?(Class) + handlers[route] = cls.new.method(name.to_s.underscore.to_sym) + else + handlers[route] = service.method(name.to_s.underscore.to_sym) + end + logger.info("handling #{route} with #{handlers[route]}") end - logger.info("handling #{route} with #{handlers[route]}") end end end end - end diff --git a/src/ruby/lib/grpc/generic/service.rb b/src/ruby/lib/grpc/generic/service.rb index f3fe638fcef..ff37617ccfa 100644 --- a/src/ruby/lib/grpc/generic/service.rb +++ b/src/ruby/lib/grpc/generic/service.rb @@ -32,7 +32,6 @@ require 'grpc/generic/rpc_desc' # Extend String to add a method underscore class String - # creates a new string that is the underscore separate version of this one. # # E.g, @@ -40,210 +39,199 @@ class String # AMethod -> a_method # AnRpc -> an_rpc def underscore - word = self.dup + word = dup word.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2') word.gsub!(/([a-z\d])([A-Z])/, '\1_\2') word.tr!('-', '_') word.downcase! word end - end -module Google::RPC - - # Provides behaviour used to implement schema-derived service classes. - # - # Is intended to be used to support both client and server IDL-schema-derived - # servers. - module GenericService - - # Used to indicate that a name has already been specified - class DuplicateRpcName < StandardError - def initialize(name) - super("rpc (#{name}) is already defined") - end - end - - # Provides a simple DSL to describe RPC services. - # - # E.g, a Maths service that uses the serializable messages DivArgs, - # DivReply and Num might define its endpoint uses the following way: - # - # rpc :div DivArgs, DivReply # single request, single response - # rpc :sum stream(Num), Num # streamed input, single response - # rpc :fib FibArgs, stream(Num) # single request, streamed response - # rpc :div_many stream(DivArgs), stream(DivReply) - # # streamed req and resp +module Google + # Google::RPC contains the General RPC module. + module RPC + # Provides behaviour used to implement schema-derived service classes. # - # Each 'rpc' adds an RpcDesc to classes including this module, and - # #assert_rpc_descs_have_methods is used to ensure the including class - # provides methods with signatures that support all the descriptors. - module Dsl - - # This configures the method names that the serializable message - # implementation uses to marshal and unmarshal messages. - # - # - unmarshal_class method must be a class method on the serializable - # message type that takes a string (byte stream) and produces and object - # - # - marshal_class_method is called on a serializable message instance - # and produces a serialized string. - # - # The Dsl verifies that the types in the descriptor have both the - # unmarshal and marshal methods. - attr_writer(:marshal_class_method, :unmarshal_class_method) - - # This allows configuration of the service name. - attr_accessor(:service_name) + # Is intended to be used to support both client and server + # IDL-schema-derived servers. + module GenericService + # Used to indicate that a name has already been specified + class DuplicateRpcName < StandardError + def initialize(name) + super("rpc (#{name}) is already defined") + end + end - # Adds an RPC spec. + # Provides a simple DSL to describe RPC services. # - # Takes the RPC name and the classes representing the types to be - # serialized, and adds them to the including classes rpc_desc hash. + # E.g, a Maths service that uses the serializable messages DivArgs, + # DivReply and Num might define its endpoint uses the following way: # - # input and output should both have the methods #marshal and #unmarshal - # that are responsible for writing and reading an object instance from a - # byte buffer respectively. + # rpc :div DivArgs, DivReply # single request, single response + # rpc :sum stream(Num), Num # streamed input, single response + # rpc :fib FibArgs, stream(Num) # single request, streamed response + # rpc :div_many stream(DivArgs), stream(DivReply) + # # streamed req and resp # - # @param name [String] the name of the rpc - # @param input [Object] the input parameter's class - # @param output [Object] the output parameter's class - def rpc(name, input, output) - raise DuplicateRpcName, name if rpc_descs.has_key?(name) - assert_can_marshal(input) - assert_can_marshal(output) - rpc_descs[name] = RpcDesc.new(name, input, output, - marshal_class_method, - unmarshal_class_method) - end - - def inherited(subclass) - # Each subclass should have a distinct class variable with its own - # rpc_descs - subclass.rpc_descs.merge!(rpc_descs) - subclass.service_name = service_name - end - - # the name of the instance method used to marshal events to a byte stream. - def marshal_class_method - @marshal_class_method ||= :marshal - end + # Each 'rpc' adds an RpcDesc to classes including this module, and + # #assert_rpc_descs_have_methods is used to ensure the including class + # provides methods with signatures that support all the descriptors. + module Dsl + # This configures the method names that the serializable message + # implementation uses to marshal and unmarshal messages. + # + # - unmarshal_class method must be a class method on the serializable + # message type that takes a string (byte stream) and produces and object + # + # - marshal_class_method is called on a serializable message instance + # and produces a serialized string. + # + # The Dsl verifies that the types in the descriptor have both the + # unmarshal and marshal methods. + attr_writer(:marshal_class_method, :unmarshal_class_method) + + # This allows configuration of the service name. + attr_accessor(:service_name) + + # Adds an RPC spec. + # + # Takes the RPC name and the classes representing the types to be + # serialized, and adds them to the including classes rpc_desc hash. + # + # input and output should both have the methods #marshal and #unmarshal + # that are responsible for writing and reading an object instance from a + # byte buffer respectively. + # + # @param name [String] the name of the rpc + # @param input [Object] the input parameter's class + # @param output [Object] the output parameter's class + def rpc(name, input, output) + fail(DuplicateRpcName, name) if rpc_descs.key? name + assert_can_marshal(input) + assert_can_marshal(output) + rpc_descs[name] = RpcDesc.new(name, input, output, + marshal_class_method, + unmarshal_class_method) + end - # the name of the class method used to unmarshal from a byte stream. - def unmarshal_class_method - @unmarshal_class_method ||= :unmarshal - end + def inherited(subclass) + # Each subclass should have a distinct class variable with its own + # rpc_descs + subclass.rpc_descs.merge!(rpc_descs) + subclass.service_name = service_name + end - def assert_can_marshal(cls) - if cls.is_a?RpcDesc::Stream - cls = cls.type + # the name of the instance method used to marshal events to a byte + # stream. + def marshal_class_method + @marshal_class_method ||= :marshal end - mth = unmarshal_class_method - if !cls.methods.include?(mth) - raise ArgumentError, "#{cls} needs #{cls}.#{mth}" + # the name of the class method used to unmarshal from a byte stream. + def unmarshal_class_method + @unmarshal_class_method ||= :unmarshal end - mth = marshal_class_method - if !cls.methods.include?(mth) - raise ArgumentError, "#{cls} needs #{cls}.#{mth}" + def assert_can_marshal(cls) + cls = cls.type if cls.is_a? RpcDesc::Stream + mth = unmarshal_class_method + unless cls.methods.include? mth + fail(ArgumentError, "#{cls} needs #{cls}.#{mth}") + end + mth = marshal_class_method + return if cls.methods.include? mth + fail(ArgumentError, "#{cls} needs #{cls}.#{mth}") end - end - # @param cls [Class] the class of a serializable type - # @return cls wrapped in a RpcDesc::Stream - def stream(cls) - assert_can_marshal(cls) - RpcDesc::Stream.new(cls) - end + # @param cls [Class] the class of a serializable type + # @return cls wrapped in a RpcDesc::Stream + def stream(cls) + assert_can_marshal(cls) + RpcDesc::Stream.new(cls) + end - # the RpcDescs defined for this GenericService, keyed by name. - def rpc_descs - @rpc_descs ||= {} - end + # the RpcDescs defined for this GenericService, keyed by name. + def rpc_descs + @rpc_descs ||= {} + end - # Creates a rpc client class with methods for accessing the methods - # currently in rpc_descs. - def rpc_stub_class - descs = rpc_descs - route_prefix = service_name - Class.new(ClientStub) do - - # @param host [String] the host the stub connects to - # @param kw [KeywordArgs] the channel arguments, plus any optional - # args for configuring the client's channel - def initialize(host, **kw) - super(host, Core::CompletionQueue.new, **kw) - end + # Creates a rpc client class with methods for accessing the methods + # currently in rpc_descs. + def rpc_stub_class + descs = rpc_descs + route_prefix = service_name + Class.new(ClientStub) do + # @param host [String] the host the stub connects to + # @param kw [KeywordArgs] the channel arguments, plus any optional + # args for configuring the client's channel + def initialize(host, **kw) + super(host, Core::CompletionQueue.new, **kw) + end - # Used define_method to add a method for each rpc_desc. Each method - # calls the base class method for the given descriptor. - descs.each_pair do |name,desc| - mth_name = name.to_s.underscore.to_sym - marshal = desc.marshal_proc - unmarshal = desc.unmarshal_proc(:output) - route = "/#{route_prefix}/#{name}" - if desc.is_request_response? - define_method(mth_name) do |req,deadline=nil| - logger.debug("calling #{@host}:#{route}") - request_response(route, req, marshal, unmarshal, deadline) - end - elsif desc.is_client_streamer? - define_method(mth_name) do |reqs,deadline=nil| - logger.debug("calling #{@host}:#{route}") - client_streamer(route, reqs, marshal, unmarshal, deadline) - end - elsif desc.is_server_streamer? - define_method(mth_name) do |req,deadline=nil,&blk| - logger.debug("calling #{@host}:#{route}") - server_streamer(route, req, marshal, unmarshal, deadline, &blk) - end - else # is a bidi_stream - define_method(mth_name) do |reqs, deadline=nil,&blk| - logger.debug("calling #{@host}:#{route}") - bidi_streamer(route, reqs, marshal, unmarshal, deadline, &blk) + # Used define_method to add a method for each rpc_desc. Each method + # calls the base class method for the given descriptor. + descs.each_pair do |name, desc| + mth_name = name.to_s.underscore.to_sym + marshal = desc.marshal_proc + unmarshal = desc.unmarshal_proc(:output) + route = "/#{route_prefix}/#{name}" + if desc.request_response? + define_method(mth_name) do |req, deadline = nil| + logger.debug("calling #{@host}:#{route}") + request_response(route, req, marshal, unmarshal, deadline) + end + elsif desc.client_streamer? + define_method(mth_name) do |reqs, deadline = nil| + logger.debug("calling #{@host}:#{route}") + client_streamer(route, reqs, marshal, unmarshal, deadline) + end + elsif desc.server_streamer? + define_method(mth_name) do |req, deadline = nil, &blk| + logger.debug("calling #{@host}:#{route}") + server_streamer(route, req, marshal, unmarshal, deadline, + &blk) + end + else # is a bidi_stream + define_method(mth_name) do |reqs, deadline = nil, &blk| + logger.debug("calling #{@host}:#{route}") + bidi_streamer(route, reqs, marshal, unmarshal, deadline, &blk) + end end end end - end - end - - # Asserts that the appropriate methods are defined for each added rpc - # spec. Is intended to aid verifying that server classes are correctly - # implemented. - def assert_rpc_descs_have_methods - rpc_descs.each_pair do |m,spec| - mth_name = m.to_s.underscore.to_sym - if !self.instance_methods.include?(mth_name) - raise "#{self} does not provide instance method '#{mth_name}'" + # Asserts that the appropriate methods are defined for each added rpc + # spec. Is intended to aid verifying that server classes are correctly + # implemented. + def assert_rpc_descs_have_methods + rpc_descs.each_pair do |m, spec| + mth_name = m.to_s.underscore.to_sym + unless instance_methods.include?(mth_name) + fail "#{self} does not provide instance method '#{mth_name}'" + end + spec.assert_arity_matches(instance_method(mth_name)) end - spec.assert_arity_matches(self.instance_method(mth_name)) end end - end - - def self.included(o) - o.extend(Dsl) - - # Update to the use the service name including module. Proivde a default - # that can be nil e,g. when modules are declared dynamically. - return unless o.service_name.nil? - if o.name.nil? - o.service_name = 'GenericService' - else - modules = o.name.split('::') - if modules.length > 2 - o.service_name = modules[modules.length - 2] + def self.included(o) + o.extend(Dsl) + # Update to the use the service name including module. Proivde a default + # that can be nil e,g. when modules are declared dynamically. + return unless o.service_name.nil? + if o.name.nil? + o.service_name = 'GenericService' else - o.service_name = modules.first + modules = o.name.split('::') + if modules.length > 2 + o.service_name = modules[modules.length - 2] + else + o.service_name = modules.first + end end end end - end - end diff --git a/src/ruby/lib/grpc/version.rb b/src/ruby/lib/grpc/version.rb index 0a84f4c3a75..dd526e583a6 100644 --- a/src/ruby/lib/grpc/version.rb +++ b/src/ruby/lib/grpc/version.rb @@ -28,6 +28,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. module Google + # Google::RPC contains the General RPC module. module RPC VERSION = '0.0.1' end diff --git a/src/ruby/spec/alloc_spec.rb b/src/ruby/spec/alloc_spec.rb index 305405e9bd1..6dd59ab9fce 100644 --- a/src/ruby/spec/alloc_spec.rb +++ b/src/ruby/spec/alloc_spec.rb @@ -30,7 +30,6 @@ require 'grpc' describe 'Wrapped classes where .new cannot create an instance' do - describe GRPC::Core::Event do it 'should fail .new fail with a runtime error' do expect { GRPC::Core::Event.new }.to raise_error(TypeError) @@ -42,5 +41,4 @@ describe 'Wrapped classes where .new cannot create an instance' do expect { GRPC::Core::Event.new }.to raise_error(TypeError) end end - end diff --git a/src/ruby/spec/byte_buffer_spec.rb b/src/ruby/spec/byte_buffer_spec.rb index b89d7f36403..3a65f45c7ed 100644 --- a/src/ruby/spec/byte_buffer_spec.rb +++ b/src/ruby/spec/byte_buffer_spec.rb @@ -30,9 +30,7 @@ require 'grpc' describe GRPC::Core::ByteBuffer do - describe '#new' do - it 'is constructed from a string' do expect { GRPC::Core::ByteBuffer.new('#new') }.not_to raise_error end @@ -50,7 +48,6 @@ describe GRPC::Core::ByteBuffer do expect { GRPC::Core::ByteBuffer.new(x) }.to raise_error TypeError end end - end describe '#to_s' do @@ -67,5 +64,4 @@ describe GRPC::Core::ByteBuffer do expect(a_copy.dup.to_s).to eq('#dup') end end - end diff --git a/src/ruby/spec/call_spec.rb b/src/ruby/spec/call_spec.rb index 8e8e3d3ae2f..b8ecd64f393 100644 --- a/src/ruby/spec/call_spec.rb +++ b/src/ruby/spec/call_spec.rb @@ -33,30 +33,29 @@ require 'port_picker' include GRPC::Core::StatusCodes describe GRPC::Core::RpcErrors do - before(:each) do @known_types = { - :OK => 0, - :ERROR => 1, - :NOT_ON_SERVER => 2, - :NOT_ON_CLIENT => 3, - :ALREADY_ACCEPTED => 4, - :ALREADY_INVOKED => 5, - :NOT_INVOKED => 6, - :ALREADY_FINISHED => 7, - :TOO_MANY_OPERATIONS => 8, - :INVALID_FLAGS => 9, - :ErrorMessages => { - 0=>'ok', - 1=>'unknown error', - 2=>'not available on a server', - 3=>'not available on a client', - 4=>'call is already accepted', - 5=>'call is already invoked', - 6=>'call is not yet invoked', - 7=>'call is already finished', - 8=>'outstanding read or write present', - 9=>'a bad flag was given', + OK: 0, + ERROR: 1, + NOT_ON_SERVER: 2, + NOT_ON_CLIENT: 3, + ALREADY_ACCEPTED: 4, + ALREADY_INVOKED: 5, + NOT_INVOKED: 6, + ALREADY_FINISHED: 7, + TOO_MANY_OPERATIONS: 8, + INVALID_FLAGS: 9, + ErrorMessages: { + 0 => 'ok', + 1 => 'unknown error', + 2 => 'not available on a server', + 3 => 'not available on a client', + 4 => 'call is already accepted', + 5 => 'call is already invoked', + 6 => 'call is not yet invoked', + 7 => 'call is already finished', + 8 => 'outstanding read or write present', + 9 => 'a bad flag was given' } } end @@ -66,11 +65,9 @@ describe GRPC::Core::RpcErrors do syms_and_codes = m.constants.collect { |c| [c, m.const_get(c)] } expect(Hash[syms_and_codes]).to eq(@known_types) end - end describe GRPC::Core::Call do - before(:each) do @tag = Object.new @client_queue = GRPC::Core::CompletionQueue.new @@ -88,7 +85,7 @@ describe GRPC::Core::Call do describe '#start_read' do it 'should fail if called immediately' do - blk = Proc.new { make_test_call.start_read(@tag) } + blk = proc { make_test_call.start_read(@tag) } expect(&blk).to raise_error GRPC::Core::CallError end end @@ -96,21 +93,21 @@ describe GRPC::Core::Call do describe '#start_write' do it 'should fail if called immediately' do bytes = GRPC::Core::ByteBuffer.new('test string') - blk = Proc.new { make_test_call.start_write(bytes, @tag) } + blk = proc { make_test_call.start_write(bytes, @tag) } expect(&blk).to raise_error GRPC::Core::CallError end end describe '#start_write_status' do it 'should fail if called immediately' do - blk = Proc.new { make_test_call.start_write_status(153, 'x', @tag) } + blk = proc { make_test_call.start_write_status(153, 'x', @tag) } expect(&blk).to raise_error GRPC::Core::CallError end end describe '#writes_done' do it 'should fail if called immediately' do - blk = Proc.new { make_test_call.writes_done(Object.new) } + blk = proc { make_test_call.writes_done(Object.new) } expect(&blk).to raise_error GRPC::Core::CallError end end @@ -119,7 +116,8 @@ describe GRPC::Core::Call do it 'adds metadata to a call without fail' do call = make_test_call n = 37 - metadata = Hash[n.times.collect { |i| ["key%d" % i, "value%d" %i] } ] + one_md = proc { |x| [sprintf('key%d', x), sprintf('value%d', x)] } + metadata = Hash[n.times.collect { |i| one_md.call i }] expect { call.add_metadata(metadata) }.to_not raise_error end end @@ -174,7 +172,7 @@ describe GRPC::Core::Call do describe '#metadata' do it 'can save the metadata hash and read it back' do call = make_test_call - md = {'k1' => 'v1', 'k2' => 'v2'} + md = { 'k1' => 'v1', 'k2' => 'v2' } expect { call.metadata = md }.not_to raise_error expect(call.metadata).to be(md) end @@ -191,7 +189,6 @@ describe GRPC::Core::Call do end end - def make_test_call @ch.create_call('dummy_method', 'dummy_host', deadline) end @@ -199,5 +196,4 @@ describe GRPC::Core::Call do def deadline Time.now + 2 # in 2 seconds; arbitrary end - end diff --git a/src/ruby/spec/channel_spec.rb b/src/ruby/spec/channel_spec.rb index d2686127bb6..820dbd39e98 100644 --- a/src/ruby/spec/channel_spec.rb +++ b/src/ruby/spec/channel_spec.rb @@ -37,8 +37,6 @@ def load_test_certs end describe GRPC::Core::Channel do - - def create_test_cert GRPC::Core::Credentials.new(load_test_certs[0]) end @@ -48,7 +46,6 @@ describe GRPC::Core::Channel do end shared_examples '#new' do - it 'take a host name without channel args' do expect { GRPC::Core::Channel.new('dummy_host', nil) }.not_to raise_error end @@ -61,14 +58,14 @@ describe GRPC::Core::Channel do end it 'does not take a hash with bad values as channel args' do - blk = construct_with_args(:symbol => Object.new) + blk = construct_with_args(symbol: Object.new) expect(&blk).to raise_error TypeError blk = construct_with_args('1' => Hash.new) expect(&blk).to raise_error TypeError end it 'can take a hash with a symbol key as channel args' do - blk = construct_with_args(:a_symbol => 1) + blk = construct_with_args(a_symbol: 1) expect(&blk).to_not raise_error end @@ -78,32 +75,30 @@ describe GRPC::Core::Channel do end it 'can take a hash with a string value as channel args' do - blk = construct_with_args(:a_symbol => '1') + blk = construct_with_args(a_symbol: '1') expect(&blk).to_not raise_error end it 'can take a hash with a symbol value as channel args' do - blk = construct_with_args(:a_symbol => :another_symbol) + blk = construct_with_args(a_symbol: :another_symbol) expect(&blk).to_not raise_error end it 'can take a hash with a numeric value as channel args' do - blk = construct_with_args(:a_symbol => 1) + blk = construct_with_args(a_symbol: 1) expect(&blk).to_not raise_error end it 'can take a hash with many args as channel args' do - args = Hash[127.times.collect { |x| [x.to_s, x] } ] + args = Hash[127.times.collect { |x| [x.to_s, x] }] blk = construct_with_args(args) expect(&blk).to_not raise_error end - end describe '#new for secure channels' do - def construct_with_args(a) - Proc.new { GRPC::Core::Channel.new('dummy_host', a, create_test_cert) } + proc { GRPC::Core::Channel.new('dummy_host', a, create_test_cert) } end it_behaves_like '#new' @@ -113,7 +108,7 @@ describe GRPC::Core::Channel do it_behaves_like '#new' def construct_with_args(a) - Proc.new { GRPC::Core::Channel.new('dummy_host', a) } + proc { GRPC::Core::Channel.new('dummy_host', a) } end end @@ -125,7 +120,7 @@ describe GRPC::Core::Channel do deadline = Time.now + 5 - blk = Proc.new do + blk = proc do ch.create_call('dummy_method', 'dummy_host', deadline) end expect(&blk).to_not raise_error @@ -138,12 +133,11 @@ describe GRPC::Core::Channel do ch.close deadline = Time.now + 5 - blk = Proc.new do + blk = proc do ch.create_call('dummy_method', 'dummy_host', deadline) end expect(&blk).to raise_error(RuntimeError) end - end describe '#destroy' do @@ -151,7 +145,7 @@ describe GRPC::Core::Channel do port = find_unused_tcp_port host = "localhost:#{port}" ch = GRPC::Core::Channel.new(host, nil) - blk = Proc.new { ch.destroy } + blk = proc { ch.destroy } expect(&blk).to_not raise_error end @@ -159,18 +153,16 @@ describe GRPC::Core::Channel do port = find_unused_tcp_port host = "localhost:#{port}" ch = GRPC::Core::Channel.new(host, nil) - blk = Proc.new { ch.destroy } + blk = proc { ch.destroy } blk.call expect(&blk).to_not raise_error end end describe '::SSL_TARGET' do - it 'is a symbol' do expect(GRPC::Core::Channel::SSL_TARGET).to be_a(Symbol) end - end describe '#close' do @@ -178,7 +170,7 @@ describe GRPC::Core::Channel do port = find_unused_tcp_port host = "localhost:#{port}" ch = GRPC::Core::Channel.new(host, nil) - blk = Proc.new { ch.close } + blk = proc { ch.close } expect(&blk).to_not raise_error end @@ -186,10 +178,9 @@ describe GRPC::Core::Channel do port = find_unused_tcp_port host = "localhost:#{port}" ch = GRPC::Core::Channel.new(host, nil) - blk = Proc.new { ch.close } + blk = proc { ch.close } blk.call expect(&blk).to_not raise_error end end - end diff --git a/src/ruby/spec/client_server_spec.rb b/src/ruby/spec/client_server_spec.rb index 5e68f524d66..1bcbc66446c 100644 --- a/src/ruby/spec/client_server_spec.rb +++ b/src/ruby/spec/client_server_spec.rb @@ -41,7 +41,6 @@ def load_test_certs end shared_context 'setup: tags' do - before(:example) do @server_finished_tag = Object.new @client_finished_tag = Object.new @@ -71,7 +70,7 @@ shared_context 'setup: tags' do expect(ev).not_to be_nil expect(ev.type).to be(SERVER_RPC_NEW) ev.call.server_accept(@server_queue, @server_finished_tag) - ev.call.server_end_initial_metadata() + ev.call.server_end_initial_metadata ev.call.start_read(@server_tag) ev = @server_queue.pluck(@server_tag, TimeConsts::INFINITE_FUTURE) expect(ev.type).to be(READ) @@ -79,10 +78,10 @@ shared_context 'setup: tags' do ev = @server_queue.pluck(@server_tag, TimeConsts::INFINITE_FUTURE) expect(ev).not_to be_nil expect(ev.type).to be(WRITE_ACCEPTED) - return ev.call + ev.call end - def client_sends(call, sent='a message') + def client_sends(call, sent = 'a message') req = ByteBuffer.new(sent) call.start_invoke(@client_queue, @tag, @tag, @client_finished_tag) ev = @client_queue.pluck(@tag, TimeConsts::INFINITE_FUTURE) @@ -92,17 +91,15 @@ shared_context 'setup: tags' do ev = @client_queue.pluck(@tag, TimeConsts::INFINITE_FUTURE) expect(ev).not_to be_nil expect(ev.type).to be(WRITE_ACCEPTED) - return sent + sent end def new_client_call @ch.create_call('/method', 'localhost', deadline) end - end shared_examples 'basic GRPC message delivery is OK' do - include_context 'setup: tags' it 'servers receive requests from clients and start responding' do @@ -126,7 +123,7 @@ shared_examples 'basic GRPC message delivery is OK' do # the server response server_call.start_write(reply, @server_tag) - ev = expect_next_event_on(@server_queue, WRITE_ACCEPTED, @server_tag) + expect_next_event_on(@server_queue, WRITE_ACCEPTED, @server_tag) end it 'responses written by servers are received by the client' do @@ -135,15 +132,14 @@ shared_examples 'basic GRPC message delivery is OK' do server_receives_and_responds_with('server_response') call.start_read(@tag) - ev = expect_next_event_on(@client_queue, CLIENT_METADATA_READ, @tag) + expect_next_event_on(@client_queue, CLIENT_METADATA_READ, @tag) ev = expect_next_event_on(@client_queue, READ, @tag) expect(ev.result.to_s).to eq('server_response') end it 'servers can ignore a client write and send a status' do - reply = ByteBuffer.new('the server payload') call = new_client_call - msg = client_sends(call) + client_sends(call) # check the server rpc new was received @server.request_call(@server_tag) @@ -153,20 +149,20 @@ shared_examples 'basic GRPC message delivery is OK' do # accept the call - need to do this to sent status. server_call = ev.call server_call.server_accept(@server_queue, @server_finished_tag) - server_call.server_end_initial_metadata() + server_call.server_end_initial_metadata server_call.start_write_status(StatusCodes::NOT_FOUND, 'not found', @server_tag) # client gets an empty response for the read, preceeded by some metadata. call.start_read(@tag) - ev = expect_next_event_on(@client_queue, CLIENT_METADATA_READ, @tag) + expect_next_event_on(@client_queue, CLIENT_METADATA_READ, @tag) ev = expect_next_event_on(@client_queue, READ, @tag) expect(ev.tag).to be(@tag) expect(ev.result.to_s).to eq('') # finally, after client sends writes_done, they get the finished. call.writes_done(@tag) - ev = expect_next_event_on(@client_queue, FINISH_ACCEPTED, @tag) + expect_next_event_on(@client_queue, FINISH_ACCEPTED, @tag) ev = expect_next_event_on(@client_queue, FINISHED, @client_finished_tag) expect(ev.result.code).to eq(StatusCodes::NOT_FOUND) end @@ -175,12 +171,12 @@ shared_examples 'basic GRPC message delivery is OK' do call = new_client_call client_sends(call) server_call = server_receives_and_responds_with('server_response') - server_call.start_write_status(10101, 'status code is 10101', @server_tag) + server_call.start_write_status(10_101, 'status code is 10101', @server_tag) # first the client says writes are done call.start_read(@tag) - ev = expect_next_event_on(@client_queue, CLIENT_METADATA_READ, @tag) - ev = expect_next_event_on(@client_queue, READ, @tag) + expect_next_event_on(@client_queue, CLIENT_METADATA_READ, @tag) + expect_next_event_on(@client_queue, READ, @tag) call.writes_done(@tag) # but nothing happens until the server sends a status @@ -192,24 +188,23 @@ shared_examples 'basic GRPC message delivery is OK' do expect_next_event_on(@client_queue, FINISH_ACCEPTED, @tag) ev = expect_next_event_on(@client_queue, FINISHED, @client_finished_tag) expect(ev.result.details).to eq('status code is 10101') - expect(ev.result.code).to eq(10101) + expect(ev.result.code).to eq(10_101) end - end - shared_examples 'GRPC metadata delivery works OK' do - include_context 'setup: tags' describe 'from client => server' do - before(:example) do n = 7 # arbitrary number of metadata - diff_keys = Hash[n.times.collect { |i| ['k%d' % i, 'v%d' % i] }] - null_vals = Hash[n.times.collect { |i| ['k%d' % i, 'v\0%d' % i] }] - same_keys = Hash[n.times.collect { |i| ['k%d' % i, ['v%d' % i] * n] }] - symbol_key = {:a_key => 'a val'} + diff_keys_fn = proc { |i| [sprintf('k%d', i), sprintf('v%d', i)] } + diff_keys = Hash[n.times.collect { |x| diff_keys_fn.call x }] + null_vals_fn = proc { |i| [sprintf('k%d', i), sprintf('v\0%d', i)] } + null_vals = Hash[n.times.collect { |x| null_vals_fn.call x }] + same_keys_fn = proc { |i| [sprintf('k%d', i), [sprintf('v%d', i)] * n] } + same_keys = Hash[n.times.collect { |x| same_keys_fn.call x }] + symbol_key = { a_key: 'a val' } @valid_metadata = [diff_keys, same_keys, null_vals, symbol_key] @bad_keys = [] @bad_keys << { Object.new => 'a value' } @@ -239,28 +234,29 @@ shared_examples 'GRPC metadata delivery works OK' do # Client begins a call OK call.start_invoke(@client_queue, @tag, @tag, @client_finished_tag) - ev = expect_next_event_on(@client_queue, INVOKE_ACCEPTED, @tag) + expect_next_event_on(@client_queue, INVOKE_ACCEPTED, @tag) # ... server has all metadata available even though the client did not # send a write @server.request_call(@server_tag) ev = expect_next_event_on(@server_queue, SERVER_RPC_NEW, @server_tag) - replace_symbols = Hash[md.each_pair.collect { |x,y| [x.to_s, y] }] + replace_symbols = Hash[md.each_pair.collect { |x, y| [x.to_s, y] }] result = ev.result.metadata expect(result.merge(replace_symbols)).to eq(result) end end - end describe 'from server => client' do - before(:example) do n = 7 # arbitrary number of metadata - diff_keys = Hash[n.times.collect { |i| ['k%d' % i, 'v%d' % i] }] - null_vals = Hash[n.times.collect { |i| ['k%d' % i, 'v\0%d' % i] }] - same_keys = Hash[n.times.collect { |i| ['k%d' % i, ['v%d' % i] * n] }] - symbol_key = {:a_key => 'a val'} + diff_keys_fn = proc { |i| [sprintf('k%d', i), sprintf('v%d', i)] } + diff_keys = Hash[n.times.collect { |x| diff_keys_fn.call x }] + null_vals_fn = proc { |i| [sprintf('k%d', i), sprintf('v\0%d', i)] } + null_vals = Hash[n.times.collect { |x| null_vals_fn.call x }] + same_keys_fn = proc { |i| [sprintf('k%d', i), [sprintf('v%d', i)] * n] } + same_keys = Hash[n.times.collect { |x| same_keys_fn.call x }] + symbol_key = { a_key: 'a val' } @valid_metadata = [diff_keys, same_keys, null_vals, symbol_key] @bad_keys = [] @bad_keys << { Object.new => 'a value' } @@ -290,7 +286,7 @@ shared_examples 'GRPC metadata delivery works OK' do # ... server accepts the call without adding metadata server_call.server_accept(@server_queue, @server_finished_tag) - server_call.server_end_initial_metadata() + server_call.server_end_initial_metadata # ... these server sends some data, allowing the metadata read server_call.start_write(ByteBuffer.new('reply with metadata'), @@ -300,7 +296,7 @@ shared_examples 'GRPC metadata delivery works OK' do # there is the HTTP status metadata, though there should not be any # TODO(temiola): update this with the bug number to be resolved ev = expect_next_event_on(@client_queue, CLIENT_METADATA_READ, @tag) - expect(ev.result).to eq({':status' => '200'}) + expect(ev.result).to eq(':status' => '200') end it 'sends all the pairs and status:200 when keys and values are valid' do @@ -316,24 +312,19 @@ shared_examples 'GRPC metadata delivery works OK' do # ... server adds metadata and accepts the call server_call.add_metadata(md) server_call.server_accept(@server_queue, @server_finished_tag) - server_call.server_end_initial_metadata() + server_call.server_end_initial_metadata # Now the client can read the metadata ev = expect_next_event_on(@client_queue, CLIENT_METADATA_READ, @tag) - replace_symbols = Hash[md.each_pair.collect { |x,y| [x.to_s, y] }] + replace_symbols = Hash[md.each_pair.collect { |x, y| [x.to_s, y] }] replace_symbols[':status'] = '200' expect(ev.result).to eq(replace_symbols) end - end - end - end - describe 'the http client/server' do - before(:example) do port = find_unused_tcp_port host = "localhost:#{port}" @@ -354,11 +345,9 @@ describe 'the http client/server' do it_behaves_like 'GRPC metadata delivery works OK' do end - end describe 'the secure http client/server' do - before(:example) do certs = load_test_certs port = find_unused_tcp_port @@ -369,7 +358,7 @@ describe 'the secure http client/server' do @server = GRPC::Core::Server.new(@server_queue, nil, server_creds) @server.add_http2_port(host, true) @server.start - args = {Channel::SSL_TARGET => 'foo.test.google.com'} + args = { Channel::SSL_TARGET => 'foo.test.google.com' } @ch = Channel.new(host, args, GRPC::Core::Credentials.new(certs[0], nil, nil)) end @@ -383,5 +372,4 @@ describe 'the secure http client/server' do it_behaves_like 'GRPC metadata delivery works OK' do end - end diff --git a/src/ruby/spec/completion_queue_spec.rb b/src/ruby/spec/completion_queue_spec.rb index 50f74b58263..022a066e8e7 100644 --- a/src/ruby/spec/completion_queue_spec.rb +++ b/src/ruby/spec/completion_queue_spec.rb @@ -30,7 +30,6 @@ require 'grpc' describe GRPC::Core::CompletionQueue do - describe '#new' do it 'is constructed successufully' do expect { GRPC::Core::CompletionQueue.new }.not_to raise_error @@ -53,7 +52,6 @@ describe GRPC::Core::CompletionQueue do expect { ch.next(a_time) }.not_to raise_error end end - end describe '#pluck' do @@ -74,8 +72,5 @@ describe GRPC::Core::CompletionQueue do expect { ch.pluck(tag, a_time) }.not_to raise_error end end - end - - end diff --git a/src/ruby/spec/credentials_spec.rb b/src/ruby/spec/credentials_spec.rb index 4d932db937d..47b42aed29b 100644 --- a/src/ruby/spec/credentials_spec.rb +++ b/src/ruby/spec/credentials_spec.rb @@ -29,7 +29,6 @@ require 'grpc' - def load_test_certs test_root = File.join(File.dirname(__FILE__), 'testdata') files = ['ca.pem', 'server1.pem', 'server1.key'] @@ -39,9 +38,7 @@ end Credentials = GRPC::Core::Credentials describe Credentials do - describe '#new' do - it 'can be constructed with fake inputs' do expect { Credentials.new('root_certs', 'key', 'cert') }.not_to raise_error end @@ -58,30 +55,23 @@ describe Credentials do it 'cannot be constructed with a nil server roots' do _, client_key, client_chain = load_test_certs - blk = Proc.new { Credentials.new(nil, client_key, client_chain) } + blk = proc { Credentials.new(nil, client_key, client_chain) } expect(&blk).to raise_error end - end describe '#compose' do - it 'can be completed OK' do certs = load_test_certs cred1 = Credentials.new(*certs) cred2 = Credentials.new(*certs) expect { cred1.compose(cred2) }.to_not raise_error end - end describe 'Credentials#default' do - it 'is not implemented yet' do - expect { Credentials.default() }.to raise_error RuntimeError + expect { Credentials.default }.to raise_error RuntimeError end - end - - end diff --git a/src/ruby/spec/event_spec.rb b/src/ruby/spec/event_spec.rb index a61b926dea5..5dec07e1edf 100644 --- a/src/ruby/spec/event_spec.rb +++ b/src/ruby/spec/event_spec.rb @@ -30,25 +30,23 @@ require 'grpc' describe GRPC::Core::CompletionType do - before(:each) do @known_types = { - :QUEUE_SHUTDOWN => 0, - :READ => 1, - :INVOKE_ACCEPTED => 2, - :WRITE_ACCEPTED => 3, - :FINISH_ACCEPTED => 4, - :CLIENT_METADATA_READ => 5, - :FINISHED => 6, - :SERVER_RPC_NEW => 7, - :RESERVED => 8 + QUEUE_SHUTDOWN: 0, + READ: 1, + INVOKE_ACCEPTED: 2, + WRITE_ACCEPTED: 3, + FINISH_ACCEPTED: 4, + CLIENT_METADATA_READ: 5, + FINISHED: 6, + SERVER_RPC_NEW: 7, + RESERVED: 8 } end it 'should have all the known types' do mod = GRPC::Core::CompletionType - blk = Proc.new { Hash[mod.constants.collect { |c| [c, mod.const_get(c)] }] } + blk = proc { Hash[mod.constants.collect { |c| [c, mod.const_get(c)] }] } expect(blk.call).to eq(@known_types) end - end diff --git a/src/ruby/spec/generic/active_call_spec.rb b/src/ruby/spec/generic/active_call_spec.rb index bb73eef47c2..898022f1859 100644 --- a/src/ruby/spec/generic/active_call_spec.rb +++ b/src/ruby/spec/generic/active_call_spec.rb @@ -38,9 +38,9 @@ describe GRPC::ActiveCall do CompletionType = GRPC::Core::CompletionType before(:each) do - @pass_through = Proc.new { |x| x } + @pass_through = proc { |x| x } @server_tag = Object.new - @server_done_tag, meta_tag = Object.new + @server_done_tag = Object.new @tag = Object.new @client_queue = GRPC::Core::CompletionQueue.new @@ -70,7 +70,7 @@ describe GRPC::ActiveCall do describe '#multi_req_view' do it 'exposes a fixed subset of the ActiveCall methods' do - want = ['cancelled', 'deadline', 'each_remote_read', 'shutdown'] + want = %w(cancelled, deadline, each_remote_read, shutdown) v = @client_call.multi_req_view want.each do |w| expect(v.methods.include?(w)) @@ -80,7 +80,7 @@ describe GRPC::ActiveCall do describe '#single_req_view' do it 'exposes a fixed subset of the ActiveCall methods' do - want = ['cancelled', 'deadline', 'shutdown'] + want = %w(cancelled, deadline, shutdown) v = @client_call.single_req_view want.each do |w| expect(v.methods.include?(w)) @@ -110,7 +110,7 @@ describe GRPC::ActiveCall do # Accept the call, and verify that the server reads the response ok. ev.call.server_accept(@client_queue, @server_tag) - ev.call.server_end_initial_metadata() + ev.call.server_end_initial_metadata server_call = ActiveCall.new(ev.call, @client_queue, @pass_through, @pass_through, deadline) expect(server_call.remote_read).to eq(msg) @@ -120,7 +120,7 @@ describe GRPC::ActiveCall do call = make_test_call done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, deadline) - marshal = Proc.new { |x| 'marshalled:' + x } + marshal = proc { |x| 'marshalled:' + x } client_call = ActiveCall.new(call, @client_queue, marshal, @pass_through, deadline, finished_tag: done_tag, @@ -132,33 +132,29 @@ describe GRPC::ActiveCall do @server.request_call(@server_tag) ev = @server_queue.next(deadline) ev.call.server_accept(@client_queue, @server_tag) - ev.call.server_end_initial_metadata() + ev.call.server_end_initial_metadata server_call = ActiveCall.new(ev.call, @client_queue, @pass_through, @pass_through, deadline) expect(server_call.remote_read).to eq('marshalled:' + msg) end - end describe '#client_start_invoke' do - it 'sends keywords as metadata to the server when the are present' do - call, pass_through = make_test_call, Proc.new { |x| x } - done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, - deadline, k1: 'v1', - k2: 'v2') + call = make_test_call + ActiveCall.client_start_invoke(call, @client_queue, deadline, + k1: 'v1', k2: 'v2') @server.request_call(@server_tag) ev = @server_queue.next(deadline) expect(ev).to_not be_nil expect(ev.result.metadata['k1']).to eq('v1') expect(ev.result.metadata['k2']).to eq('v2') end - end describe '#remote_read' do it 'reads the response sent by a server' do - call, pass_through = make_test_call, Proc.new { |x| x } + call = make_test_call done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, deadline) client_call = ActiveCall.new(call, @client_queue, @pass_through, @@ -173,7 +169,7 @@ describe GRPC::ActiveCall do end it 'saves metadata { status=200 } when the server adds no metadata' do - call, pass_through = make_test_call, Proc.new { |x| x } + call = make_test_call done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, deadline) client_call = ActiveCall.new(call, @client_queue, @pass_through, @@ -186,11 +182,11 @@ describe GRPC::ActiveCall do server_call.remote_send('ignore me') expect(client_call.metadata).to be_nil client_call.remote_read - expect(client_call.metadata).to eq({':status' => '200'}) + expect(client_call.metadata).to eq(':status' => '200') end it 'saves metadata add by the server' do - call, pass_through = make_test_call, Proc.new { |x| x } + call = make_test_call done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, deadline) client_call = ActiveCall.new(call, @client_queue, @pass_through, @@ -203,13 +199,12 @@ describe GRPC::ActiveCall do server_call.remote_send('ignore me') expect(client_call.metadata).to be_nil client_call.remote_read - expect(client_call.metadata).to eq({':status' => '200', 'k1' => 'v1', - 'k2' => 'v2'}) + expected = { ':status' => '200', 'k1' => 'v1', 'k2' => 'v2' } + expect(client_call.metadata).to eq(expected) end - it 'get a nil msg before a status when an OK status is sent' do - call, pass_through = make_test_call, Proc.new { |x| x } + call = make_test_call done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, deadline) client_call = ActiveCall.new(call, @client_queue, @pass_through, @@ -227,12 +222,11 @@ describe GRPC::ActiveCall do expect(res).to be_nil end - it 'unmarshals the response using the unmarshal func' do call = make_test_call done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, deadline) - unmarshal = Proc.new { |x| 'unmarshalled:' + x } + unmarshal = proc { |x| 'unmarshalled:' + x } client_call = ActiveCall.new(call, @client_queue, @pass_through, unmarshal, deadline, finished_tag: done_tag, @@ -245,7 +239,6 @@ describe GRPC::ActiveCall do server_call.remote_send('server_response') expect(client_call.remote_read).to eq('unmarshalled:server_response') end - end describe '#each_remote_read' do @@ -298,7 +291,6 @@ describe GRPC::ActiveCall do server_call.send_status(OK, 'OK') expect { e.next }.to raise_error(StopIteration) end - end describe '#writes_done' do @@ -357,7 +349,6 @@ describe GRPC::ActiveCall do expect { client_call.writes_done(true) }.to_not raise_error expect { server_call.finished }.to_not raise_error end - end def expect_server_to_receive(sent_text, **kw) @@ -371,7 +362,7 @@ describe GRPC::ActiveCall do ev = @server_queue.next(deadline) ev.call.add_metadata(kw) ev.call.server_accept(@client_queue, @server_done_tag) - ev.call.server_end_initial_metadata() + ev.call.server_end_initial_metadata ActiveCall.new(ev.call, @client_queue, @pass_through, @pass_through, deadline, finished_tag: @server_done_tag) @@ -384,5 +375,4 @@ describe GRPC::ActiveCall do def deadline Time.now + 0.25 # in 0.25 seconds; arbitrary end - end diff --git a/src/ruby/spec/generic/client_stub_spec.rb b/src/ruby/spec/generic/client_stub_spec.rb index 2db8718d1a5..8ebe48bc4c5 100644 --- a/src/ruby/spec/generic/client_stub_spec.rb +++ b/src/ruby/spec/generic/client_stub_spec.rb @@ -31,7 +31,7 @@ require 'grpc' require 'xray/thread_dump_signal_handler' require_relative '../port_picker' -NOOP = Proc.new { |x| x } +NOOP = proc { |x| x } def wakey_thread(&blk) awake_mutex, awake_cond = Mutex.new, ConditionVariable.new @@ -52,7 +52,6 @@ include GRPC::Core::StatusCodes include GRPC::Core::TimeConsts describe 'ClientStub' do - before(:each) do Thread.abort_on_exception = true @server = nil @@ -67,11 +66,10 @@ describe 'ClientStub' do end describe '#new' do - it 'can be created from a host and args' do host = new_test_host - opts = {:a_channel_arg => 'an_arg'} - blk = Proc.new do + opts = { a_channel_arg: 'an_arg' } + blk = proc do GRPC::ClientStub.new(host, @cq, **opts) end expect(&blk).not_to raise_error @@ -79,8 +77,8 @@ describe 'ClientStub' do it 'can be created with a default deadline' do host = new_test_host - opts = {:a_channel_arg => 'an_arg', :deadline => 5} - blk = Proc.new do + opts = { a_channel_arg: 'an_arg', deadline: 5 } + blk = proc do GRPC::ClientStub.new(host, @cq, **opts) end expect(&blk).not_to raise_error @@ -88,8 +86,8 @@ describe 'ClientStub' do it 'can be created with an channel override' do host = new_test_host - opts = {:a_channel_arg => 'an_arg', :channel_override => @ch} - blk = Proc.new do + opts = { a_channel_arg: 'an_arg', channel_override: @ch } + blk = proc do GRPC::ClientStub.new(host, @cq, **opts) end expect(&blk).not_to raise_error @@ -97,8 +95,8 @@ describe 'ClientStub' do it 'cannot be created with a bad channel override' do host = new_test_host - blk = Proc.new do - opts = {:a_channel_arg => 'an_arg', :channel_override => Object.new} + blk = proc do + opts = { a_channel_arg: 'an_arg', channel_override: Object.new } GRPC::ClientStub.new(host, @cq, **opts) end expect(&blk).to raise_error @@ -106,8 +104,8 @@ describe 'ClientStub' do it 'cannot be created with bad credentials' do host = new_test_host - blk = Proc.new do - opts = {:a_channel_arg => 'an_arg', :creds => Object.new} + blk = proc do + opts = { a_channel_arg: 'an_arg', creds: Object.new } GRPC::ClientStub.new(host, @cq, **opts) end expect(&blk).to raise_error @@ -116,17 +114,16 @@ describe 'ClientStub' do it 'can be created with test test credentials' do certs = load_test_certs host = new_test_host - blk = Proc.new do + blk = proc do opts = { GRPC::Core::Channel::SSL_TARGET => 'foo.test.google.com', - :a_channel_arg => 'an_arg', - :creds => GRPC::Core::Credentials.new(certs[0], nil, nil) + a_channel_arg: 'an_arg', + creds: GRPC::Core::Credentials.new(certs[0], nil, nil) } GRPC::ClientStub.new(host, @cq, **opts) end expect(&blk).to_not raise_error end - end describe '#request_response' do @@ -135,7 +132,6 @@ describe 'ClientStub' do end shared_examples 'request response' do - it 'should send a request to/receive a reply from a server' do host = new_test_host th = run_request_response(host, @sent_msg, @resp, @pass) @@ -146,8 +142,8 @@ describe 'ClientStub' do it 'should send metadata to the server ok' do host = new_test_host - th = run_request_response(host, @sent_msg, @resp, @pass, k1: 'v1', - k2: 'v2') + th = run_request_response(host, @sent_msg, @resp, @pass, + k1: 'v1', k2: 'v2') stub = GRPC::ClientStub.new(host, @cq) expect(get_response(stub)).to eq(@resp) th.join @@ -157,7 +153,10 @@ describe 'ClientStub' do host = new_test_host th = run_request_response(host, @sent_msg, @resp, @pass, k1: 'updated-v1', k2: 'v2') - update_md = Proc.new { |md| md[:k1] = 'updated-v1'; md } + update_md = proc do |md| + md[:k1] = 'updated-v1' + md + end stub = GRPC::ClientStub.new(host, @cq, update_metadata: update_md) expect(get_response(stub)).to eq(@resp) th.join @@ -167,7 +166,7 @@ describe 'ClientStub' do alt_host = new_test_host th = run_request_response(alt_host, @sent_msg, @resp, @pass) ch = GRPC::Core::Channel.new(alt_host, nil) - stub = GRPC::ClientStub.new('ignored-host', @cq, channel_override:ch) + stub = GRPC::ClientStub.new('ignored-host', @cq, channel_override: ch) expect(get_response(stub)).to eq(@resp) th.join end @@ -176,45 +175,37 @@ describe 'ClientStub' do host = new_test_host th = run_request_response(host, @sent_msg, @resp, @fail) stub = GRPC::ClientStub.new(host, @cq) - blk = Proc.new { get_response(stub) } + blk = proc { get_response(stub) } expect(&blk).to raise_error(GRPC::BadStatus) th.join end - end describe 'without a call operation' do - def get_response(stub) - stub.request_response(@method, @sent_msg, NOOP, NOOP, k1: 'v1', - k2: 'v2') + stub.request_response(@method, @sent_msg, NOOP, NOOP, + k1: 'v1', k2: 'v2') end it_behaves_like 'request response' - end describe 'via a call operation' do - def get_response(stub) op = stub.request_response(@method, @sent_msg, NOOP, NOOP, - return_op:true, k1: 'v1', k2: 'v2') + return_op: true, k1: 'v1', k2: 'v2') expect(op).to be_a(GRPC::ActiveCall::Operation) - op.execute() + op.execute end it_behaves_like 'request response' - end - end describe '#client_streamer' do - shared_examples 'client streaming' do - before(:each) do - @sent_msgs = Array.new(3) { |i| 'msg_' + (i+1).to_s } + @sent_msgs = Array.new(3) { |i| 'msg_' + (i + 1).to_s } @resp = 'a_reply' end @@ -228,19 +219,21 @@ describe 'ClientStub' do it 'should send metadata to the server ok' do host = new_test_host - th = run_client_streamer(host, @sent_msgs, @resp, @pass, k1: 'v1', - k2: 'v2') + th = run_client_streamer(host, @sent_msgs, @resp, @pass, + k1: 'v1', k2: 'v2') stub = GRPC::ClientStub.new(host, @cq) expect(get_response(stub)).to eq(@resp) th.join end - it 'should update the sent metadata with a provided metadata updater' do host = new_test_host th = run_client_streamer(host, @sent_msgs, @resp, @pass, k1: 'updated-v1', k2: 'v2') - update_md = Proc.new { |md| md[:k1] = 'updated-v1'; md } + update_md = proc do |md| + md[:k1] = 'updated-v1' + md + end stub = GRPC::ClientStub.new(host, @cq, update_metadata: update_md) expect(get_response(stub)).to eq(@resp) th.join @@ -250,46 +243,38 @@ describe 'ClientStub' do host = new_test_host th = run_client_streamer(host, @sent_msgs, @resp, @fail) stub = GRPC::ClientStub.new(host, @cq) - blk = Proc.new { get_response(stub) } + blk = proc { get_response(stub) } expect(&blk).to raise_error(GRPC::BadStatus) th.join end - end describe 'without a call operation' do - def get_response(stub) - stub.client_streamer(@method, @sent_msgs, NOOP, NOOP, k1: 'v1', - k2: 'v2') + stub.client_streamer(@method, @sent_msgs, NOOP, NOOP, + k1: 'v1', k2: 'v2') end it_behaves_like 'client streaming' - end describe 'via a call operation' do - def get_response(stub) op = stub.client_streamer(@method, @sent_msgs, NOOP, NOOP, - return_op:true, k1: 'v1', k2: 'v2') + return_op: true, k1: 'v1', k2: 'v2') expect(op).to be_a(GRPC::ActiveCall::Operation) - resp = op.execute() + op.execute end it_behaves_like 'client streaming' - end - end describe '#server_streamer' do - shared_examples 'server streaming' do - before(:each) do @sent_msg = 'a_msg' - @replys = Array.new(3) { |i| 'reply_' + (i+1).to_s } + @replys = Array.new(3) { |i| 'reply_' + (i + 1).to_s } end it 'should send a request to/receive replies from a server' do @@ -311,8 +296,8 @@ describe 'ClientStub' do it 'should send metadata to the server ok' do host = new_test_host - th = run_server_streamer(host, @sent_msg, @replys, @fail, k1: 'v1', - k2: 'v2') + th = run_server_streamer(host, @sent_msg, @replys, @fail, + k1: 'v1', k2: 'v2') stub = GRPC::ClientStub.new(host, @cq) e = get_responses(stub) expect { e.collect { |r| r } }.to raise_error(GRPC::BadStatus) @@ -323,55 +308,50 @@ describe 'ClientStub' do host = new_test_host th = run_server_streamer(host, @sent_msg, @replys, @pass, k1: 'updated-v1', k2: 'v2') - update_md = Proc.new { |md| md[:k1] = 'updated-v1'; md } + update_md = proc do |md| + md[:k1] = 'updated-v1' + md + end stub = GRPC::ClientStub.new(host, @cq, update_metadata: update_md) e = get_responses(stub) expect(e.collect { |r| r }).to eq(@replys) th.join end - end describe 'without a call operation' do - def get_responses(stub) - e = stub.server_streamer(@method, @sent_msg, NOOP, NOOP, k1: 'v1', - k2: 'v2') + e = stub.server_streamer(@method, @sent_msg, NOOP, NOOP, + k1: 'v1', k2: 'v2') expect(e).to be_a(Enumerator) e end it_behaves_like 'server streaming' - end describe 'via a call operation' do - def get_responses(stub) op = stub.server_streamer(@method, @sent_msg, NOOP, NOOP, - return_op:true, k1: 'v1', k2: 'v2') + return_op: true, k1: 'v1', k2: 'v2') expect(op).to be_a(GRPC::ActiveCall::Operation) - e = op.execute() + e = op.execute expect(e).to be_a(Enumerator) e end it_behaves_like 'server streaming' - end - end describe '#bidi_streamer' do - shared_examples 'bidi streaming' do - before(:each) do - @sent_msgs = Array.new(3) { |i| 'msg_' + (i+1).to_s } - @replys = Array.new(3) { |i| 'reply_' + (i+1).to_s } + @sent_msgs = Array.new(3) { |i| 'msg_' + (i + 1).to_s } + @replys = Array.new(3) { |i| 'reply_' + (i + 1).to_s } end - it 'supports sending all the requests first', :bidi => true do + it 'supports sending all the requests first', bidi: true do host = new_test_host th = run_bidi_streamer_handle_inputs_first(host, @sent_msgs, @replys, @pass) @@ -381,7 +361,7 @@ describe 'ClientStub' do th.join end - it 'supports client-initiated ping pong', :bidi => true do + it 'supports client-initiated ping pong', bidi: true do host = new_test_host th = run_bidi_streamer_echo_ping_pong(host, @sent_msgs, @pass, true) stub = GRPC::ClientStub.new(host, @cq) @@ -396,7 +376,7 @@ describe 'ClientStub' do # servers don't know if all the client metadata has been sent until # they receive a message from the client. Without receiving all the # metadata, the server does not accept the call, so this test hangs. - xit 'supports a server-initiated ping pong', :bidi => true do + xit 'supports a server-initiated ping pong', bidi: true do host = new_test_host th = run_bidi_streamer_echo_ping_pong(host, @sent_msgs, @pass, false) stub = GRPC::ClientStub.new(host, @cq) @@ -404,11 +384,9 @@ describe 'ClientStub' do expect(e.collect { |r| r }).to eq(@sent_msgs) th.join end - end describe 'without a call operation' do - def get_responses(stub) e = stub.bidi_streamer(@method, @sent_msgs, NOOP, NOOP) expect(e).to be_a(Enumerator) @@ -416,13 +394,12 @@ describe 'ClientStub' do end it_behaves_like 'bidi streaming' - end describe 'via a call operation' do - def get_responses(stub) - op = stub.bidi_streamer(@method, @sent_msgs, NOOP, NOOP, return_op:true) + op = stub.bidi_streamer(@method, @sent_msgs, NOOP, NOOP, + return_op: true) expect(op).to be_a(GRPC::ActiveCall::Operation) e = op.execute expect(e).to be_a(Enumerator) @@ -430,9 +407,7 @@ describe 'ClientStub' do end it_behaves_like 'bidi streaming' - end - end def run_server_streamer(hostname, expected_input, replys, status, **kw) @@ -514,14 +489,13 @@ describe 'ClientStub' do def expect_server_to_be_invoked(hostname, awake_mutex, awake_cond) server_queue = start_test_server(hostname, awake_mutex, awake_cond) - test_deadline = Time.now + 10 # fail tests after 10 seconds ev = server_queue.pluck(@server_tag, INFINITE_FUTURE) - raise OutOfTime if ev.nil? + fail OutOfTime if ev.nil? server_call = ev.call server_call.metadata = ev.result.metadata finished_tag = Object.new server_call.server_accept(server_queue, finished_tag) - server_call.server_end_initial_metadata() + server_call.server_end_initial_metadata GRPC::ActiveCall.new(server_call, server_queue, NOOP, NOOP, INFINITE_FUTURE, finished_tag: finished_tag) end @@ -530,5 +504,4 @@ describe 'ClientStub' do port = find_unused_tcp_port "localhost:#{port}" end - end diff --git a/src/ruby/spec/generic/rpc_desc_spec.rb b/src/ruby/spec/generic/rpc_desc_spec.rb index efef7e4686f..ac0b5c51f40 100644 --- a/src/ruby/spec/generic/rpc_desc_spec.rb +++ b/src/ruby/spec/generic/rpc_desc_spec.rb @@ -30,9 +30,7 @@ require 'grpc' require 'grpc/generic/rpc_desc' - describe GRPC::RpcDesc do - RpcDesc = GRPC::RpcDesc Stream = RpcDesc::Stream OK = GRPC::Core::StatusCodes::OK @@ -56,7 +54,6 @@ describe GRPC::RpcDesc do end describe '#run_server_method' do - describe 'for request responses' do before(:each) do @call = double('active_call') @@ -78,7 +75,7 @@ describe GRPC::RpcDesc do it 'absorbs EventError with no further action' do expect(@call).to receive(:remote_read).once.and_raise(EventError) - blk = Proc.new do + blk = proc do @request_response.run_server_method(@call, method(:fake_reqresp)) end expect(&blk).to_not raise_error @@ -86,7 +83,7 @@ describe GRPC::RpcDesc do it 'absorbs CallError with no further action' do expect(@call).to receive(:remote_read).once.and_raise(CallError) - blk = Proc.new do + blk = proc do @request_response.run_server_method(@call, method(:fake_reqresp)) end expect(&blk).to_not raise_error @@ -100,7 +97,6 @@ describe GRPC::RpcDesc do expect(@call).to receive(:finished).once @request_response.run_server_method(@call, method(:fake_reqresp)) end - end describe 'for client streamers' do @@ -122,7 +118,7 @@ describe GRPC::RpcDesc do it 'absorbs EventError with no further action' do expect(@call).to receive(:remote_send).once.and_raise(EventError) - blk = Proc.new do + blk = proc do @client_streamer.run_server_method(@call, method(:fake_clstream)) end expect(&blk).to_not raise_error @@ -130,20 +126,18 @@ describe GRPC::RpcDesc do it 'absorbs CallError with no further action' do expect(@call).to receive(:remote_send).once.and_raise(CallError) - blk = Proc.new do + blk = proc do @client_streamer.run_server_method(@call, method(:fake_clstream)) end expect(&blk).to_not raise_error end it 'sends a response and closes the stream if there no errors' do - req = Object.new expect(@call).to receive(:remote_send).once.with(@ok_response) expect(@call).to receive(:send_status).once.with(OK, 'OK') expect(@call).to receive(:finished).once @client_streamer.run_server_method(@call, method(:fake_clstream)) end - end describe 'for server streaming' do @@ -167,7 +161,7 @@ describe GRPC::RpcDesc do it 'absorbs EventError with no further action' do expect(@call).to receive(:remote_read).once.and_raise(EventError) - blk = Proc.new do + blk = proc do @server_streamer.run_server_method(@call, method(:fake_svstream)) end expect(&blk).to_not raise_error @@ -175,7 +169,7 @@ describe GRPC::RpcDesc do it 'absorbs CallError with no further action' do expect(@call).to receive(:remote_read).once.and_raise(CallError) - blk = Proc.new do + blk = proc do @server_streamer.run_server_method(@call, method(:fake_svstream)) end expect(&blk).to_not raise_error @@ -189,7 +183,6 @@ describe GRPC::RpcDesc do expect(@call).to receive(:finished).once @server_streamer.run_server_method(@call, method(:fake_svstream)) end - end describe 'for bidi streamers' do @@ -215,30 +208,27 @@ describe GRPC::RpcDesc do end it 'closes the stream if there no errors' do - req = Object.new expect(@call).to receive(:run_server_bidi) expect(@call).to receive(:send_status).once.with(OK, 'OK') expect(@call).to receive(:finished).once @bidi_streamer.run_server_method(@call, method(:fake_bidistream)) end - end - end describe '#assert_arity_matches' do def no_arg end - def fake_clstream(arg) + def fake_clstream(_arg) end - def fake_svstream(arg1, arg2) + def fake_svstream(_arg1, _arg2) end it 'raises when a request_response does not have 2 args' do [:fake_clstream, :no_arg].each do |mth| - blk = Proc.new do + blk = proc do @request_response.assert_arity_matches(method(mth)) end expect(&blk).to raise_error @@ -246,7 +236,7 @@ describe GRPC::RpcDesc do end it 'passes when a request_response has 2 args' do - blk = Proc.new do + blk = proc do @request_response.assert_arity_matches(method(:fake_svstream)) end expect(&blk).to_not raise_error @@ -254,7 +244,7 @@ describe GRPC::RpcDesc do it 'raises when a server_streamer does not have 2 args' do [:fake_clstream, :no_arg].each do |mth| - blk = Proc.new do + blk = proc do @server_streamer.assert_arity_matches(method(mth)) end expect(&blk).to raise_error @@ -262,7 +252,7 @@ describe GRPC::RpcDesc do end it 'passes when a server_streamer has 2 args' do - blk = Proc.new do + blk = proc do @server_streamer.assert_arity_matches(method(:fake_svstream)) end expect(&blk).to_not raise_error @@ -270,7 +260,7 @@ describe GRPC::RpcDesc do it 'raises when a client streamer does not have 1 arg' do [:fake_svstream, :no_arg].each do |mth| - blk = Proc.new do + blk = proc do @client_streamer.assert_arity_matches(method(mth)) end expect(&blk).to raise_error @@ -278,16 +268,15 @@ describe GRPC::RpcDesc do end it 'passes when a client_streamer has 1 arg' do - blk = Proc.new do + blk = proc do @client_streamer.assert_arity_matches(method(:fake_clstream)) end expect(&blk).to_not raise_error end - it 'raises when a bidi streamer does not have 1 arg' do [:fake_svstream, :no_arg].each do |mth| - blk = Proc.new do + blk = proc do @bidi_streamer.assert_arity_matches(method(mth)) end expect(&blk).to raise_error @@ -295,88 +284,78 @@ describe GRPC::RpcDesc do end it 'passes when a bidi streamer has 1 arg' do - blk = Proc.new do + blk = proc do @bidi_streamer.assert_arity_matches(method(:fake_clstream)) end expect(&blk).to_not raise_error end - end - describe '#is_request_response?' do - + describe '#request_response?' do it 'is true only input and output are both not Streams' do - expect(@request_response.is_request_response?).to be(true) - expect(@client_streamer.is_request_response?).to be(false) - expect(@bidi_streamer.is_request_response?).to be(false) - expect(@server_streamer.is_request_response?).to be(false) + expect(@request_response.request_response?).to be(true) + expect(@client_streamer.request_response?).to be(false) + expect(@bidi_streamer.request_response?).to be(false) + expect(@server_streamer.request_response?).to be(false) end - end - describe '#is_client_streamer?' do - + describe '#client_streamer?' do it 'is true only when input is a Stream and output is not a Stream' do - expect(@client_streamer.is_client_streamer?).to be(true) - expect(@request_response.is_client_streamer?).to be(false) - expect(@server_streamer.is_client_streamer?).to be(false) - expect(@bidi_streamer.is_client_streamer?).to be(false) + expect(@client_streamer.client_streamer?).to be(true) + expect(@request_response.client_streamer?).to be(false) + expect(@server_streamer.client_streamer?).to be(false) + expect(@bidi_streamer.client_streamer?).to be(false) end - end - describe '#is_server_streamer?' do - + describe '#server_streamer?' do it 'is true only when output is a Stream and input is not a Stream' do - expect(@server_streamer.is_server_streamer?).to be(true) - expect(@client_streamer.is_server_streamer?).to be(false) - expect(@request_response.is_server_streamer?).to be(false) - expect(@bidi_streamer.is_server_streamer?).to be(false) + expect(@server_streamer.server_streamer?).to be(true) + expect(@client_streamer.server_streamer?).to be(false) + expect(@request_response.server_streamer?).to be(false) + expect(@bidi_streamer.server_streamer?).to be(false) end - end - describe '#is_bidi_streamer?' do - + describe '#bidi_streamer?' do it 'is true only when output is a Stream and input is a Stream' do - expect(@bidi_streamer.is_bidi_streamer?).to be(true) - expect(@server_streamer.is_bidi_streamer?).to be(false) - expect(@client_streamer.is_bidi_streamer?).to be(false) - expect(@request_response.is_bidi_streamer?).to be(false) + expect(@bidi_streamer.bidi_streamer?).to be(true) + expect(@server_streamer.bidi_streamer?).to be(false) + expect(@client_streamer.bidi_streamer?).to be(false) + expect(@request_response.bidi_streamer?).to be(false) end - end - def fake_reqresp(req, call) + def fake_reqresp(_req, _call) @ok_response end - def fake_clstream(call) + def fake_clstream(_call) @ok_response end - def fake_svstream(req, call) + def fake_svstream(_req, _call) [@ok_response, @ok_response] end def fake_bidistream(an_array) - return an_array + an_array end - def bad_status(req, call) - raise GRPC::BadStatus.new(@bs_code, 'NOK') + def bad_status(_req, _call) + fail GRPC::BadStatus.new(@bs_code, 'NOK') end - def other_error(req, call) - raise ArgumentError.new('other error') + def other_error(_req, _call) + fail(ArgumentError, 'other error') end - def bad_status_alt(call) - raise GRPC::BadStatus.new(@bs_code, 'NOK') + def bad_status_alt(_call) + fail GRPC::BadStatus.new(@bs_code, 'NOK') end - def other_error_alt(call) - raise ArgumentError.new('other error') + def other_error_alt(_call) + fail(ArgumentError, 'other error') end - end diff --git a/src/ruby/spec/generic/rpc_server_pool_spec.rb b/src/ruby/spec/generic/rpc_server_pool_spec.rb index 83979ec1643..27fabd9c312 100644 --- a/src/ruby/spec/generic/rpc_server_pool_spec.rb +++ b/src/ruby/spec/generic/rpc_server_pool_spec.rb @@ -33,9 +33,7 @@ require 'xray/thread_dump_signal_handler' Pool = GRPC::RpcServer::Pool describe Pool do - describe '#new' do - it 'raises if a non-positive size is used' do expect { Pool.new(0) }.to raise_error expect { Pool.new(-1) }.to raise_error @@ -45,11 +43,9 @@ describe Pool do it 'is constructed OK with a positive size' do expect { Pool.new(1) }.not_to raise_error end - end describe '#jobs_waiting' do - it 'at start, it is zero' do p = Pool.new(1) expect(p.jobs_waiting).to be(0) @@ -57,74 +53,67 @@ describe Pool do it 'it increases, with each scheduled job if the pool is not running' do p = Pool.new(1) - job = Proc.new { } + job = proc {} expect(p.jobs_waiting).to be(0) 5.times do |i| p.schedule(&job) expect(p.jobs_waiting).to be(i + 1) end - end it 'it decreases as jobs are run' do p = Pool.new(1) - job = Proc.new { } + job = proc {} expect(p.jobs_waiting).to be(0) - 3.times do |i| + 3.times do p.schedule(&job) end p.start sleep 2 expect(p.jobs_waiting).to be(0) end - end describe '#schedule' do - it 'throws if the pool is already stopped' do p = Pool.new(1) - p.stop() - job = Proc.new { } + p.stop + job = proc {} expect { p.schedule(&job) }.to raise_error end it 'adds jobs that get run by the pool' do p = Pool.new(1) - p.start() + p.start o, q = Object.new, Queue.new - job = Proc.new { q.push(o) } + job = proc { q.push(o) } p.schedule(&job) expect(q.pop).to be(o) p.stop end - end describe '#stop' do - it 'works when there are no scheduled tasks' do p = Pool.new(1) - expect { p.stop() }.not_to raise_error + expect { p.stop }.not_to raise_error end it 'stops jobs when there are long running jobs' do p = Pool.new(1) - p.start() + p.start o, q = Object.new, Queue.new - job = Proc.new do + job = proc do sleep(5) # long running q.push(o) end p.schedule(&job) sleep(1) # should ensure the long job gets scheduled - expect { p.stop() }.not_to raise_error + expect { p.stop }.not_to raise_error end - end describe '#start' do - it 'runs pre-scheduled jobs' do p = Pool.new(2) o, q = Object.new, Queue.new @@ -146,7 +135,5 @@ describe Pool do end p.stop end - end - end diff --git a/src/ruby/spec/generic/rpc_server_spec.rb b/src/ruby/spec/generic/rpc_server_spec.rb index 5997fdb3637..cd4888a3b4b 100644 --- a/src/ruby/spec/generic/rpc_server_spec.rb +++ b/src/ruby/spec/generic/rpc_server_spec.rb @@ -37,33 +37,37 @@ def load_test_certs files.map { |f| File.open(File.join(test_root, f)).read } end +# A test message class EchoMsg - def self.marshal(o) + def self.marshal(_o) '' end - def self.unmarshal(o) + def self.unmarshal(_o) EchoMsg.new end end +# A test service with no methods. class EmptyService include GRPC::GenericService end +# A test service without an implementation. class NoRpcImplementation include GRPC::GenericService rpc :an_rpc, EchoMsg, EchoMsg end +# A test service with an implementation. class EchoService include GRPC::GenericService rpc :an_rpc, EchoMsg, EchoMsg - def initialize(default_var='ignored') + def initialize(_default_var = 'ignored') end - def an_rpc(req, call) + def an_rpc(req, _call) logger.info('echo service received a request') req end @@ -71,14 +75,15 @@ end EchoStub = EchoService.rpc_stub_class +# A slow test service. class SlowService include GRPC::GenericService rpc :an_rpc, EchoMsg, EchoMsg - def initialize(default_var='ignored') + def initialize(_default_var = 'ignored') end - def an_rpc(req, call) + def an_rpc(req, _call) delay = 0.25 logger.info("starting a slow #{delay} rpc") sleep delay @@ -89,7 +94,6 @@ end SlowStub = SlowService.rpc_stub_class describe GRPC::RpcServer do - RpcServer = GRPC::RpcServer StatusCodes = GRPC::Core::StatusCodes @@ -97,7 +101,7 @@ describe GRPC::RpcServer do @method = 'an_rpc_method' @pass = 0 @fail = 1 - @noop = Proc.new { |x| x } + @noop = proc { |x| x } @server_queue = GRPC::Core::CompletionQueue.new port = find_unused_tcp_port @@ -112,18 +116,17 @@ describe GRPC::RpcServer do end describe '#new' do - it 'can be created with just some args' do - opts = {:a_channel_arg => 'an_arg'} - blk = Proc.new do + opts = { a_channel_arg: 'an_arg' } + blk = proc do RpcServer.new(**opts) end expect(&blk).not_to raise_error end it 'can be created with a default deadline' do - opts = {:a_channel_arg => 'an_arg', :deadline => 5} - blk = Proc.new do + opts = { a_channel_arg: 'an_arg', deadline: 5 } + blk = proc do RpcServer.new(**opts) end expect(&blk).not_to raise_error @@ -131,20 +134,20 @@ describe GRPC::RpcServer do it 'can be created with a completion queue override' do opts = { - :a_channel_arg => 'an_arg', - :completion_queue_override => @server_queue + a_channel_arg: 'an_arg', + completion_queue_override: @server_queue } - blk = Proc.new do + blk = proc do RpcServer.new(**opts) end expect(&blk).not_to raise_error end it 'cannot be created with a bad completion queue override' do - blk = Proc.new do + blk = proc do opts = { - :a_channel_arg => 'an_arg', - :completion_queue_override => Object.new + a_channel_arg: 'an_arg', + completion_queue_override: Object.new } RpcServer.new(**opts) end @@ -152,10 +155,10 @@ describe GRPC::RpcServer do end it 'cannot be created with invalid ServerCredentials' do - blk = Proc.new do + blk = proc do opts = { - :a_channel_arg => 'an_arg', - :creds => Object.new + a_channel_arg: 'an_arg', + creds: Object.new } RpcServer.new(**opts) end @@ -165,10 +168,10 @@ describe GRPC::RpcServer do it 'can be created with the creds as valid ServerCedentials' do certs = load_test_certs server_creds = GRPC::Core::ServerCredentials.new(nil, certs[1], certs[2]) - blk = Proc.new do + blk = proc do opts = { - :a_channel_arg => 'an_arg', - :creds => server_creds + a_channel_arg: 'an_arg', + creds: server_creds } RpcServer.new(**opts) end @@ -176,30 +179,28 @@ describe GRPC::RpcServer do end it 'can be created with a server override' do - opts = {:a_channel_arg => 'an_arg', :server_override => @server} - blk = Proc.new do + opts = { a_channel_arg: 'an_arg', server_override: @server } + blk = proc do RpcServer.new(**opts) end expect(&blk).not_to raise_error end it 'cannot be created with a bad server override' do - blk = Proc.new do + blk = proc do opts = { - :a_channel_arg => 'an_arg', - :server_override => Object.new + a_channel_arg: 'an_arg', + server_override: Object.new } RpcServer.new(**opts) end expect(&blk).to raise_error end - end describe '#stopped?' do - before(:each) do - opts = {:a_channel_arg => 'an_arg', :poll_period => 1} + opts = { a_channel_arg: 'an_arg', poll_period: 1 } @srv = RpcServer.new(**opts) end @@ -229,33 +230,31 @@ describe GRPC::RpcServer do expect(@srv.stopped?).to be(true) t.join end - end describe '#running?' do - it 'starts out false' do - opts = {:a_channel_arg => 'an_arg', :server_override => @server} + opts = { a_channel_arg: 'an_arg', server_override: @server } r = RpcServer.new(**opts) expect(r.running?).to be(false) end it 'is false after run is called with no services registered' do opts = { - :a_channel_arg => 'an_arg', - :poll_period => 1, - :server_override => @server + a_channel_arg: 'an_arg', + poll_period: 1, + server_override: @server } r = RpcServer.new(**opts) - r.run() + r.run expect(r.running?).to be(false) end it 'is true after run is called with a registered service' do opts = { - :a_channel_arg => 'an_arg', - :poll_period => 1, - :server_override => @server + a_channel_arg: 'an_arg', + poll_period: 1, + server_override: @server } r = RpcServer.new(**opts) r.handle(EchoService) @@ -265,13 +264,11 @@ describe GRPC::RpcServer do r.stop t.join end - end describe '#handle' do - before(:each) do - @opts = {:a_channel_arg => 'an_arg', :poll_period => 1} + @opts = { a_channel_arg: 'an_arg', poll_period: 1 } @srv = RpcServer.new(**@opts) end @@ -309,33 +306,30 @@ describe GRPC::RpcServer do @srv.handle(EchoService) expect { r.handle(EchoService) }.to raise_error end - end describe '#run' do - before(:each) do @client_opts = { - :channel_override => @ch + channel_override: @ch } @marshal = EchoService.rpc_descs[:an_rpc].marshal_proc @unmarshal = EchoService.rpc_descs[:an_rpc].unmarshal_proc(:output) server_opts = { - :server_override => @server, - :completion_queue_override => @server_queue, - :poll_period => 1 + server_override: @server, + completion_queue_override: @server_queue, + poll_period: 1 } @srv = RpcServer.new(**server_opts) end describe 'when running' do - it 'should return NOT_FOUND status for requests on unknown methods' do @srv.handle(EchoService) t = Thread.new { @srv.run } @srv.wait_till_running req = EchoMsg.new - blk = Proc.new do + blk = proc do cq = GRPC::Core::CompletionQueue.new stub = GRPC::ClientStub.new(@host, cq, **@client_opts) stub.request_response('/unknown', req, @marshal, @unmarshal) @@ -352,20 +346,19 @@ describe GRPC::RpcServer do req = EchoMsg.new n = 5 # arbitrary stub = EchoStub.new(@host, **@client_opts) - n.times { |x| expect(stub.an_rpc(req)).to be_a(EchoMsg) } + n.times { expect(stub.an_rpc(req)).to be_a(EchoMsg) } @srv.stop t.join end it 'should obtain responses for multiple parallel requests' do @srv.handle(EchoService) - t = Thread.new { @srv.run } + Thread.new { @srv.run } @srv.wait_till_running req, q = EchoMsg.new, Queue.new n = 5 # arbitrary threads = [] - n.times do |x| - cq = GRPC::Core::CompletionQueue.new + n.times do threads << Thread.new do stub = EchoStub.new(@host, **@client_opts) q << stub.an_rpc(req) @@ -373,44 +366,40 @@ describe GRPC::RpcServer do end n.times { expect(q.pop).to be_a(EchoMsg) } @srv.stop - threads.each { |t| t.join } + threads.each(&:join) end it 'should return UNAVAILABLE status if there too many jobs' do opts = { - :a_channel_arg => 'an_arg', - :server_override => @server, - :completion_queue_override => @server_queue, - :pool_size => 1, - :poll_period => 1, - :max_waiting_requests => 0 + a_channel_arg: 'an_arg', + server_override: @server, + completion_queue_override: @server_queue, + pool_size: 1, + poll_period: 1, + max_waiting_requests: 0 } alt_srv = RpcServer.new(**opts) alt_srv.handle(SlowService) - t = Thread.new { alt_srv.run } + Thread.new { alt_srv.run } alt_srv.wait_till_running req = EchoMsg.new n = 5 # arbitrary, use as many to ensure the server pool is exceeded threads = [] - _1_failed_as_unavailable = false - n.times do |x| + one_failed_as_unavailable = false + n.times do threads << Thread.new do - cq = GRPC::Core::CompletionQueue.new stub = SlowStub.new(@host, **@client_opts) begin stub.an_rpc(req) rescue GRPC::BadStatus => e - _1_failed_as_unavailable = e.code == StatusCodes::UNAVAILABLE + one_failed_as_unavailable = e.code == StatusCodes::UNAVAILABLE end end end - threads.each { |t| t.join } + threads.each(&:join) alt_srv.stop - expect(_1_failed_as_unavailable).to be(true) + expect(one_failed_as_unavailable).to be(true) end - end - end - end diff --git a/src/ruby/spec/generic/service_spec.rb b/src/ruby/spec/generic/service_spec.rb index a8e0c6f52fe..29f24126319 100644 --- a/src/ruby/spec/generic/service_spec.rb +++ b/src/ruby/spec/generic/service_spec.rb @@ -31,23 +31,24 @@ require 'grpc' require 'grpc/generic/rpc_desc' require 'grpc/generic/service' - +# A test message that encodes/decodes using marshal/marshal. class GoodMsg - def self.marshal(o) + def self.marshal(_o) '' end - def self.unmarshal(o) + def self.unmarshal(_o) GoodMsg.new end end +# A test message that encodes/decodes using encode/decode. class EncodeDecodeMsg - def self.encode(o) + def self.encode(_o) '' end - def self.decode(o) + def self.decode(_o) GoodMsg.new end end @@ -55,7 +56,6 @@ end GenericService = GRPC::GenericService Dsl = GenericService::Dsl - describe 'String#underscore' do it 'should convert CamelCase to underscore separated' do expect('AnRPC'.underscore).to eq('an_rpc') @@ -66,20 +66,14 @@ describe 'String#underscore' do end describe Dsl do - it 'can be included in new classes' do - blk = Proc.new do - c = Class.new { include Dsl } - end + blk = proc { Class.new { include Dsl } } expect(&blk).to_not raise_error end - end describe GenericService do - describe 'including it' do - it 'adds a class method, rpc' do c = Class.new do include GenericService @@ -144,9 +138,8 @@ describe GenericService do end describe '#include' do - it 'raises if #rpc is missing an arg' do - blk = Proc.new do + blk = proc do Class.new do include GenericService rpc :AnRpc, GoodMsg @@ -154,7 +147,7 @@ describe GenericService do end expect(&blk).to raise_error ArgumentError - blk = Proc.new do + blk = proc do Class.new do include GenericService rpc :AnRpc @@ -164,9 +157,8 @@ describe GenericService do end describe 'when #rpc args are incorrect' do - it 'raises if an arg does not have the marshal or unmarshal methods' do - blk = Proc.new do + blk = proc do Class.new do include GenericService rpc :AnRpc, GoodMsg, Object @@ -176,13 +168,14 @@ describe GenericService do end it 'raises if a type arg only has the marshal method' do + # a bad message type with only a marshal method class OnlyMarshal def marshal(o) o end end - blk = Proc.new do + blk = proc do Class.new do include GenericService rpc :AnRpc, OnlyMarshal, GoodMsg @@ -192,12 +185,13 @@ describe GenericService do end it 'raises if a type arg only has the unmarshal method' do + # a bad message type with only an unmarshal method class OnlyUnmarshal def self.ummarshal(o) o end end - blk = Proc.new do + blk = proc do Class.new do include GenericService rpc :AnRpc, GoodMsg, OnlyUnmarshal @@ -208,7 +202,7 @@ describe GenericService do end it 'is ok for services that expect the default {un,}marshal methods' do - blk = Proc.new do + blk = proc do Class.new do include GenericService rpc :AnRpc, GoodMsg, GoodMsg @@ -218,7 +212,7 @@ describe GenericService do end it 'is ok for services that override the default {un,}marshal methods' do - blk = Proc.new do + blk = proc do Class.new do include GenericService self.marshal_class_method = :encode @@ -228,11 +222,9 @@ describe GenericService do end expect(&blk).not_to raise_error end - end describe '#rpc_stub_class' do - it 'generates a client class that defines any of the rpc methods' do s = Class.new do include GenericService @@ -249,7 +241,6 @@ describe GenericService do end describe 'the generated instances' do - it 'can be instanciated with just a hostname' do s = Class.new do include GenericService @@ -277,13 +268,10 @@ describe GenericService do expect(o.methods).to include(:a_client_streamer) expect(o.methods).to include(:a_bidi_streamer) end - end - end describe '#assert_rpc_descs_have_methods' do - it 'fails if there is no instance method for an rpc descriptor' do c1 = Class.new do include GenericService @@ -310,16 +298,16 @@ describe GenericService do rpc :AClientStreamer, stream(GoodMsg), GoodMsg rpc :ABidiStreamer, stream(GoodMsg), stream(GoodMsg) - def an_rpc(req, call) + def an_rpc(_req, _call) end - def a_server_streamer(req, call) + def a_server_streamer(_req, _call) end - def a_client_streamer(call) + def a_client_streamer(_call) end - def a_bidi_streamer(call) + def a_bidi_streamer(_call) end end expect { c.assert_rpc_descs_have_methods }.to_not raise_error @@ -330,7 +318,7 @@ describe GenericService do include GenericService rpc :AnRpc, GoodMsg, GoodMsg - def an_rpc(req, call) + def an_rpc(_req, _call) end end c = Class.new(base) @@ -344,13 +332,11 @@ describe GenericService do rpc :AnRpc, GoodMsg, GoodMsg end c = Class.new(base) do - def an_rpc(req, call) + def an_rpc(_req, _call) end end expect { c.assert_rpc_descs_have_methods }.to_not raise_error expect(c.include?(GenericService)).to be(true) end - end - end diff --git a/src/ruby/spec/metadata_spec.rb b/src/ruby/spec/metadata_spec.rb index d5dc8b23386..9cdce6b40d5 100644 --- a/src/ruby/spec/metadata_spec.rb +++ b/src/ruby/spec/metadata_spec.rb @@ -30,7 +30,6 @@ require 'grpc' describe GRPC::Core::Metadata do - describe '#new' do it 'should create instances' do expect { GRPC::Core::Metadata.new('a key', 'a value') }.to_not raise_error @@ -62,5 +61,4 @@ describe GRPC::Core::Metadata do expect(md.dup.value).to eq('a value') end end - end diff --git a/src/ruby/spec/port_picker.rb b/src/ruby/spec/port_picker.rb index 1b52113e107..18918745051 100644 --- a/src/ruby/spec/port_picker.rb +++ b/src/ruby/spec/port_picker.rb @@ -32,14 +32,14 @@ require 'socket' # @param [Fixnum] the minimum port number to accept # @param [Fixnum] the maximum port number to accept # @return [Fixnum ]a free tcp port -def find_unused_tcp_port(min=32768, max=60000) - # Allow the system to assign a port, by specifying 0. +def find_unused_tcp_port(min = 32_768, max = 60_000) + # Allow the system to assign a port, by sp[ecifying 0. # Loop until a port is assigned in the required range loop do socket = Socket.new(:INET, :STREAM, 0) socket.bind(Addrinfo.tcp('127.0.0.1', 0)) p = socket.local_address.ip_port socket.close - return p if p > min and p < 60000 + return p if p > min && p < max end end diff --git a/src/ruby/spec/server_credentials_spec.rb b/src/ruby/spec/server_credentials_spec.rb index bcc2cae4dd8..faa713d562c 100644 --- a/src/ruby/spec/server_credentials_spec.rb +++ b/src/ruby/spec/server_credentials_spec.rb @@ -35,13 +35,10 @@ def load_test_certs files.map { |f| File.open(File.join(test_root, f)).read } end - describe GRPC::Core::ServerCredentials do - Creds = GRPC::Core::ServerCredentials describe '#new' do - it 'can be constructed from a fake CA PEM, server PEM and a server key' do expect { Creds.new('a', 'b', 'c') }.not_to raise_error end @@ -53,22 +50,20 @@ describe GRPC::Core::ServerCredentials do it 'cannot be constructed without a server cert chain' do root_cert, server_key, _ = load_test_certs - blk = Proc.new { Creds.new(root_cert, server_key, nil) } + blk = proc { Creds.new(root_cert, server_key, nil) } expect(&blk).to raise_error end it 'cannot be constructed without a server key' do - root_cert, server_key, _ = load_test_certs - blk = Proc.new { Creds.new(root_cert, _, cert_chain) } + root_cert, _, _ = load_test_certs + blk = proc { Creds.new(root_cert, nil, cert_chain) } expect(&blk).to raise_error end it 'can be constructed without a root_cret' do _, server_key, cert_chain = load_test_certs - blk = Proc.new { Creds.new(_, server_key, cert_chain) } + blk = proc { Creds.new(nil, server_key, cert_chain) } expect(&blk).to_not raise_error end - end - end diff --git a/src/ruby/spec/server_spec.rb b/src/ruby/spec/server_spec.rb index 28f520a2f68..6e5bb523de0 100644 --- a/src/ruby/spec/server_spec.rb +++ b/src/ruby/spec/server_spec.rb @@ -39,7 +39,6 @@ end Server = GRPC::Core::Server describe Server do - def create_test_cert GRPC::Core::ServerCredentials.new(*load_test_certs) end @@ -49,11 +48,8 @@ describe Server do end describe '#start' do - it 'runs without failing' do - blk = Proc.new do - s = Server.new(@cq, nil).start - end + blk = proc { Server.new(@cq, nil).start } expect(&blk).to_not raise_error end @@ -62,20 +58,19 @@ describe Server do s.close expect { s.start }.to raise_error(RuntimeError) end - end describe '#destroy' do it 'destroys a server ok' do s = start_a_server - blk = Proc.new { s.destroy } + blk = proc { s.destroy } expect(&blk).to_not raise_error end it 'can be called more than once without error' do s = start_a_server begin - blk = Proc.new { s.destroy } + blk = proc { s.destroy } expect(&blk).to_not raise_error blk.call expect(&blk).to_not raise_error @@ -89,7 +84,7 @@ describe Server do it 'closes a server ok' do s = start_a_server begin - blk = Proc.new { s.close } + blk = proc { s.close } expect(&blk).to_not raise_error ensure s.close @@ -98,7 +93,7 @@ describe Server do it 'can be called more than once without error' do s = start_a_server - blk = Proc.new { s.close } + blk = proc { s.close } expect(&blk).to_not raise_error blk.call expect(&blk).to_not raise_error @@ -106,11 +101,9 @@ describe Server do end describe '#add_http_port' do - describe 'for insecure servers' do - it 'runs without failing' do - blk = Proc.new do + blk = proc do s = Server.new(@cq, nil) s.add_http2_port('localhost:0') s.close @@ -123,13 +116,11 @@ describe Server do s.close expect { s.add_http2_port('localhost:0') }.to raise_error(RuntimeError) end - end describe 'for secure servers' do - it 'runs without failing' do - blk = Proc.new do + blk = proc do s = Server.new(@cq, nil) s.add_http2_port('localhost:0', true) s.close @@ -140,16 +131,13 @@ describe Server do it 'fails if the server is closed' do s = Server.new(@cq, nil) s.close - blk = Proc.new { s.add_http2_port('localhost:0', true) } + blk = proc { s.add_http2_port('localhost:0', true) } expect(&blk).to raise_error(RuntimeError) end - end - end shared_examples '#new' do - it 'takes a completion queue with nil channel args' do expect { Server.new(@cq, nil, create_test_cert) }.to_not raise_error end @@ -162,14 +150,14 @@ describe Server do end it 'does not take a hash with bad values as channel args' do - blk = construct_with_args(:symbol => Object.new) + blk = construct_with_args(symbol: Object.new) expect(&blk).to raise_error TypeError blk = construct_with_args('1' => Hash.new) expect(&blk).to raise_error TypeError end it 'can take a hash with a symbol key as channel args' do - blk = construct_with_args(:a_symbol => 1) + blk = construct_with_args(a_symbol: 1) expect(&blk).to_not raise_error end @@ -179,46 +167,41 @@ describe Server do end it 'can take a hash with a string value as channel args' do - blk = construct_with_args(:a_symbol => '1') + blk = construct_with_args(a_symbol: '1') expect(&blk).to_not raise_error end it 'can take a hash with a symbol value as channel args' do - blk = construct_with_args(:a_symbol => :another_symbol) + blk = construct_with_args(a_symbol: :another_symbol) expect(&blk).to_not raise_error end it 'can take a hash with a numeric value as channel args' do - blk = construct_with_args(:a_symbol => 1) + blk = construct_with_args(a_symbol: 1) expect(&blk).to_not raise_error end it 'can take a hash with many args as channel args' do - args = Hash[127.times.collect { |x| [x.to_s, x] } ] + args = Hash[127.times.collect { |x| [x.to_s, x] }] blk = construct_with_args(args) expect(&blk).to_not raise_error end - end describe '#new with an insecure channel' do - def construct_with_args(a) - Proc.new { Server.new(@cq, a) } + proc { Server.new(@cq, a) } end it_behaves_like '#new' - end describe '#new with a secure channel' do - def construct_with_args(a) - Proc.new { Server.new(@cq, a, create_test_cert) } + proc { Server.new(@cq, a, create_test_cert) } end it_behaves_like '#new' - end def start_a_server @@ -229,5 +212,4 @@ describe Server do s.start s end - end diff --git a/src/ruby/spec/time_consts_spec.rb b/src/ruby/spec/time_consts_spec.rb index 27755075a9d..b01027ce267 100644 --- a/src/ruby/spec/time_consts_spec.rb +++ b/src/ruby/spec/time_consts_spec.rb @@ -32,7 +32,6 @@ require 'grpc' TimeConsts = GRPC::Core::TimeConsts describe TimeConsts do - before(:each) do @known_consts = [:ZERO, :INFINITE_FUTURE, :INFINITE_PAST].sort end @@ -49,11 +48,9 @@ describe TimeConsts do end end end - end describe '#from_relative_time' do - it 'cannot handle arbitrary objects' do expect { TimeConsts.from_relative_time(Object.new) }.to raise_error end @@ -89,5 +86,4 @@ describe '#from_relative_time' do expect(abs.to_f).to be_within(epsilon).of(want.to_f) end end - end diff --git a/tools/gce_setup/grpc_docker.sh b/tools/gce_setup/grpc_docker.sh index 8a72853e188..bf776126b5a 100755 --- a/tools/gce_setup/grpc_docker.sh +++ b/tools/gce_setup/grpc_docker.sh @@ -480,7 +480,9 @@ grpc_launch_server() { _grpc_set_project_and_zone -f grpc_launch_server_args "$@" || return 1 gce_has_instance $grpc_project $host || return 1; - cmd="sudo docker run -d --name $docker_name" + cmd="sudo docker kill $docker_name > /dev/null 2>&1; " + cmd+="sudo docker rm $docker_name > /dev/null 2>&1; " + cmd+="sudo docker run -d --name $docker_name" cmd+=" -p $grpc_port:$grpc_port $docker_label" local project_opt="--project $grpc_project" local zone_opt="--zone $grpc_zone" From 1fdb1e61d2a89075ecaaa592a3b2f4a7bff60784 Mon Sep 17 00:00:00 2001 From: Tim Emiola Date: Fri, 16 Jan 2015 03:06:39 -0800 Subject: [PATCH 032/121] Fix a typo --- src/ruby/spec/port_picker.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ruby/spec/port_picker.rb b/src/ruby/spec/port_picker.rb index 18918745051..98ffbacc1bc 100644 --- a/src/ruby/spec/port_picker.rb +++ b/src/ruby/spec/port_picker.rb @@ -33,7 +33,7 @@ require 'socket' # @param [Fixnum] the maximum port number to accept # @return [Fixnum ]a free tcp port def find_unused_tcp_port(min = 32_768, max = 60_000) - # Allow the system to assign a port, by sp[ecifying 0. + # Allow the system to assign a port, by specifying 0. # Loop until a port is assigned in the required range loop do socket = Socket.new(:INET, :STREAM, 0) From be5c6e5e8fcde0956475cbd2f79b9931fcc5d53b Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 07:57:58 -0800 Subject: [PATCH 033/121] Compile fix --- src/core/tsi/fake_transport_security.c | 61 +++++++++++++------------- src/core/tsi/fake_transport_security.h | 2 +- 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/src/core/tsi/fake_transport_security.c b/src/core/tsi/fake_transport_security.c index 63d0e1f7881..446329215fa 100644 --- a/src/core/tsi/fake_transport_security.c +++ b/src/core/tsi/fake_transport_security.c @@ -37,6 +37,7 @@ #include #include +#include #include "src/core/tsi/transport_security.h" /* --- Constants. ---*/ @@ -52,9 +53,9 @@ the data encoded in little endian on 4 bytes. */ typedef struct { unsigned char* data; - uint32_t size; - uint32_t allocated_size; - uint32_t offset; + size_t size; + size_t allocated_size; + size_t offset; int needs_draining; } tsi_fake_frame; @@ -80,7 +81,7 @@ typedef struct { tsi_frame_protector base; tsi_fake_frame protect_frame; tsi_fake_frame unprotect_frame; - uint32_t max_frame_size; + size_t max_frame_size; } tsi_fake_frame_protector; /* --- Utils. ---*/ @@ -110,12 +111,12 @@ static tsi_result tsi_fake_handshake_message_from_string( return TSI_DATA_CORRUPTED; } -static uint32_t load32_little_endian(const unsigned char* buf) { - return ((uint32_t)(buf[0]) | (uint32_t)(buf[1] << 8) | - (uint32_t)(buf[2] << 16) | (uint32_t)(buf[3] << 24)); +static gpr_uint32 load32_little_endian(const unsigned char* buf) { + return ((gpr_uint32)(buf[0]) | (gpr_uint32)(buf[1] << 8) | + (gpr_uint32)(buf[2] << 16) | (gpr_uint32)(buf[3] << 24)); } -static void store32_little_endian(uint32_t value, unsigned char* buf) { +static void store32_little_endian(gpr_uint32 value, unsigned char* buf) { buf[3] = (unsigned char)(value >> 24) & 0xFF; buf[2] = (unsigned char)(value >> 16) & 0xFF; buf[1] = (unsigned char)(value >> 8) & 0xFF; @@ -149,10 +150,10 @@ static int tsi_fake_frame_ensure_size(tsi_fake_frame* frame) { /* This method should not be called if frame->needs_framing is not 0. */ static tsi_result fill_frame_from_bytes(const unsigned char* incoming_bytes, - uint32_t* incoming_bytes_size, + size_t* incoming_bytes_size, tsi_fake_frame* frame) { - uint32_t available_size = *incoming_bytes_size; - uint32_t to_read_size = 0; + size_t available_size = *incoming_bytes_size; + size_t to_read_size = 0; const unsigned char* bytes_cursor = incoming_bytes; if (frame->needs_draining) return TSI_INTERNAL_ERROR; @@ -197,9 +198,9 @@ static tsi_result fill_frame_from_bytes(const unsigned char* incoming_bytes, /* This method should not be called if frame->needs_framing is 0. */ static tsi_result drain_frame_to_bytes(unsigned char* outgoing_bytes, - uint32_t* outgoing_bytes_size, + size_t* outgoing_bytes_size, tsi_fake_frame* frame) { - uint32_t to_write_size = frame->size - frame->offset; + size_t to_write_size = frame->size - frame->offset; if (!frame->needs_draining) return TSI_INTERNAL_ERROR; if (*outgoing_bytes_size < to_write_size) { memcpy(outgoing_bytes, frame->data + frame->offset, *outgoing_bytes_size); @@ -212,7 +213,7 @@ static tsi_result drain_frame_to_bytes(unsigned char* outgoing_bytes, return TSI_OK; } -static tsi_result bytes_to_frame(unsigned char* bytes, uint32_t bytes_size, +static tsi_result bytes_to_frame(unsigned char* bytes, size_t bytes_size, tsi_fake_frame* frame) { frame->offset = 0; frame->size = bytes_size + TSI_FAKE_FRAME_HEADER_SIZE; @@ -231,15 +232,15 @@ static void tsi_fake_frame_destruct(tsi_fake_frame* frame) { static tsi_result fake_protector_protect( tsi_frame_protector* self, const unsigned char* unprotected_bytes, - uint32_t* unprotected_bytes_size, unsigned char* protected_output_frames, - uint32_t* protected_output_frames_size) { + size_t* unprotected_bytes_size, unsigned char* protected_output_frames, + size_t* protected_output_frames_size) { tsi_result result = TSI_OK; tsi_fake_frame_protector* impl = (tsi_fake_frame_protector*)self; unsigned char frame_header[TSI_FAKE_FRAME_HEADER_SIZE]; tsi_fake_frame* frame = &impl->protect_frame; - uint32_t saved_output_size = *protected_output_frames_size; - uint32_t drained_size = 0; - uint32_t* num_bytes_written = protected_output_frames_size; + size_t saved_output_size = *protected_output_frames_size; + size_t drained_size = 0; + size_t* num_bytes_written = protected_output_frames_size; *num_bytes_written = 0; /* Try to drain first. */ @@ -262,7 +263,7 @@ static tsi_result fake_protector_protect( if (frame->needs_draining) return TSI_INTERNAL_ERROR; if (frame->size == 0) { /* New frame, create a header. */ - uint32_t written_in_frame_size = 0; + size_t written_in_frame_size = 0; store32_little_endian(impl->max_frame_size, frame_header); written_in_frame_size = TSI_FAKE_FRAME_HEADER_SIZE; result = fill_frame_from_bytes(frame_header, &written_in_frame_size, frame); @@ -291,7 +292,7 @@ static tsi_result fake_protector_protect( static tsi_result fake_protector_protect_flush( tsi_frame_protector* self, unsigned char* protected_output_frames, - uint32_t* protected_output_frames_size, uint32_t* still_pending_size) { + size_t* protected_output_frames_size, size_t* still_pending_size) { tsi_result result = TSI_OK; tsi_fake_frame_protector* impl = (tsi_fake_frame_protector*)self; tsi_fake_frame* frame = &impl->protect_frame; @@ -311,14 +312,14 @@ static tsi_result fake_protector_protect_flush( static tsi_result fake_protector_unprotect( tsi_frame_protector* self, const unsigned char* protected_frames_bytes, - uint32_t* protected_frames_bytes_size, unsigned char* unprotected_bytes, - uint32_t* unprotected_bytes_size) { + size_t* protected_frames_bytes_size, unsigned char* unprotected_bytes, + size_t* unprotected_bytes_size) { tsi_result result = TSI_OK; tsi_fake_frame_protector* impl = (tsi_fake_frame_protector*)self; tsi_fake_frame* frame = &impl->unprotect_frame; - uint32_t saved_output_size = *unprotected_bytes_size; - uint32_t drained_size = 0; - uint32_t* num_bytes_written = unprotected_bytes_size; + size_t saved_output_size = *unprotected_bytes_size; + size_t drained_size = 0; + size_t* num_bytes_written = unprotected_bytes_size; *num_bytes_written = 0; /* Try to drain first. */ @@ -373,7 +374,7 @@ static const tsi_frame_protector_vtable frame_protector_vtable = { /* --- tsi_handshaker methods implementation. ---*/ static tsi_result fake_handshaker_get_bytes_to_send_to_peer( - tsi_handshaker* self, unsigned char* bytes, uint32_t* bytes_size) { + tsi_handshaker* self, unsigned char* bytes, size_t* bytes_size) { tsi_fake_handshaker* impl = (tsi_fake_handshaker*)self; tsi_result result = TSI_OK; if (impl->needs_incoming_message || impl->result == TSI_OK) { @@ -408,7 +409,7 @@ static tsi_result fake_handshaker_get_bytes_to_send_to_peer( } static tsi_result fake_handshaker_process_bytes_from_peer( - tsi_handshaker* self, const unsigned char* bytes, uint32_t* bytes_size) { + tsi_handshaker* self, const unsigned char* bytes, size_t* bytes_size) { tsi_result result = TSI_OK; tsi_fake_handshaker* impl = (tsi_fake_handshaker*)self; int expected_msg = impl->next_message_to_send - 1; @@ -463,7 +464,7 @@ static tsi_result fake_handshaker_extract_peer(tsi_handshaker* self, } static tsi_result fake_handshaker_create_frame_protector( - tsi_handshaker* self, uint32_t* max_protected_frame_size, + tsi_handshaker* self, size_t* max_protected_frame_size, tsi_frame_protector** protector) { *protector = tsi_create_fake_protector(max_protected_frame_size); if (*protector == NULL) return TSI_OUT_OF_RESOURCES; @@ -500,7 +501,7 @@ tsi_handshaker* tsi_create_fake_handshaker(int is_client) { } tsi_frame_protector* tsi_create_fake_protector( - uint32_t* max_protected_frame_size) { + size_t* max_protected_frame_size) { tsi_fake_frame_protector* impl = calloc(1, sizeof(tsi_fake_frame_protector)); if (impl == NULL) return NULL; impl->max_frame_size = (max_protected_frame_size == NULL) diff --git a/src/core/tsi/fake_transport_security.h b/src/core/tsi/fake_transport_security.h index a62fe81c095..9e3480adfaa 100644 --- a/src/core/tsi/fake_transport_security.h +++ b/src/core/tsi/fake_transport_security.h @@ -52,7 +52,7 @@ tsi_handshaker* tsi_create_fake_handshaker(int is_client); /* Creates a protector directly without going through the handshake phase. */ tsi_frame_protector* tsi_create_fake_protector( - uint32_t* max_protected_frame_size); + size_t* max_protected_frame_size); #ifdef __cplusplus } From 7132d51b2e833964416e28659e1d77cbe606b668 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 09:00:12 -0800 Subject: [PATCH 034/121] Include some useful help text --- test/core/util/grpc_profiler.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test/core/util/grpc_profiler.c b/test/core/util/grpc_profiler.c index 489d34396a4..46bfc1f533c 100644 --- a/test/core/util/grpc_profiler.c +++ b/test/core/util/grpc_profiler.c @@ -40,8 +40,15 @@ void grpc_profiler_start(const char *filename) { ProfilerStart(filename); } void grpc_profiler_stop() { ProfilerStop(); } #else +#include -void grpc_profiler_start(const char *filename) {} +void grpc_profiler_start(const char *filename) { + gpr_log(GPR_DEBUG, + "You do not have google-perftools installed, profiling is disabled"); + gpr_log(GPR_DEBUG, + "To install on ubuntu: sudo apt-get install google-perftools " + "libgoogle-perftools-dev"); +} void grpc_profiler_stop(void) {} #endif From 7b01878736840395f13244bd68edaf0d88b4c3e4 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 09:53:39 -0800 Subject: [PATCH 035/121] Fix returned status The client should return status deadline exceeded when the deadline is exceeded (not cancelled status) --- src/core/surface/call.c | 5 ++ test/core/end2end/dualstack_socket_test.c | 5 +- test/core/end2end/no_server_test.c | 4 +- test/core/end2end/tests/cancel_after_accept.c | 22 +++----- .../cancel_after_accept_and_writes_closed.c | 22 +++----- test/core/end2end/tests/cancel_after_invoke.c | 22 +++----- .../core/end2end/tests/cancel_before_invoke.c | 4 -- test/core/end2end/tests/cancel_in_a_vacuum.c | 18 ++----- test/core/end2end/tests/cancel_test_helpers.h | 52 +++++++++++++++++++ test/cpp/end2end/end2end_test.cc | 4 +- 10 files changed, 89 insertions(+), 69 deletions(-) create mode 100644 test/core/end2end/tests/cancel_test_helpers.h diff --git a/src/core/surface/call.c b/src/core/surface/call.c index db6dbe04e4c..fd4e590aad5 100644 --- a/src/core/surface/call.c +++ b/src/core/surface/call.c @@ -897,8 +897,13 @@ grpc_metadata_buffer *grpc_call_get_metadata_buffer(grpc_call *call) { static void call_alarm(void *arg, int success) { grpc_call *call = arg; if (success) { + if (call->is_client) { + grpc_call_cancel_with_status(call, GRPC_STATUS_DEADLINE_EXCEEDED, + "Deadline Exceeded"); + } else { grpc_call_cancel(call); } + } grpc_call_internal_unref(call); } diff --git a/test/core/end2end/dualstack_socket_test.c b/test/core/end2end/dualstack_socket_test.c index 88a6acdd7d9..4327b912987 100644 --- a/test/core/end2end/dualstack_socket_test.c +++ b/test/core/end2end/dualstack_socket_test.c @@ -154,8 +154,9 @@ void test_connect(const char *server_host, const char *client_host, int port, /* Check for a failed connection. */ cq_expect_invoke_accepted(v_client, tag(1), GRPC_OP_ERROR); cq_expect_client_metadata_read(v_client, tag(2), NULL); - cq_expect_finished_with_status(v_client, tag(3), GRPC_STATUS_CANCELLED, - NULL, NULL); + cq_expect_finished_with_status(v_client, tag(3), + GRPC_STATUS_DEADLINE_EXCEEDED, + "Deadline Exceeded", NULL); cq_verify(v_client); grpc_call_destroy(c); diff --git a/test/core/end2end/no_server_test.c b/test/core/end2end/no_server_test.c index ba6349c109b..b9660f14b30 100644 --- a/test/core/end2end/no_server_test.c +++ b/test/core/end2end/no_server_test.c @@ -62,8 +62,8 @@ int main(int argc, char **argv) { /* verify that all tags get completed */ cq_expect_invoke_accepted(cqv, tag(1), GRPC_OP_ERROR); cq_expect_client_metadata_read(cqv, tag(2), NULL); - cq_expect_finished_with_status(cqv, tag(3), GRPC_STATUS_CANCELLED, NULL, - NULL); + cq_expect_finished_with_status(cqv, tag(3), GRPC_STATUS_DEADLINE_EXCEEDED, + "Deadline Exceeded", NULL); cq_verify(cqv); grpc_completion_queue_shutdown(cq); diff --git a/test/core/end2end/tests/cancel_after_accept.c b/test/core/end2end/tests/cancel_after_accept.c index 85686051970..cfbb4796aae 100644 --- a/test/core/end2end/tests/cancel_after_accept.c +++ b/test/core/end2end/tests/cancel_after_accept.c @@ -43,14 +43,7 @@ #include #include #include "test/core/end2end/cq_verifier.h" - -/* allow cancellation by either grpc_call_cancel, or by wait_for_deadline (which - * does nothing) */ -typedef grpc_call_error (*canceller)(grpc_call *call); - -static grpc_call_error wait_for_deadline(grpc_call *call) { - return GRPC_CALL_OK; -} +#include "test/core/end2end/tests/cancel_test_helpers.h" enum { TIMEOUT = 200000 }; @@ -112,7 +105,7 @@ static void end_test(grpc_end2end_test_fixture *f) { /* Cancel after accept, no payload */ static void test_cancel_after_accept(grpc_end2end_test_config config, - canceller call_cancel) { + cancellation_mode mode) { grpc_call *c; grpc_call *s; grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL); @@ -138,10 +131,10 @@ static void test_cancel_after_accept(grpc_end2end_test_config config, cq_expect_client_metadata_read(v_client, tag(2), NULL); cq_verify(v_client); - GPR_ASSERT(GRPC_CALL_OK == call_cancel(c)); + GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c)); - cq_expect_finished_with_status(v_client, tag(3), GRPC_STATUS_CANCELLED, NULL, - NULL); + cq_expect_finished_with_status(v_client, tag(3), mode.expect_status, + mode.expect_details, NULL); cq_verify(v_client); cq_expect_finished_with_status(v_server, tag(102), GRPC_STATUS_CANCELLED, @@ -159,9 +152,8 @@ static void test_cancel_after_accept(grpc_end2end_test_config config, void grpc_end2end_tests(grpc_end2end_test_config config) { int i; - canceller cancellers[2] = {grpc_call_cancel, wait_for_deadline}; - for (i = 0; i < GPR_ARRAY_SIZE(cancellers); i++) { - test_cancel_after_accept(config, cancellers[i]); + for (i = 0; i < GPR_ARRAY_SIZE(cancellation_modes); i++) { + test_cancel_after_accept(config, cancellation_modes[i]); } } diff --git a/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c b/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c index 798051f01b2..74670bdc916 100644 --- a/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c +++ b/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c @@ -43,14 +43,7 @@ #include #include #include "test/core/end2end/cq_verifier.h" - -/* allow cancellation by either grpc_call_cancel, or by wait_for_deadline (which - * does nothing) */ -typedef grpc_call_error (*canceller)(grpc_call *call); - -static grpc_call_error wait_for_deadline(grpc_call *call) { - return GRPC_CALL_OK; -} +#include "test/core/end2end/tests/cancel_test_helpers.h" enum { TIMEOUT = 200000 }; @@ -112,7 +105,7 @@ static void end_test(grpc_end2end_test_fixture *f) { /* Cancel after accept with a writes closed, no payload */ static void test_cancel_after_accept_and_writes_closed( - grpc_end2end_test_config config, canceller call_cancel) { + grpc_end2end_test_config config, cancellation_mode mode) { grpc_call *c; grpc_call *s; grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL); @@ -146,10 +139,10 @@ static void test_cancel_after_accept_and_writes_closed( cq_expect_empty_read(v_server, tag(101)); cq_verify(v_server); - GPR_ASSERT(GRPC_CALL_OK == call_cancel(c)); + GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c)); - cq_expect_finished_with_status(v_client, tag(3), GRPC_STATUS_CANCELLED, NULL, - NULL); + cq_expect_finished_with_status(v_client, tag(3), mode.expect_status, + mode.expect_details, NULL); cq_verify(v_client); cq_expect_finished_with_status(v_server, tag(102), GRPC_STATUS_CANCELLED, @@ -167,9 +160,8 @@ static void test_cancel_after_accept_and_writes_closed( void grpc_end2end_tests(grpc_end2end_test_config config) { int i; - canceller cancellers[2] = {grpc_call_cancel, wait_for_deadline}; - for (i = 0; i < GPR_ARRAY_SIZE(cancellers); i++) { - test_cancel_after_accept_and_writes_closed(config, cancellers[i]); + for (i = 0; i < GPR_ARRAY_SIZE(cancellation_modes); i++) { + test_cancel_after_accept_and_writes_closed(config, cancellation_modes[i]); } } diff --git a/test/core/end2end/tests/cancel_after_invoke.c b/test/core/end2end/tests/cancel_after_invoke.c index 3c9122944bd..d4cb5e4f133 100644 --- a/test/core/end2end/tests/cancel_after_invoke.c +++ b/test/core/end2end/tests/cancel_after_invoke.c @@ -43,14 +43,7 @@ #include #include #include "test/core/end2end/cq_verifier.h" - -/* allow cancellation by either grpc_call_cancel, or by wait_for_deadline (which - * does nothing) */ -typedef grpc_call_error (*canceller)(grpc_call *call); - -static grpc_call_error wait_for_deadline(grpc_call *call) { - return GRPC_CALL_OK; -} +#include "test/core/end2end/tests/cancel_test_helpers.h" enum { TIMEOUT = 200000 }; @@ -112,7 +105,7 @@ static void end_test(grpc_end2end_test_fixture *f) { /* Cancel after invoke, no payload */ static void test_cancel_after_invoke(grpc_end2end_test_config config, - canceller call_cancel) { + cancellation_mode mode) { grpc_call *c; grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL); gpr_timespec deadline = five_seconds_time(); @@ -126,11 +119,11 @@ static void test_cancel_after_invoke(grpc_end2end_test_config config, cq_expect_invoke_accepted(v_client, tag(1), GRPC_OP_OK); cq_verify(v_client); - GPR_ASSERT(GRPC_CALL_OK == call_cancel(c)); + GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c)); cq_expect_client_metadata_read(v_client, tag(2), NULL); - cq_expect_finished_with_status(v_client, tag(3), GRPC_STATUS_CANCELLED, NULL, - NULL); + cq_expect_finished_with_status(v_client, tag(3), mode.expect_status, + mode.expect_details, NULL); cq_verify(v_client); grpc_call_destroy(c); @@ -142,9 +135,8 @@ static void test_cancel_after_invoke(grpc_end2end_test_config config, void grpc_end2end_tests(grpc_end2end_test_config config) { int i; - canceller cancellers[2] = {grpc_call_cancel, wait_for_deadline}; - for (i = 0; i < GPR_ARRAY_SIZE(cancellers); i++) { - test_cancel_after_invoke(config, cancellers[i]); + for (i = 0; i < GPR_ARRAY_SIZE(cancellation_modes); i++) { + test_cancel_after_invoke(config, cancellation_modes[i]); } } diff --git a/test/core/end2end/tests/cancel_before_invoke.c b/test/core/end2end/tests/cancel_before_invoke.c index d5edcd4ac17..f799cba71d6 100644 --- a/test/core/end2end/tests/cancel_before_invoke.c +++ b/test/core/end2end/tests/cancel_before_invoke.c @@ -44,10 +44,6 @@ #include #include "test/core/end2end/cq_verifier.h" -/* allow cancellation by either grpc_call_cancel, or by wait_for_deadline (which - * does nothing) */ -typedef grpc_call_error (*canceller)(grpc_call *call); - enum { TIMEOUT = 200000 }; static void *tag(gpr_intptr t) { return (void *)t; } diff --git a/test/core/end2end/tests/cancel_in_a_vacuum.c b/test/core/end2end/tests/cancel_in_a_vacuum.c index 0c684acf0a9..e4f9deecd1b 100644 --- a/test/core/end2end/tests/cancel_in_a_vacuum.c +++ b/test/core/end2end/tests/cancel_in_a_vacuum.c @@ -43,14 +43,7 @@ #include #include #include "test/core/end2end/cq_verifier.h" - -/* allow cancellation by either grpc_call_cancel, or by wait_for_deadline (which - * does nothing) */ -typedef grpc_call_error (*canceller)(grpc_call *call); - -static grpc_call_error wait_for_deadline(grpc_call *call) { - return GRPC_CALL_OK; -} +#include "test/core/end2end/tests/cancel_test_helpers.h" enum { TIMEOUT = 200000 }; @@ -110,7 +103,7 @@ static void end_test(grpc_end2end_test_fixture *f) { /* Cancel and do nothing */ static void test_cancel_in_a_vacuum(grpc_end2end_test_config config, - canceller call_cancel) { + cancellation_mode mode) { grpc_call *c; grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL); gpr_timespec deadline = five_seconds_time(); @@ -119,7 +112,7 @@ static void test_cancel_in_a_vacuum(grpc_end2end_test_config config, c = grpc_channel_create_call(f.client, "/foo", "test.google.com", deadline); GPR_ASSERT(c); - GPR_ASSERT(GRPC_CALL_OK == call_cancel(c)); + GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c)); grpc_call_destroy(c); @@ -130,9 +123,8 @@ static void test_cancel_in_a_vacuum(grpc_end2end_test_config config, void grpc_end2end_tests(grpc_end2end_test_config config) { int i; - canceller cancellers[2] = {grpc_call_cancel, wait_for_deadline}; - for (i = 0; i < GPR_ARRAY_SIZE(cancellers); i++) { - test_cancel_in_a_vacuum(config, cancellers[i]); + for (i = 0; i < GPR_ARRAY_SIZE(cancellation_modes); i++) { + test_cancel_in_a_vacuum(config, cancellation_modes[i]); } } diff --git a/test/core/end2end/tests/cancel_test_helpers.h b/test/core/end2end/tests/cancel_test_helpers.h new file mode 100644 index 00000000000..bc6bfa94248 --- /dev/null +++ b/test/core/end2end/tests/cancel_test_helpers.h @@ -0,0 +1,52 @@ +/* + * + * Copyright 2014, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef __GRPC_TEST_END2END_TESTS_CANCEL_TEST_HELPERS_H__ +#define __GRPC_TEST_END2END_TESTS_CANCEL_TEST_HELPERS_H__ + +typedef struct { + grpc_call_error (*initiate_cancel)(grpc_call *call); + grpc_status_code expect_status; + const char *expect_details; +} cancellation_mode; + +static grpc_call_error wait_for_deadline(grpc_call *call) { + return GRPC_CALL_OK; +} + +static const cancellation_mode cancellation_modes[] = { + {grpc_call_cancel, GRPC_STATUS_CANCELLED, NULL}, + {wait_for_deadline, GRPC_STATUS_DEADLINE_EXCEEDED, "Deadline Exceeded"}, +}; + +#endif diff --git a/test/cpp/end2end/end2end_test.cc b/test/cpp/end2end/end2end_test.cc index 3a1da68e47f..4dea77ea811 100644 --- a/test/cpp/end2end/end2end_test.cc +++ b/test/cpp/end2end/end2end_test.cc @@ -210,9 +210,7 @@ TEST_F(End2endTest, RpcDeadlineExpires) { std::chrono::system_clock::now() + std::chrono::microseconds(10); context.set_absolute_deadline(deadline); Status s = stub_->Echo(&context, request, &response); - // TODO(yangg) use correct error code when b/18793983 is fixed. - // EXPECT_EQ(StatusCode::DEADLINE_EXCEEDED, s.code()); - EXPECT_EQ(StatusCode::CANCELLED, s.code()); + EXPECT_EQ(StatusCode::DEADLINE_EXCEEDED, s.code()); } // Set a long but finite deadline. From 4853791a8470ab99bba911965cbc41137b209729 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 09:57:49 -0800 Subject: [PATCH 036/121] Build fix --- test/core/end2end/gen_build_json.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/core/end2end/gen_build_json.py b/test/core/end2end/gen_build_json.py index b91995bc76d..8aedc8eafc8 100755 --- a/test/core/end2end/gen_build_json.py +++ b/test/core/end2end/gen_build_json.py @@ -55,7 +55,8 @@ def main(): 'name': 'end2end_test_%s' % t, 'build': 'private', 'secure': False, - 'src': ['test/core/end2end/tests/%s.c' % t] + 'src': ['test/core/end2end/tests/%s.c' % t], + 'headers': ['test/core/end2end/tests/cancel_test_helpers.h'] } for t in END2END_TESTS] + [ { From c9bbff230ab2be9b42d1cb1b6e1f941892207a74 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 10:18:37 -0800 Subject: [PATCH 037/121] Indent fix --- src/core/surface/call.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/surface/call.c b/src/core/surface/call.c index fd4e590aad5..26bfa02ad1d 100644 --- a/src/core/surface/call.c +++ b/src/core/surface/call.c @@ -901,8 +901,8 @@ static void call_alarm(void *arg, int success) { grpc_call_cancel_with_status(call, GRPC_STATUS_DEADLINE_EXCEEDED, "Deadline Exceeded"); } else { - grpc_call_cancel(call); - } + grpc_call_cancel(call); + } } grpc_call_internal_unref(call); } From 4ffdcd56ce472093ff58d53142230542653616f2 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 11:34:55 -0800 Subject: [PATCH 038/121] Add an optional server shutdown event. Allows servers to expedite shutdown once all in-progress calls are completed. We may want to eventually remove grpc_server_shutdown in preference to this. --- Makefile | 206 +++++++++++++++++- include/grpc/grpc.h | 5 + src/core/surface/completion_queue.c | 7 + src/core/surface/completion_queue.h | 2 + src/core/surface/event_string.c | 3 + src/core/surface/server.c | 25 ++- test/core/end2end/cq_verifier.c | 8 + test/core/end2end/cq_verifier.h | 1 + test/core/end2end/gen_build_json.py | 1 + .../end2end/tests/graceful_server_shutdown.c | 160 ++++++++++++++ 10 files changed, 415 insertions(+), 3 deletions(-) create mode 100644 test/core/end2end/tests/graceful_server_shutdown.c diff --git a/Makefile b/Makefile index 87f6719bd71..9eeae975f11 100644 --- a/Makefile +++ b/Makefile @@ -372,6 +372,7 @@ chttp2_fake_security_census_simple_request_test: bins/$(CONFIG)/chttp2_fake_secu chttp2_fake_security_disappearing_server_test: bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test: bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test chttp2_fake_security_early_server_shutdown_finishes_tags_test: bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test +chttp2_fake_security_graceful_server_shutdown_test: bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test chttp2_fake_security_invoke_large_request_test: bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test chttp2_fake_security_max_concurrent_streams_test: bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test chttp2_fake_security_no_op_test: bins/$(CONFIG)/chttp2_fake_security_no_op_test @@ -393,6 +394,7 @@ chttp2_fullstack_census_simple_request_test: bins/$(CONFIG)/chttp2_fullstack_cen chttp2_fullstack_disappearing_server_test: bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test: bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test chttp2_fullstack_early_server_shutdown_finishes_tags_test: bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test +chttp2_fullstack_graceful_server_shutdown_test: bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test chttp2_fullstack_invoke_large_request_test: bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test chttp2_fullstack_max_concurrent_streams_test: bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test chttp2_fullstack_no_op_test: bins/$(CONFIG)/chttp2_fullstack_no_op_test @@ -414,6 +416,7 @@ chttp2_simple_ssl_fullstack_census_simple_request_test: bins/$(CONFIG)/chttp2_si chttp2_simple_ssl_fullstack_disappearing_server_test: bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test: bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test: bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test +chttp2_simple_ssl_fullstack_graceful_server_shutdown_test: bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test chttp2_simple_ssl_fullstack_invoke_large_request_test: bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test chttp2_simple_ssl_fullstack_max_concurrent_streams_test: bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test chttp2_simple_ssl_fullstack_no_op_test: bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test @@ -435,6 +438,7 @@ chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test: bins/$(CONFI chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test: bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test: bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test: bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test +chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test: bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test: bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test: bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test chttp2_simple_ssl_with_oauth2_fullstack_no_op_test: bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test @@ -456,6 +460,7 @@ chttp2_socket_pair_census_simple_request_test: bins/$(CONFIG)/chttp2_socket_pair chttp2_socket_pair_disappearing_server_test: bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test: bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test chttp2_socket_pair_early_server_shutdown_finishes_tags_test: bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test +chttp2_socket_pair_graceful_server_shutdown_test: bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test chttp2_socket_pair_invoke_large_request_test: bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test chttp2_socket_pair_max_concurrent_streams_test: bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test chttp2_socket_pair_no_op_test: bins/$(CONFIG)/chttp2_socket_pair_no_op_test @@ -477,6 +482,7 @@ chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test: bins/$(CONFIG) chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test: bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test: bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test: bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test +chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test: bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test: bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test: bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test chttp2_socket_pair_one_byte_at_a_time_no_op_test: bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test @@ -524,13 +530,13 @@ shared_cxx: libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) privatelibs: privatelibs_c privatelibs_cxx -privatelibs_c: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a libs/$(CONFIG)/libend2end_test_cancel_after_accept.a libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a libs/$(CONFIG)/libend2end_test_census_simple_request.a libs/$(CONFIG)/libend2end_test_disappearing_server.a libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a libs/$(CONFIG)/libend2end_test_invoke_large_request.a libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a libs/$(CONFIG)/libend2end_test_no_op.a libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_simple_delayed_request.a libs/$(CONFIG)/libend2end_test_simple_request.a libs/$(CONFIG)/libend2end_test_thread_stress.a libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a libs/$(CONFIG)/libend2end_certs.a +privatelibs_c: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a libs/$(CONFIG)/libend2end_test_cancel_after_accept.a libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a libs/$(CONFIG)/libend2end_test_census_simple_request.a libs/$(CONFIG)/libend2end_test_disappearing_server.a libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_test_invoke_large_request.a libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a libs/$(CONFIG)/libend2end_test_no_op.a libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_simple_delayed_request.a libs/$(CONFIG)/libend2end_test_simple_request.a libs/$(CONFIG)/libend2end_test_thread_stress.a libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a libs/$(CONFIG)/libend2end_certs.a privatelibs_cxx: libs/$(CONFIG)/libgrpc++_test_util.a buildtests: buildtests_c buildtests_cxx -buildtests_c: privatelibs_c bins/$(CONFIG)/grpc_byte_buffer_reader_test bins/$(CONFIG)/gpr_cancellable_test bins/$(CONFIG)/gpr_log_test bins/$(CONFIG)/gpr_useful_test bins/$(CONFIG)/gpr_cmdline_test bins/$(CONFIG)/gpr_histogram_test bins/$(CONFIG)/gpr_host_port_test bins/$(CONFIG)/gpr_slice_buffer_test bins/$(CONFIG)/gpr_slice_test bins/$(CONFIG)/gpr_string_test bins/$(CONFIG)/gpr_sync_test bins/$(CONFIG)/gpr_thd_test bins/$(CONFIG)/gpr_time_test bins/$(CONFIG)/murmur_hash_test bins/$(CONFIG)/grpc_stream_op_test bins/$(CONFIG)/alpn_test bins/$(CONFIG)/time_averaged_stats_test bins/$(CONFIG)/chttp2_stream_encoder_test bins/$(CONFIG)/hpack_table_test bins/$(CONFIG)/chttp2_stream_map_test bins/$(CONFIG)/hpack_parser_test bins/$(CONFIG)/transport_metadata_test bins/$(CONFIG)/chttp2_status_conversion_test bins/$(CONFIG)/chttp2_transport_end2end_test bins/$(CONFIG)/tcp_posix_test bins/$(CONFIG)/dualstack_socket_test bins/$(CONFIG)/no_server_test bins/$(CONFIG)/resolve_address_test bins/$(CONFIG)/sockaddr_utils_test bins/$(CONFIG)/tcp_server_posix_test bins/$(CONFIG)/tcp_client_posix_test bins/$(CONFIG)/grpc_channel_stack_test bins/$(CONFIG)/metadata_buffer_test bins/$(CONFIG)/grpc_completion_queue_test bins/$(CONFIG)/census_window_stats_test bins/$(CONFIG)/census_statistics_quick_test bins/$(CONFIG)/census_statistics_small_log_test bins/$(CONFIG)/census_statistics_performance_test bins/$(CONFIG)/census_statistics_multiple_writers_test bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test bins/$(CONFIG)/census_stub_test bins/$(CONFIG)/census_hash_table_test bins/$(CONFIG)/fling_server bins/$(CONFIG)/fling_client bins/$(CONFIG)/fling_test bins/$(CONFIG)/echo_server bins/$(CONFIG)/echo_client bins/$(CONFIG)/echo_test bins/$(CONFIG)/message_compress_test bins/$(CONFIG)/bin_encoder_test bins/$(CONFIG)/secure_endpoint_test bins/$(CONFIG)/httpcli_format_request_test bins/$(CONFIG)/httpcli_parser_test bins/$(CONFIG)/httpcli_test bins/$(CONFIG)/grpc_credentials_test bins/$(CONFIG)/grpc_base64_test bins/$(CONFIG)/grpc_json_token_test bins/$(CONFIG)/timeout_encoding_test bins/$(CONFIG)/fd_posix_test bins/$(CONFIG)/fling_stream_test bins/$(CONFIG)/lame_client_test bins/$(CONFIG)/alarm_test bins/$(CONFIG)/alarm_list_test bins/$(CONFIG)/alarm_heap_test bins/$(CONFIG)/time_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fake_security_census_simple_request_test bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fake_security_no_op_test bins/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test bins/$(CONFIG)/chttp2_fake_security_simple_request_test bins/$(CONFIG)/chttp2_fake_security_thread_stress_test bins/$(CONFIG)/chttp2_fake_security_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fullstack_no_op_test bins/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_no_op_test bins/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test +buildtests_c: privatelibs_c bins/$(CONFIG)/grpc_byte_buffer_reader_test bins/$(CONFIG)/gpr_cancellable_test bins/$(CONFIG)/gpr_log_test bins/$(CONFIG)/gpr_useful_test bins/$(CONFIG)/gpr_cmdline_test bins/$(CONFIG)/gpr_histogram_test bins/$(CONFIG)/gpr_host_port_test bins/$(CONFIG)/gpr_slice_buffer_test bins/$(CONFIG)/gpr_slice_test bins/$(CONFIG)/gpr_string_test bins/$(CONFIG)/gpr_sync_test bins/$(CONFIG)/gpr_thd_test bins/$(CONFIG)/gpr_time_test bins/$(CONFIG)/murmur_hash_test bins/$(CONFIG)/grpc_stream_op_test bins/$(CONFIG)/alpn_test bins/$(CONFIG)/time_averaged_stats_test bins/$(CONFIG)/chttp2_stream_encoder_test bins/$(CONFIG)/hpack_table_test bins/$(CONFIG)/chttp2_stream_map_test bins/$(CONFIG)/hpack_parser_test bins/$(CONFIG)/transport_metadata_test bins/$(CONFIG)/chttp2_status_conversion_test bins/$(CONFIG)/chttp2_transport_end2end_test bins/$(CONFIG)/tcp_posix_test bins/$(CONFIG)/dualstack_socket_test bins/$(CONFIG)/no_server_test bins/$(CONFIG)/resolve_address_test bins/$(CONFIG)/sockaddr_utils_test bins/$(CONFIG)/tcp_server_posix_test bins/$(CONFIG)/tcp_client_posix_test bins/$(CONFIG)/grpc_channel_stack_test bins/$(CONFIG)/metadata_buffer_test bins/$(CONFIG)/grpc_completion_queue_test bins/$(CONFIG)/census_window_stats_test bins/$(CONFIG)/census_statistics_quick_test bins/$(CONFIG)/census_statistics_small_log_test bins/$(CONFIG)/census_statistics_performance_test bins/$(CONFIG)/census_statistics_multiple_writers_test bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test bins/$(CONFIG)/census_stub_test bins/$(CONFIG)/census_hash_table_test bins/$(CONFIG)/fling_server bins/$(CONFIG)/fling_client bins/$(CONFIG)/fling_test bins/$(CONFIG)/echo_server bins/$(CONFIG)/echo_client bins/$(CONFIG)/echo_test bins/$(CONFIG)/message_compress_test bins/$(CONFIG)/bin_encoder_test bins/$(CONFIG)/secure_endpoint_test bins/$(CONFIG)/httpcli_format_request_test bins/$(CONFIG)/httpcli_parser_test bins/$(CONFIG)/httpcli_test bins/$(CONFIG)/grpc_credentials_test bins/$(CONFIG)/grpc_base64_test bins/$(CONFIG)/grpc_json_token_test bins/$(CONFIG)/timeout_encoding_test bins/$(CONFIG)/fd_posix_test bins/$(CONFIG)/fling_stream_test bins/$(CONFIG)/lame_client_test bins/$(CONFIG)/alarm_test bins/$(CONFIG)/alarm_list_test bins/$(CONFIG)/alarm_heap_test bins/$(CONFIG)/time_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fake_security_census_simple_request_test bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fake_security_no_op_test bins/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test bins/$(CONFIG)/chttp2_fake_security_simple_request_test bins/$(CONFIG)/chttp2_fake_security_thread_stress_test bins/$(CONFIG)/chttp2_fake_security_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fullstack_no_op_test bins/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_no_op_test bins/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test buildtests_cxx: privatelibs_cxx bins/$(CONFIG)/thread_pool_test bins/$(CONFIG)/status_test bins/$(CONFIG)/sync_client_async_server_test bins/$(CONFIG)/qps_client bins/$(CONFIG)/qps_server bins/$(CONFIG)/interop_server bins/$(CONFIG)/interop_client bins/$(CONFIG)/end2end_test bins/$(CONFIG)/channel_arguments_test bins/$(CONFIG)/credentials_test @@ -677,6 +683,8 @@ test_c: buildtests_c $(Q) ./bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test || ( echo test chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_fake_security_early_server_shutdown_finishes_tags_test" $(Q) ./bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test || ( echo test chttp2_fake_security_early_server_shutdown_finishes_tags_test failed ; exit 1 ) + $(E) "[RUN] Testing chttp2_fake_security_graceful_server_shutdown_test" + $(Q) ./bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test || ( echo test chttp2_fake_security_graceful_server_shutdown_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_fake_security_invoke_large_request_test" $(Q) ./bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test || ( echo test chttp2_fake_security_invoke_large_request_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_fake_security_max_concurrent_streams_test" @@ -719,6 +727,8 @@ test_c: buildtests_c $(Q) ./bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test || ( echo test chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_fullstack_early_server_shutdown_finishes_tags_test" $(Q) ./bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test || ( echo test chttp2_fullstack_early_server_shutdown_finishes_tags_test failed ; exit 1 ) + $(E) "[RUN] Testing chttp2_fullstack_graceful_server_shutdown_test" + $(Q) ./bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test || ( echo test chttp2_fullstack_graceful_server_shutdown_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_fullstack_invoke_large_request_test" $(Q) ./bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test || ( echo test chttp2_fullstack_invoke_large_request_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_fullstack_max_concurrent_streams_test" @@ -761,6 +771,8 @@ test_c: buildtests_c $(Q) ./bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test || ( echo test chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test" $(Q) ./bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test || ( echo test chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test failed ; exit 1 ) + $(E) "[RUN] Testing chttp2_simple_ssl_fullstack_graceful_server_shutdown_test" + $(Q) ./bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test || ( echo test chttp2_simple_ssl_fullstack_graceful_server_shutdown_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_simple_ssl_fullstack_invoke_large_request_test" $(Q) ./bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test || ( echo test chttp2_simple_ssl_fullstack_invoke_large_request_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_simple_ssl_fullstack_max_concurrent_streams_test" @@ -803,6 +815,8 @@ test_c: buildtests_c $(Q) ./bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test || ( echo test chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test" $(Q) ./bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test || ( echo test chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test failed ; exit 1 ) + $(E) "[RUN] Testing chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test" + $(Q) ./bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test || ( echo test chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test" $(Q) ./bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test || ( echo test chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test" @@ -845,6 +859,8 @@ test_c: buildtests_c $(Q) ./bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test || ( echo test chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_socket_pair_early_server_shutdown_finishes_tags_test" $(Q) ./bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test || ( echo test chttp2_socket_pair_early_server_shutdown_finishes_tags_test failed ; exit 1 ) + $(E) "[RUN] Testing chttp2_socket_pair_graceful_server_shutdown_test" + $(Q) ./bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test || ( echo test chttp2_socket_pair_graceful_server_shutdown_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_socket_pair_invoke_large_request_test" $(Q) ./bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test || ( echo test chttp2_socket_pair_invoke_large_request_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_socket_pair_max_concurrent_streams_test" @@ -887,6 +903,8 @@ test_c: buildtests_c $(Q) ./bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test || ( echo test chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test" $(Q) ./bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test || ( echo test chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test failed ; exit 1 ) + $(E) "[RUN] Testing chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test" + $(Q) ./bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test || ( echo test chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test" $(Q) ./bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test || ( echo test chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test" @@ -2488,6 +2506,28 @@ endif objs/$(CONFIG)/test/core/end2end/tests/early_server_shutdown_finishes_tags.o: +LIBEND2END_TEST_GRACEFUL_SERVER_SHUTDOWN_SRC = \ + test/core/end2end/tests/graceful_server_shutdown.c \ + + +LIBEND2END_TEST_GRACEFUL_SERVER_SHUTDOWN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_TEST_GRACEFUL_SERVER_SHUTDOWN_SRC)))) + +libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a: $(ZLIB_DEP) $(LIBEND2END_TEST_GRACEFUL_SERVER_SHUTDOWN_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBEND2END_TEST_GRACEFUL_SERVER_SHUTDOWN_OBJS) + + + + + +ifneq ($(NO_DEPS),true) +-include $(LIBEND2END_TEST_GRACEFUL_SERVER_SHUTDOWN_OBJS:.o=.dep) +endif + +objs/$(CONFIG)/test/core/end2end/tests/graceful_server_shutdown.o: + + LIBEND2END_TEST_INVOKE_LARGE_REQUEST_SRC = \ test/core/end2end/tests/invoke_large_request.c \ @@ -5452,6 +5492,33 @@ endif endif +CHTTP2_FAKE_SECURITY_GRACEFUL_SERVER_SHUTDOWN_TEST_SRC = \ + +CHTTP2_FAKE_SECURITY_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_GRACEFUL_SERVER_SHUTDOWN_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test: openssl_dep_error + +else + +bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test: $(CHTTP2_FAKE_SECURITY_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS) libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_certs.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_FAKE_SECURITY_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS) libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_certs.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test + +endif + + +deps_chttp2_fake_security_graceful_server_shutdown_test: $(CHTTP2_FAKE_SECURITY_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(CHTTP2_FAKE_SECURITY_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS:.o=.dep) +endif +endif + + CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_SRC)))) @@ -6019,6 +6086,33 @@ endif endif +CHTTP2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_SRC = \ + +CHTTP2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test: openssl_dep_error + +else + +bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test: $(CHTTP2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS) libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_certs.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS) libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_certs.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test + +endif + + +deps_chttp2_fullstack_graceful_server_shutdown_test: $(CHTTP2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(CHTTP2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS:.o=.dep) +endif +endif + + CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) @@ -6586,6 +6680,33 @@ endif endif +CHTTP2_SIMPLE_SSL_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_SRC = \ + +CHTTP2_SIMPLE_SSL_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test: openssl_dep_error + +else + +bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS) libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_certs.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_SIMPLE_SSL_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS) libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_certs.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test + +endif + + +deps_chttp2_simple_ssl_fullstack_graceful_server_shutdown_test: $(CHTTP2_SIMPLE_SSL_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(CHTTP2_SIMPLE_SSL_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS:.o=.dep) +endif +endif + + CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) @@ -7153,6 +7274,33 @@ endif endif +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_SRC = \ + +CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test: openssl_dep_error + +else + +bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS) libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_certs.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS) libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_certs.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test + +endif + + +deps_chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test: $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS:.o=.dep) +endif +endif + + CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_SRC)))) @@ -7720,6 +7868,33 @@ endif endif +CHTTP2_SOCKET_PAIR_GRACEFUL_SERVER_SHUTDOWN_TEST_SRC = \ + +CHTTP2_SOCKET_PAIR_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_GRACEFUL_SERVER_SHUTDOWN_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test: openssl_dep_error + +else + +bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test: $(CHTTP2_SOCKET_PAIR_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS) libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_certs.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_SOCKET_PAIR_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS) libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_certs.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test + +endif + + +deps_chttp2_socket_pair_graceful_server_shutdown_test: $(CHTTP2_SOCKET_PAIR_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(CHTTP2_SOCKET_PAIR_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS:.o=.dep) +endif +endif + + CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_SRC)))) @@ -8287,6 +8462,33 @@ endif endif +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_GRACEFUL_SERVER_SHUTDOWN_TEST_SRC = \ + +CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_GRACEFUL_SERVER_SHUTDOWN_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test: openssl_dep_error + +else + +bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS) libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_certs.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS) libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_certs.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test + +endif + + +deps_chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test: $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS:.o=.dep) +endif +endif + + CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_SRC = \ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_SRC)))) diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h index 40a3d2acb55..3c5b0de1956 100644 --- a/include/grpc/grpc.h +++ b/include/grpc/grpc.h @@ -194,6 +194,7 @@ typedef enum grpc_completion_type { GRPC_FINISHED, /* An RPC has finished. The event contains status. On the server this will be OK or Cancelled. */ GRPC_SERVER_RPC_NEW, /* A new RPC has arrived at the server */ + GRPC_SERVER_SHUTDOWN, /* The server has finished shutting down */ GRPC_COMPLETION_DO_NOT_USE /* must be last, forces users to include a default: case */ } grpc_completion_type; @@ -439,6 +440,10 @@ void grpc_server_start(grpc_server *server); Existing calls will be allowed to complete. */ void grpc_server_shutdown(grpc_server *server); +/* As per grpc_server_shutdown, but send a GRPC_SERVER_SHUTDOWN event when + there are no more calls being serviced. */ +void grpc_server_shutdown_and_notify(grpc_server *server, void *tag); + /* Destroy a server. Forcefully cancels all existing calls. */ void grpc_server_destroy(grpc_server *server); diff --git a/src/core/surface/completion_queue.c b/src/core/surface/completion_queue.c index 0f09933fc05..652f23e8889 100644 --- a/src/core/surface/completion_queue.c +++ b/src/core/surface/completion_queue.c @@ -155,6 +155,13 @@ static void end_op_locked(grpc_completion_queue *cc, } } +void grpc_cq_end_server_shutdown(grpc_completion_queue *cc, void *tag) { + gpr_mu_lock(GRPC_POLLSET_MU(&cc->pollset)); + add_locked(cc, GRPC_SERVER_SHUTDOWN, tag, NULL, NULL, NULL); + end_op_locked(cc, GRPC_SERVER_SHUTDOWN); + gpr_mu_unlock(GRPC_POLLSET_MU(&cc->pollset)); +} + void grpc_cq_end_read(grpc_completion_queue *cc, void *tag, grpc_call *call, grpc_event_finish_func on_finish, void *user_data, grpc_byte_buffer *read) { diff --git a/src/core/surface/completion_queue.h b/src/core/surface/completion_queue.h index 5e457493966..85984075f78 100644 --- a/src/core/surface/completion_queue.h +++ b/src/core/surface/completion_queue.h @@ -97,6 +97,8 @@ void grpc_cq_end_new_rpc(grpc_completion_queue *cc, void *tag, grpc_call *call, gpr_timespec deadline, size_t metadata_count, grpc_metadata *metadata_elements); +void grpc_cq_end_server_shutdown(grpc_completion_queue *cc, void *tag); + /* disable polling for some tests */ void grpc_completion_queue_dont_poll_test_only(grpc_completion_queue *cc); diff --git a/src/core/surface/event_string.c b/src/core/surface/event_string.c index 8bd80495205..8ae2af74726 100644 --- a/src/core/surface/event_string.c +++ b/src/core/surface/event_string.c @@ -63,6 +63,9 @@ char *grpc_event_string(grpc_event *ev) { if (ev == NULL) return gpr_strdup("null"); switch (ev->type) { + case GRPC_SERVER_SHUTDOWN: + p += sprintf(p, "SERVER_SHUTDOWN"); + break; case GRPC_QUEUE_SHUTDOWN: p += sprintf(p, "QUEUE_SHUTDOWN"); break; diff --git a/src/core/surface/server.c b/src/core/surface/server.c index 167bfe97d12..846a00c94f4 100644 --- a/src/core/surface/server.c +++ b/src/core/surface/server.c @@ -81,6 +81,8 @@ struct grpc_server { size_t tag_cap; gpr_uint8 shutdown; + gpr_uint8 have_shutdown_tag; + void *shutdown_tag; call_data *lists[CALL_LIST_COUNT]; channel_data root_channel_data; @@ -375,6 +377,10 @@ static void destroy_call_elem(grpc_call_element *elem) { for (i = 0; i < CALL_LIST_COUNT; i++) { call_list_remove(chand->server, elem->call_data, i); } + if (chand->server->shutdown && chand->server->have_shutdown_tag && + chand->server->lists[ALL_CALLS] == NULL) { + grpc_cq_end_server_shutdown(chand->server->cq, chand->server->shutdown_tag); + } gpr_mu_unlock(&chand->server->mu); server_unref(chand->server); @@ -513,7 +519,8 @@ grpc_transport_setup_result grpc_server_setup_transport( grpc_channel_get_channel_stack(channel), transport); } -void grpc_server_shutdown(grpc_server *server) { +void shutdown_internal(grpc_server *server, gpr_uint8 have_shutdown_tag, + void *shutdown_tag) { listener *l; void **tags; size_t ntags; @@ -551,6 +558,14 @@ void grpc_server_shutdown(grpc_server *server) { server->ntags = 0; server->shutdown = 1; + server->have_shutdown_tag = have_shutdown_tag; + server->shutdown_tag = shutdown_tag; + if (have_shutdown_tag) { + grpc_cq_begin_op(server->cq, NULL, GRPC_SERVER_SHUTDOWN); + if (server->lists[ALL_CALLS] == NULL) { + grpc_cq_end_server_shutdown(server->cq, shutdown_tag); + } + } gpr_mu_unlock(&server->mu); for (i = 0; i < nchannels; i++) { @@ -583,6 +598,14 @@ void grpc_server_shutdown(grpc_server *server) { } } +void grpc_server_shutdown(grpc_server *server) { + shutdown_internal(server, 0, NULL); +} + +void grpc_server_shutdown_and_notify(grpc_server *server, void *tag) { + shutdown_internal(server, 1, tag); +} + void grpc_server_destroy(grpc_server *server) { channel_data *c; gpr_mu_lock(&server->mu); diff --git a/test/core/end2end/cq_verifier.c b/test/core/end2end/cq_verifier.c index e5b7304743f..cfb3bbad7eb 100644 --- a/test/core/end2end/cq_verifier.c +++ b/test/core/end2end/cq_verifier.c @@ -223,6 +223,8 @@ static void verify_matches(expectation *e, grpc_event *ev) { GPR_ASSERT(ev->data.read == NULL); } break; + case GRPC_SERVER_SHUTDOWN: + break; case GRPC_COMPLETION_DO_NOT_USE: gpr_log(GPR_ERROR, "not implemented"); abort(); @@ -295,6 +297,8 @@ static size_t expectation_to_string(char *out, expectation *e) { len = sprintf(out, "GRPC_READ data=%s", str); gpr_free(str); return len; + case GRPC_SERVER_SHUTDOWN: + return sprintf(out, "GRPC_SERVER_SHUTDOWN"); case GRPC_COMPLETION_DO_NOT_USE: case GRPC_QUEUE_SHUTDOWN: gpr_log(GPR_ERROR, "not implemented"); @@ -487,3 +491,7 @@ void cq_expect_finished(cq_verifier *v, void *tag, ...) { finished_internal(v, tag, GRPC_STATUS__DO_NOT_USE, NULL, args); va_end(args); } + +void cq_expect_server_shutdown(cq_verifier *v, void *tag) { + add(v, GRPC_SERVER_SHUTDOWN, tag); +} \ No newline at end of file diff --git a/test/core/end2end/cq_verifier.h b/test/core/end2end/cq_verifier.h index 034aefdd5c4..a1966c14c55 100644 --- a/test/core/end2end/cq_verifier.h +++ b/test/core/end2end/cq_verifier.h @@ -70,5 +70,6 @@ void cq_expect_finished_with_status(cq_verifier *v, void *tag, grpc_status_code status_code, const char *details, ...); void cq_expect_finished(cq_verifier *v, void *tag, ...); +void cq_expect_server_shutdown(cq_verifier *v, void *tag); #endif /* __GRPC_TEST_END2END_CQ_VERIFIER_H__ */ diff --git a/test/core/end2end/gen_build_json.py b/test/core/end2end/gen_build_json.py index b91995bc76d..e8ae5056c36 100755 --- a/test/core/end2end/gen_build_json.py +++ b/test/core/end2end/gen_build_json.py @@ -25,6 +25,7 @@ END2END_TESTS = [ 'disappearing_server', 'early_server_shutdown_finishes_inflight_calls', 'early_server_shutdown_finishes_tags', + 'graceful_server_shutdown', 'invoke_large_request', 'max_concurrent_streams', 'no_op', diff --git a/test/core/end2end/tests/graceful_server_shutdown.c b/test/core/end2end/tests/graceful_server_shutdown.c new file mode 100644 index 00000000000..08153069630 --- /dev/null +++ b/test/core/end2end/tests/graceful_server_shutdown.c @@ -0,0 +1,160 @@ +/* + * + * Copyright 2014, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include "test/core/end2end/end2end_tests.h" + +#include +#include +#include + +#include +#include +#include +#include +#include +#include "test/core/end2end/cq_verifier.h" + +enum { TIMEOUT = 200000 }; + +static void *tag(gpr_intptr t) { return (void *)t; } + +static grpc_end2end_test_fixture begin_test(grpc_end2end_test_config config, + const char *test_name, + grpc_channel_args *client_args, + grpc_channel_args *server_args) { + grpc_end2end_test_fixture f; + gpr_log(GPR_INFO, "%s/%s", test_name, config.name); + f = config.create_fixture(client_args, server_args); + config.init_client(&f, client_args); + config.init_server(&f, server_args); + return f; +} + +static gpr_timespec n_seconds_time(int n) { + return gpr_time_add(gpr_now(), gpr_time_from_micros(GPR_US_PER_SEC * n)); +} + +static gpr_timespec five_seconds_time(void) { return n_seconds_time(5); } + +static void drain_cq(grpc_completion_queue *cq) { + grpc_event *ev; + grpc_completion_type type; + do { + ev = grpc_completion_queue_next(cq, five_seconds_time()); + GPR_ASSERT(ev); + type = ev->type; + grpc_event_finish(ev); + } while (type != GRPC_QUEUE_SHUTDOWN); +} + +static void shutdown_server(grpc_end2end_test_fixture *f) { + if (!f->server) return; + grpc_server_destroy(f->server); + f->server = NULL; +} + +static void shutdown_client(grpc_end2end_test_fixture *f) { + if (!f->client) return; + grpc_channel_destroy(f->client); + f->client = NULL; +} + +static void end_test(grpc_end2end_test_fixture *f) { + shutdown_server(f); + shutdown_client(f); + + grpc_completion_queue_shutdown(f->server_cq); + drain_cq(f->server_cq); + grpc_completion_queue_destroy(f->server_cq); + grpc_completion_queue_shutdown(f->client_cq); + drain_cq(f->client_cq); + grpc_completion_queue_destroy(f->client_cq); +} + +static void test_early_server_shutdown_finishes_inflight_calls( + grpc_end2end_test_config config) { + grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL); + grpc_call *c; + grpc_call *s; + gpr_timespec deadline = five_seconds_time(); + cq_verifier *v_client = cq_verifier_create(f.client_cq); + cq_verifier *v_server = cq_verifier_create(f.server_cq); + + c = grpc_channel_create_call(f.client, "/foo", "test.google.com", deadline); + GPR_ASSERT(c); + + GPR_ASSERT(GRPC_CALL_OK == + grpc_call_start_invoke(c, f.client_cq, tag(1), tag(2), tag(3), 0)); + cq_expect_invoke_accepted(v_client, tag(1), GRPC_OP_OK); + cq_verify(v_client); + + GPR_ASSERT(GRPC_CALL_OK == grpc_call_writes_done(c, tag(4))); + cq_expect_finish_accepted(v_client, tag(4), GRPC_OP_OK); + cq_verify(v_client); + + GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call(f.server, tag(100))); + cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "test.google.com", + deadline, NULL); + cq_verify(v_server); + + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_accept(s, f.server_cq, tag(102))); + GPR_ASSERT(GRPC_CALL_OK == grpc_call_server_end_initial_metadata(s, 0)); + cq_expect_client_metadata_read(v_client, tag(2), NULL); + cq_verify(v_client); + + /* shutdown the server */ + grpc_server_shutdown_and_notify(f.server, tag(0xdead)); + cq_verify_empty(v_server); + + grpc_call_start_write_status(s, GRPC_STATUS_OK, NULL, tag(103)); + grpc_call_destroy(s); + cq_expect_finish_accepted(v_server, tag(103), GRPC_OP_OK); + cq_expect_finished(v_server, tag(102), NULL); + cq_expect_server_shutdown(v_server, tag(0xdead)); + cq_verify(v_server); + + cq_expect_finished_with_status(v_client, tag(3), GRPC_OP_OK, NULL, NULL); + cq_verify(v_client); + + grpc_call_destroy(c); + + cq_verifier_destroy(v_client); + cq_verifier_destroy(v_server); + + end_test(&f); + config.tear_down_data(&f); +} + +void grpc_end2end_tests(grpc_end2end_test_config config) { + test_early_server_shutdown_finishes_inflight_calls(config); +} From f1973b0652bdc34451b4d1f84811763a786178f1 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 12:32:13 -0800 Subject: [PATCH 039/121] Add support for building outside of the Makefile --- tools/run_tests/build_php.sh | 1 + tools/run_tests/run_tests.py | 34 ++++++++++++++++++++++------------ 2 files changed, 23 insertions(+), 12 deletions(-) create mode 100755 tools/run_tests/build_php.sh diff --git a/tools/run_tests/build_php.sh b/tools/run_tests/build_php.sh new file mode 100755 index 00000000000..a9bf588e2f8 --- /dev/null +++ b/tools/run_tests/build_php.sh @@ -0,0 +1 @@ +#!/bin/bash diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index e8c121456a2..978a15b63ae 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -51,9 +51,10 @@ _CONFIGS = { _DEFAULT = ['dbg', 'opt'] -_LANGUAGE_TEST_TARGETS = { - 'c++': 'buildtests_cxx', - 'c': 'buildtests_c', +_LANGUAGE_BUILD_RULE = { + 'c++': ['make', 'buildtests_cxx'], + 'c': ['make', 'buildtests_c'], + 'php': ['tools/run_tests/build_php.sh'] } # parse command line @@ -73,9 +74,9 @@ argp.add_argument('--newline_on_success', action='store_const', const=True) argp.add_argument('-l', '--language', - choices=sorted(_LANGUAGE_TEST_TARGETS.keys()), + choices=sorted(_LANGUAGE_BUILD_RULE.keys()), nargs='+', - default=sorted(_LANGUAGE_TEST_TARGETS.keys())) + default=sorted(_LANGUAGE_BUILD_RULE.keys())) args = argp.parse_args() # grab config @@ -84,7 +85,21 @@ run_configs = set(_CONFIGS[cfg] _CONFIGS.iterkeys() if x == 'all' else [x] for x in args.config)) build_configs = set(cfg.build_config for cfg in run_configs) -make_targets = set(_LANGUAGE_TEST_TARGETS[x] for x in args.language) + +make_targets = set() +build_steps = [] +for language in args.language: + cmd = _LANGUAGE_BUILD_RULE[language] + if cmd[0] == 'make': + make_targets.update(cmd[1:]) + else: + build_steps.append(cmd) +if make_targets: + build_steps = [['make', + '-j', '%d' % (multiprocessing.cpu_count() + 1), + 'CONFIG=%s' % cfg] + list(make_targets) + for cfg in build_configs] + build_steps + filters = args.test_filter runs_per_test = args.runs_per_test forever = args.forever @@ -127,12 +142,7 @@ class TestCache(object): def _build_and_run(check_cancelled, newline_on_success, cache): """Do one pass of building & running tests.""" # build latest, sharing cpu between the various makes - if not jobset.run( - (['make', - '-j', '%d' % (multiprocessing.cpu_count() + 1), - 'CONFIG=%s' % cfg] + list(make_targets) - for cfg in build_configs), - check_cancelled, maxjobs=1): + if not jobset.run(build_steps): return 1 # run all the tests From aac57fde95e19fc1c0062747aca748cc8e5e9980 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 12:54:26 -0800 Subject: [PATCH 040/121] Build php modules from run_tests.py --- src/php/ext/grpc/config.m4 | 12 +++++++++--- tools/run_tests/build_php.sh | 21 +++++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/php/ext/grpc/config.m4 b/src/php/ext/grpc/config.m4 index d7d13f413ea..f8f15ce9681 100755 --- a/src/php/ext/grpc/config.m4 +++ b/src/php/ext/grpc/config.m4 @@ -38,7 +38,13 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_LIBRARY(rt,,GRPC_SHARED_LIBADD) PHP_ADD_LIBRARY(rt) - PHP_ADD_LIBPATH($GRPC_DIR/lib) + if test -e $GRPC_DIR/libs/opt; then + GRPC_LIBDIR=$GRPC_DIR/libs/opt + else + GRPC_LIBDIR=$GRPC_DIR/lib + fi + + PHP_ADD_LIBPATH($GRPC_LIBDIR) PHP_CHECK_LIBRARY(gpr,gpr_now, [ @@ -48,7 +54,7 @@ if test "$PHP_GRPC" != "no"; then ],[ AC_MSG_ERROR([wrong gpr lib version or lib not found]) ],[ - -L$GRPC_DIR/lib + -L$GRPC_LIBDIR ]) PHP_ADD_LIBRARY(event,,GRPC_SHARED_LIBADD) @@ -68,7 +74,7 @@ if test "$PHP_GRPC" != "no"; then ],[ AC_MSG_ERROR([wrong grpc lib version or lib not found]) ],[ - -L$GRPC_DIR/lib + -L$GRPC_LIBDIR ]) PHP_SUBST(GRPC_SHARED_LIBADD) diff --git a/tools/run_tests/build_php.sh b/tools/run_tests/build_php.sh index a9bf588e2f8..996ddce29bc 100755 --- a/tools/run_tests/build_php.sh +++ b/tools/run_tests/build_php.sh @@ -1 +1,22 @@ #!/bin/bash + +set -ex + +# change to grpc repo root +cd $(dirname $0)/../.. + +export GRPC_DIR=`pwd` + +# make the libraries +make -j shared_c + +# build php +cd src/php + +cd ext/grpc +phpize +cd ../.. +ext/grpc/configure +#cd ext/grpc +make + From 559f023c815e0c385874a0eef2fa4b998eafb8aa Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 12:56:41 -0800 Subject: [PATCH 041/121] PHP build products ignored --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index bf57027c942..914cb45d656 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,7 @@ objs # cache for run_tests.py .run_tests_cache + +# phpize output +src/php/ext/grpc/ltmain.sh + From e94373360f3f0d5167b0c893385335736cb84a3f Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 12:59:26 -0800 Subject: [PATCH 042/121] Add shebang --- src/php/bin/run_tests.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/src/php/bin/run_tests.sh b/src/php/bin/run_tests.sh index cf4cc78a52e..d221e666429 100755 --- a/src/php/bin/run_tests.sh +++ b/src/php/bin/run_tests.sh @@ -1,3 +1,4 @@ +#!/bin/sh # Loads the local shared library, and runs all of the test cases in tests/ # against it cd $(dirname $0) From 1c76a7bad8b7ad73da4e9cb9b0c9e2bb621d6a26 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 13:02:14 -0800 Subject: [PATCH 043/121] Build in the correct directory --- tools/run_tests/build_php.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/run_tests/build_php.sh b/tools/run_tests/build_php.sh index 996ddce29bc..ca4f73657b1 100755 --- a/tools/run_tests/build_php.sh +++ b/tools/run_tests/build_php.sh @@ -15,8 +15,7 @@ cd src/php cd ext/grpc phpize -cd ../.. -ext/grpc/configure +./configure #cd ext/grpc make From 1b3a881f8fbf00a7b278cf60cc37b892c751c10a Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 13:02:33 -0800 Subject: [PATCH 044/121] Dont hardcode phpunit director --- src/php/bin/run_tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/php/bin/run_tests.sh b/src/php/bin/run_tests.sh index d221e666429..50175e5b067 100755 --- a/src/php/bin/run_tests.sh +++ b/src/php/bin/run_tests.sh @@ -3,4 +3,4 @@ # against it cd $(dirname $0) php -d extension_dir=../ext/grpc/modules/ -d extension=grpc.so \ - /usr/local/bin/phpunit -v --debug --strict ../tests/unit_tests + phpunit -v --debug --strict ../tests/unit_tests From ff7cdd3badc3517773b8dc13468982ee370d3db7 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 13:04:08 -0800 Subject: [PATCH 045/121] Use local .gitignore --- .gitignore | 3 --- src/php/.gitignore | 5 ++++- 2 files changed, 4 insertions(+), 4 deletions(-) mode change 100755 => 100644 src/php/.gitignore diff --git a/.gitignore b/.gitignore index 914cb45d656..954b3cfcc17 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,3 @@ objs # cache for run_tests.py .run_tests_cache -# phpize output -src/php/ext/grpc/ltmain.sh - diff --git a/src/php/.gitignore b/src/php/.gitignore old mode 100755 new mode 100644 index 00fbd965dc2..0bb5f8e9566 --- a/src/php/.gitignore +++ b/src/php/.gitignore @@ -15,4 +15,7 @@ run-tests.php install-sh libtool missing -mkinstalldirs \ No newline at end of file +mkinstalldirs + +ext/grpc/ltmain.sh + From 62b03e2d9f9930217a289392c2af84dccaf46927 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 13:19:16 -0800 Subject: [PATCH 046/121] Sym-link in system extensions --- src/php/bin/run_tests.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/php/bin/run_tests.sh b/src/php/bin/run_tests.sh index 50175e5b067..c334ad90915 100755 --- a/src/php/bin/run_tests.sh +++ b/src/php/bin/run_tests.sh @@ -1,6 +1,17 @@ #!/bin/sh # Loads the local shared library, and runs all of the test cases in tests/ # against it +set -ex cd $(dirname $0) -php -d extension_dir=../ext/grpc/modules/ -d extension=grpc.so \ +default_extension_dir=`php -i | grep extension_dir | sed 's/.*=> //g'` + +# sym-link in system supplied extensions +for f in $default_extension_dir/*.so +do + ln -s $f ../ext/grpc/modules/$(basename $f) || true +done + +php \ + -d extension_dir=../ext/grpc/modules/ \ + -d extension=grpc.so \ phpunit -v --debug --strict ../tests/unit_tests From eb65ac997413eab7edc3281a1b92034629bfb4ea Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 13:23:07 -0800 Subject: [PATCH 047/121] Remove libevent references --- src/php/ext/grpc/config.m4 | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/php/ext/grpc/config.m4 b/src/php/ext/grpc/config.m4 index f8f15ce9681..7652ca74aa7 100755 --- a/src/php/ext/grpc/config.m4 +++ b/src/php/ext/grpc/config.m4 @@ -57,15 +57,6 @@ if test "$PHP_GRPC" != "no"; then -L$GRPC_LIBDIR ]) - PHP_ADD_LIBRARY(event,,GRPC_SHARED_LIBADD) - PHP_ADD_LIBRARY(event) - - PHP_ADD_LIBRARY(event_pthreads,,GRPC_SHARED_LIBADD) - PHP_ADD_LIBRARY(event_pthreads) - - PHP_ADD_LIBRARY(event_core,,GRPC_SHARED_LIBADD) - PHP_ADD_LIBRARY(event_core) - PHP_CHECK_LIBRARY(grpc,grpc_channel_destroy, [ PHP_ADD_LIBRARY(grpc,,GRPC_SHARED_LIBADD) From e3ccd8f79dc2201fabfeb545de47c53f95248f14 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 13:30:07 -0800 Subject: [PATCH 048/121] Build static for php --- tools/run_tests/build_php.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/run_tests/build_php.sh b/tools/run_tests/build_php.sh index ca4f73657b1..af81daf44f3 100755 --- a/tools/run_tests/build_php.sh +++ b/tools/run_tests/build_php.sh @@ -8,7 +8,7 @@ cd $(dirname $0)/../.. export GRPC_DIR=`pwd` # make the libraries -make -j shared_c +make -j static_c # build php cd src/php From 6c57f6b1cfc10d9ba9ba15bb3e8099a240a5dbfa Mon Sep 17 00:00:00 2001 From: Tim Emiola Date: Fri, 16 Jan 2015 13:49:40 -0800 Subject: [PATCH 049/121] Fixes a regression in the style pull request --- src/ruby/grpc.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ruby/grpc.gemspec b/src/ruby/grpc.gemspec index ad4e274b7e8..8d7f44f30e2 100755 --- a/src/ruby/grpc.gemspec +++ b/src/ruby/grpc.gemspec @@ -21,7 +21,7 @@ Gem::Specification.new do |s| s.add_dependency 'xray' s.add_dependency 'logging', '~> 1.8' - s.add_dependency 'google-protobuf', '~> 3.0.0alpha' + s.add_dependency 'google-protobuf', '~> 3.0.0alpha.1.1' s.add_dependency 'minitest', '~> 5.4' # reqd for interop tests s.add_development_dependency 'bundler', '~> 1.7' From 047b72706da48922d3b2b8cc5b1e2376ac9d051e Mon Sep 17 00:00:00 2001 From: Nicolas Noble Date: Fri, 16 Jan 2015 13:55:05 -0800 Subject: [PATCH 050/121] Adding a few more comments in the Makefile template, to explain some of its more obscure features. --- Makefile | 450 ++++++++++++++++++++++++++++++++++++ templates/Makefile.template | 31 +++ 2 files changed, 481 insertions(+) diff --git a/Makefile b/Makefile index 87f6719bd71..da884259394 100644 --- a/Makefile +++ b/Makefile @@ -76,6 +76,7 @@ CPPFLAGS_gcov = -O0 -fprofile-arcs -ftest-coverage LDFLAGS_gcov = -fprofile-arcs -ftest-coverage DEFINES_gcov = NDEBUG + # General settings. # You may want to change these depending on your system. @@ -96,6 +97,12 @@ ifndef VALID_CONFIG_$(CONFIG) $(error Invalid CONFIG value '$(CONFIG)') endif + +# The HOST compiler settings are used to compile the protoc plugins. +# In most cases, you won't have to change anything, but if you are +# cross-compiling, you can override these variables from GNU make's +# command line: make CC=cross-gcc HOST_CC=gcc + HOST_CC = $(CC) HOST_CXX = $(CXX) HOST_LD = $(LD) @@ -944,6 +951,11 @@ strip-static: strip-static_c strip-static_cxx strip-shared: strip-shared_c strip-shared_cxx + +# TODO(nnoble): the strip target is stripping in-place, instead +# of copying files in a temporary folder. +# This prevents proper debugging after running make install. + strip-static_c: static_c $(E) "[STRIP] Stripping libgpr.a" $(Q) $(STRIP) libs/$(CONFIG)/libgpr.a @@ -1339,6 +1351,8 @@ LIBGRPC_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/libgrpc.a: openssl_dep_error ifeq ($(SYSTEM),MINGW32) @@ -1785,6 +1799,8 @@ LIBGPR_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/libgpr_test_util.a: openssl_dep_error @@ -1833,6 +1849,8 @@ LIBGRPC_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/libgrpc_test_util.a: openssl_dep_error @@ -1931,6 +1949,8 @@ LIBGRPC++_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGR ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/libgrpc++.a: openssl_dep_error ifeq ($(SYSTEM),MINGW32) @@ -2031,6 +2051,8 @@ LIBGRPC++_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basena ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/libgrpc++_test_util.a: openssl_dep_error @@ -2076,6 +2098,8 @@ LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS = $(addprefix objs/$(CONFIG)/, $(ad ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a: openssl_dep_error @@ -2113,6 +2137,8 @@ LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuf ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a: openssl_dep_error @@ -2150,6 +2176,8 @@ LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_OBJS = $(addprefix objs/$(CONFIG) ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a: openssl_dep_error @@ -2187,6 +2215,8 @@ LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_OBJS = $(addprefix ob ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a: openssl_dep_error @@ -2224,6 +2254,8 @@ LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_OBJS = $(addprefix objs/$(CONFIG)/, $(adds ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a: openssl_dep_error @@ -2261,6 +2293,8 @@ LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_OBJS = $(addprefix objs ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a: openssl_dep_error @@ -2763,6 +2797,8 @@ LIBEND2END_CERTS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/libend2end_certs.a: openssl_dep_error @@ -2809,6 +2845,8 @@ GEN_HPACK_TABLES_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gen_hpack_tables: openssl_dep_error else @@ -2880,6 +2918,8 @@ GRPC_BYTE_BUFFER_READER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/grpc_byte_buffer_reader_test: openssl_dep_error else @@ -2909,6 +2949,8 @@ GPR_CANCELLABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basen ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gpr_cancellable_test: openssl_dep_error else @@ -2938,6 +2980,8 @@ GPR_LOG_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GP ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gpr_log_test: openssl_dep_error else @@ -2967,6 +3011,8 @@ GPR_USEFUL_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gpr_useful_test: openssl_dep_error else @@ -2996,6 +3042,8 @@ GPR_CMDLINE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gpr_cmdline_test: openssl_dep_error else @@ -3025,6 +3073,8 @@ GPR_HISTOGRAM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basenam ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gpr_histogram_test: openssl_dep_error else @@ -3054,6 +3104,8 @@ GPR_HOST_PORT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basenam ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gpr_host_port_test: openssl_dep_error else @@ -3083,6 +3135,8 @@ GPR_SLICE_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(base ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gpr_slice_buffer_test: openssl_dep_error else @@ -3112,6 +3166,8 @@ GPR_SLICE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gpr_slice_test: openssl_dep_error else @@ -3141,6 +3197,8 @@ GPR_STRING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gpr_string_test: openssl_dep_error else @@ -3170,6 +3228,8 @@ GPR_SYNC_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(G ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gpr_sync_test: openssl_dep_error else @@ -3199,6 +3259,8 @@ GPR_THD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GP ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gpr_thd_test: openssl_dep_error else @@ -3228,6 +3290,8 @@ GPR_TIME_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(G ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/gpr_time_test: openssl_dep_error else @@ -3257,6 +3321,8 @@ MURMUR_HASH_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/murmur_hash_test: openssl_dep_error else @@ -3286,6 +3352,8 @@ GRPC_STREAM_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basena ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/grpc_stream_op_test: openssl_dep_error else @@ -3315,6 +3383,8 @@ ALPN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALPN_ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/alpn_test: openssl_dep_error else @@ -3344,6 +3414,8 @@ TIME_AVERAGED_STATS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(b ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/time_averaged_stats_test: openssl_dep_error else @@ -3373,6 +3445,8 @@ CHTTP2_STREAM_ENCODER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_stream_encoder_test: openssl_dep_error else @@ -3402,6 +3476,8 @@ HPACK_TABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/hpack_table_test: openssl_dep_error else @@ -3431,6 +3507,8 @@ CHTTP2_STREAM_MAP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(bas ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_stream_map_test: openssl_dep_error else @@ -3460,6 +3538,8 @@ HPACK_PARSER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/hpack_parser_test: openssl_dep_error else @@ -3489,6 +3569,8 @@ TRANSPORT_METADATA_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(ba ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/transport_metadata_test: openssl_dep_error else @@ -3518,6 +3600,8 @@ CHTTP2_STATUS_CONVERSION_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_status_conversion_test: openssl_dep_error else @@ -3547,6 +3631,8 @@ CHTTP2_TRANSPORT_END2END_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_transport_end2end_test: openssl_dep_error else @@ -3576,6 +3662,8 @@ TCP_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/tcp_posix_test: openssl_dep_error else @@ -3605,6 +3693,8 @@ DUALSTACK_SOCKET_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(base ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/dualstack_socket_test: openssl_dep_error else @@ -3634,6 +3724,8 @@ NO_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/no_server_test: openssl_dep_error else @@ -3663,6 +3755,8 @@ RESOLVE_ADDRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basen ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/resolve_address_test: openssl_dep_error else @@ -3692,6 +3786,8 @@ SOCKADDR_UTILS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basena ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/sockaddr_utils_test: openssl_dep_error else @@ -3721,6 +3817,8 @@ TCP_SERVER_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(base ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/tcp_server_posix_test: openssl_dep_error else @@ -3750,6 +3848,8 @@ TCP_CLIENT_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(base ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/tcp_client_posix_test: openssl_dep_error else @@ -3779,6 +3879,8 @@ GRPC_CHANNEL_STACK_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(ba ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/grpc_channel_stack_test: openssl_dep_error else @@ -3808,6 +3910,8 @@ METADATA_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basen ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/metadata_buffer_test: openssl_dep_error else @@ -3837,6 +3941,8 @@ GRPC_COMPLETION_QUEUE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/grpc_completion_queue_test: openssl_dep_error else @@ -3866,6 +3972,8 @@ GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/grpc_completion_queue_benchmark: openssl_dep_error else @@ -3895,6 +4003,8 @@ CENSUS_TRACE_STORE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(ba ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/census_trace_store_test: openssl_dep_error else @@ -3924,6 +4034,8 @@ CENSUS_STATS_STORE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(ba ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/census_stats_store_test: openssl_dep_error else @@ -3953,6 +4065,8 @@ CENSUS_WINDOW_STATS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(b ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/census_window_stats_test: openssl_dep_error else @@ -3982,6 +4096,8 @@ CENSUS_STATISTICS_QUICK_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/census_statistics_quick_test: openssl_dep_error else @@ -4011,6 +4127,8 @@ CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/census_statistics_small_log_test: openssl_dep_error else @@ -4040,6 +4158,8 @@ CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuff ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/census_statistics_performance_test: openssl_dep_error else @@ -4069,6 +4189,8 @@ CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(ad ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/census_statistics_multiple_writers_test: openssl_dep_error else @@ -4098,6 +4220,8 @@ CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS = $(addprefix objs/ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test: openssl_dep_error else @@ -4127,6 +4251,8 @@ CENSUS_STUB_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/census_stub_test: openssl_dep_error else @@ -4156,6 +4282,8 @@ CENSUS_HASH_TABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(bas ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/census_hash_table_test: openssl_dep_error else @@ -4185,6 +4313,8 @@ FLING_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FL ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/fling_server: openssl_dep_error else @@ -4214,6 +4344,8 @@ FLING_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FL ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/fling_client: openssl_dep_error else @@ -4243,6 +4375,8 @@ FLING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLIN ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/fling_test: openssl_dep_error else @@ -4272,6 +4406,8 @@ ECHO_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECH ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/echo_server: openssl_dep_error else @@ -4301,6 +4437,8 @@ ECHO_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECH ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/echo_client: openssl_dep_error else @@ -4330,6 +4468,8 @@ ECHO_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/echo_test: openssl_dep_error else @@ -4359,6 +4499,8 @@ LOW_LEVEL_PING_PONG_BENCHMARK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/low_level_ping_pong_benchmark: openssl_dep_error else @@ -4388,6 +4530,8 @@ MESSAGE_COMPRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(base ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/message_compress_test: openssl_dep_error else @@ -4417,6 +4561,8 @@ BIN_ENCODER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/bin_encoder_test: openssl_dep_error else @@ -4446,6 +4592,8 @@ SECURE_ENDPOINT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basen ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/secure_endpoint_test: openssl_dep_error else @@ -4475,6 +4623,8 @@ HTTPCLI_FORMAT_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/httpcli_format_request_test: openssl_dep_error else @@ -4504,6 +4654,8 @@ HTTPCLI_PARSER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basena ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/httpcli_parser_test: openssl_dep_error else @@ -4533,6 +4685,8 @@ HTTPCLI_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HT ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/httpcli_test: openssl_dep_error else @@ -4562,6 +4716,8 @@ GRPC_CREDENTIALS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(base ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/grpc_credentials_test: openssl_dep_error else @@ -4591,6 +4747,8 @@ GRPC_FETCH_OAUTH2_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/grpc_fetch_oauth2: openssl_dep_error else @@ -4620,6 +4778,8 @@ GRPC_BASE64_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/grpc_base64_test: openssl_dep_error else @@ -4649,6 +4809,8 @@ GRPC_JSON_TOKEN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basen ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/grpc_json_token_test: openssl_dep_error else @@ -4678,6 +4840,8 @@ TIMEOUT_ENCODING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(base ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/timeout_encoding_test: openssl_dep_error else @@ -4707,6 +4871,8 @@ FD_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(F ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/fd_posix_test: openssl_dep_error else @@ -4736,6 +4902,8 @@ FLING_STREAM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/fling_stream_test: openssl_dep_error else @@ -4765,6 +4933,8 @@ LAME_CLIENT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/lame_client_test: openssl_dep_error else @@ -4794,6 +4964,8 @@ THREAD_POOL_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/thread_pool_test: openssl_dep_error else @@ -4823,6 +4995,8 @@ STATUS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(STA ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/status_test: openssl_dep_error else @@ -4852,6 +5026,8 @@ SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/sync_client_async_server_test: openssl_dep_error else @@ -4882,6 +5058,8 @@ QPS_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/qps_client: openssl_dep_error else @@ -4913,6 +5091,8 @@ QPS_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/qps_server: openssl_dep_error else @@ -4946,6 +5126,8 @@ INTEROP_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/interop_server: openssl_dep_error else @@ -4981,6 +5163,8 @@ INTEROP_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/interop_client: openssl_dep_error else @@ -5013,6 +5197,8 @@ END2END_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(EN ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/end2end_test: openssl_dep_error else @@ -5042,6 +5228,8 @@ CHANNEL_ARGUMENTS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(bas ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/channel_arguments_test: openssl_dep_error else @@ -5071,6 +5259,8 @@ CREDENTIALS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/credentials_test: openssl_dep_error else @@ -5100,6 +5290,8 @@ ALARM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALAR ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/alarm_test: openssl_dep_error else @@ -5129,6 +5321,8 @@ ALARM_LIST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/alarm_list_test: openssl_dep_error else @@ -5158,6 +5352,8 @@ ALARM_HEAP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/alarm_heap_test: openssl_dep_error else @@ -5187,6 +5383,8 @@ TIME_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIME_ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/time_test: openssl_dep_error else @@ -5215,6 +5413,8 @@ CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test: openssl_dep_error else @@ -5242,6 +5442,8 @@ CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addpref ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test: openssl_dep_error else @@ -5269,6 +5471,8 @@ CHTTP2_FAKE_SECURITY_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test: openssl_dep_error else @@ -5296,6 +5500,8 @@ CHTTP2_FAKE_SECURITY_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG) ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test: openssl_dep_error else @@ -5323,6 +5529,8 @@ CHTTP2_FAKE_SECURITY_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test: openssl_dep_error else @@ -5350,6 +5558,8 @@ CHTTP2_FAKE_SECURITY_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_census_simple_request_test: openssl_dep_error else @@ -5377,6 +5587,8 @@ CHTTP2_FAKE_SECURITY_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test: openssl_dep_error else @@ -5404,6 +5616,8 @@ CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test: openssl_dep_error else @@ -5431,6 +5645,8 @@ CHTTP2_FAKE_SECURITY_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test: openssl_dep_error else @@ -5458,6 +5674,8 @@ CHTTP2_FAKE_SECURITY_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG) ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test: openssl_dep_error else @@ -5485,6 +5703,8 @@ CHTTP2_FAKE_SECURITY_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFI ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test: openssl_dep_error else @@ -5512,6 +5732,8 @@ CHTTP2_FAKE_SECURITY_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_no_op_test: openssl_dep_error else @@ -5539,6 +5761,8 @@ CHTTP2_FAKE_SECURITY_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test: openssl_dep_error else @@ -5566,6 +5790,8 @@ CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test: openssl_dep_error else @@ -5593,6 +5819,8 @@ CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(ad ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test: openssl_dep_error else @@ -5620,6 +5848,8 @@ CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test: openssl_dep_error else @@ -5647,6 +5877,8 @@ CHTTP2_FAKE_SECURITY_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OB ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test: openssl_dep_error else @@ -5674,6 +5906,8 @@ CHTTP2_FAKE_SECURITY_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFI ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test: openssl_dep_error else @@ -5701,6 +5935,8 @@ CHTTP2_FAKE_SECURITY_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(a ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_simple_request_test: openssl_dep_error else @@ -5728,6 +5964,8 @@ CHTTP2_FAKE_SECURITY_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(ad ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_thread_stress_test: openssl_dep_error else @@ -5755,6 +5993,8 @@ CHTTP2_FAKE_SECURITY_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_writes_done_hangs_with_pending_read_test: openssl_dep_error else @@ -5782,6 +6022,8 @@ CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test: openssl_dep_error else @@ -5809,6 +6051,8 @@ CHTTP2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix o ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test: openssl_dep_error else @@ -5836,6 +6080,8 @@ CHTTP2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test: openssl_dep_error else @@ -5863,6 +6109,8 @@ CHTTP2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test: openssl_dep_error else @@ -5890,6 +6138,8 @@ CHTTP2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(a ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test: openssl_dep_error else @@ -5917,6 +6167,8 @@ CHTTP2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_census_simple_request_test: openssl_dep_error else @@ -5944,6 +6196,8 @@ CHTTP2_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test: openssl_dep_error else @@ -5971,6 +6225,8 @@ CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(add ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test: openssl_dep_error else @@ -5998,6 +6254,8 @@ CHTTP2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix obj ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test: openssl_dep_error else @@ -6025,6 +6283,8 @@ CHTTP2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test: openssl_dep_error else @@ -6052,6 +6312,8 @@ CHTTP2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test: openssl_dep_error else @@ -6079,6 +6341,8 @@ CHTTP2_FULLSTACK_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_no_op_test: openssl_dep_error else @@ -6106,6 +6370,8 @@ CHTTP2_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test: openssl_dep_error else @@ -6133,6 +6399,8 @@ CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = $ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test: openssl_dep_error else @@ -6160,6 +6428,8 @@ CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addpre ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test: openssl_dep_error else @@ -6187,6 +6457,8 @@ CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$(CO ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test: openssl_dep_error else @@ -6214,6 +6486,8 @@ CHTTP2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS = ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test: openssl_dep_error else @@ -6241,6 +6515,8 @@ CHTTP2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test: openssl_dep_error else @@ -6268,6 +6544,8 @@ CHTTP2_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsu ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_simple_request_test: openssl_dep_error else @@ -6295,6 +6573,8 @@ CHTTP2_FULLSTACK_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuf ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_thread_stress_test: openssl_dep_error else @@ -6322,6 +6602,8 @@ CHTTP2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix obj ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_writes_done_hangs_with_pending_read_test: openssl_dep_error else @@ -6349,6 +6631,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(C ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test: openssl_dep_error else @@ -6376,6 +6660,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test: openssl_dep_error else @@ -6403,6 +6689,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(C ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test: openssl_dep_error else @@ -6430,6 +6718,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test: openssl_dep_error else @@ -6457,6 +6747,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CO ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test: openssl_dep_error else @@ -6484,6 +6776,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test: openssl_dep_error else @@ -6511,6 +6805,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(C ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test: openssl_dep_error else @@ -6538,6 +6834,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_O ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test: openssl_dep_error else @@ -6565,6 +6863,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(ad ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test: openssl_dep_error else @@ -6592,6 +6892,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test: openssl_dep_error else @@ -6619,6 +6921,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test: openssl_dep_error else @@ -6646,6 +6950,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(add ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test: openssl_dep_error else @@ -6673,6 +6979,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(C ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test: openssl_dep_error else @@ -6700,6 +7008,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TE ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test: openssl_dep_error else @@ -6727,6 +7037,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test: openssl_dep_error else @@ -6754,6 +7066,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefi ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test: openssl_dep_error else @@ -6781,6 +7095,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test: openssl_dep_error else @@ -6808,6 +7124,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test: openssl_dep_error else @@ -6835,6 +7153,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test: openssl_dep_error else @@ -6862,6 +7182,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG) ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_thread_stress_test: openssl_dep_error else @@ -6889,6 +7211,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(ad ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test: openssl_dep_error else @@ -6916,6 +7240,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addpre ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test: openssl_dep_error else @@ -6943,6 +7269,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TE ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test: openssl_dep_error else @@ -6970,6 +7298,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addpre ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test: openssl_dep_error else @@ -6997,6 +7327,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addpr ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test: openssl_dep_error else @@ -7024,6 +7356,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addpref ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test: openssl_dep_error else @@ -7051,6 +7385,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addp ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test: openssl_dep_error else @@ -7078,6 +7414,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_DISAPPEARING_SERVER_TEST_OBJS = $(addpre ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test: openssl_dep_error else @@ -7105,6 +7443,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test: openssl_dep_error else @@ -7132,6 +7472,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test: openssl_dep_error else @@ -7159,6 +7501,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addpr ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test: openssl_dep_error else @@ -7186,6 +7530,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(add ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test: openssl_dep_error else @@ -7213,6 +7559,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_NO_OP_TEST_OBJS = $(addprefix objs/$(CON ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test: openssl_dep_error else @@ -7240,6 +7588,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_PING_PONG_STREAMING_TEST_OBJS = $(addpre ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test: openssl_dep_error else @@ -7267,6 +7617,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_BINARY_METADATA_AN ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test: openssl_dep_error else @@ -7294,6 +7646,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLO ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test: openssl_dep_error else @@ -7321,6 +7675,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test: openssl_dep_error else @@ -7348,6 +7704,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_REQUEST_RESPONSE_WITH_TRAILING_METADATA_ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test: openssl_dep_error else @@ -7375,6 +7733,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(add ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test: openssl_dep_error else @@ -7402,6 +7762,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_SIMPLE_REQUEST_TEST_OBJS = $(addprefix o ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test: openssl_dep_error else @@ -7429,6 +7791,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_THREAD_STRESS_TEST_OBJS = $(addprefix ob ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test: openssl_dep_error else @@ -7456,6 +7820,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test: openssl_dep_error else @@ -7483,6 +7849,8 @@ CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test: openssl_dep_error else @@ -7510,6 +7878,8 @@ CHTTP2_SOCKET_PAIR_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST_OBJS = $(addprefix ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test: openssl_dep_error else @@ -7537,6 +7907,8 @@ CHTTP2_SOCKET_PAIR_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test: openssl_dep_error else @@ -7564,6 +7936,8 @@ CHTTP2_SOCKET_PAIR_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test: openssl_dep_error else @@ -7591,6 +7965,8 @@ CHTTP2_SOCKET_PAIR_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test: openssl_dep_error else @@ -7618,6 +7994,8 @@ CHTTP2_SOCKET_PAIR_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_census_simple_request_test: openssl_dep_error else @@ -7645,6 +8023,8 @@ CHTTP2_SOCKET_PAIR_DISAPPEARING_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test: openssl_dep_error else @@ -7672,6 +8052,8 @@ CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_TEST_OBJS = $(a ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test: openssl_dep_error else @@ -7699,6 +8081,8 @@ CHTTP2_SOCKET_PAIR_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_OBJS = $(addprefix o ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test: openssl_dep_error else @@ -7726,6 +8110,8 @@ CHTTP2_SOCKET_PAIR_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test: openssl_dep_error else @@ -7753,6 +8139,8 @@ CHTTP2_SOCKET_PAIR_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addprefix objs/$(CONFIG) ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test: openssl_dep_error else @@ -7780,6 +8168,8 @@ CHTTP2_SOCKET_PAIR_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_no_op_test: openssl_dep_error else @@ -7807,6 +8197,8 @@ CHTTP2_SOCKET_PAIR_PING_PONG_STREAMING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test: openssl_dep_error else @@ -7834,6 +8226,8 @@ CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_TEST_OBJS = ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test: openssl_dep_error else @@ -7861,6 +8255,8 @@ CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_TEST_OBJS = $(addp ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test: openssl_dep_error else @@ -7888,6 +8284,8 @@ CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = $(addprefix objs/$( ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test: openssl_dep_error else @@ -7915,6 +8313,8 @@ CHTTP2_SOCKET_PAIR_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_TEST_OBJS ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test: openssl_dep_error else @@ -7942,6 +8342,8 @@ CHTTP2_SOCKET_PAIR_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG) ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test: openssl_dep_error else @@ -7969,6 +8371,8 @@ CHTTP2_SOCKET_PAIR_SIMPLE_REQUEST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(add ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_simple_request_test: openssl_dep_error else @@ -7996,6 +8400,8 @@ CHTTP2_SOCKET_PAIR_THREAD_STRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(adds ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_thread_stress_test: openssl_dep_error else @@ -8023,6 +8429,8 @@ CHTTP2_SOCKET_PAIR_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_OBJS = $(addprefix o ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_writes_done_hangs_with_pending_read_test: openssl_dep_error else @@ -8050,6 +8458,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefi ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test: openssl_dep_error else @@ -8077,6 +8487,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_TEST ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test: openssl_dep_error else @@ -8104,6 +8516,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_AFTER_INVOKE_TEST_OBJS = $(addprefi ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test: openssl_dep_error else @@ -8131,6 +8545,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_BEFORE_INVOKE_TEST_OBJS = $(addpref ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test: openssl_dep_error else @@ -8158,6 +8574,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CANCEL_IN_A_VACUUM_TEST_OBJS = $(addprefix ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test: openssl_dep_error else @@ -8185,6 +8603,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_CENSUS_SIMPLE_REQUEST_TEST_OBJS = $(addpre ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test: openssl_dep_error else @@ -8212,6 +8632,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_DISAPPEARING_SERVER_TEST_OBJS = $(addprefi ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test: openssl_dep_error else @@ -8239,6 +8661,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CA ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test: openssl_dep_error else @@ -8266,6 +8690,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_TEST_O ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test: openssl_dep_error else @@ -8293,6 +8719,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_INVOKE_LARGE_REQUEST_TEST_OBJS = $(addpref ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test: openssl_dep_error else @@ -8320,6 +8748,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_MAX_CONCURRENT_STREAMS_TEST_OBJS = $(addpr ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test: openssl_dep_error else @@ -8347,6 +8777,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_NO_OP_TEST_OBJS = $(addprefix objs/$(CONFI ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test: openssl_dep_error else @@ -8374,6 +8806,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_PING_PONG_STREAMING_TEST_OBJS = $(addprefi ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test: openssl_dep_error else @@ -8401,6 +8835,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_ ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test: openssl_dep_error else @@ -8428,6 +8864,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test: openssl_dep_error else @@ -8455,6 +8893,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_PAYLOAD_TEST_OBJS = ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test: openssl_dep_error else @@ -8482,6 +8922,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AN ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test: openssl_dep_error else @@ -8509,6 +8951,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_DELAYED_REQUEST_TEST_OBJS = $(addpr ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test: openssl_dep_error else @@ -8536,6 +8980,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_SIMPLE_REQUEST_TEST_OBJS = $(addprefix obj ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test: openssl_dep_error else @@ -8563,6 +9009,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_THREAD_STRESS_TEST_OBJS = $(addprefix objs ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_thread_stress_test: openssl_dep_error else @@ -8590,6 +9038,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_WRITES_DONE_HANGS_WITH_PENDING_READ_TEST_O ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test: openssl_dep_error else diff --git a/templates/Makefile.template b/templates/Makefile.template index 9a49935e49f..0b94aa1073a 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -93,6 +93,7 @@ CPPFLAGS_gcov = -O0 -fprofile-arcs -ftest-coverage LDFLAGS_gcov = -fprofile-arcs -ftest-coverage DEFINES_gcov = NDEBUG + # General settings. # You may want to change these depending on your system. @@ -113,6 +114,12 @@ ifndef VALID_CONFIG_$(CONFIG) $(error Invalid CONFIG value '$(CONFIG)') endif + +# The HOST compiler settings are used to compile the protoc plugins. +# In most cases, you won't have to change anything, but if you are +# cross-compiling, you can override these variables from GNU make's +# command line: make CC=cross-gcc HOST_CC=gcc + HOST_CC = $(CC) HOST_CXX = $(CXX) HOST_LD = $(LD) @@ -449,6 +456,11 @@ strip-static: strip-static_c strip-static_cxx strip-shared: strip-shared_c strip-shared_cxx + +# TODO(nnoble): the strip target is stripping in-place, instead +# of copying files in a temporary folder. +# This prevents proper debugging after running make install. + strip-static_c: static_c % for lib in libs: % if not lib.get("c++", False): @@ -645,9 +657,12 @@ PUBLIC_HEADERS_C += \\ LIB${lib.name.upper()}_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIB${lib.name.upper()}_SRC)))) +## If the library requires OpenSSL with ALPN, let's add some restrictions. % if lib.get('secure', True): ifeq ($(NO_SECURE),true) +# You can't build secure libraries if you don't have OpenSSL with ALPN. + libs/$(CONFIG)/lib${lib.name}.a: openssl_dep_error % if lib.build == "all": @@ -667,6 +682,7 @@ ${src}: $(OPENSSL_DEP) endif libs/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIB${lib.name.upper()}_OBJS) +## The else here corresponds to the if secure earlier. % else: libs/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(LIB${lib.name.upper()}_OBJS) % endif @@ -731,6 +747,8 @@ endif endif % endif +## If the lib was secure, we have to close the Makefile's if that tested +## the presence of an ALPN-capable OpenSSL. % if lib.get('secure', True): endif @@ -772,17 +790,29 @@ ${tgt.name.upper()}_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basena % if tgt.get('secure', True): ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/${tgt.name}: openssl_dep_error else % endif +## +## We're not trying to add a dependency on building zlib and openssl here, +## as it's already done in the libraries. We're assuming that the build +## trickles down, and that a secure target requires a secure version of +## a library. +## +## That simplifies the codegen a bit, but prevents a fully defined Makefile. +## I can live with that. +## bins/$(CONFIG)/${tgt.name}: $(${tgt.name.upper()}_OBJS)\ % for dep in tgt.deps: libs/$(CONFIG)/lib${dep}.a\ % endfor % if tgt.get("c++", False): +## C++ targets specificies. % if tgt.build == 'protoc': $(E) "[HOSTLD] Linking $@" $(Q) mkdir -p `dirname $@` @@ -796,6 +826,7 @@ bins/$(CONFIG)/${tgt.name}: $(${tgt.name.upper()}_OBJS)\ $(GTEST_LIB)\ % endif % else: +## C-only targets specificities. $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` $(Q) $(LD) $(LDFLAGS) $(${tgt.name.upper()}_OBJS)\ From c2e80bfbd0ee80772a4b36e482761e97292e82a4 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 14:04:29 -0800 Subject: [PATCH 051/121] Pickup wherever phpunit is installed --- src/php/bin/run_tests.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/php/bin/run_tests.sh b/src/php/bin/run_tests.sh index c334ad90915..28282c3e37c 100755 --- a/src/php/bin/run_tests.sh +++ b/src/php/bin/run_tests.sh @@ -1,17 +1,17 @@ #!/bin/sh # Loads the local shared library, and runs all of the test cases in tests/ # against it -set -ex +set -e cd $(dirname $0) default_extension_dir=`php -i | grep extension_dir | sed 's/.*=> //g'` # sym-link in system supplied extensions for f in $default_extension_dir/*.so do - ln -s $f ../ext/grpc/modules/$(basename $f) || true + ln -s $f ../ext/grpc/modules/$(basename $f) &> /dev/null || true done php \ -d extension_dir=../ext/grpc/modules/ \ -d extension=grpc.so \ - phpunit -v --debug --strict ../tests/unit_tests + `which phpunit` -v --debug --strict ../tests/unit_tests From fd81e70443a4a185bcc14ab38f52a1aa8b1a2782 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Fri, 16 Jan 2015 14:22:14 -0800 Subject: [PATCH 052/121] Made method names more idiomatically cased for clients and servers --- src/node/common.js | 5 +++++ src/node/examples/math_server.js | 8 ++++---- src/node/package.json | 3 ++- src/node/surface_client.js | 12 ++++++++---- src/node/surface_server.js | 10 +++++++--- src/node/test/math_client_test.js | 8 ++++---- src/node/test/surface_test.js | 6 +++--- 7 files changed, 33 insertions(+), 19 deletions(-) diff --git a/src/node/common.js b/src/node/common.js index 656a4aca953..c9684f0ec48 100644 --- a/src/node/common.js +++ b/src/node/common.js @@ -31,6 +31,8 @@ * */ +var s = require('underscore.string'); + /** * Get a function that deserializes a specific type of protobuf. * @param {function()} cls The constructor of the message type to deserialize @@ -73,6 +75,9 @@ function fullyQualifiedName(value) { return ''; } var name = value.name; + if (value.className === 'Service.RPCMethod') { + name = s(name).capitalize().value(); + } if (value.hasOwnProperty('parent')) { var parent_name = fullyQualifiedName(value.parent); if (parent_name !== '') { diff --git a/src/node/examples/math_server.js b/src/node/examples/math_server.js index 366513dc17d..d649b4fd6d0 100644 --- a/src/node/examples/math_server.js +++ b/src/node/examples/math_server.js @@ -119,10 +119,10 @@ function mathDivMany(stream) { var server = new Server({ 'math.Math' : { - Div: mathDiv, - Fib: mathFib, - Sum: mathSum, - DivMany: mathDivMany + div: mathDiv, + fib: mathFib, + sum: mathSum, + divMany: mathDivMany } }); diff --git a/src/node/package.json b/src/node/package.json index ed93c4ff41e..7051f1c8491 100644 --- a/src/node/package.json +++ b/src/node/package.json @@ -8,8 +8,9 @@ "dependencies": { "bindings": "^1.2.1", "nan": "~1.3.0", + "protobufjs": "murgatroid99/ProtoBuf.js", "underscore": "^1.7.0", - "protobufjs": "murgatroid99/ProtoBuf.js" + "underscore.string": "^3.0.0" }, "devDependencies": { "mocha": "~1.21.0", diff --git a/src/node/surface_client.js b/src/node/surface_client.js index 77dab5ca6f8..996e3d101fc 100644 --- a/src/node/surface_client.js +++ b/src/node/surface_client.js @@ -33,6 +33,9 @@ var _ = require('underscore'); +var capitalize = require('underscore.string/capitalize'); +var decapitalize = require('underscore.string/decapitalize'); + var client = require('./client.js'); var common = require('./common.js'); @@ -352,10 +355,11 @@ function makeClientConstructor(service) { method_type = 'unary'; } } - SurfaceClient.prototype[method.name] = requester_makers[method_type]( - prefix + method.name, - common.serializeCls(method.resolvedRequestType.build()), - common.deserializeCls(method.resolvedResponseType.build())); + SurfaceClient.prototype[decapitalize(method.name)] = + requester_makers[method_type]( + prefix + capitalize(method.name), + common.serializeCls(method.resolvedRequestType.build()), + common.deserializeCls(method.resolvedResponseType.build())); }); SurfaceClient.service = service; diff --git a/src/node/surface_server.js b/src/node/surface_server.js index b6e0c37b4cd..0b19d96b4cb 100644 --- a/src/node/surface_server.js +++ b/src/node/surface_server.js @@ -33,6 +33,9 @@ var _ = require('underscore'); +var capitalize = require('underscore.string/capitalize'); +var decapitalize = require('underscore.string/decapitalize'); + var Server = require('./server.js'); var stream = require('stream'); @@ -332,15 +335,16 @@ function makeServerConstructor(services) { method_type = 'unary'; } } - if (service_handlers[service_name][method.name] === undefined) { + if (service_handlers[service_name][decapitalize(method.name)] === + undefined) { throw new Error('Method handler for ' + common.fullyQualifiedName(method) + ' not provided.'); } var binary_handler = handler_makers[method_type]( - service_handlers[service_name][method.name], + service_handlers[service_name][decapitalize(method.name)], common.serializeCls(method.resolvedResponseType.build()), common.deserializeCls(method.resolvedRequestType.build())); - server.register(prefix + method.name, binary_handler); + server.register(prefix + capitalize(method.name), binary_handler); }); }, this); } diff --git a/src/node/test/math_client_test.js b/src/node/test/math_client_test.js index 45c956d1793..5ddf75a2006 100644 --- a/src/node/test/math_client_test.js +++ b/src/node/test/math_client_test.js @@ -61,7 +61,7 @@ describe('Math client', function() { }); it('should handle a single request', function(done) { var arg = {dividend: 7, divisor: 4}; - var call = math_client.Div(arg, function handleDivResult(err, value) { + var call = math_client.div(arg, function handleDivResult(err, value) { assert.ifError(err); assert.equal(value.quotient, 1); assert.equal(value.remainder, 3); @@ -72,7 +72,7 @@ describe('Math client', function() { }); }); it('should handle a server streaming request', function(done) { - var call = math_client.Fib({limit: 7}); + var call = math_client.fib({limit: 7}); var expected_results = [1, 1, 2, 3, 5, 8, 13]; var next_expected = 0; call.on('data', function checkResponse(value) { @@ -85,7 +85,7 @@ describe('Math client', function() { }); }); it('should handle a client streaming request', function(done) { - var call = math_client.Sum(function handleSumResult(err, value) { + var call = math_client.sum(function handleSumResult(err, value) { assert.ifError(err); assert.equal(value.num, 21); }); @@ -103,7 +103,7 @@ describe('Math client', function() { assert.equal(value.quotient, index); assert.equal(value.remainder, 1); } - var call = math_client.DivMany(); + var call = math_client.divMany(); var response_index = 0; call.on('data', function(value) { checkResponse(response_index, value); diff --git a/src/node/test/surface_test.js b/src/node/test/surface_test.js index 8d0d8ec3bc9..34f1a156eb9 100644 --- a/src/node/test/surface_test.js +++ b/src/node/test/surface_test.js @@ -59,9 +59,9 @@ describe('Surface server constructor', function() { assert.throws(function() { new Server({ 'math.Math': { - 'Div': function() {}, - 'DivMany': function() {}, - 'Fib': function() {} + 'div': function() {}, + 'divMany': function() {}, + 'fib': function() {} } }); }, /math.Math.Sum/); From 53116ffd7a120ce512594758f19f4f8eff78e5c9 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Fri, 16 Jan 2015 14:22:58 -0800 Subject: [PATCH 053/121] Fixed casing functionality in common.js --- src/node/common.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/node/common.js b/src/node/common.js index c9684f0ec48..54247e3fa11 100644 --- a/src/node/common.js +++ b/src/node/common.js @@ -31,7 +31,7 @@ * */ -var s = require('underscore.string'); +var capitalize = require('underscore.string/capitalize'); /** * Get a function that deserializes a specific type of protobuf. @@ -76,7 +76,7 @@ function fullyQualifiedName(value) { } var name = value.name; if (value.className === 'Service.RPCMethod') { - name = s(name).capitalize().value(); + name = capitalize(name); } if (value.hasOwnProperty('parent')) { var parent_name = fullyQualifiedName(value.parent); From c7449166d2256f49abfca2b11591491096ca0b84 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 14:42:10 -0800 Subject: [PATCH 054/121] PHP unit tests run with run_tests.py --- tools/run_tests/run_tests.py | 107 ++++++++++++++++++++++------------- 1 file changed, 67 insertions(+), 40 deletions(-) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 978a15b63ae..d291abf3bf0 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -20,6 +20,7 @@ class SimpleConfig(object): def __init__(self, config): self.build_config = config self.maxjobs = 32 * multiprocessing.cpu_count() + self.allow_hashing = (config != 'gcov') def run_command(self, binary): return [binary] @@ -32,11 +33,43 @@ class ValgrindConfig(object): self.build_config = config self.tool = tool self.maxjobs = 4 * multiprocessing.cpu_count() + self.allow_hashing = False def run_command(self, binary): return ['valgrind', binary, '--tool=%s' % self.tool] +class CLanguage(object): + + def __init__(self, make_target): + self.allow_hashing = True + self.make_target = make_target + + def test_binaries(self, config): + return glob.glob('bins/%s/*_test' % config) + + def make_targets(self): + return ['buildtests_%s' % self.make_target] + + def build_steps(self): + return [] + + +class PhpLanguage(object): + + def __init__(self): + self.allow_hashing = False + + def test_binaries(self, config): + return ['src/php/bin/run_tests.sh'] + + def make_targets(self): + return [] + + def build_steps(self): + return [['tools/run_tests/build_php.sh']] + + # different configurations we can run under _CONFIGS = { 'dbg': SimpleConfig('dbg'), @@ -51,10 +84,10 @@ _CONFIGS = { _DEFAULT = ['dbg', 'opt'] -_LANGUAGE_BUILD_RULE = { - 'c++': ['make', 'buildtests_cxx'], - 'c': ['make', 'buildtests_c'], - 'php': ['tools/run_tests/build_php.sh'] +_LANGUAGES = { + 'c++': CLanguage('cxx'), + 'c': CLanguage('c'), + 'php': PhpLanguage() } # parse command line @@ -63,7 +96,6 @@ argp.add_argument('-c', '--config', choices=['all'] + sorted(_CONFIGS.keys()), nargs='+', default=_DEFAULT) -argp.add_argument('-t', '--test-filter', nargs='*', default=['*']) argp.add_argument('-n', '--runs_per_test', default=1, type=int) argp.add_argument('-f', '--forever', default=False, @@ -74,9 +106,9 @@ argp.add_argument('--newline_on_success', action='store_const', const=True) argp.add_argument('-l', '--language', - choices=sorted(_LANGUAGE_BUILD_RULE.keys()), + choices=sorted(_LANGUAGES.keys()), nargs='+', - default=sorted(_LANGUAGE_BUILD_RULE.keys())) + default=sorted(_LANGUAGES.keys())) args = argp.parse_args() # grab config @@ -86,21 +118,17 @@ run_configs = set(_CONFIGS[cfg] for x in args.config)) build_configs = set(cfg.build_config for cfg in run_configs) -make_targets = set() -build_steps = [] -for language in args.language: - cmd = _LANGUAGE_BUILD_RULE[language] - if cmd[0] == 'make': - make_targets.update(cmd[1:]) - else: - build_steps.append(cmd) -if make_targets: - build_steps = [['make', - '-j', '%d' % (multiprocessing.cpu_count() + 1), - 'CONFIG=%s' % cfg] + list(make_targets) - for cfg in build_configs] + build_steps - -filters = args.test_filter +make_targets = [] +languages = set(_LANGUAGES[l] for l in args.language) +build_steps = [['make', + '-j', '%d' % (multiprocessing.cpu_count() + 1), + 'CONFIG=%s' % cfg] + list(set( + itertools.chain.from_iterable(l.make_targets() + for l in languages))) + for cfg in build_configs] + list( + itertools.chain.from_iterable(l.build_steps() + for l in languages)) + runs_per_test = args.runs_per_test forever = args.forever @@ -146,28 +174,26 @@ def _build_and_run(check_cancelled, newline_on_success, cache): return 1 # run all the tests - if not jobset.run( - itertools.ifilter( - lambda x: x is not None, ( - config.run_command(x) - for config in run_configs - for filt in filters - for x in itertools.chain.from_iterable(itertools.repeat( - glob.glob('bins/%s/%s_test' % ( - config.build_config, filt)), - runs_per_test)))), - check_cancelled, - newline_on_success=newline_on_success, - maxjobs=min(c.maxjobs for c in run_configs), - cache=cache): + one_run = dict( + (' '.join(config.run_command(x)), config.run_command(x)) + for config in run_configs + for language in args.language + for x in _LANGUAGES[language].test_binaries(config.build_config) + ).values() + all_runs = itertools.chain.from_iterable( + itertools.repeat(one_run, runs_per_test)) + if not jobset.run(all_runs, check_cancelled, + newline_on_success=newline_on_success, + maxjobs=min(c.maxjobs for c in run_configs), + cache=cache): return 2 return 0 -test_cache = (None if runs_per_test != 1 - or 'gcov' in build_configs - or 'valgrind' in build_configs +test_cache = (None + if not all(x.allow_hashing + for x in itertools.chain(languages, run_configs)) else TestCache()) if test_cache: test_cache.maybe_load() @@ -187,6 +213,7 @@ if forever: 'All tests are now passing properly', do_newline=True) jobset.message('IDLE', 'No change detected') + if test_cache: test_cache.save() while not have_files_changed(): time.sleep(1) else: @@ -197,5 +224,5 @@ else: jobset.message('SUCCESS', 'All tests passed', do_newline=True) else: jobset.message('FAILED', 'Some tests failed', do_newline=True) - test_cache.save() + if test_cache: test_cache.save() sys.exit(result) From c80530920b3a955f8ff410a2b8d6322602916008 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 14:53:51 -0800 Subject: [PATCH 055/121] Using --enable-grpc configure flag --- tools/run_tests/build_php.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/run_tests/build_php.sh b/tools/run_tests/build_php.sh index af81daf44f3..de899742da2 100755 --- a/tools/run_tests/build_php.sh +++ b/tools/run_tests/build_php.sh @@ -5,7 +5,7 @@ set -ex # change to grpc repo root cd $(dirname $0)/../.. -export GRPC_DIR=`pwd` +root=`pwd` # make the libraries make -j static_c @@ -15,7 +15,6 @@ cd src/php cd ext/grpc phpize -./configure -#cd ext/grpc +./configure --enable-grpc=$root make From bc29d801594989b6cb6093ecff9ad78f31223e63 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 14:55:49 -0800 Subject: [PATCH 056/121] Better GRPC_LIBDIR config --- src/php/ext/grpc/config.m4 | 6 +----- tools/run_tests/build_php.sh | 1 + 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/php/ext/grpc/config.m4 b/src/php/ext/grpc/config.m4 index 7652ca74aa7..27c67781e78 100755 --- a/src/php/ext/grpc/config.m4 +++ b/src/php/ext/grpc/config.m4 @@ -38,11 +38,7 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_LIBRARY(rt,,GRPC_SHARED_LIBADD) PHP_ADD_LIBRARY(rt) - if test -e $GRPC_DIR/libs/opt; then - GRPC_LIBDIR=$GRPC_DIR/libs/opt - else - GRPC_LIBDIR=$GRPC_DIR/lib - fi + GRPC_LIBDIR=$GRPC_DIR/${GRPC_LIB_SUBDIR-lib} PHP_ADD_LIBPATH($GRPC_LIBDIR) diff --git a/tools/run_tests/build_php.sh b/tools/run_tests/build_php.sh index de899742da2..6841656bdb8 100755 --- a/tools/run_tests/build_php.sh +++ b/tools/run_tests/build_php.sh @@ -6,6 +6,7 @@ set -ex cd $(dirname $0)/../.. root=`pwd` +export GRPC_LIB_SUBDIR=libs/opt # make the libraries make -j static_c From 33a0b83af33b3807bc9d30d5b7331a2e7365d3e9 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 15:14:10 -0800 Subject: [PATCH 057/121] clang compile fixes --- test/core/end2end/cq_verifier.c | 3 ++- test/core/end2end/tests/graceful_server_shutdown.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/test/core/end2end/cq_verifier.c b/test/core/end2end/cq_verifier.c index cfb3bbad7eb..60b0bf33035 100644 --- a/test/core/end2end/cq_verifier.c +++ b/test/core/end2end/cq_verifier.c @@ -494,4 +494,5 @@ void cq_expect_finished(cq_verifier *v, void *tag, ...) { void cq_expect_server_shutdown(cq_verifier *v, void *tag) { add(v, GRPC_SERVER_SHUTDOWN, tag); -} \ No newline at end of file +} + diff --git a/test/core/end2end/tests/graceful_server_shutdown.c b/test/core/end2end/tests/graceful_server_shutdown.c index 08153069630..84ad4af1191 100644 --- a/test/core/end2end/tests/graceful_server_shutdown.c +++ b/test/core/end2end/tests/graceful_server_shutdown.c @@ -143,7 +143,7 @@ static void test_early_server_shutdown_finishes_inflight_calls( cq_expect_server_shutdown(v_server, tag(0xdead)); cq_verify(v_server); - cq_expect_finished_with_status(v_client, tag(3), GRPC_OP_OK, NULL, NULL); + cq_expect_finished_with_status(v_client, tag(3), GRPC_STATUS_OK, NULL, NULL); cq_verify(v_client); grpc_call_destroy(c); From 6ae8ef1dd3489b186ee409869ad02e638437116d Mon Sep 17 00:00:00 2001 From: Nicolas Noble Date: Fri, 16 Jan 2015 15:03:42 -0800 Subject: [PATCH 058/121] Substantially rewriting INSTALL instructions. --- INSTALL | 149 +++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 104 insertions(+), 45 deletions(-) diff --git a/INSTALL b/INSTALL index a9b0b58aa6e..98c20f58983 100644 --- a/INSTALL +++ b/INSTALL @@ -1,83 +1,142 @@ -Dependencies -============ +These instructions only cover building grpc C and C++ libraries under +typical unix systems. If you need more information, please try grpc's +wiki pages: -grpc has few external dependencies. If needed, they are present in the -third_party directory, if you have cloned the github repository recursively. -If you didn't clone recursively, you can still get them later by running the -following command: + https://github.com/google/grpc/wiki -$ git submodule update --init -Note that the Makefile makes it much easier for you to compile from sources -if you were to clone recursively our git repository. +************************* +* If you are in a hurry * +************************* +A typical unix installation won't require any more steps than running: -grpc core currently depends on zlib and OpenSSL 1.0.2beta3. + $ make + # make install -grpc++'s tests depends on protobuf 3.0.0, gtests and gflags. +You don't need anything else than GNU Make and gcc. Under a Debian or +Ubuntu system, this should boil down to the following package: -OpenSSL -------- + # apt-get install build-essential -Secure HTTP2 requires to have the TLS extension ALPN (see rfc 7301 and -http://http2.github.io/http2-spec/ section 3.3). Our HTTP2 implementation -relies on OpenSSL's implementation. OpenSSL 1.0.2beta3 is the first version -of OpenSSL that has ALPN support, and this explains our dependency on it. -Note that the Makefile supports compiling only the unsecure elements of grpc, -and if you do not have OpenSSL and do not want it, you can still proceed -with installing only the elements you require. However, it is recommended -to encrypt your network traffic, therefore we urge you to not use the unsecure -version of grpc if possible. +******************************* +* More detailled instructions * +******************************* +Setting up dependencies +======================= -Compiling -========= +Dependencies to compile the libraries +------------------------------------- -If you have all the dependencies in the third_party subfolder, you should -simply be able to go ahead and run "make" to compile grpc. The other targets -that you might find interesting are "buildtests" and "test". +grpc libraries have few external dependencies. If you need to compile and +install them, they are present in the third_party directory if you have +cloned the github repository recursively. If you didn't clone recursively, +you can still get them later by running the following command: -If you didn't clone from git, and thus are unable to get the required -dependencies, you can manually download and unpack the necessary packages, -and let the Makefile build them itself. + $ git submodule update --init -You may also install the dependencies yourself, from the sources, or from -your distribution's package manager. +Note that the Makefile makes it much easier for you to compile from sources +if you were to clone recursively our git repository: it will automatically +compile zlib and OpenSSL, which are core requirements for grpc. Note this +creates grpc libraries that will have zlib and OpenSSL built-in inside of them, +which significantly increases the libraries' size. + +In order to decrease that size, you can manually install zlib and OpenSSL on +your system, so that the Makefile can use them instead. + +Under a Debian or Ubuntu system, one can acquire the development package +for zlib this way: -The only development package needed for grpc is zlib. -The development packages needed for grpc++'s tests are gtests, and gflags. + # apt-get install zlib1g-dev To the best of our knowledge, no distribution has an OpenSSL package that supports ALPN yet, so you would still have to depend on installing from source -for that particular dependency. +for that particular dependency if you want to reduce the libraries' size. The recommended version of OpenSSL that provides ALPN support is available at this URL: https://www.openssl.org/source/openssl-1.0.2-beta3.tar.gz -If you want to let the Makefile build them automatically for you, please -extract them in the third_party folder. You will need to rename the extracted -folder the following way: - openssl-1.0.2-beta3 --> openssl +Dependencies to compile and run the tests +----------------------------------------- + +Compiling and running grpc plain-C tests dont't require any more dependency. + + +Compiling and running grpc C++ tests depend on protobuf 3.0.0, gtest and +gflags. Although gflags and protobuf are provided in third_party, you will +need to manually install these dependencies on your system to run these tests. + +Under a Debian or Ubuntu system, you can install the gtests and gflags packages +using apt-get: + + # apt-get install libgflags-dev libgtest-dev + +However, protobuf 3.0.0 isn't in a debian package yet: you'll need to compile +and install it from the sources in the third_party. Note that if you already +have the protobuf and protoc packages installed on your system, they will most +likely interfere, and you'll need to uninstall them first. + +Compiling and installing protobuf 3.0.0 requires a few more dependencies in +itself, notably the autoconf suite, curl, and unzip. If you have apt-get, you +can install these dependencies this way: + + # apt-get install unzip curl autotools-dev + +Then, you can build and install protobuf 3.0.0: + + $ cd third_party/protobuf + $ ./configure + $ make + # make install + # ldconfig + + +A word on OpenSSL +----------------- + +Secure HTTP2 requires to have the TLS extension ALPN (see rfc 7301 and +http://http2.github.io/http2-spec/ section 3.3). Our HTTP2 implementation +relies on OpenSSL's implementation. OpenSSL 1.0.2beta3 is the first version +of OpenSSL that has ALPN support, and this explains our dependency on it. + +Note that the Makefile supports compiling only the unsecure elements of grpc, +and if you do not have OpenSSL and do not want it, you can still proceed +with installing only the elements you require. However, it is recommended +to encrypt your network traffic, therefore we urge you to not use the unsecure +version of grpc if possible. + + +Compiling +========= + +If you have all the dependencies mentioned above, you should simply be able +to go ahead and run "make" to compile grpc's C and C++ libraries: + + $ make Testing ======= -At the moment, C++ tests aren't fully available yet. If you want to run tests -on the C core of grpc, you can do the following: +To build and run the tests, you can run the command: + + $ make test + +If you want to be able to run them in parallel, and get better output, you can +also use the python tool we have written: -$ make buildtests_c -$ make test_c + $ ./tools/run_tests/run_tests.py Installing ========== -Once everything is compiled, you should be able to install grpc and grpc++ +Once everything is compiled, you should be able to install grpc C and C++ libraries and headers: -$ sudo make install + # make install From 7f3ed1eda19eaf846df93b7c4d1ab1069ab0c130 Mon Sep 17 00:00:00 2001 From: David Klempner Date: Fri, 16 Jan 2015 15:35:56 -0800 Subject: [PATCH 059/121] Factor out the pollset kicking mechanism and eliminate sharding This change pulls out a separate pollset_kick module, which currently uses a freelist of pipes dynamically assigned to pollsets when they enter polling rather than the previous racy sharding mechanism. We ultimately may wish to eliminate the dynamic assignment for multipoll sets, but this should be sufficient for the moment. --- Makefile | 53 +++++- build.json | 16 ++ src/core/iomgr/pollset_kick.h | 68 ++++++++ src/core/iomgr/pollset_kick_posix.c | 161 ++++++++++++++++++ src/core/iomgr/pollset_kick_posix.h | 47 +++++ .../pollset_multipoller_with_poll_posix.c | 9 +- src/core/iomgr/pollset_posix.c | 84 ++------- src/core/iomgr/pollset_posix.h | 3 + test/core/iomgr/poll_kick_test.c | 101 +++++++++++ vsprojects/vs2013/grpc.vcxproj | 4 + vsprojects/vs2013/grpc_unsecure.vcxproj | 4 + 11 files changed, 479 insertions(+), 71 deletions(-) create mode 100644 src/core/iomgr/pollset_kick.h create mode 100644 src/core/iomgr/pollset_kick_posix.c create mode 100644 src/core/iomgr/pollset_kick_posix.h create mode 100644 test/core/iomgr/poll_kick_test.c diff --git a/Makefile b/Makefile index 7668ca8b741..4335a528a27 100644 --- a/Makefile +++ b/Makefile @@ -370,6 +370,7 @@ alarm_test: bins/$(CONFIG)/alarm_test alarm_list_test: bins/$(CONFIG)/alarm_list_test alarm_heap_test: bins/$(CONFIG)/alarm_heap_test time_test: bins/$(CONFIG)/time_test +poll_kick_test: bins/$(CONFIG)/poll_kick_test chttp2_fake_security_cancel_after_accept_test: bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test chttp2_fake_security_cancel_after_accept_and_writes_closed_test: bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test chttp2_fake_security_cancel_after_invoke_test: bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test @@ -543,7 +544,7 @@ privatelibs_cxx: libs/$(CONFIG)/libgrpc++_test_util.a buildtests: buildtests_c buildtests_cxx -buildtests_c: privatelibs_c bins/$(CONFIG)/grpc_byte_buffer_reader_test bins/$(CONFIG)/gpr_cancellable_test bins/$(CONFIG)/gpr_log_test bins/$(CONFIG)/gpr_useful_test bins/$(CONFIG)/gpr_cmdline_test bins/$(CONFIG)/gpr_histogram_test bins/$(CONFIG)/gpr_host_port_test bins/$(CONFIG)/gpr_slice_buffer_test bins/$(CONFIG)/gpr_slice_test bins/$(CONFIG)/gpr_string_test bins/$(CONFIG)/gpr_sync_test bins/$(CONFIG)/gpr_thd_test bins/$(CONFIG)/gpr_time_test bins/$(CONFIG)/murmur_hash_test bins/$(CONFIG)/grpc_stream_op_test bins/$(CONFIG)/alpn_test bins/$(CONFIG)/time_averaged_stats_test bins/$(CONFIG)/chttp2_stream_encoder_test bins/$(CONFIG)/hpack_table_test bins/$(CONFIG)/chttp2_stream_map_test bins/$(CONFIG)/hpack_parser_test bins/$(CONFIG)/transport_metadata_test bins/$(CONFIG)/chttp2_status_conversion_test bins/$(CONFIG)/chttp2_transport_end2end_test bins/$(CONFIG)/tcp_posix_test bins/$(CONFIG)/dualstack_socket_test bins/$(CONFIG)/no_server_test bins/$(CONFIG)/resolve_address_test bins/$(CONFIG)/sockaddr_utils_test bins/$(CONFIG)/tcp_server_posix_test bins/$(CONFIG)/tcp_client_posix_test bins/$(CONFIG)/grpc_channel_stack_test bins/$(CONFIG)/metadata_buffer_test bins/$(CONFIG)/grpc_completion_queue_test bins/$(CONFIG)/census_window_stats_test bins/$(CONFIG)/census_statistics_quick_test bins/$(CONFIG)/census_statistics_small_log_test bins/$(CONFIG)/census_statistics_performance_test bins/$(CONFIG)/census_statistics_multiple_writers_test bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test bins/$(CONFIG)/census_stub_test bins/$(CONFIG)/census_hash_table_test bins/$(CONFIG)/fling_server bins/$(CONFIG)/fling_client bins/$(CONFIG)/fling_test bins/$(CONFIG)/echo_server bins/$(CONFIG)/echo_client bins/$(CONFIG)/echo_test bins/$(CONFIG)/message_compress_test bins/$(CONFIG)/bin_encoder_test bins/$(CONFIG)/secure_endpoint_test bins/$(CONFIG)/httpcli_format_request_test bins/$(CONFIG)/httpcli_parser_test bins/$(CONFIG)/httpcli_test bins/$(CONFIG)/grpc_credentials_test bins/$(CONFIG)/grpc_base64_test bins/$(CONFIG)/grpc_json_token_test bins/$(CONFIG)/timeout_encoding_test bins/$(CONFIG)/fd_posix_test bins/$(CONFIG)/fling_stream_test bins/$(CONFIG)/lame_client_test bins/$(CONFIG)/alarm_test bins/$(CONFIG)/alarm_list_test bins/$(CONFIG)/alarm_heap_test bins/$(CONFIG)/time_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fake_security_census_simple_request_test bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fake_security_no_op_test bins/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test bins/$(CONFIG)/chttp2_fake_security_simple_request_test bins/$(CONFIG)/chttp2_fake_security_thread_stress_test bins/$(CONFIG)/chttp2_fake_security_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fullstack_no_op_test bins/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_no_op_test bins/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test +buildtests_c: privatelibs_c bins/$(CONFIG)/grpc_byte_buffer_reader_test bins/$(CONFIG)/gpr_cancellable_test bins/$(CONFIG)/gpr_log_test bins/$(CONFIG)/gpr_useful_test bins/$(CONFIG)/gpr_cmdline_test bins/$(CONFIG)/gpr_histogram_test bins/$(CONFIG)/gpr_host_port_test bins/$(CONFIG)/gpr_slice_buffer_test bins/$(CONFIG)/gpr_slice_test bins/$(CONFIG)/gpr_string_test bins/$(CONFIG)/gpr_sync_test bins/$(CONFIG)/gpr_thd_test bins/$(CONFIG)/gpr_time_test bins/$(CONFIG)/murmur_hash_test bins/$(CONFIG)/grpc_stream_op_test bins/$(CONFIG)/alpn_test bins/$(CONFIG)/time_averaged_stats_test bins/$(CONFIG)/chttp2_stream_encoder_test bins/$(CONFIG)/hpack_table_test bins/$(CONFIG)/chttp2_stream_map_test bins/$(CONFIG)/hpack_parser_test bins/$(CONFIG)/transport_metadata_test bins/$(CONFIG)/chttp2_status_conversion_test bins/$(CONFIG)/chttp2_transport_end2end_test bins/$(CONFIG)/tcp_posix_test bins/$(CONFIG)/dualstack_socket_test bins/$(CONFIG)/no_server_test bins/$(CONFIG)/resolve_address_test bins/$(CONFIG)/sockaddr_utils_test bins/$(CONFIG)/tcp_server_posix_test bins/$(CONFIG)/tcp_client_posix_test bins/$(CONFIG)/grpc_channel_stack_test bins/$(CONFIG)/metadata_buffer_test bins/$(CONFIG)/grpc_completion_queue_test bins/$(CONFIG)/census_window_stats_test bins/$(CONFIG)/census_statistics_quick_test bins/$(CONFIG)/census_statistics_small_log_test bins/$(CONFIG)/census_statistics_performance_test bins/$(CONFIG)/census_statistics_multiple_writers_test bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test bins/$(CONFIG)/census_stub_test bins/$(CONFIG)/census_hash_table_test bins/$(CONFIG)/fling_server bins/$(CONFIG)/fling_client bins/$(CONFIG)/fling_test bins/$(CONFIG)/echo_server bins/$(CONFIG)/echo_client bins/$(CONFIG)/echo_test bins/$(CONFIG)/message_compress_test bins/$(CONFIG)/bin_encoder_test bins/$(CONFIG)/secure_endpoint_test bins/$(CONFIG)/httpcli_format_request_test bins/$(CONFIG)/httpcli_parser_test bins/$(CONFIG)/httpcli_test bins/$(CONFIG)/grpc_credentials_test bins/$(CONFIG)/grpc_base64_test bins/$(CONFIG)/grpc_json_token_test bins/$(CONFIG)/timeout_encoding_test bins/$(CONFIG)/fd_posix_test bins/$(CONFIG)/fling_stream_test bins/$(CONFIG)/lame_client_test bins/$(CONFIG)/alarm_test bins/$(CONFIG)/alarm_list_test bins/$(CONFIG)/alarm_heap_test bins/$(CONFIG)/time_test bins/$(CONFIG)/poll_kick_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fake_security_census_simple_request_test bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fake_security_no_op_test bins/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test bins/$(CONFIG)/chttp2_fake_security_simple_request_test bins/$(CONFIG)/chttp2_fake_security_thread_stress_test bins/$(CONFIG)/chttp2_fake_security_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fullstack_no_op_test bins/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_no_op_test bins/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test buildtests_cxx: privatelibs_cxx bins/$(CONFIG)/thread_pool_test bins/$(CONFIG)/status_test bins/$(CONFIG)/sync_client_async_server_test bins/$(CONFIG)/qps_client bins/$(CONFIG)/qps_server bins/$(CONFIG)/interop_server bins/$(CONFIG)/interop_client bins/$(CONFIG)/end2end_test bins/$(CONFIG)/channel_arguments_test bins/$(CONFIG)/credentials_test @@ -672,6 +673,8 @@ test_c: buildtests_c $(Q) ./bins/$(CONFIG)/alarm_heap_test || ( echo test alarm_heap_test failed ; exit 1 ) $(E) "[RUN] Testing time_test" $(Q) ./bins/$(CONFIG)/time_test || ( echo test time_test failed ; exit 1 ) + $(E) "[RUN] Testing poll_kick_test" + $(Q) ./bins/$(CONFIG)/poll_kick_test || ( echo test poll_kick_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_fake_security_cancel_after_accept_test" $(Q) ./bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test || ( echo test chttp2_fake_security_cancel_after_accept_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_fake_security_cancel_after_accept_and_writes_closed_test" @@ -1304,6 +1307,7 @@ LIBGRPC_SRC = \ src/core/iomgr/fd_posix.c \ src/core/iomgr/iomgr.c \ src/core/iomgr/iomgr_posix.c \ + src/core/iomgr/pollset_kick_posix.c \ src/core/iomgr/pollset_multipoller_with_poll_posix.c \ src/core/iomgr/pollset_posix.c \ src/core/iomgr/resolve_address_posix.c \ @@ -1421,6 +1425,7 @@ src/core/iomgr/endpoint_pair_posix.c: $(OPENSSL_DEP) src/core/iomgr/fd_posix.c: $(OPENSSL_DEP) src/core/iomgr/iomgr.c: $(OPENSSL_DEP) src/core/iomgr/iomgr_posix.c: $(OPENSSL_DEP) +src/core/iomgr/pollset_kick_posix.c: $(OPENSSL_DEP) src/core/iomgr/pollset_multipoller_with_poll_posix.c: $(OPENSSL_DEP) src/core/iomgr/pollset_posix.c: $(OPENSSL_DEP) src/core/iomgr/resolve_address_posix.c: $(OPENSSL_DEP) @@ -1555,6 +1560,7 @@ objs/$(CONFIG)/src/core/iomgr/endpoint_pair_posix.o: objs/$(CONFIG)/src/core/iomgr/fd_posix.o: objs/$(CONFIG)/src/core/iomgr/iomgr.o: objs/$(CONFIG)/src/core/iomgr/iomgr_posix.o: +objs/$(CONFIG)/src/core/iomgr/pollset_kick_posix.o: objs/$(CONFIG)/src/core/iomgr/pollset_multipoller_with_poll_posix.o: objs/$(CONFIG)/src/core/iomgr/pollset_posix.o: objs/$(CONFIG)/src/core/iomgr/resolve_address_posix.o: @@ -1637,6 +1643,7 @@ LIBGRPC_UNSECURE_SRC = \ src/core/iomgr/fd_posix.c \ src/core/iomgr/iomgr.c \ src/core/iomgr/iomgr_posix.c \ + src/core/iomgr/pollset_kick_posix.c \ src/core/iomgr/pollset_multipoller_with_poll_posix.c \ src/core/iomgr/pollset_posix.c \ src/core/iomgr/resolve_address_posix.c \ @@ -1754,6 +1761,7 @@ objs/$(CONFIG)/src/core/iomgr/endpoint_pair_posix.o: objs/$(CONFIG)/src/core/iomgr/fd_posix.o: objs/$(CONFIG)/src/core/iomgr/iomgr.o: objs/$(CONFIG)/src/core/iomgr/iomgr_posix.o: +objs/$(CONFIG)/src/core/iomgr/pollset_kick_posix.o: objs/$(CONFIG)/src/core/iomgr/pollset_multipoller_with_poll_posix.o: objs/$(CONFIG)/src/core/iomgr/pollset_posix.o: objs/$(CONFIG)/src/core/iomgr/resolve_address_posix.o: @@ -5447,6 +5455,37 @@ endif endif +POLL_KICK_TEST_SRC = \ + test/core/iomgr/poll_kick_test.c \ + +POLL_KICK_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(POLL_KICK_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/poll_kick_test: openssl_dep_error + +else + +bins/$(CONFIG)/poll_kick_test: $(POLL_KICK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(POLL_KICK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/poll_kick_test + +endif + +objs/$(CONFIG)/test/core/iomgr/poll_kick_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_poll_kick_test: $(POLL_KICK_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(POLL_KICK_TEST_OBJS:.o=.dep) +endif +endif + + CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_SRC)))) @@ -5714,6 +5753,8 @@ CHTTP2_FAKE_SECURITY_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix objs/$(CON ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test: openssl_dep_error else @@ -6350,6 +6391,8 @@ CHTTP2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix objs/$(CONFIG) ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test: openssl_dep_error else @@ -6986,6 +7029,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix obj ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test: openssl_dep_error else @@ -7622,6 +7667,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(a ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test: openssl_dep_error else @@ -8258,6 +8305,8 @@ CHTTP2_SOCKET_PAIR_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix objs/$(CONFI ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test: openssl_dep_error else @@ -8894,6 +8943,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(add ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test: openssl_dep_error else diff --git a/build.json b/build.json index 1e465404a57..d1b3c926800 100644 --- a/build.json +++ b/build.json @@ -38,6 +38,7 @@ "src/core/iomgr/fd_posix.c", "src/core/iomgr/iomgr.c", "src/core/iomgr/iomgr_posix.c", + "src/core/iomgr/pollset_kick_posix.c", "src/core/iomgr/pollset_multipoller_with_poll_posix.c", "src/core/iomgr/pollset_posix.c", "src/core/iomgr/resolve_address_posix.c", @@ -126,6 +127,8 @@ "src/core/iomgr/iomgr.h", "src/core/iomgr/iomgr_internal.h", "src/core/iomgr/iomgr_posix.h", + "src/core/iomgr/pollset_kick.h", + "src/core/iomgr/pollset_kick_posix.h", "src/core/iomgr/pollset.h", "src/core/iomgr/pollset_posix.h", "src/core/iomgr/resolve_address.h", @@ -1497,6 +1500,19 @@ "gpr_test_util", "gpr" ] + }, + { + "name": "poll_kick_test", + "build": "test", + "src": [ + "test/core/iomgr/poll_kick_test.c" + ], + "deps": [ + "grpc_test_util", + "grpc", + "gpr_test_util", + "gpr" + ] } ] } diff --git a/src/core/iomgr/pollset_kick.h b/src/core/iomgr/pollset_kick.h new file mode 100644 index 00000000000..f088818b9a1 --- /dev/null +++ b/src/core/iomgr/pollset_kick.h @@ -0,0 +1,68 @@ +/* + * + * 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_INTERNAL_IOMGR_POLLSET_KICK_H_ +#define __GRPC_INTERNAL_IOMGR_POLLSET_KICK_H_ + +#include + +/* This is an abstraction around the typical pipe mechanism for waking up a + thread sitting in a poll() style call. */ + +#ifdef GPR_POSIX_SOCKET +#include "src/core/iomgr/pollset_kick_posix.h" +#else +#error "No pollset kick support on platform" +#endif + +void grpc_pollset_kick_global_init(void); +void grpc_pollset_kick_global_destroy(void); + +void grpc_pollset_kick_init(grpc_pollset_kick_state *kick_state); +void grpc_pollset_kick_destroy(grpc_pollset_kick_state *kick_state); + +/* Must be called before entering poll(). If return value is -1, this consumed + an existing kick. Otherwise the return value is an FD to add to the poll set. + */ +int grpc_pollset_kick_pre_poll(grpc_pollset_kick_state *kick_state); + +/* Consume an existing kick. Must be called after poll returns that the fd was + readable, and before calling kick_post_poll. */ +void grpc_pollset_kick_consume(grpc_pollset_kick_state *kick_state); + +/* Must be called after pre_poll, and after consume if applicable */ +void grpc_pollset_kick_post_poll(grpc_pollset_kick_state *kick_state); + +void grpc_pollset_kick_kick(grpc_pollset_kick_state *kick_state); + +#endif /* __GRPC_INTERNAL_IOMGR_POLLSET_KICK_H_ */ diff --git a/src/core/iomgr/pollset_kick_posix.c b/src/core/iomgr/pollset_kick_posix.c new file mode 100644 index 00000000000..d16e49e4595 --- /dev/null +++ b/src/core/iomgr/pollset_kick_posix.c @@ -0,0 +1,161 @@ +/* + * + * 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/core/iomgr/pollset_kick_posix.h" + +#include +#include +#include + +#include "src/core/iomgr/socket_utils_posix.h" +#include +#include + +/* This implementation is based on a freelist of pipes. */ + +typedef struct grpc_kick_pipe_info { + int pipe_read_fd; + int pipe_write_fd; + struct grpc_kick_pipe_info *next; +} grpc_kick_pipe_info; + +static grpc_kick_pipe_info *pipe_freelist = NULL; +static gpr_mu pipe_freelist_mu; + +static grpc_kick_pipe_info *allocate_pipe() { + grpc_kick_pipe_info *info; + gpr_mu_lock(&pipe_freelist_mu); + if (pipe_freelist != NULL) { + info = pipe_freelist; + pipe_freelist = pipe_freelist->next; + } else { + int pipefd[2]; + /* TODO(klempner): Make this nonfatal */ + GPR_ASSERT(0 == pipe(pipefd)); + GPR_ASSERT(grpc_set_socket_nonblocking(pipefd[0], 1)); + GPR_ASSERT(grpc_set_socket_nonblocking(pipefd[1], 1)); + info = gpr_malloc(sizeof(*info)); + info->pipe_read_fd = pipefd[0]; + info->pipe_write_fd = pipefd[1]; + info->next = NULL; + } + gpr_mu_unlock(&pipe_freelist_mu); + return info; +} + +static void free_pipe(grpc_kick_pipe_info *pipe_info) { + /* TODO(klempner): Start closing pipes if the free list gets too large */ + gpr_mu_lock(&pipe_freelist_mu); + pipe_info->next = pipe_freelist; + pipe_freelist = pipe_info; + gpr_mu_unlock(&pipe_freelist_mu); +} + +void grpc_pollset_kick_global_init() { + pipe_freelist = NULL; + gpr_mu_init(&pipe_freelist_mu); +} + +void grpc_pollset_kick_global_destroy() { + while (pipe_freelist != NULL) { + grpc_kick_pipe_info *current = pipe_freelist; + pipe_freelist = pipe_freelist->next; + close(current->pipe_read_fd); + close(current->pipe_write_fd); + gpr_free(current); + } + gpr_mu_destroy(&pipe_freelist_mu); +} + +void grpc_pollset_kick_init(grpc_pollset_kick_state *kick_state) { + gpr_mu_init(&kick_state->mu); + kick_state->kicked = 0; + kick_state->pipe_info = NULL; +} + +void grpc_pollset_kick_destroy(grpc_pollset_kick_state *kick_state) { + gpr_mu_destroy(&kick_state->mu); + GPR_ASSERT(kick_state->pipe_info == NULL); +} + +int grpc_pollset_kick_pre_poll(grpc_pollset_kick_state *kick_state) { + gpr_mu_lock(&kick_state->mu); + if (kick_state->kicked) { + kick_state->kicked = 0; + gpr_mu_unlock(&kick_state->mu); + return -1; + } + kick_state->pipe_info = allocate_pipe(); + gpr_mu_unlock(&kick_state->mu); + return kick_state->pipe_info->pipe_read_fd; +} + +void grpc_pollset_kick_consume(grpc_pollset_kick_state *kick_state) { + char buf[128]; + int r; + + for (;;) { + r = read(kick_state->pipe_info->pipe_read_fd, buf, sizeof(buf)); + if (r > 0) continue; + if (r == 0) return; + switch (errno) { + case EAGAIN: + return; + case EINTR: + continue; + default: + gpr_log(GPR_ERROR, "error reading pipe: %s", strerror(errno)); + return; + } + } +} + +void grpc_pollset_kick_post_poll(grpc_pollset_kick_state *kick_state) { + gpr_mu_lock(&kick_state->mu); + free_pipe(kick_state->pipe_info); + kick_state->pipe_info = NULL; + gpr_mu_unlock(&kick_state->mu); +} + +void grpc_pollset_kick_kick(grpc_pollset_kick_state *kick_state) { + gpr_mu_lock(&kick_state->mu); + if (kick_state->pipe_info != NULL) { + char c = 0; + while (write(kick_state->pipe_info->pipe_write_fd, &c, 1) != 1 && + errno == EINTR) + ; + } else { + kick_state->kicked = 1; + } + gpr_mu_unlock(&kick_state->mu); +} diff --git a/src/core/iomgr/pollset_kick_posix.h b/src/core/iomgr/pollset_kick_posix.h new file mode 100644 index 00000000000..bae3b5923a2 --- /dev/null +++ b/src/core/iomgr/pollset_kick_posix.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_INTERNAL_IOMGR_POLLSET_KICK_POSIX_H_ +#define __GRPC_INTERNAL_IOMGR_POLLSET_KICK_POSIX_H_ + +#include + +struct grpc_kick_pipe_info; + +typedef struct grpc_pollset_kick_state { + gpr_mu mu; + int kicked; + struct grpc_kick_pipe_info *pipe_info; +} grpc_pollset_kick_state; + +#endif /* __GRPC_INTERNAL_IOMGR_POLLSET_KICK_POSIX_H_ */ diff --git a/src/core/iomgr/pollset_multipoller_with_poll_posix.c b/src/core/iomgr/pollset_multipoller_with_poll_posix.c index e482da94f7c..7c9a9491cb0 100644 --- a/src/core/iomgr/pollset_multipoller_with_poll_posix.c +++ b/src/core/iomgr/pollset_multipoller_with_poll_posix.c @@ -131,7 +131,11 @@ static int multipoll_with_poll_pollset_maybe_work( } nf = 0; np = 1; - h->pfds[0].fd = grpc_kick_read_fd(pollset); + h->pfds[0].fd = grpc_pollset_kick_pre_poll(&pollset->kick_state); + if (h->pfds[0].fd < 0) { + /* Already kicked */ + return 1; + } h->pfds[0].events = POLLIN; h->pfds[0].revents = POLLOUT; for (i = 0; i < h->fd_count; i++) { @@ -173,7 +177,7 @@ static int multipoll_with_poll_pollset_maybe_work( /* do nothing */ } else { if (h->pfds[0].revents & POLLIN) { - grpc_kick_drain(pollset); + grpc_pollset_kick_consume(&pollset->kick_state); } for (i = 1; i < np; i++) { if (h->pfds[i].revents & POLLIN) { @@ -184,6 +188,7 @@ static int multipoll_with_poll_pollset_maybe_work( } } } + grpc_pollset_kick_post_poll(&pollset->kick_state); end_polling(pollset); gpr_mu_lock(&pollset->mu); diff --git a/src/core/iomgr/pollset_posix.c b/src/core/iomgr/pollset_posix.c index 6f1b3ced7df..2555322532c 100644 --- a/src/core/iomgr/pollset_posix.c +++ b/src/core/iomgr/pollset_posix.c @@ -48,18 +48,6 @@ #include #include -/* kick pipes: we keep a sharded set of pipes to allow breaking from poll. - Ideally this would be 1:1 with pollsets, but we'd like to avoid associating - full kernel objects with each pollset to keep them lightweight, so instead - keep a sharded set and allow associating a pollset with one of the shards. - - TODO(ctiller): move this out from this file, and allow an eventfd - implementation on linux */ - -#define LOG2_KICK_SHARDS 6 -#define KICK_SHARDS (1 << LOG2_KICK_SHARDS) - -static int g_kick_pipes[KICK_SHARDS][2]; static grpc_pollset g_backup_pollset; static int g_shutdown_backup_poller; static gpr_event g_backup_poller_done; @@ -82,65 +70,22 @@ static void backup_poller(void *p) { gpr_event_set(&g_backup_poller_done, (void *)1); } -static size_t kick_shard(const grpc_pollset *info) { - size_t x = (size_t)info; - return ((x >> 4) ^ (x >> 9) ^ (x >> 14)) & (KICK_SHARDS - 1); -} - -int grpc_kick_read_fd(grpc_pollset *p) { - return g_kick_pipes[kick_shard(p)][0]; -} - -static int grpc_kick_write_fd(grpc_pollset *p) { - return g_kick_pipes[kick_shard(p)][1]; -} - -void grpc_pollset_force_kick(grpc_pollset *p) { - char c = 0; - while (write(grpc_kick_write_fd(p), &c, 1) != 1 && errno == EINTR) - ; -} - void grpc_pollset_kick(grpc_pollset *p) { if (!p->counter) return; - grpc_pollset_force_kick(p); + grpc_pollset_kick_kick(&p->kick_state); } -void grpc_kick_drain(grpc_pollset *p) { - int fd = grpc_kick_read_fd(p); - char buf[128]; - int r; - - for (;;) { - r = read(fd, buf, sizeof(buf)); - if (r > 0) continue; - if (r == 0) return; - switch (errno) { - case EAGAIN: - return; - case EINTR: - continue; - default: - gpr_log(GPR_ERROR, "error reading pipe: %s", strerror(errno)); - return; - } - } -} +void grpc_pollset_force_kick(grpc_pollset *p) { grpc_pollset_kick(p); } /* global state management */ grpc_pollset *grpc_backup_pollset(void) { return &g_backup_pollset; } void grpc_pollset_global_init(void) { - int i; gpr_thd_id id; - /* initialize the kick shards */ - for (i = 0; i < KICK_SHARDS; i++) { - GPR_ASSERT(0 == pipe(g_kick_pipes[i])); - GPR_ASSERT(grpc_set_socket_nonblocking(g_kick_pipes[i][0], 1)); - GPR_ASSERT(grpc_set_socket_nonblocking(g_kick_pipes[i][1], 1)); - } + /* Initialize kick fd state */ + grpc_pollset_kick_global_init(); /* initialize the backup pollset */ grpc_pollset_init(&g_backup_pollset); @@ -152,8 +97,6 @@ void grpc_pollset_global_init(void) { } void grpc_pollset_global_shutdown(void) { - int i; - /* terminate the backup poller thread */ gpr_mu_lock(&g_backup_pollset.mu); g_shutdown_backup_poller = 1; @@ -163,11 +106,8 @@ void grpc_pollset_global_shutdown(void) { /* destroy the backup pollset */ grpc_pollset_destroy(&g_backup_pollset); - /* destroy the kick shards */ - for (i = 0; i < KICK_SHARDS; i++) { - close(g_kick_pipes[i][0]); - close(g_kick_pipes[i][1]); - } + /* destroy the kick pipes */ + grpc_pollset_kick_global_destroy(); } /* main interface */ @@ -178,6 +118,7 @@ static void become_unary_pollset(grpc_pollset *pollset, grpc_fd *fd); void grpc_pollset_init(grpc_pollset *pollset) { gpr_mu_init(&pollset->mu); gpr_cv_init(&pollset->cv); + grpc_pollset_kick_init(&pollset->kick_state); become_empty_pollset(pollset); } @@ -213,6 +154,7 @@ int grpc_pollset_work(grpc_pollset *pollset, gpr_timespec deadline) { void grpc_pollset_destroy(grpc_pollset *pollset) { pollset->vtable->destroy(pollset); + grpc_pollset_kick_destroy(&pollset->kick_state); gpr_mu_destroy(&pollset->mu); gpr_cv_destroy(&pollset->cv); } @@ -290,7 +232,11 @@ static int unary_poll_pollset_maybe_work(grpc_pollset *pollset, return 1; } } - pfd[0].fd = grpc_kick_read_fd(pollset); + pfd[0].fd = grpc_pollset_kick_pre_poll(&pollset->kick_state); + if (pfd[0].fd < 0) { + /* Already kicked */ + return 1; + } pfd[0].events = POLLIN; pfd[0].revents = 0; pfd[1].fd = fd->fd; @@ -308,7 +254,7 @@ static int unary_poll_pollset_maybe_work(grpc_pollset *pollset, /* do nothing */ } else { if (pfd[0].revents & POLLIN) { - grpc_kick_drain(pollset); + grpc_pollset_kick_consume(&pollset->kick_state); } if (pfd[1].revents & POLLIN) { grpc_fd_become_readable(fd, allow_synchronous_callback); @@ -318,6 +264,8 @@ static int unary_poll_pollset_maybe_work(grpc_pollset *pollset, } } + grpc_pollset_kick_post_poll(&pollset->kick_state); + gpr_mu_lock(&pollset->mu); grpc_fd_end_poll(fd, pollset); pollset->counter = 0; diff --git a/src/core/iomgr/pollset_posix.h b/src/core/iomgr/pollset_posix.h index 32a8f533ae7..f62433707e7 100644 --- a/src/core/iomgr/pollset_posix.h +++ b/src/core/iomgr/pollset_posix.h @@ -36,6 +36,8 @@ #include +#include "src/core/iomgr/pollset_kick.h" + typedef struct grpc_pollset_vtable grpc_pollset_vtable; /* forward declare only in this file to avoid leaking impl details via @@ -51,6 +53,7 @@ typedef struct grpc_pollset { const grpc_pollset_vtable *vtable; gpr_mu mu; gpr_cv cv; + grpc_pollset_kick_state kick_state; int counter; union { int fd; diff --git a/test/core/iomgr/poll_kick_test.c b/test/core/iomgr/poll_kick_test.c new file mode 100644 index 00000000000..9f0d0f38b3b --- /dev/null +++ b/test/core/iomgr/poll_kick_test.c @@ -0,0 +1,101 @@ +/* + * + * 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/core/iomgr/pollset_kick.h" + +#include +#include "test/core/util/test_config.h" + +static void test_allocation() { + grpc_pollset_kick_state state; + grpc_pollset_kick_init(&state); + grpc_pollset_kick_destroy(&state); +} + +static void test_non_kick() { + grpc_pollset_kick_state state; + int fd; + + grpc_pollset_kick_init(&state); + fd = grpc_pollset_kick_pre_poll(&state); + GPR_ASSERT(fd >= 0); + + grpc_pollset_kick_post_poll(&state); + grpc_pollset_kick_destroy(&state); +} + +static void test_basic_kick() { + /* Kicked during poll */ + grpc_pollset_kick_state state; + int fd; + grpc_pollset_kick_init(&state); + + fd = grpc_pollset_kick_pre_poll(&state); + GPR_ASSERT(fd >= 0); + + grpc_pollset_kick_kick(&state); + + /* Now hypothetically we polled and found that we were kicked */ + grpc_pollset_kick_consume(&state); + + grpc_pollset_kick_post_poll(&state); + + grpc_pollset_kick_destroy(&state); +} + +static void test_non_poll_kick() { + /* Kick before entering poll */ + grpc_pollset_kick_state state; + int fd; + + grpc_pollset_kick_init(&state); + + grpc_pollset_kick_kick(&state); + fd = grpc_pollset_kick_pre_poll(&state); + GPR_ASSERT(fd < 0); + grpc_pollset_kick_destroy(&state); +} + +int main(int argc, char **argv) { + grpc_test_init(argc, argv); + + grpc_pollset_kick_global_init(); + + test_allocation(); + test_basic_kick(); + test_non_poll_kick(); + test_non_kick(); + + grpc_pollset_kick_global_destroy(); + return 0; +} diff --git a/vsprojects/vs2013/grpc.vcxproj b/vsprojects/vs2013/grpc.vcxproj index 9f3ec8c597c..28cfe01b33c 100644 --- a/vsprojects/vs2013/grpc.vcxproj +++ b/vsprojects/vs2013/grpc.vcxproj @@ -118,6 +118,8 @@ + + @@ -246,6 +248,8 @@ + + diff --git a/vsprojects/vs2013/grpc_unsecure.vcxproj b/vsprojects/vs2013/grpc_unsecure.vcxproj index 9f3ec8c597c..28cfe01b33c 100644 --- a/vsprojects/vs2013/grpc_unsecure.vcxproj +++ b/vsprojects/vs2013/grpc_unsecure.vcxproj @@ -118,6 +118,8 @@ + + @@ -246,6 +248,8 @@ + + From 261dd98e5ebccfa2948929c78ec7e1c12f9a3fa8 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 16 Jan 2015 16:41:45 -0800 Subject: [PATCH 060/121] Use Python json module Instead of third party simplejson module, to save a dependency. --- tools/run_tests/run_tests.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index d291abf3bf0..0826dfc7a4a 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -4,13 +4,13 @@ import argparse import glob import itertools +import json import multiprocessing import os import sys import time import jobset -import simplejson import watch_dirs @@ -159,12 +159,12 @@ class TestCache(object): def save(self): with open('.run_tests_cache', 'w') as f: - f.write(simplejson.dumps(self.dump())) + f.write(json.dumps(self.dump())) def maybe_load(self): if os.path.exists('.run_tests_cache'): with open('.run_tests_cache') as f: - self.parse(simplejson.loads(f.read())) + self.parse(json.loads(f.read())) def _build_and_run(check_cancelled, newline_on_success, cache): From 19e0aa9b44e3d39e7f8d6567c795f3961527f77b Mon Sep 17 00:00:00 2001 From: Nicolas Noble Date: Fri, 16 Jan 2015 17:29:34 -0800 Subject: [PATCH 061/121] Changing tabs for spaces. --- build.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/build.json b/build.json index d1b3c926800..0a50080db6e 100644 --- a/build.json +++ b/build.json @@ -38,7 +38,7 @@ "src/core/iomgr/fd_posix.c", "src/core/iomgr/iomgr.c", "src/core/iomgr/iomgr_posix.c", - "src/core/iomgr/pollset_kick_posix.c", + "src/core/iomgr/pollset_kick_posix.c", "src/core/iomgr/pollset_multipoller_with_poll_posix.c", "src/core/iomgr/pollset_posix.c", "src/core/iomgr/resolve_address_posix.c", @@ -127,8 +127,8 @@ "src/core/iomgr/iomgr.h", "src/core/iomgr/iomgr_internal.h", "src/core/iomgr/iomgr_posix.h", - "src/core/iomgr/pollset_kick.h", - "src/core/iomgr/pollset_kick_posix.h", + "src/core/iomgr/pollset_kick.h", + "src/core/iomgr/pollset_kick_posix.h", "src/core/iomgr/pollset.h", "src/core/iomgr/pollset_posix.h", "src/core/iomgr/resolve_address.h", @@ -1505,13 +1505,13 @@ "name": "poll_kick_test", "build": "test", "src": [ - "test/core/iomgr/poll_kick_test.c" + "test/core/iomgr/poll_kick_test.c" ], "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" + "grpc_test_util", + "grpc", + "gpr_test_util", + "gpr" ] } ] From 3462982a7936d2d3afac845054df224e5b0006c1 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 18 Jan 2015 10:07:41 -0800 Subject: [PATCH 062/121] Abort on errors, and dont spam --- tools/buildgen/generate_projects.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/buildgen/generate_projects.sh b/tools/buildgen/generate_projects.sh index 42b161388a8..c2e88f77938 100755 --- a/tools/buildgen/generate_projects.sh +++ b/tools/buildgen/generate_projects.sh @@ -1,6 +1,6 @@ #!/bin/bash -set -x +set -e if [ "x$TEST" == "x" ] ; then TEST=false From 59140fc1164922acf40f10f1ee043faf3711410e Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 18 Jan 2015 10:12:17 -0800 Subject: [PATCH 063/121] Explicitly name the target language. Instead of C++ or not C++, name C++ and C, in preparation for being able to name other languages in the future. --- build.json | 108 +++++++++++++++--- templates/Makefile.template | 44 +++---- templates/vsprojects/vs2013/grpc.sln.template | 2 +- test/core/end2end/gen_build_json.py | 4 + 4 files changed, 120 insertions(+), 38 deletions(-) diff --git a/build.json b/build.json index 0a50080db6e..f394753a0de 100644 --- a/build.json +++ b/build.json @@ -186,6 +186,7 @@ "build": "all", "secure": false, "vs_project_guid": "{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}", + "language": "c", "src": [ "src/core/support/alloc.c", "src/core/support/cancellable.c", @@ -253,6 +254,7 @@ "secure": true, "vs_project_guid": "{29D16885-7228-4C31-81ED-5F9187C7F2A9}", "baselib": true, + "language": "c", "filegroups": [ "grpc_base" ], @@ -297,6 +299,7 @@ "secure": false, "vs_project_guid": "{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}", "baselib": true, + "language": "c", "filegroups": [ "grpc_base" ], @@ -307,6 +310,7 @@ { "name": "gpr_test_util", "build": "private", + "language": "c", "vs_project_guid": "{EAB0A629-17A9-44DB-B5FF-E91A721FE037}", "src": [ "test/core/util/test_config.c" @@ -316,6 +320,7 @@ "name": "grpc_test_util", "build": "private", "vs_project_guid": "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}", + "language": "c", "src": [ "test/core/end2end/cq_verifier.c", "test/core/end2end/data/test_root_cert.c", @@ -334,7 +339,7 @@ { "name": "grpc++", "build": "all", - "c++": true, + "language": "c++", "secure": true, "vs_project_guid": "{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}", "src": [ @@ -395,6 +400,7 @@ { "name": "grpc++_test_util", "build": "private", + "language": "c", "src": [ "test/cpp/util/messages.proto", "test/cpp/util/echo.proto", @@ -402,7 +408,7 @@ "test/cpp/util/create_test_channel.cc", "test/cpp/end2end/async_test_server.cc" ], - "c++": true + "language": "c++" } ], "targets": [ @@ -416,13 +422,14 @@ "grpc_test_util", "gpr", "grpc" - ] + ], + "language": "c" }, { "name": "cpp_plugin", "build": "protoc", - "c++": true, + "language": "c++", "secure": false, "src": [ "src/compiler/cpp_plugin.cc", @@ -437,7 +444,7 @@ { "name": "ruby_plugin", "build": "protoc", - "c++": true, + "language": "c++", "secure": false, "src": [ "src/compiler/ruby_plugin.cc", @@ -454,6 +461,7 @@ { "name": "grpc_byte_buffer_reader_test", "build": "test", + "language": "c", "src": [ "test/core/surface/byte_buffer_reader_test.c" ], @@ -467,6 +475,7 @@ { "name": "gpr_cancellable_test", "build": "test", + "language": "c", "src": [ "test/core/support/cancellable_test.c" ], @@ -478,6 +487,7 @@ { "name": "gpr_log_test", "build": "test", + "language": "c", "src": [ "test/core/support/log_test.c" ], @@ -489,6 +499,7 @@ { "name": "gpr_useful_test", "build": "test", + "language": "c", "src": [ "test/core/support/useful_test.c" ], @@ -500,6 +511,7 @@ { "name": "gpr_cmdline_test", "build": "test", + "language": "c", "src": [ "test/core/support/cmdline_test.c" ], @@ -511,6 +523,7 @@ { "name": "gpr_histogram_test", "build": "test", + "language": "c", "src": [ "test/core/support/histogram_test.c" ], @@ -522,6 +535,7 @@ { "name": "gpr_host_port_test", "build": "test", + "language": "c", "src": [ "test/core/support/host_port_test.c" ], @@ -533,6 +547,7 @@ { "name": "gpr_slice_buffer_test", "build": "test", + "language": "c", "src": [ "test/core/support/slice_buffer_test.c" ], @@ -544,6 +559,7 @@ { "name": "gpr_slice_test", "build": "test", + "language": "c", "src": [ "test/core/support/slice_test.c" ], @@ -555,6 +571,7 @@ { "name": "gpr_string_test", "build": "test", + "language": "c", "src": [ "test/core/support/string_test.c" ], @@ -566,6 +583,7 @@ { "name": "gpr_sync_test", "build": "test", + "language": "c", "src": [ "test/core/support/sync_test.c" ], @@ -577,6 +595,7 @@ { "name": "gpr_thd_test", "build": "test", + "language": "c", "src": [ "test/core/support/thd_test.c" ], @@ -588,6 +607,7 @@ { "name": "gpr_time_test", "build": "test", + "language": "c", "src": [ "test/core/support/time_test.c" ], @@ -599,6 +619,7 @@ { "name": "murmur_hash_test", "build": "test", + "language": "c", "src": [ "test/core/support/murmur_hash_test.c" ], @@ -610,6 +631,7 @@ { "name": "grpc_stream_op_test", "build": "test", + "language": "c", "src": [ "test/core/transport/stream_op_test.c" ], @@ -623,6 +645,7 @@ { "name": "alpn_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/alpn_test.c" ], @@ -636,6 +659,7 @@ { "name": "time_averaged_stats_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/time_averaged_stats_test.c" ], @@ -649,6 +673,7 @@ { "name": "chttp2_stream_encoder_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/stream_encoder_test.c" ], @@ -662,6 +687,7 @@ { "name": "hpack_table_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/hpack_table_test.c" ], @@ -675,6 +701,7 @@ { "name": "chttp2_stream_map_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/stream_map_test.c" ], @@ -688,6 +715,7 @@ { "name": "hpack_parser_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/hpack_parser_test.c" ], @@ -701,6 +729,7 @@ { "name": "transport_metadata_test", "build": "test", + "language": "c", "src": [ "test/core/transport/metadata_test.c" ], @@ -714,6 +743,7 @@ { "name": "chttp2_status_conversion_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/status_conversion_test.c" ], @@ -727,6 +757,7 @@ { "name": "chttp2_transport_end2end_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2_transport_end2end_test.c" ], @@ -740,6 +771,7 @@ { "name": "tcp_posix_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/tcp_posix_test.c" ], @@ -753,6 +785,7 @@ { "name": "dualstack_socket_test", "build": "test", + "language": "c", "src": [ "test/core/end2end/dualstack_socket_test.c" ], @@ -766,6 +799,7 @@ { "name": "no_server_test", "build": "test", + "language": "c", "src": [ "test/core/end2end/no_server_test.c" ], @@ -779,6 +813,7 @@ { "name": "resolve_address_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/resolve_address_test.c" ], @@ -792,6 +827,7 @@ { "name": "sockaddr_utils_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/sockaddr_utils_test.c" ], @@ -805,6 +841,7 @@ { "name": "tcp_server_posix_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/tcp_server_posix_test.c" ], @@ -818,6 +855,7 @@ { "name": "tcp_client_posix_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/tcp_client_posix_test.c" ], @@ -831,6 +869,7 @@ { "name": "grpc_channel_stack_test", "build": "test", + "language": "c", "src": [ "test/core/channel/channel_stack_test.c" ], @@ -844,6 +883,7 @@ { "name": "metadata_buffer_test", "build": "test", + "language": "c", "src": [ "test/core/channel/metadata_buffer_test.c" ], @@ -857,6 +897,7 @@ { "name": "grpc_completion_queue_test", "build": "test", + "language": "c", "src": [ "test/core/surface/completion_queue_test.c" ], @@ -870,6 +911,7 @@ { "name": "grpc_completion_queue_benchmark", "build": "benchmark", + "language": "c", "src": [ "test/core/surface/completion_queue_benchmark.c" ], @@ -883,6 +925,7 @@ { "name": "census_trace_store_test", "build": "executable", + "language": "c", "src": [ "test/core/statistics/trace_test.c" ], @@ -896,6 +939,7 @@ { "name": "census_stats_store_test", "build": "executable", + "language": "c", "src": [ "test/core/statistics/rpc_stats_test.c" ], @@ -909,6 +953,7 @@ { "name": "census_window_stats_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/window_stats_test.c" ], @@ -922,6 +967,7 @@ { "name": "census_statistics_quick_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/quick_test.c" ], @@ -935,6 +981,7 @@ { "name": "census_statistics_small_log_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/small_log_test.c" ], @@ -948,6 +995,7 @@ { "name": "census_statistics_performance_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/performance_test.c" ], @@ -961,6 +1009,7 @@ { "name": "census_statistics_multiple_writers_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/multiple_writers_test.c" ], @@ -974,6 +1023,7 @@ { "name": "census_statistics_multiple_writers_circular_buffer_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/multiple_writers_circular_buffer_test.c" ], @@ -987,6 +1037,7 @@ { "name": "census_stub_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/census_stub_test.c" ], @@ -1000,6 +1051,7 @@ { "name": "census_hash_table_test", "build": "test", + "language": "c", "src": [ "test/core/statistics/hash_table_test.c" ], @@ -1013,6 +1065,7 @@ { "name": "fling_server", "build": "test", + "language": "c", "run": false, "src": [ "test/core/fling/server.c" @@ -1027,6 +1080,7 @@ { "name": "fling_client", "build": "test", + "language": "c", "run": false, "src": [ "test/core/fling/client.c" @@ -1040,6 +1094,7 @@ }, { "name": "fling_test", + "language": "c", "build": "test", "src": [ "test/core/fling/fling_test.c" @@ -1053,6 +1108,7 @@ }, { "name": "echo_server", + "language": "c", "build": "test", "run": false, "src": [ @@ -1067,6 +1123,7 @@ }, { "name": "echo_client", + "language": "c", "build": "test", "run": false, "src": [ @@ -1082,6 +1139,7 @@ { "name": "echo_test", "build": "test", + "language": "c", "src": [ "test/core/echo/echo_test.c" ], @@ -1095,6 +1153,7 @@ { "name": "low_level_ping_pong_benchmark", "build": "benchmark", + "language": "c", "src": [ "test/core/network_benchmarks/low_level_ping_pong.c" ], @@ -1108,6 +1167,7 @@ { "name": "message_compress_test", "build": "test", + "language": "c", "src": [ "test/core/compression/message_compress_test.c" ], @@ -1121,6 +1181,7 @@ { "name": "bin_encoder_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/bin_encoder_test.c" ], @@ -1134,6 +1195,7 @@ { "name": "secure_endpoint_test", "build": "test", + "language": "c", "src": [ "test/core/security/secure_endpoint_test.c" ], @@ -1147,6 +1209,7 @@ { "name": "httpcli_format_request_test", "build": "test", + "language": "c", "src": [ "test/core/httpcli/format_request_test.c" ], @@ -1160,6 +1223,7 @@ { "name": "httpcli_parser_test", "build": "test", + "language": "c", "src": [ "test/core/httpcli/parser_test.c" ], @@ -1173,6 +1237,7 @@ { "name": "httpcli_test", "build": "test", + "language": "c", "src": [ "test/core/httpcli/httpcli_test.c" ], @@ -1186,6 +1251,7 @@ { "name": "grpc_credentials_test", "build": "test", + "language": "c", "src": [ "test/core/security/credentials_test.c" ], @@ -1199,6 +1265,7 @@ { "name": "grpc_fetch_oauth2", "build": "tool", + "language": "c", "src": [ "test/core/security/fetch_oauth2.c" ], @@ -1212,6 +1279,7 @@ { "name": "grpc_base64_test", "build": "test", + "language": "c", "src": [ "test/core/security/base64_test.c" ], @@ -1225,6 +1293,7 @@ { "name": "grpc_json_token_test", "build": "test", + "language": "c", "src": [ "test/core/security/json_token_test.c" ], @@ -1238,6 +1307,7 @@ { "name": "timeout_encoding_test", "build": "test", + "language": "c", "src": [ "test/core/transport/chttp2/timeout_encoding_test.c" ], @@ -1251,6 +1321,7 @@ { "name": "fd_posix_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/fd_posix_test.c" ], @@ -1264,6 +1335,7 @@ { "name": "fling_stream_test", "build": "test", + "language": "c", "src": [ "test/core/fling/fling_stream_test.c" ], @@ -1277,6 +1349,7 @@ { "name": "lame_client_test", "build": "test", + "language": "c", "src": [ "test/core/surface/lame_client_test.c" ], @@ -1290,7 +1363,7 @@ { "name": "thread_pool_test", "build": "test", - "c++": true, + "language": "c++", "src": [ "test/cpp/server/thread_pool_test.cc" ], @@ -1305,7 +1378,7 @@ { "name": "status_test", "build": "test", - "c++": true, + "language": "c++", "src": [ "test/cpp/util/status_test.cc" ], @@ -1320,7 +1393,7 @@ { "name": "sync_client_async_server_test", "build": "test", - "c++": true, + "language": "c++", "src": [ "test/cpp/end2end/sync_client_async_server_test.cc" ], @@ -1336,7 +1409,7 @@ { "name": "qps_client", "build": "test", - "c++": true, + "language": "c++", "src": [ "test/cpp/qps/qpstest.proto", "test/cpp/qps/client.cc" @@ -1353,7 +1426,7 @@ { "name": "qps_server", "build": "test", - "c++": true, + "language": "c++", "src": [ "test/cpp/qps/qpstest.proto", "test/cpp/qps/server.cc" @@ -1371,7 +1444,7 @@ "name": "interop_server", "build": "test", "run": false, - "c++": true, + "language": "c++", "src": [ "test/cpp/interop/empty.proto", "test/cpp/interop/messages.proto", @@ -1391,7 +1464,7 @@ "name": "interop_client", "build": "test", "run": false, - "c++": true, + "language": "c++", "src": [ "test/cpp/interop/empty.proto", "test/cpp/interop/messages.proto", @@ -1410,7 +1483,7 @@ { "name": "end2end_test", "build": "test", - "c++": true, + "language": "c++", "src": [ "test/cpp/end2end/end2end_test.cc" ], @@ -1426,7 +1499,7 @@ { "name": "channel_arguments_test", "build": "test", - "c++": true, + "language": "c++", "src": [ "test/cpp/client/channel_arguments_test.cc" ], @@ -1439,7 +1512,7 @@ { "name": "credentials_test", "build": "test", - "c++": true, + "language": "c++", "src": [ "test/cpp/client/credentials_test.cc" ], @@ -1452,6 +1525,7 @@ { "name": "alarm_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/alarm_test.c" ], @@ -1465,6 +1539,7 @@ { "name": "alarm_list_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/alarm_list_test.c" ], @@ -1478,6 +1553,7 @@ { "name": "alarm_heap_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/alarm_heap_test.c" ], @@ -1491,6 +1567,7 @@ { "name": "time_test", "build": "test", + "language": "c", "src": [ "test/core/support/time_test.c" ], @@ -1504,6 +1581,7 @@ { "name": "poll_kick_test", "build": "test", + "language": "c", "src": [ "test/core/iomgr/poll_kick_test.c" ], diff --git a/templates/Makefile.template b/templates/Makefile.template index b359d866acf..11b9438a685 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -351,7 +351,7 @@ static: static_c static_cxx static_c: \ % for lib in libs: -% if lib.build == 'all' and not lib.get('c++', False): +% if lib.build == 'all' and lib.language == 'c': libs/$(CONFIG)/lib${lib.name}.a\ % endif % endfor @@ -359,7 +359,7 @@ static_c: \ static_cxx: \ % for lib in libs: -% if lib.build == 'all' and lib.get('c++', False): +% if lib.build == 'all' and lib.language == 'c++': libs/$(CONFIG)/lib${lib.name}.a\ % endif % endfor @@ -369,7 +369,7 @@ shared: shared_c shared_cxx shared_c: \ % for lib in libs: -% if lib.build == 'all' and not lib.get('c++', False): +% if lib.build == 'all' and lib.language == 'c': libs/$(CONFIG)/lib${lib.name}.$(SHARED_EXT)\ % endif % endfor @@ -377,7 +377,7 @@ shared_c: \ shared_cxx: \ % for lib in libs: -% if lib.build == 'all' and lib.get('c++', False): +% if lib.build == 'all' and lib.language == 'c++': libs/$(CONFIG)/lib${lib.name}.$(SHARED_EXT)\ % endif % endfor @@ -387,7 +387,7 @@ privatelibs: privatelibs_c privatelibs_cxx privatelibs_c: \ % for lib in libs: -% if lib.build == 'private' and not lib.get('c++', False): +% if lib.build == 'private' and lib.language == 'c': libs/$(CONFIG)/lib${lib.name}.a\ % endif % endfor @@ -395,7 +395,7 @@ privatelibs_c: \ privatelibs_cxx: \ % for lib in libs: -% if lib.build == 'private' and lib.get('c++', False): +% if lib.build == 'private' and lib.language == 'c++': libs/$(CONFIG)/lib${lib.name}.a\ % endif % endfor @@ -405,7 +405,7 @@ buildtests: buildtests_c buildtests_cxx buildtests_c: privatelibs_c\ % for tgt in targets: -% if tgt.build == 'test' and not tgt.get('c++', False): +% if tgt.build == 'test' and not tgt.language == 'c++': bins/$(CONFIG)/${tgt.name}\ % endif % endfor @@ -413,7 +413,7 @@ buildtests_c: privatelibs_c\ buildtests_cxx: privatelibs_cxx\ % for tgt in targets: -% if tgt.build == 'test' and tgt.get('c++', False): +% if tgt.build == 'test' and tgt.language == 'c++': bins/$(CONFIG)/${tgt.name}\ % endif % endfor @@ -423,7 +423,7 @@ test: test_c test_cxx test_c: buildtests_c % for tgt in targets: -% if tgt.build == 'test' and tgt.get('run', True) and not tgt.get('c++', False): +% if tgt.build == 'test' and tgt.get('run', True) and not tgt.language == 'c++': $(E) "[RUN] Testing ${tgt.name}" $(Q) ./bins/$(CONFIG)/${tgt.name} || ( echo test ${tgt.name} failed ; exit 1 ) % endif @@ -432,7 +432,7 @@ test_c: buildtests_c test_cxx: buildtests_cxx % for tgt in targets: -% if tgt.build == 'test' and tgt.get('run', True) and tgt.get('c++', False): +% if tgt.build == 'test' and tgt.get('run', True) and tgt.language == 'c++': $(E) "[RUN] Testing ${tgt.name}" $(Q) ./bins/$(CONFIG)/${tgt.name} || ( echo test ${tgt.name} failed ; exit 1 ) % endif @@ -470,7 +470,7 @@ strip-shared: strip-shared_c strip-shared_cxx strip-static_c: static_c % for lib in libs: -% if not lib.get("c++", False): +% if lib.language == "c": % if lib.build == "all": $(E) "[STRIP] Stripping lib${lib.name}.a" $(Q) $(STRIP) libs/$(CONFIG)/lib${lib.name}.a @@ -480,7 +480,7 @@ strip-static_c: static_c strip-static_cxx: static_cxx % for lib in libs: -% if lib.get("c++", False): +% if lib.language == "c++": % if lib.build == "all": $(E) "[STRIP] Stripping lib${lib.name}.a" $(Q) $(STRIP) libs/$(CONFIG)/lib${lib.name}.a @@ -490,7 +490,7 @@ strip-static_cxx: static_cxx strip-shared_c: shared_c % for lib in libs: -% if not lib.get("c++", False): +% if lib.language == "c": % if lib.build == "all": $(E) "[STRIP] Stripping lib${lib.name}.so" $(Q) $(STRIP) libs/$(CONFIG)/lib${lib.name}.$(SHARED_EXT) @@ -500,7 +500,7 @@ strip-shared_c: shared_c strip-shared_cxx: shared_cxx % for lib in libs: -% if lib.get("c++", False): +% if lib.language == "c++": % if lib.build == "all": $(E) "[STRIP] Stripping lib${lib.name}.so" $(Q) $(STRIP) libs/$(CONFIG)/lib${lib.name}.$(SHARED_EXT) @@ -557,7 +557,7 @@ install-static: install-static_c install-static_cxx install-static_c: static_c strip-static_c % for lib in libs: -% if not lib.get("c++", False): +% if lib.language == "c": % if lib.build == "all": $(E) "[INSTALL] Installing lib${lib.name}.a" $(Q) $(INSTALL) libs/$(CONFIG)/lib${lib.name}.a $(prefix)/lib/lib${lib.name}.a @@ -567,7 +567,7 @@ install-static_c: static_c strip-static_c install-static_cxx: static_cxx strip-static_cxx % for lib in libs: -% if lib.get("c++", False): +% if lib.language == "c++": % if lib.build == "all": $(E) "[INSTALL] Installing lib${lib.name}.a" $(Q) $(INSTALL) libs/$(CONFIG)/lib${lib.name}.a $(prefix)/lib/lib${lib.name}.a @@ -577,7 +577,7 @@ install-static_cxx: static_cxx strip-static_cxx install-shared_c: shared_c strip-shared_c % for lib in libs: -% if not lib.get("c++", False): +% if lib.language == "c": % if lib.build == "all": ifeq ($(SYSTEM),MINGW32) $(E) "[INSTALL] Installing ${lib.name}.$(SHARED_EXT)" @@ -601,7 +601,7 @@ endif install-shared_cxx: shared_cxx strip-shared_cxx % for lib in libs: -% if lib.get("c++", False): +% if lib.language == "c++": % if lib.build == "all": ifeq ($(SYSTEM),MINGW32) $(E) "[INSTALL] Installing ${lib.name}.$(SHARED_EXT)" @@ -649,7 +649,7 @@ LIB${lib.name.upper()}_SRC = \\ % endfor % if "public_headers" in lib: -% if lib.get("c++", False): +% if lib.language == "c++": PUBLIC_HEADERS_CXX += \\ % else: @@ -709,7 +709,7 @@ libs/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(LIB${lib.name.upper()}_OBJS) % endif <% - if lib.get('c++', False): + if lib.language == 'c++': ld = '$(LDXX)' else: ld = '$(LD)' @@ -818,7 +818,7 @@ bins/$(CONFIG)/${tgt.name}: $(${tgt.name.upper()}_OBJS)\ libs/$(CONFIG)/lib${dep}.a\ % endfor -% if tgt.get("c++", False): +% if tgt.language == "c++": ## C++ targets specificies. % if tgt.build == 'protoc': $(E) "[HOSTLD] Linking $@" @@ -841,7 +841,7 @@ bins/$(CONFIG)/${tgt.name}: $(${tgt.name.upper()}_OBJS)\ % for dep in tgt.deps: libs/$(CONFIG)/lib${dep}.a\ % endfor -% if tgt.get("c++", False): +% if tgt.language == "c++": % if tgt.build == 'protoc': $(HOST_LDLIBSXX)\ % else: diff --git a/templates/vsprojects/vs2013/grpc.sln.template b/templates/vsprojects/vs2013/grpc.sln.template index fa32f1c52e2..fe85d03cece 100644 --- a/templates/vsprojects/vs2013/grpc.sln.template +++ b/templates/vsprojects/vs2013/grpc.sln.template @@ -23,7 +23,7 @@ projects.extend(targets) projects = [project for project in projects if project.get('vs_project_guid', None)] ## Exclude C++ projects for now -projects = [project for project in projects if not project.get('c++', False)] +projects = [project for project in projects if not project.language == 'c++'] for p in projects: p.deps = p.get('deps',[]) diff --git a/test/core/end2end/gen_build_json.py b/test/core/end2end/gen_build_json.py index 8a851ddd37e..2c4368fe767 100755 --- a/test/core/end2end/gen_build_json.py +++ b/test/core/end2end/gen_build_json.py @@ -48,6 +48,7 @@ def main(): { 'name': 'end2end_fixture_%s' % f, 'build': 'private', + 'language': 'c', 'secure': True, 'src': ['test/core/end2end/fixtures/%s.c' % f] } @@ -55,6 +56,7 @@ def main(): { 'name': 'end2end_test_%s' % t, 'build': 'private', + 'language': 'c', 'secure': False, 'src': ['test/core/end2end/tests/%s.c' % t], 'headers': ['test/core/end2end/tests/cancel_test_helpers.h'] @@ -63,6 +65,7 @@ def main(): { 'name': 'end2end_certs', 'build': 'private', + 'language': 'c', 'src': [ "test/core/end2end/data/test_root_cert.c", "test/core/end2end/data/prod_roots_certs.c", @@ -75,6 +78,7 @@ def main(): { 'name': '%s_%s_test' % (f, t), 'build': 'test', + 'language': 'c', 'src': [], 'deps': [ 'end2end_fixture_%s' % f, From e9c959d78e3998855d0a16e5af9b10970299bb46 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 18 Jan 2015 10:23:26 -0800 Subject: [PATCH 064/121] Only run language specified tests Add a template to generate a complete list of tests for C/C++, and use it to generate the list of binaries to run tests for. --- templates/tools/run_tests/tests.json.template | 8 ++++++++ tools/run_tests/run_tests.py | 13 +++++++++---- tools/run_tests/tests.json | 4 ++++ 3 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 templates/tools/run_tests/tests.json.template create mode 100644 tools/run_tests/tests.json diff --git a/templates/tools/run_tests/tests.json.template b/templates/tools/run_tests/tests.json.template new file mode 100644 index 00000000000..3a9e103281a --- /dev/null +++ b/templates/tools/run_tests/tests.json.template @@ -0,0 +1,8 @@ +<%! +import json +%> + +${json.dumps([{"name": tgt.name, "language": tgt.language} + for tgt in targets + if tgt.build == "test" and tgt.name[-5:] == "_test"])} + diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 0826dfc7a4a..71c68d7b24a 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -41,12 +41,17 @@ class ValgrindConfig(object): class CLanguage(object): - def __init__(self, make_target): + def __init__(self, make_target, test_lang): self.allow_hashing = True self.make_target = make_target + with open('tools/run_tests/tests.json') as f: + js = json.loads(f.read()) + self.binaries = [tgt['name'] + for tgt in js + if tgt['language'] == test_lang] def test_binaries(self, config): - return glob.glob('bins/%s/*_test' % config) + return ['bins/%s/%s' % (config, binary) for binary in self.binaries] def make_targets(self): return ['buildtests_%s' % self.make_target] @@ -85,8 +90,8 @@ _CONFIGS = { _DEFAULT = ['dbg', 'opt'] _LANGUAGES = { - 'c++': CLanguage('cxx'), - 'c': CLanguage('c'), + 'c++': CLanguage('cxx', 'c++'), + 'c': CLanguage('c', 'c'), 'php': PhpLanguage() } diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json new file mode 100644 index 00000000000..b042df80c9f --- /dev/null +++ b/tools/run_tests/tests.json @@ -0,0 +1,4 @@ + + +[{"name": "grpc_byte_buffer_reader_test", "language": "c"}, {"name": "gpr_cancellable_test", "language": "c"}, {"name": "gpr_log_test", "language": "c"}, {"name": "gpr_useful_test", "language": "c"}, {"name": "gpr_cmdline_test", "language": "c"}, {"name": "gpr_histogram_test", "language": "c"}, {"name": "gpr_host_port_test", "language": "c"}, {"name": "gpr_slice_buffer_test", "language": "c"}, {"name": "gpr_slice_test", "language": "c"}, {"name": "gpr_string_test", "language": "c"}, {"name": "gpr_sync_test", "language": "c"}, {"name": "gpr_thd_test", "language": "c"}, {"name": "gpr_time_test", "language": "c"}, {"name": "murmur_hash_test", "language": "c"}, {"name": "grpc_stream_op_test", "language": "c"}, {"name": "alpn_test", "language": "c"}, {"name": "time_averaged_stats_test", "language": "c"}, {"name": "chttp2_stream_encoder_test", "language": "c"}, {"name": "hpack_table_test", "language": "c"}, {"name": "chttp2_stream_map_test", "language": "c"}, {"name": "hpack_parser_test", "language": "c"}, {"name": "transport_metadata_test", "language": "c"}, {"name": "chttp2_status_conversion_test", "language": "c"}, {"name": "chttp2_transport_end2end_test", "language": "c"}, {"name": "tcp_posix_test", "language": "c"}, {"name": "dualstack_socket_test", "language": "c"}, {"name": "no_server_test", "language": "c"}, {"name": "resolve_address_test", "language": "c"}, {"name": "sockaddr_utils_test", "language": "c"}, {"name": "tcp_server_posix_test", "language": "c"}, {"name": "tcp_client_posix_test", "language": "c"}, {"name": "grpc_channel_stack_test", "language": "c"}, {"name": "metadata_buffer_test", "language": "c"}, {"name": "grpc_completion_queue_test", "language": "c"}, {"name": "census_window_stats_test", "language": "c"}, {"name": "census_statistics_quick_test", "language": "c"}, {"name": "census_statistics_small_log_test", "language": "c"}, {"name": "census_statistics_performance_test", "language": "c"}, {"name": "census_statistics_multiple_writers_test", "language": "c"}, {"name": "census_statistics_multiple_writers_circular_buffer_test", "language": "c"}, {"name": "census_stub_test", "language": "c"}, {"name": "census_hash_table_test", "language": "c"}, {"name": "fling_test", "language": "c"}, {"name": "echo_test", "language": "c"}, {"name": "message_compress_test", "language": "c"}, {"name": "bin_encoder_test", "language": "c"}, {"name": "secure_endpoint_test", "language": "c"}, {"name": "httpcli_format_request_test", "language": "c"}, {"name": "httpcli_parser_test", "language": "c"}, {"name": "httpcli_test", "language": "c"}, {"name": "grpc_credentials_test", "language": "c"}, {"name": "grpc_base64_test", "language": "c"}, {"name": "grpc_json_token_test", "language": "c"}, {"name": "timeout_encoding_test", "language": "c"}, {"name": "fd_posix_test", "language": "c"}, {"name": "fling_stream_test", "language": "c"}, {"name": "lame_client_test", "language": "c"}, {"name": "thread_pool_test", "language": "c++"}, {"name": "status_test", "language": "c++"}, {"name": "sync_client_async_server_test", "language": "c++"}, {"name": "end2end_test", "language": "c++"}, {"name": "channel_arguments_test", "language": "c++"}, {"name": "credentials_test", "language": "c++"}, {"name": "alarm_test", "language": "c"}, {"name": "alarm_list_test", "language": "c"}, {"name": "alarm_heap_test", "language": "c"}, {"name": "time_test", "language": "c"}, {"name": "poll_kick_test", "language": "c"}, {"name": "chttp2_fake_security_cancel_after_accept_test", "language": "c"}, {"name": "chttp2_fake_security_cancel_after_accept_and_writes_closed_test", "language": "c"}, {"name": "chttp2_fake_security_cancel_after_invoke_test", "language": "c"}, {"name": "chttp2_fake_security_cancel_before_invoke_test", "language": "c"}, {"name": "chttp2_fake_security_cancel_in_a_vacuum_test", "language": "c"}, {"name": "chttp2_fake_security_census_simple_request_test", "language": "c"}, {"name": "chttp2_fake_security_disappearing_server_test", "language": "c"}, {"name": "chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test", "language": "c"}, {"name": "chttp2_fake_security_early_server_shutdown_finishes_tags_test", "language": "c"}, {"name": "chttp2_fake_security_graceful_server_shutdown_test", "language": "c"}, {"name": "chttp2_fake_security_invoke_large_request_test", "language": "c"}, {"name": "chttp2_fake_security_max_concurrent_streams_test", "language": "c"}, {"name": "chttp2_fake_security_no_op_test", "language": "c"}, {"name": "chttp2_fake_security_ping_pong_streaming_test", "language": "c"}, {"name": "chttp2_fake_security_request_response_with_binary_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_fake_security_request_response_with_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_fake_security_request_response_with_payload_test", "language": "c"}, {"name": "chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_fake_security_simple_delayed_request_test", "language": "c"}, {"name": "chttp2_fake_security_simple_request_test", "language": "c"}, {"name": "chttp2_fake_security_thread_stress_test", "language": "c"}, {"name": "chttp2_fake_security_writes_done_hangs_with_pending_read_test", "language": "c"}, {"name": "chttp2_fullstack_cancel_after_accept_test", "language": "c"}, {"name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_test", "language": "c"}, {"name": "chttp2_fullstack_cancel_after_invoke_test", "language": "c"}, {"name": "chttp2_fullstack_cancel_before_invoke_test", "language": "c"}, {"name": "chttp2_fullstack_cancel_in_a_vacuum_test", "language": "c"}, {"name": "chttp2_fullstack_census_simple_request_test", "language": "c"}, {"name": "chttp2_fullstack_disappearing_server_test", "language": "c"}, {"name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test", "language": "c"}, {"name": "chttp2_fullstack_early_server_shutdown_finishes_tags_test", "language": "c"}, {"name": "chttp2_fullstack_graceful_server_shutdown_test", "language": "c"}, {"name": "chttp2_fullstack_invoke_large_request_test", "language": "c"}, {"name": "chttp2_fullstack_max_concurrent_streams_test", "language": "c"}, {"name": "chttp2_fullstack_no_op_test", "language": "c"}, {"name": "chttp2_fullstack_ping_pong_streaming_test", "language": "c"}, {"name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_fullstack_request_response_with_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_fullstack_request_response_with_payload_test", "language": "c"}, {"name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_fullstack_simple_delayed_request_test", "language": "c"}, {"name": "chttp2_fullstack_simple_request_test", "language": "c"}, {"name": "chttp2_fullstack_thread_stress_test", "language": "c"}, {"name": "chttp2_fullstack_writes_done_hangs_with_pending_read_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_cancel_after_accept_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_cancel_after_invoke_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_cancel_before_invoke_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_census_simple_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_disappearing_server_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_graceful_server_shutdown_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_invoke_large_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_max_concurrent_streams_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_no_op_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_ping_pong_streaming_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_request_response_with_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_simple_delayed_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_simple_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_thread_stress_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_no_op_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test", "language": "c"}, {"name": "chttp2_socket_pair_cancel_after_accept_test", "language": "c"}, {"name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_test", "language": "c"}, {"name": "chttp2_socket_pair_cancel_after_invoke_test", "language": "c"}, {"name": "chttp2_socket_pair_cancel_before_invoke_test", "language": "c"}, {"name": "chttp2_socket_pair_cancel_in_a_vacuum_test", "language": "c"}, {"name": "chttp2_socket_pair_census_simple_request_test", "language": "c"}, {"name": "chttp2_socket_pair_disappearing_server_test", "language": "c"}, {"name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test", "language": "c"}, {"name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_test", "language": "c"}, {"name": "chttp2_socket_pair_graceful_server_shutdown_test", "language": "c"}, {"name": "chttp2_socket_pair_invoke_large_request_test", "language": "c"}, {"name": "chttp2_socket_pair_max_concurrent_streams_test", "language": "c"}, {"name": "chttp2_socket_pair_no_op_test", "language": "c"}, {"name": "chttp2_socket_pair_ping_pong_streaming_test", "language": "c"}, {"name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_request_response_with_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_request_response_with_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_simple_delayed_request_test", "language": "c"}, {"name": "chttp2_socket_pair_simple_request_test", "language": "c"}, {"name": "chttp2_socket_pair_thread_stress_test", "language": "c"}, {"name": "chttp2_socket_pair_writes_done_hangs_with_pending_read_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_no_op_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_thread_stress_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test", "language": "c"}] + From f24e7241aa0bbace23c48e5717fa07e19f37ed36 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 18 Jan 2015 10:49:16 -0800 Subject: [PATCH 065/121] Pretty print tests.json --- templates/tools/run_tests/tests.json.template | 3 +- tools/run_tests/tests.json | 803 +++++++++++++++++- 2 files changed, 804 insertions(+), 2 deletions(-) diff --git a/templates/tools/run_tests/tests.json.template b/templates/tools/run_tests/tests.json.template index 3a9e103281a..49784808434 100644 --- a/templates/tools/run_tests/tests.json.template +++ b/templates/tools/run_tests/tests.json.template @@ -4,5 +4,6 @@ import json ${json.dumps([{"name": tgt.name, "language": tgt.language} for tgt in targets - if tgt.build == "test" and tgt.name[-5:] == "_test"])} + if tgt.build == "test" and tgt.name[-5:] == "_test"], + sort_keys=True, indent=4)} diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index b042df80c9f..038fc8117a7 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -1,4 +1,805 @@ -[{"name": "grpc_byte_buffer_reader_test", "language": "c"}, {"name": "gpr_cancellable_test", "language": "c"}, {"name": "gpr_log_test", "language": "c"}, {"name": "gpr_useful_test", "language": "c"}, {"name": "gpr_cmdline_test", "language": "c"}, {"name": "gpr_histogram_test", "language": "c"}, {"name": "gpr_host_port_test", "language": "c"}, {"name": "gpr_slice_buffer_test", "language": "c"}, {"name": "gpr_slice_test", "language": "c"}, {"name": "gpr_string_test", "language": "c"}, {"name": "gpr_sync_test", "language": "c"}, {"name": "gpr_thd_test", "language": "c"}, {"name": "gpr_time_test", "language": "c"}, {"name": "murmur_hash_test", "language": "c"}, {"name": "grpc_stream_op_test", "language": "c"}, {"name": "alpn_test", "language": "c"}, {"name": "time_averaged_stats_test", "language": "c"}, {"name": "chttp2_stream_encoder_test", "language": "c"}, {"name": "hpack_table_test", "language": "c"}, {"name": "chttp2_stream_map_test", "language": "c"}, {"name": "hpack_parser_test", "language": "c"}, {"name": "transport_metadata_test", "language": "c"}, {"name": "chttp2_status_conversion_test", "language": "c"}, {"name": "chttp2_transport_end2end_test", "language": "c"}, {"name": "tcp_posix_test", "language": "c"}, {"name": "dualstack_socket_test", "language": "c"}, {"name": "no_server_test", "language": "c"}, {"name": "resolve_address_test", "language": "c"}, {"name": "sockaddr_utils_test", "language": "c"}, {"name": "tcp_server_posix_test", "language": "c"}, {"name": "tcp_client_posix_test", "language": "c"}, {"name": "grpc_channel_stack_test", "language": "c"}, {"name": "metadata_buffer_test", "language": "c"}, {"name": "grpc_completion_queue_test", "language": "c"}, {"name": "census_window_stats_test", "language": "c"}, {"name": "census_statistics_quick_test", "language": "c"}, {"name": "census_statistics_small_log_test", "language": "c"}, {"name": "census_statistics_performance_test", "language": "c"}, {"name": "census_statistics_multiple_writers_test", "language": "c"}, {"name": "census_statistics_multiple_writers_circular_buffer_test", "language": "c"}, {"name": "census_stub_test", "language": "c"}, {"name": "census_hash_table_test", "language": "c"}, {"name": "fling_test", "language": "c"}, {"name": "echo_test", "language": "c"}, {"name": "message_compress_test", "language": "c"}, {"name": "bin_encoder_test", "language": "c"}, {"name": "secure_endpoint_test", "language": "c"}, {"name": "httpcli_format_request_test", "language": "c"}, {"name": "httpcli_parser_test", "language": "c"}, {"name": "httpcli_test", "language": "c"}, {"name": "grpc_credentials_test", "language": "c"}, {"name": "grpc_base64_test", "language": "c"}, {"name": "grpc_json_token_test", "language": "c"}, {"name": "timeout_encoding_test", "language": "c"}, {"name": "fd_posix_test", "language": "c"}, {"name": "fling_stream_test", "language": "c"}, {"name": "lame_client_test", "language": "c"}, {"name": "thread_pool_test", "language": "c++"}, {"name": "status_test", "language": "c++"}, {"name": "sync_client_async_server_test", "language": "c++"}, {"name": "end2end_test", "language": "c++"}, {"name": "channel_arguments_test", "language": "c++"}, {"name": "credentials_test", "language": "c++"}, {"name": "alarm_test", "language": "c"}, {"name": "alarm_list_test", "language": "c"}, {"name": "alarm_heap_test", "language": "c"}, {"name": "time_test", "language": "c"}, {"name": "poll_kick_test", "language": "c"}, {"name": "chttp2_fake_security_cancel_after_accept_test", "language": "c"}, {"name": "chttp2_fake_security_cancel_after_accept_and_writes_closed_test", "language": "c"}, {"name": "chttp2_fake_security_cancel_after_invoke_test", "language": "c"}, {"name": "chttp2_fake_security_cancel_before_invoke_test", "language": "c"}, {"name": "chttp2_fake_security_cancel_in_a_vacuum_test", "language": "c"}, {"name": "chttp2_fake_security_census_simple_request_test", "language": "c"}, {"name": "chttp2_fake_security_disappearing_server_test", "language": "c"}, {"name": "chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test", "language": "c"}, {"name": "chttp2_fake_security_early_server_shutdown_finishes_tags_test", "language": "c"}, {"name": "chttp2_fake_security_graceful_server_shutdown_test", "language": "c"}, {"name": "chttp2_fake_security_invoke_large_request_test", "language": "c"}, {"name": "chttp2_fake_security_max_concurrent_streams_test", "language": "c"}, {"name": "chttp2_fake_security_no_op_test", "language": "c"}, {"name": "chttp2_fake_security_ping_pong_streaming_test", "language": "c"}, {"name": "chttp2_fake_security_request_response_with_binary_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_fake_security_request_response_with_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_fake_security_request_response_with_payload_test", "language": "c"}, {"name": "chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_fake_security_simple_delayed_request_test", "language": "c"}, {"name": "chttp2_fake_security_simple_request_test", "language": "c"}, {"name": "chttp2_fake_security_thread_stress_test", "language": "c"}, {"name": "chttp2_fake_security_writes_done_hangs_with_pending_read_test", "language": "c"}, {"name": "chttp2_fullstack_cancel_after_accept_test", "language": "c"}, {"name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_test", "language": "c"}, {"name": "chttp2_fullstack_cancel_after_invoke_test", "language": "c"}, {"name": "chttp2_fullstack_cancel_before_invoke_test", "language": "c"}, {"name": "chttp2_fullstack_cancel_in_a_vacuum_test", "language": "c"}, {"name": "chttp2_fullstack_census_simple_request_test", "language": "c"}, {"name": "chttp2_fullstack_disappearing_server_test", "language": "c"}, {"name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test", "language": "c"}, {"name": "chttp2_fullstack_early_server_shutdown_finishes_tags_test", "language": "c"}, {"name": "chttp2_fullstack_graceful_server_shutdown_test", "language": "c"}, {"name": "chttp2_fullstack_invoke_large_request_test", "language": "c"}, {"name": "chttp2_fullstack_max_concurrent_streams_test", "language": "c"}, {"name": "chttp2_fullstack_no_op_test", "language": "c"}, {"name": "chttp2_fullstack_ping_pong_streaming_test", "language": "c"}, {"name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_fullstack_request_response_with_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_fullstack_request_response_with_payload_test", "language": "c"}, {"name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_fullstack_simple_delayed_request_test", "language": "c"}, {"name": "chttp2_fullstack_simple_request_test", "language": "c"}, {"name": "chttp2_fullstack_thread_stress_test", "language": "c"}, {"name": "chttp2_fullstack_writes_done_hangs_with_pending_read_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_cancel_after_accept_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_cancel_after_invoke_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_cancel_before_invoke_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_census_simple_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_disappearing_server_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_graceful_server_shutdown_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_invoke_large_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_max_concurrent_streams_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_no_op_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_ping_pong_streaming_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_request_response_with_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_simple_delayed_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_simple_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_thread_stress_test", "language": "c"}, {"name": "chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_no_op_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test", "language": "c"}, {"name": "chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test", "language": "c"}, {"name": "chttp2_socket_pair_cancel_after_accept_test", "language": "c"}, {"name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_test", "language": "c"}, {"name": "chttp2_socket_pair_cancel_after_invoke_test", "language": "c"}, {"name": "chttp2_socket_pair_cancel_before_invoke_test", "language": "c"}, {"name": "chttp2_socket_pair_cancel_in_a_vacuum_test", "language": "c"}, {"name": "chttp2_socket_pair_census_simple_request_test", "language": "c"}, {"name": "chttp2_socket_pair_disappearing_server_test", "language": "c"}, {"name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test", "language": "c"}, {"name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_test", "language": "c"}, {"name": "chttp2_socket_pair_graceful_server_shutdown_test", "language": "c"}, {"name": "chttp2_socket_pair_invoke_large_request_test", "language": "c"}, {"name": "chttp2_socket_pair_max_concurrent_streams_test", "language": "c"}, {"name": "chttp2_socket_pair_no_op_test", "language": "c"}, {"name": "chttp2_socket_pair_ping_pong_streaming_test", "language": "c"}, {"name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_request_response_with_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_request_response_with_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_simple_delayed_request_test", "language": "c"}, {"name": "chttp2_socket_pair_simple_request_test", "language": "c"}, {"name": "chttp2_socket_pair_thread_stress_test", "language": "c"}, {"name": "chttp2_socket_pair_writes_done_hangs_with_pending_read_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_no_op_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_thread_stress_test", "language": "c"}, {"name": "chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test", "language": "c"}] +[ + { + "language": "c", + "name": "grpc_byte_buffer_reader_test" + }, + { + "language": "c", + "name": "gpr_cancellable_test" + }, + { + "language": "c", + "name": "gpr_log_test" + }, + { + "language": "c", + "name": "gpr_useful_test" + }, + { + "language": "c", + "name": "gpr_cmdline_test" + }, + { + "language": "c", + "name": "gpr_histogram_test" + }, + { + "language": "c", + "name": "gpr_host_port_test" + }, + { + "language": "c", + "name": "gpr_slice_buffer_test" + }, + { + "language": "c", + "name": "gpr_slice_test" + }, + { + "language": "c", + "name": "gpr_string_test" + }, + { + "language": "c", + "name": "gpr_sync_test" + }, + { + "language": "c", + "name": "gpr_thd_test" + }, + { + "language": "c", + "name": "gpr_time_test" + }, + { + "language": "c", + "name": "murmur_hash_test" + }, + { + "language": "c", + "name": "grpc_stream_op_test" + }, + { + "language": "c", + "name": "alpn_test" + }, + { + "language": "c", + "name": "time_averaged_stats_test" + }, + { + "language": "c", + "name": "chttp2_stream_encoder_test" + }, + { + "language": "c", + "name": "hpack_table_test" + }, + { + "language": "c", + "name": "chttp2_stream_map_test" + }, + { + "language": "c", + "name": "hpack_parser_test" + }, + { + "language": "c", + "name": "transport_metadata_test" + }, + { + "language": "c", + "name": "chttp2_status_conversion_test" + }, + { + "language": "c", + "name": "chttp2_transport_end2end_test" + }, + { + "language": "c", + "name": "tcp_posix_test" + }, + { + "language": "c", + "name": "dualstack_socket_test" + }, + { + "language": "c", + "name": "no_server_test" + }, + { + "language": "c", + "name": "resolve_address_test" + }, + { + "language": "c", + "name": "sockaddr_utils_test" + }, + { + "language": "c", + "name": "tcp_server_posix_test" + }, + { + "language": "c", + "name": "tcp_client_posix_test" + }, + { + "language": "c", + "name": "grpc_channel_stack_test" + }, + { + "language": "c", + "name": "metadata_buffer_test" + }, + { + "language": "c", + "name": "grpc_completion_queue_test" + }, + { + "language": "c", + "name": "census_window_stats_test" + }, + { + "language": "c", + "name": "census_statistics_quick_test" + }, + { + "language": "c", + "name": "census_statistics_small_log_test" + }, + { + "language": "c", + "name": "census_statistics_performance_test" + }, + { + "language": "c", + "name": "census_statistics_multiple_writers_test" + }, + { + "language": "c", + "name": "census_statistics_multiple_writers_circular_buffer_test" + }, + { + "language": "c", + "name": "census_stub_test" + }, + { + "language": "c", + "name": "census_hash_table_test" + }, + { + "language": "c", + "name": "fling_test" + }, + { + "language": "c", + "name": "echo_test" + }, + { + "language": "c", + "name": "message_compress_test" + }, + { + "language": "c", + "name": "bin_encoder_test" + }, + { + "language": "c", + "name": "secure_endpoint_test" + }, + { + "language": "c", + "name": "httpcli_format_request_test" + }, + { + "language": "c", + "name": "httpcli_parser_test" + }, + { + "language": "c", + "name": "httpcli_test" + }, + { + "language": "c", + "name": "grpc_credentials_test" + }, + { + "language": "c", + "name": "grpc_base64_test" + }, + { + "language": "c", + "name": "grpc_json_token_test" + }, + { + "language": "c", + "name": "timeout_encoding_test" + }, + { + "language": "c", + "name": "fd_posix_test" + }, + { + "language": "c", + "name": "fling_stream_test" + }, + { + "language": "c", + "name": "lame_client_test" + }, + { + "language": "c++", + "name": "thread_pool_test" + }, + { + "language": "c++", + "name": "status_test" + }, + { + "language": "c++", + "name": "sync_client_async_server_test" + }, + { + "language": "c++", + "name": "end2end_test" + }, + { + "language": "c++", + "name": "channel_arguments_test" + }, + { + "language": "c++", + "name": "credentials_test" + }, + { + "language": "c", + "name": "alarm_test" + }, + { + "language": "c", + "name": "alarm_list_test" + }, + { + "language": "c", + "name": "alarm_heap_test" + }, + { + "language": "c", + "name": "time_test" + }, + { + "language": "c", + "name": "poll_kick_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_no_op_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_no_op_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_no_op_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_no_op_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_no_op_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_no_op_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test" + } +] From 06b4ff2b7190254e01fc570a437a2618c7f73dde Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 18 Jan 2015 11:01:25 -0800 Subject: [PATCH 066/121] Simplify Python code --- tools/run_tests/run_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 71c68d7b24a..15c523731bd 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -45,7 +45,7 @@ class CLanguage(object): self.allow_hashing = True self.make_target = make_target with open('tools/run_tests/tests.json') as f: - js = json.loads(f.read()) + js = json.load(f) self.binaries = [tgt['name'] for tgt in js if tgt['language'] == test_lang] From 0b2a372f618d75d4267ee7ad0ef9fd3ef430cd4a Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 18 Jan 2015 11:30:07 -0800 Subject: [PATCH 067/121] build.json prettifier --- build.json | 977 +++++++++++++-------------- tools/build-cleaner/build-cleaner.py | 56 ++ 2 files changed, 544 insertions(+), 489 deletions(-) create mode 100755 tools/build-cleaner/build-cleaner.py diff --git a/build.json b/build.json index 0a50080db6e..97e19d52aca 100644 --- a/build.json +++ b/build.json @@ -11,88 +11,6 @@ "filegroups": [ { "name": "grpc_base", - "src": [ - "src/core/channel/call_op_string.c", - "src/core/channel/census_filter.c", - "src/core/channel/channel_args.c", - "src/core/channel/channel_stack.c", - "src/core/channel/child_channel.c", - "src/core/channel/client_channel.c", - "src/core/channel/client_setup.c", - "src/core/channel/connected_channel.c", - "src/core/channel/http_client_filter.c", - "src/core/channel/http_filter.c", - "src/core/channel/http_server_filter.c", - "src/core/channel/metadata_buffer.c", - "src/core/channel/noop_filter.c", - "src/core/compression/algorithm.c", - "src/core/compression/message_compress.c", - "src/core/httpcli/format_request.c", - "src/core/httpcli/httpcli.c", - "src/core/httpcli/httpcli_security_context.c", - "src/core/httpcli/parser.c", - "src/core/iomgr/alarm.c", - "src/core/iomgr/alarm_heap.c", - "src/core/iomgr/endpoint.c", - "src/core/iomgr/endpoint_pair_posix.c", - "src/core/iomgr/fd_posix.c", - "src/core/iomgr/iomgr.c", - "src/core/iomgr/iomgr_posix.c", - "src/core/iomgr/pollset_kick_posix.c", - "src/core/iomgr/pollset_multipoller_with_poll_posix.c", - "src/core/iomgr/pollset_posix.c", - "src/core/iomgr/resolve_address_posix.c", - "src/core/iomgr/sockaddr_utils.c", - "src/core/iomgr/socket_utils_common_posix.c", - "src/core/iomgr/socket_utils_linux.c", - "src/core/iomgr/socket_utils_posix.c", - "src/core/iomgr/tcp_client_posix.c", - "src/core/iomgr/tcp_posix.c", - "src/core/iomgr/tcp_server_posix.c", - "src/core/iomgr/time_averaged_stats.c", - "src/core/statistics/census_init.c", - "src/core/statistics/census_log.c", - "src/core/statistics/census_rpc_stats.c", - "src/core/statistics/census_tracing.c", - "src/core/statistics/hash_table.c", - "src/core/statistics/window_stats.c", - "src/core/surface/byte_buffer.c", - "src/core/surface/byte_buffer_reader.c", - "src/core/surface/call.c", - "src/core/surface/channel.c", - "src/core/surface/channel_create.c", - "src/core/surface/client.c", - "src/core/surface/completion_queue.c", - "src/core/surface/event_string.c", - "src/core/surface/init.c", - "src/core/surface/lame_client.c", - "src/core/surface/secure_channel_create.c", - "src/core/surface/secure_server_create.c", - "src/core/surface/server.c", - "src/core/surface/server_chttp2.c", - "src/core/surface/server_create.c", - "src/core/transport/chttp2/alpn.c", - "src/core/transport/chttp2/bin_encoder.c", - "src/core/transport/chttp2/frame_data.c", - "src/core/transport/chttp2/frame_goaway.c", - "src/core/transport/chttp2/frame_ping.c", - "src/core/transport/chttp2/frame_rst_stream.c", - "src/core/transport/chttp2/frame_settings.c", - "src/core/transport/chttp2/frame_window_update.c", - "src/core/transport/chttp2/hpack_parser.c", - "src/core/transport/chttp2/hpack_table.c", - "src/core/transport/chttp2/huffsyms.c", - "src/core/transport/chttp2/status_conversion.c", - "src/core/transport/chttp2/stream_encoder.c", - "src/core/transport/chttp2/stream_map.c", - "src/core/transport/chttp2/timeout_encoding.c", - "src/core/transport/chttp2/varint.c", - "src/core/transport/chttp2_transport.c", - "src/core/transport/metadata.c", - "src/core/transport/stream_op.c", - "src/core/transport/transport.c", - "third_party/cJSON/cJSON.c" - ], "public_headers": [ "include/grpc/byte_buffer.h", "include/grpc/byte_buffer_reader.h", @@ -127,9 +45,9 @@ "src/core/iomgr/iomgr.h", "src/core/iomgr/iomgr_internal.h", "src/core/iomgr/iomgr_posix.h", + "src/core/iomgr/pollset.h", "src/core/iomgr/pollset_kick.h", "src/core/iomgr/pollset_kick_posix.h", - "src/core/iomgr/pollset.h", "src/core/iomgr/pollset_posix.h", "src/core/iomgr/resolve_address.h", "src/core/iomgr/sockaddr.h", @@ -177,6 +95,88 @@ "src/core/transport/stream_op.h", "src/core/transport/transport.h", "src/core/transport/transport_impl.h" + ], + "src": [ + "src/core/channel/call_op_string.c", + "src/core/channel/census_filter.c", + "src/core/channel/channel_args.c", + "src/core/channel/channel_stack.c", + "src/core/channel/child_channel.c", + "src/core/channel/client_channel.c", + "src/core/channel/client_setup.c", + "src/core/channel/connected_channel.c", + "src/core/channel/http_client_filter.c", + "src/core/channel/http_filter.c", + "src/core/channel/http_server_filter.c", + "src/core/channel/metadata_buffer.c", + "src/core/channel/noop_filter.c", + "src/core/compression/algorithm.c", + "src/core/compression/message_compress.c", + "src/core/httpcli/format_request.c", + "src/core/httpcli/httpcli.c", + "src/core/httpcli/httpcli_security_context.c", + "src/core/httpcli/parser.c", + "src/core/iomgr/alarm.c", + "src/core/iomgr/alarm_heap.c", + "src/core/iomgr/endpoint.c", + "src/core/iomgr/endpoint_pair_posix.c", + "src/core/iomgr/fd_posix.c", + "src/core/iomgr/iomgr.c", + "src/core/iomgr/iomgr_posix.c", + "src/core/iomgr/pollset_kick_posix.c", + "src/core/iomgr/pollset_multipoller_with_poll_posix.c", + "src/core/iomgr/pollset_posix.c", + "src/core/iomgr/resolve_address_posix.c", + "src/core/iomgr/sockaddr_utils.c", + "src/core/iomgr/socket_utils_common_posix.c", + "src/core/iomgr/socket_utils_linux.c", + "src/core/iomgr/socket_utils_posix.c", + "src/core/iomgr/tcp_client_posix.c", + "src/core/iomgr/tcp_posix.c", + "src/core/iomgr/tcp_server_posix.c", + "src/core/iomgr/time_averaged_stats.c", + "src/core/statistics/census_init.c", + "src/core/statistics/census_log.c", + "src/core/statistics/census_rpc_stats.c", + "src/core/statistics/census_tracing.c", + "src/core/statistics/hash_table.c", + "src/core/statistics/window_stats.c", + "src/core/surface/byte_buffer.c", + "src/core/surface/byte_buffer_reader.c", + "src/core/surface/call.c", + "src/core/surface/channel.c", + "src/core/surface/channel_create.c", + "src/core/surface/client.c", + "src/core/surface/completion_queue.c", + "src/core/surface/event_string.c", + "src/core/surface/init.c", + "src/core/surface/lame_client.c", + "src/core/surface/secure_channel_create.c", + "src/core/surface/secure_server_create.c", + "src/core/surface/server.c", + "src/core/surface/server_chttp2.c", + "src/core/surface/server_create.c", + "src/core/transport/chttp2/alpn.c", + "src/core/transport/chttp2/bin_encoder.c", + "src/core/transport/chttp2/frame_data.c", + "src/core/transport/chttp2/frame_goaway.c", + "src/core/transport/chttp2/frame_ping.c", + "src/core/transport/chttp2/frame_rst_stream.c", + "src/core/transport/chttp2/frame_settings.c", + "src/core/transport/chttp2/frame_window_update.c", + "src/core/transport/chttp2/hpack_parser.c", + "src/core/transport/chttp2/hpack_table.c", + "src/core/transport/chttp2/huffsyms.c", + "src/core/transport/chttp2/status_conversion.c", + "src/core/transport/chttp2/stream_encoder.c", + "src/core/transport/chttp2/stream_map.c", + "src/core/transport/chttp2/timeout_encoding.c", + "src/core/transport/chttp2/varint.c", + "src/core/transport/chttp2_transport.c", + "src/core/transport/metadata.c", + "src/core/transport/stream_op.c", + "src/core/transport/transport.c", + "third_party/cJSON/cJSON.c" ] } ], @@ -184,41 +184,11 @@ { "name": "gpr", "build": "all", - "secure": false, - "vs_project_guid": "{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}", - "src": [ - "src/core/support/alloc.c", - "src/core/support/cancellable.c", - "src/core/support/cmdline.c", - "src/core/support/cpu_linux.c", - "src/core/support/cpu_posix.c", - "src/core/support/histogram.c", - "src/core/support/host_port.c", - "src/core/support/log_android.c", - "src/core/support/log.c", - "src/core/support/log_linux.c", - "src/core/support/log_posix.c", - "src/core/support/log_win32.c", - "src/core/support/murmur_hash.c", - "src/core/support/slice_buffer.c", - "src/core/support/slice.c", - "src/core/support/string.c", - "src/core/support/string_posix.c", - "src/core/support/string_win32.c", - "src/core/support/sync.c", - "src/core/support/sync_posix.c", - "src/core/support/sync_win32.c", - "src/core/support/thd_posix.c", - "src/core/support/thd_win32.c", - "src/core/support/time.c", - "src/core/support/time_posix.c", - "src/core/support/time_win32.c" - ], "public_headers": [ "include/grpc/support/alloc.h", + "include/grpc/support/atm.h", "include/grpc/support/atm_gcc_atomic.h", "include/grpc/support/atm_gcc_sync.h", - "include/grpc/support/atm.h", "include/grpc/support/atm_win32.h", "include/grpc/support/cancellable_platform.h", "include/grpc/support/cmdline.h", @@ -226,11 +196,11 @@ "include/grpc/support/host_port.h", "include/grpc/support/log.h", "include/grpc/support/port_platform.h", - "include/grpc/support/slice_buffer.h", "include/grpc/support/slice.h", + "include/grpc/support/slice_buffer.h", "include/grpc/support/string.h", - "include/grpc/support/sync_generic.h", "include/grpc/support/sync.h", + "include/grpc/support/sync_generic.h", "include/grpc/support/sync_posix.h", "include/grpc/support/sync_win32.h", "include/grpc/support/thd.h", @@ -245,32 +215,49 @@ "src/core/support/cpu.h", "src/core/support/murmur_hash.h", "src/core/support/thd_internal.h" - ] + ], + "src": [ + "src/core/support/alloc.c", + "src/core/support/cancellable.c", + "src/core/support/cmdline.c", + "src/core/support/cpu_linux.c", + "src/core/support/cpu_posix.c", + "src/core/support/histogram.c", + "src/core/support/host_port.c", + "src/core/support/log.c", + "src/core/support/log_android.c", + "src/core/support/log_linux.c", + "src/core/support/log_posix.c", + "src/core/support/log_win32.c", + "src/core/support/murmur_hash.c", + "src/core/support/slice.c", + "src/core/support/slice_buffer.c", + "src/core/support/string.c", + "src/core/support/string_posix.c", + "src/core/support/string_win32.c", + "src/core/support/sync.c", + "src/core/support/sync_posix.c", + "src/core/support/sync_win32.c", + "src/core/support/thd_posix.c", + "src/core/support/thd_win32.c", + "src/core/support/time.c", + "src/core/support/time_posix.c", + "src/core/support/time_win32.c" + ], + "secure": false, + "vs_project_guid": "{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}" }, { - "name": "grpc", - "build": "all", - "secure": true, - "vs_project_guid": "{29D16885-7228-4C31-81ED-5F9187C7F2A9}", - "baselib": true, - "filegroups": [ - "grpc_base" - ], + "name": "gpr_test_util", + "build": "private", "src": [ - "src/core/security/auth.c", - "src/core/security/base64.c", - "src/core/security/credentials.c", - "src/core/security/factories.c", - "src/core/security/google_root_certs.c", - "src/core/security/json_token.c", - "src/core/security/secure_endpoint.c", - "src/core/security/secure_transport_setup.c", - "src/core/security/security_context.c", - "src/core/security/server_secure_chttp2.c", - "src/core/tsi/fake_transport_security.c", - "src/core/tsi/ssl_transport_security.c", - "src/core/tsi/transport_security.c" + "test/core/util/test_config.c" ], + "vs_project_guid": "{EAB0A629-17A9-44DB-B5FF-E91A721FE037}" + }, + { + "name": "grpc", + "build": "all", "public_headers": [ "include/grpc/grpc_security.h" ], @@ -287,81 +274,37 @@ "src/core/tsi/transport_security.h", "src/core/tsi/transport_security_interface.h" ], + "src": [ + "src/core/security/auth.c", + "src/core/security/base64.c", + "src/core/security/credentials.c", + "src/core/security/factories.c", + "src/core/security/google_root_certs.c", + "src/core/security/json_token.c", + "src/core/security/secure_endpoint.c", + "src/core/security/secure_transport_setup.c", + "src/core/security/security_context.c", + "src/core/security/server_secure_chttp2.c", + "src/core/tsi/fake_transport_security.c", + "src/core/tsi/ssl_transport_security.c", + "src/core/tsi/transport_security.c" + ], + "baselib": true, "deps": [ "gpr" - ] - }, - { - "name": "grpc_unsecure", - "build": "all", - "secure": false, - "vs_project_guid": "{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}", - "baselib": true, + ], "filegroups": [ "grpc_base" ], - "deps": [ - "gpr" - ] - }, - { - "name": "gpr_test_util", - "build": "private", - "vs_project_guid": "{EAB0A629-17A9-44DB-B5FF-E91A721FE037}", - "src": [ - "test/core/util/test_config.c" - ] - }, - { - "name": "grpc_test_util", - "build": "private", - "vs_project_guid": "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}", - "src": [ - "test/core/end2end/cq_verifier.c", - "test/core/end2end/data/test_root_cert.c", - "test/core/end2end/data/prod_roots_certs.c", - "test/core/end2end/data/server1_cert.c", - "test/core/end2end/data/server1_key.c", - "test/core/iomgr/endpoint_tests.c", - "test/core/statistics/census_log_tests.c", - "test/core/transport/transport_end2end_tests.c", - "test/core/util/grpc_profiler.c", - "test/core/util/port_posix.c", - "test/core/util/parse_hexstring.c", - "test/core/util/slice_splitter.c" - ] + "secure": true, + "vs_project_guid": "{29D16885-7228-4C31-81ED-5F9187C7F2A9}" }, { "name": "grpc++", "build": "all", - "c++": true, - "secure": true, - "vs_project_guid": "{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}", - "src": [ - "src/cpp/client/channel.cc", - "src/cpp/client/channel_arguments.cc", - "src/cpp/client/client_context.cc", - "src/cpp/client/create_channel.cc", - "src/cpp/client/credentials.cc", - "src/cpp/client/internal_stub.cc", - "src/cpp/proto/proto_utils.cc", - "src/cpp/common/rpc_method.cc", - "src/cpp/server/async_server.cc", - "src/cpp/server/async_server_context.cc", - "src/cpp/server/completion_queue.cc", - "src/cpp/server/server_builder.cc", - "src/cpp/server/server_context_impl.cc", - "src/cpp/server/server.cc", - "src/cpp/server/server_rpc_handler.cc", - "src/cpp/server/server_credentials.cc", - "src/cpp/server/thread_pool.cc", - "src/cpp/stream/stream_context.cc", - "src/cpp/util/status.cc", - "src/cpp/util/time.cc" - ], "public_headers": [ - "include/grpc++/async_server_context.h", "include/grpc++/async_server.h", + "include/grpc++/async_server_context.h", "include/grpc++/channel_arguments.h", "include/grpc++/channel_interface.h", "include/grpc++/client_context.h", @@ -372,13 +315,13 @@ "include/grpc++/impl/internal_stub.h", "include/grpc++/impl/rpc_method.h", "include/grpc++/impl/rpc_service_method.h", + "include/grpc++/server.h", "include/grpc++/server_builder.h", "include/grpc++/server_context.h", "include/grpc++/server_credentials.h", - "include/grpc++/server.h", "include/grpc++/status.h", - "include/grpc++/stream_context_interface.h", - "include/grpc++/stream.h" + "include/grpc++/stream.h", + "include/grpc++/stream_context_interface.h" ], "headers": [ "src/cpp/client/channel.h", @@ -388,74 +331,86 @@ "src/cpp/stream/stream_context.h", "src/cpp/util/time.h" ], + "src": [ + "src/cpp/client/channel.cc", + "src/cpp/client/channel_arguments.cc", + "src/cpp/client/client_context.cc", + "src/cpp/client/create_channel.cc", + "src/cpp/client/credentials.cc", + "src/cpp/client/internal_stub.cc", + "src/cpp/common/rpc_method.cc", + "src/cpp/proto/proto_utils.cc", + "src/cpp/server/async_server.cc", + "src/cpp/server/async_server_context.cc", + "src/cpp/server/completion_queue.cc", + "src/cpp/server/server.cc", + "src/cpp/server/server_builder.cc", + "src/cpp/server/server_context_impl.cc", + "src/cpp/server/server_credentials.cc", + "src/cpp/server/server_rpc_handler.cc", + "src/cpp/server/thread_pool.cc", + "src/cpp/stream/stream_context.cc", + "src/cpp/util/status.cc", + "src/cpp/util/time.cc" + ], + "c++": true, "deps": [ "grpc" - ] + ], + "secure": true, + "vs_project_guid": "{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}" }, { "name": "grpc++_test_util", "build": "private", "src": [ - "test/cpp/util/messages.proto", "test/cpp/util/echo.proto", "test/cpp/util/echo_duplicate.proto", - "test/cpp/util/create_test_channel.cc", - "test/cpp/end2end/async_test_server.cc" + "test/cpp/util/messages.proto", + "test/cpp/end2end/async_test_server.cc", + "test/cpp/util/create_test_channel.cc" ], "c++": true - } - ], - "targets": [ - { - "name": "gen_hpack_tables", - "build": "tool", - "src": [ - "src/core/transport/chttp2/gen_hpack_tables.c" - ], - "deps": [ - "grpc_test_util", - "gpr", - "grpc" - ] - }, - - { - "name": "cpp_plugin", - "build": "protoc", - "c++": true, - "secure": false, - "src": [ - "src/compiler/cpp_plugin.cc", - "src/compiler/cpp_generator.cc" - ], - "headers": [ - "src/compiler/cpp_generator.h", - "src/compiler/cpp_generator_helpers.h" - ], - "deps": [] }, { - "name": "ruby_plugin", - "build": "protoc", - "c++": true, - "secure": false, + "name": "grpc_test_util", + "build": "private", "src": [ - "src/compiler/ruby_plugin.cc", - "src/compiler/ruby_generator.cc" - ], - "headers": [ - "src/compiler/cpp_generator.h", - "src/compiler/cpp_generator_helpers-inl.h", - "src/compiler/cpp_generator_map-inl.h", - "src/compiler/cpp_generator_string-inl.h" + "test/core/end2end/cq_verifier.c", + "test/core/end2end/data/prod_roots_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/iomgr/endpoint_tests.c", + "test/core/statistics/census_log_tests.c", + "test/core/transport/transport_end2end_tests.c", + "test/core/util/grpc_profiler.c", + "test/core/util/parse_hexstring.c", + "test/core/util/port_posix.c", + "test/core/util/slice_splitter.c" ], - "deps": [] + "vs_project_guid": "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}" }, { - "name": "grpc_byte_buffer_reader_test", + "name": "grpc_unsecure", + "build": "all", + "baselib": true, + "deps": [ + "gpr" + ], + "filegroups": [ + "grpc_base" + ], + "secure": false, + "vs_project_guid": "{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}" + } + ], + "targets": [ + { + "name": "alarm_heap_test", "build": "test", "src": [ - "test/core/surface/byte_buffer_reader_test.c" + "test/core/iomgr/alarm_heap_test.c" ], "deps": [ "grpc_test_util", @@ -465,153 +420,179 @@ ] }, { - "name": "gpr_cancellable_test", + "name": "alarm_list_test", "build": "test", "src": [ - "test/core/support/cancellable_test.c" + "test/core/iomgr/alarm_list_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "gpr_log_test", + "name": "alarm_test", "build": "test", "src": [ - "test/core/support/log_test.c" + "test/core/iomgr/alarm_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "gpr_useful_test", + "name": "alpn_test", "build": "test", "src": [ - "test/core/support/useful_test.c" + "test/core/transport/chttp2/alpn_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "gpr_cmdline_test", + "name": "bin_encoder_test", "build": "test", "src": [ - "test/core/support/cmdline_test.c" + "test/core/transport/chttp2/bin_encoder_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "gpr_histogram_test", + "name": "census_hash_table_test", "build": "test", "src": [ - "test/core/support/histogram_test.c" + "test/core/statistics/hash_table_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "gpr_host_port_test", + "name": "census_statistics_multiple_writers_circular_buffer_test", "build": "test", "src": [ - "test/core/support/host_port_test.c" + "test/core/statistics/multiple_writers_circular_buffer_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "gpr_slice_buffer_test", + "name": "census_statistics_multiple_writers_test", "build": "test", "src": [ - "test/core/support/slice_buffer_test.c" + "test/core/statistics/multiple_writers_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "gpr_slice_test", + "name": "census_statistics_performance_test", "build": "test", "src": [ - "test/core/support/slice_test.c" + "test/core/statistics/performance_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "gpr_string_test", + "name": "census_statistics_quick_test", "build": "test", "src": [ - "test/core/support/string_test.c" + "test/core/statistics/quick_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "gpr_sync_test", + "name": "census_statistics_small_log_test", "build": "test", "src": [ - "test/core/support/sync_test.c" + "test/core/statistics/small_log_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "gpr_thd_test", - "build": "test", + "name": "census_stats_store_test", + "build": "executable", "src": [ - "test/core/support/thd_test.c" + "test/core/statistics/rpc_stats_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "gpr_time_test", + "name": "census_stub_test", "build": "test", "src": [ - "test/core/support/time_test.c" + "test/core/statistics/census_stub_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "murmur_hash_test", - "build": "test", + "name": "census_trace_store_test", + "build": "executable", "src": [ - "test/core/support/murmur_hash_test.c" + "test/core/statistics/trace_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "grpc_stream_op_test", + "name": "census_window_stats_test", "build": "test", "src": [ - "test/core/transport/stream_op_test.c" + "test/core/statistics/window_stats_test.c" ], "deps": [ "grpc_test_util", @@ -621,23 +602,23 @@ ] }, { - "name": "alpn_test", + "name": "channel_arguments_test", "build": "test", "src": [ - "test/core/transport/chttp2/alpn_test.c" + "test/cpp/client/channel_arguments_test.cc" ], + "c++": true, "deps": [ - "grpc_test_util", + "grpc++", "grpc", - "gpr_test_util", "gpr" ] }, { - "name": "time_averaged_stats_test", + "name": "chttp2_status_conversion_test", "build": "test", "src": [ - "test/core/iomgr/time_averaged_stats_test.c" + "test/core/transport/chttp2/status_conversion_test.c" ], "deps": [ "grpc_test_util", @@ -660,10 +641,10 @@ ] }, { - "name": "hpack_table_test", + "name": "chttp2_stream_map_test", "build": "test", "src": [ - "test/core/transport/chttp2/hpack_table_test.c" + "test/core/transport/chttp2/stream_map_test.c" ], "deps": [ "grpc_test_util", @@ -673,10 +654,10 @@ ] }, { - "name": "chttp2_stream_map_test", + "name": "chttp2_transport_end2end_test", "build": "test", "src": [ - "test/core/transport/chttp2/stream_map_test.c" + "test/core/transport/chttp2_transport_end2end_test.c" ], "deps": [ "grpc_test_util", @@ -686,23 +667,38 @@ ] }, { - "name": "hpack_parser_test", + "name": "cpp_plugin", + "build": "protoc", + "headers": [ + "src/compiler/cpp_generator.h", + "src/compiler/cpp_generator_helpers.h" + ], + "src": [ + "src/compiler/cpp_generator.cc", + "src/compiler/cpp_plugin.cc" + ], + "c++": true, + "deps": [], + "secure": false + }, + { + "name": "credentials_test", "build": "test", "src": [ - "test/core/transport/chttp2/hpack_parser_test.c" + "test/cpp/client/credentials_test.cc" ], + "c++": true, "deps": [ - "grpc_test_util", + "grpc++", "grpc", - "gpr_test_util", "gpr" ] }, { - "name": "transport_metadata_test", + "name": "dualstack_socket_test", "build": "test", "src": [ - "test/core/transport/metadata_test.c" + "test/core/end2end/dualstack_socket_test.c" ], "deps": [ "grpc_test_util", @@ -712,36 +708,38 @@ ] }, { - "name": "chttp2_status_conversion_test", + "name": "echo_client", "build": "test", "src": [ - "test/core/transport/chttp2/status_conversion_test.c" + "test/core/echo/client.c" ], "deps": [ "grpc_test_util", "grpc", "gpr_test_util", "gpr" - ] + ], + "run": false }, { - "name": "chttp2_transport_end2end_test", + "name": "echo_server", "build": "test", "src": [ - "test/core/transport/chttp2_transport_end2end_test.c" + "test/core/echo/server.c" ], "deps": [ "grpc_test_util", "grpc", "gpr_test_util", "gpr" - ] + ], + "run": false }, { - "name": "tcp_posix_test", + "name": "echo_test", "build": "test", "src": [ - "test/core/iomgr/tcp_posix_test.c" + "test/core/echo/echo_test.c" ], "deps": [ "grpc_test_util", @@ -751,23 +749,26 @@ ] }, { - "name": "dualstack_socket_test", + "name": "end2end_test", "build": "test", "src": [ - "test/core/end2end/dualstack_socket_test.c" + "test/cpp/end2end/end2end_test.cc" ], + "c++": true, "deps": [ + "grpc++_test_util", "grpc_test_util", + "grpc++", "grpc", "gpr_test_util", "gpr" ] }, { - "name": "no_server_test", + "name": "fd_posix_test", "build": "test", "src": [ - "test/core/end2end/no_server_test.c" + "test/core/iomgr/fd_posix_test.c" ], "deps": [ "grpc_test_util", @@ -777,36 +778,38 @@ ] }, { - "name": "resolve_address_test", + "name": "fling_client", "build": "test", "src": [ - "test/core/iomgr/resolve_address_test.c" + "test/core/fling/client.c" ], "deps": [ "grpc_test_util", "grpc", "gpr_test_util", "gpr" - ] + ], + "run": false }, { - "name": "sockaddr_utils_test", + "name": "fling_server", "build": "test", "src": [ - "test/core/iomgr/sockaddr_utils_test.c" + "test/core/fling/server.c" ], "deps": [ "grpc_test_util", "grpc", "gpr_test_util", "gpr" - ] + ], + "run": false }, { - "name": "tcp_server_posix_test", + "name": "fling_stream_test", "build": "test", "src": [ - "test/core/iomgr/tcp_server_posix_test.c" + "test/core/fling/fling_stream_test.c" ], "deps": [ "grpc_test_util", @@ -816,10 +819,10 @@ ] }, { - "name": "tcp_client_posix_test", + "name": "fling_test", "build": "test", "src": [ - "test/core/iomgr/tcp_client_posix_test.c" + "test/core/fling/fling_test.c" ], "deps": [ "grpc_test_util", @@ -829,179 +832,154 @@ ] }, { - "name": "grpc_channel_stack_test", - "build": "test", + "name": "gen_hpack_tables", + "build": "tool", "src": [ - "test/core/channel/channel_stack_test.c" + "src/core/transport/chttp2/gen_hpack_tables.c" ], "deps": [ "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" + "gpr", + "grpc" ] }, { - "name": "metadata_buffer_test", + "name": "gpr_cancellable_test", "build": "test", "src": [ - "test/core/channel/metadata_buffer_test.c" + "test/core/support/cancellable_test.c" ], "deps": [ - "grpc_test_util", - "grpc", "gpr_test_util", "gpr" ] }, { - "name": "grpc_completion_queue_test", + "name": "gpr_cmdline_test", "build": "test", "src": [ - "test/core/surface/completion_queue_test.c" + "test/core/support/cmdline_test.c" ], "deps": [ - "grpc_test_util", - "grpc", "gpr_test_util", "gpr" ] }, { - "name": "grpc_completion_queue_benchmark", - "build": "benchmark", + "name": "gpr_histogram_test", + "build": "test", "src": [ - "test/core/surface/completion_queue_benchmark.c" + "test/core/support/histogram_test.c" ], "deps": [ - "grpc_test_util", - "grpc", "gpr_test_util", "gpr" ] }, { - "name": "census_trace_store_test", - "build": "executable", + "name": "gpr_host_port_test", + "build": "test", "src": [ - "test/core/statistics/trace_test.c" + "test/core/support/host_port_test.c" ], - "deps": [ - "grpc_test_util", - "grpc", + "deps": [ "gpr_test_util", "gpr" ] }, { - "name": "census_stats_store_test", - "build": "executable", + "name": "gpr_log_test", + "build": "test", "src": [ - "test/core/statistics/rpc_stats_test.c" + "test/core/support/log_test.c" ], "deps": [ - "grpc_test_util", - "grpc", "gpr_test_util", "gpr" ] }, { - "name": "census_window_stats_test", + "name": "gpr_slice_buffer_test", "build": "test", "src": [ - "test/core/statistics/window_stats_test.c" + "test/core/support/slice_buffer_test.c" ], "deps": [ - "grpc_test_util", - "grpc", "gpr_test_util", "gpr" ] }, { - "name": "census_statistics_quick_test", + "name": "gpr_slice_test", "build": "test", "src": [ - "test/core/statistics/quick_test.c" + "test/core/support/slice_test.c" ], "deps": [ - "grpc_test_util", - "grpc", "gpr_test_util", "gpr" ] }, { - "name": "census_statistics_small_log_test", + "name": "gpr_string_test", "build": "test", "src": [ - "test/core/statistics/small_log_test.c" + "test/core/support/string_test.c" ], "deps": [ - "grpc_test_util", - "grpc", "gpr_test_util", "gpr" ] }, { - "name": "census_statistics_performance_test", + "name": "gpr_sync_test", "build": "test", "src": [ - "test/core/statistics/performance_test.c" + "test/core/support/sync_test.c" ], "deps": [ - "grpc_test_util", - "grpc", "gpr_test_util", "gpr" ] }, { - "name": "census_statistics_multiple_writers_test", + "name": "gpr_thd_test", "build": "test", "src": [ - "test/core/statistics/multiple_writers_test.c" + "test/core/support/thd_test.c" ], "deps": [ - "grpc_test_util", - "grpc", "gpr_test_util", "gpr" ] }, { - "name": "census_statistics_multiple_writers_circular_buffer_test", + "name": "gpr_time_test", "build": "test", "src": [ - "test/core/statistics/multiple_writers_circular_buffer_test.c" + "test/core/support/time_test.c" ], "deps": [ - "grpc_test_util", - "grpc", "gpr_test_util", "gpr" ] }, { - "name": "census_stub_test", + "name": "gpr_useful_test", "build": "test", "src": [ - "test/core/statistics/census_stub_test.c" + "test/core/support/useful_test.c" ], "deps": [ - "grpc_test_util", - "grpc", "gpr_test_util", "gpr" ] }, { - "name": "census_hash_table_test", + "name": "grpc_base64_test", "build": "test", "src": [ - "test/core/statistics/hash_table_test.c" + "test/core/security/base64_test.c" ], "deps": [ "grpc_test_util", @@ -1011,11 +989,10 @@ ] }, { - "name": "fling_server", + "name": "grpc_byte_buffer_reader_test", "build": "test", - "run": false, "src": [ - "test/core/fling/server.c" + "test/core/surface/byte_buffer_reader_test.c" ], "deps": [ "grpc_test_util", @@ -1025,11 +1002,10 @@ ] }, { - "name": "fling_client", + "name": "grpc_channel_stack_test", "build": "test", - "run": false, "src": [ - "test/core/fling/client.c" + "test/core/channel/channel_stack_test.c" ], "deps": [ "grpc_test_util", @@ -1039,10 +1015,10 @@ ] }, { - "name": "fling_test", - "build": "test", + "name": "grpc_completion_queue_benchmark", + "build": "benchmark", "src": [ - "test/core/fling/fling_test.c" + "test/core/surface/completion_queue_benchmark.c" ], "deps": [ "grpc_test_util", @@ -1052,11 +1028,10 @@ ] }, { - "name": "echo_server", + "name": "grpc_completion_queue_test", "build": "test", - "run": false, "src": [ - "test/core/echo/server.c" + "test/core/surface/completion_queue_test.c" ], "deps": [ "grpc_test_util", @@ -1066,11 +1041,10 @@ ] }, { - "name": "echo_client", + "name": "grpc_credentials_test", "build": "test", - "run": false, "src": [ - "test/core/echo/client.c" + "test/core/security/credentials_test.c" ], "deps": [ "grpc_test_util", @@ -1080,10 +1054,10 @@ ] }, { - "name": "echo_test", - "build": "test", + "name": "grpc_fetch_oauth2", + "build": "tool", "src": [ - "test/core/echo/echo_test.c" + "test/core/security/fetch_oauth2.c" ], "deps": [ "grpc_test_util", @@ -1093,10 +1067,10 @@ ] }, { - "name": "low_level_ping_pong_benchmark", - "build": "benchmark", + "name": "grpc_json_token_test", + "build": "test", "src": [ - "test/core/network_benchmarks/low_level_ping_pong.c" + "test/core/security/json_token_test.c" ], "deps": [ "grpc_test_util", @@ -1106,10 +1080,10 @@ ] }, { - "name": "message_compress_test", + "name": "grpc_stream_op_test", "build": "test", "src": [ - "test/core/compression/message_compress_test.c" + "test/core/transport/stream_op_test.c" ], "deps": [ "grpc_test_util", @@ -1119,10 +1093,10 @@ ] }, { - "name": "bin_encoder_test", + "name": "hpack_parser_test", "build": "test", "src": [ - "test/core/transport/chttp2/bin_encoder_test.c" + "test/core/transport/chttp2/hpack_parser_test.c" ], "deps": [ "grpc_test_util", @@ -1132,10 +1106,10 @@ ] }, { - "name": "secure_endpoint_test", + "name": "hpack_table_test", "build": "test", "src": [ - "test/core/security/secure_endpoint_test.c" + "test/core/transport/chttp2/hpack_table_test.c" ], "deps": [ "grpc_test_util", @@ -1184,36 +1158,50 @@ ] }, { - "name": "grpc_credentials_test", + "name": "interop_client", "build": "test", "src": [ - "test/core/security/credentials_test.c" + "test/cpp/interop/empty.proto", + "test/cpp/interop/messages.proto", + "test/cpp/interop/test.proto", + "test/cpp/interop/client.cc" ], + "c++": true, "deps": [ + "grpc++_test_util", "grpc_test_util", + "grpc++", "grpc", "gpr_test_util", "gpr" - ] + ], + "run": false }, { - "name": "grpc_fetch_oauth2", - "build": "tool", + "name": "interop_server", + "build": "test", "src": [ - "test/core/security/fetch_oauth2.c" + "test/cpp/interop/empty.proto", + "test/cpp/interop/messages.proto", + "test/cpp/interop/test.proto", + "test/cpp/interop/server.cc" ], + "c++": true, "deps": [ + "grpc++_test_util", "grpc_test_util", + "grpc++", "grpc", "gpr_test_util", "gpr" - ] + ], + "run": false }, { - "name": "grpc_base64_test", + "name": "lame_client_test", "build": "test", "src": [ - "test/core/security/base64_test.c" + "test/core/surface/lame_client_test.c" ], "deps": [ "grpc_test_util", @@ -1223,10 +1211,10 @@ ] }, { - "name": "grpc_json_token_test", - "build": "test", + "name": "low_level_ping_pong_benchmark", + "build": "benchmark", "src": [ - "test/core/security/json_token_test.c" + "test/core/network_benchmarks/low_level_ping_pong.c" ], "deps": [ "grpc_test_util", @@ -1236,10 +1224,10 @@ ] }, { - "name": "timeout_encoding_test", + "name": "message_compress_test", "build": "test", "src": [ - "test/core/transport/chttp2/timeout_encoding_test.c" + "test/core/compression/message_compress_test.c" ], "deps": [ "grpc_test_util", @@ -1249,10 +1237,10 @@ ] }, { - "name": "fd_posix_test", + "name": "metadata_buffer_test", "build": "test", "src": [ - "test/core/iomgr/fd_posix_test.c" + "test/core/channel/metadata_buffer_test.c" ], "deps": [ "grpc_test_util", @@ -1262,23 +1250,21 @@ ] }, { - "name": "fling_stream_test", + "name": "murmur_hash_test", "build": "test", "src": [ - "test/core/fling/fling_stream_test.c" + "test/core/support/murmur_hash_test.c" ], "deps": [ - "grpc_test_util", - "grpc", "gpr_test_util", "gpr" ] }, { - "name": "lame_client_test", + "name": "no_server_test", "build": "test", "src": [ - "test/core/surface/lame_client_test.c" + "test/core/end2end/no_server_test.c" ], "deps": [ "grpc_test_util", @@ -1288,28 +1274,28 @@ ] }, { - "name": "thread_pool_test", + "name": "poll_kick_test", "build": "test", - "c++": true, "src": [ - "test/cpp/server/thread_pool_test.cc" + "test/core/iomgr/poll_kick_test.c" ], "deps": [ "grpc_test_util", - "grpc++", "grpc", "gpr_test_util", "gpr" ] }, { - "name": "status_test", + "name": "qps_client", "build": "test", - "c++": true, "src": [ - "test/cpp/util/status_test.cc" + "test/cpp/qps/qpstest.proto", + "test/cpp/qps/client.cc" ], + "c++": true, "deps": [ + "grpc++_test_util", "grpc_test_util", "grpc++", "grpc", @@ -1318,12 +1304,13 @@ ] }, { - "name": "sync_client_async_server_test", + "name": "qps_server", "build": "test", - "c++": true, "src": [ - "test/cpp/end2end/sync_client_async_server_test.cc" + "test/cpp/qps/qpstest.proto", + "test/cpp/qps/server.cc" ], + "c++": true, "deps": [ "grpc++_test_util", "grpc_test_util", @@ -1334,72 +1321,69 @@ ] }, { - "name": "qps_client", + "name": "resolve_address_test", "build": "test", - "c++": true, "src": [ - "test/cpp/qps/qpstest.proto", - "test/cpp/qps/client.cc" + "test/core/iomgr/resolve_address_test.c" ], "deps": [ - "grpc++_test_util", "grpc_test_util", - "grpc++", "grpc", "gpr_test_util", "gpr" ] }, { - "name": "qps_server", - "build": "test", + "name": "ruby_plugin", + "build": "protoc", + "headers": [ + "src/compiler/cpp_generator.h", + "src/compiler/cpp_generator_helpers-inl.h", + "src/compiler/cpp_generator_map-inl.h", + "src/compiler/cpp_generator_string-inl.h" + ], + "src": [ + "src/compiler/ruby_generator.cc", + "src/compiler/ruby_plugin.cc" + ], "c++": true, + "deps": [], + "secure": false + }, + { + "name": "secure_endpoint_test", + "build": "test", "src": [ - "test/cpp/qps/qpstest.proto", - "test/cpp/qps/server.cc" + "test/core/security/secure_endpoint_test.c" ], "deps": [ - "grpc++_test_util", "grpc_test_util", - "grpc++", "grpc", "gpr_test_util", "gpr" ] }, { - "name": "interop_server", + "name": "sockaddr_utils_test", "build": "test", - "run": false, - "c++": true, "src": [ - "test/cpp/interop/empty.proto", - "test/cpp/interop/messages.proto", - "test/cpp/interop/test.proto", - "test/cpp/interop/server.cc" + "test/core/iomgr/sockaddr_utils_test.c" ], "deps": [ - "grpc++_test_util", "grpc_test_util", - "grpc++", "grpc", "gpr_test_util", "gpr" ] }, { - "name": "interop_client", + "name": "status_test", "build": "test", - "run": false, - "c++": true, "src": [ - "test/cpp/interop/empty.proto", - "test/cpp/interop/messages.proto", - "test/cpp/interop/test.proto", - "test/cpp/interop/client.cc" + "test/cpp/util/status_test.cc" ], + "c++": true, "deps": [ - "grpc++_test_util", "grpc_test_util", "grpc++", "grpc", @@ -1408,12 +1392,12 @@ ] }, { - "name": "end2end_test", + "name": "sync_client_async_server_test", "build": "test", - "c++": true, "src": [ - "test/cpp/end2end/end2end_test.cc" + "test/cpp/end2end/sync_client_async_server_test.cc" ], + "c++": true, "deps": [ "grpc++_test_util", "grpc_test_util", @@ -1424,36 +1408,36 @@ ] }, { - "name": "channel_arguments_test", + "name": "tcp_client_posix_test", "build": "test", - "c++": true, "src": [ - "test/cpp/client/channel_arguments_test.cc" + "test/core/iomgr/tcp_client_posix_test.c" ], "deps": [ - "grpc++", + "grpc_test_util", "grpc", + "gpr_test_util", "gpr" ] }, { - "name": "credentials_test", + "name": "tcp_posix_test", "build": "test", - "c++": true, "src": [ - "test/cpp/client/credentials_test.cc" + "test/core/iomgr/tcp_posix_test.c" ], "deps": [ - "grpc++", + "grpc_test_util", "grpc", + "gpr_test_util", "gpr" ] }, { - "name": "alarm_test", + "name": "tcp_server_posix_test", "build": "test", "src": [ - "test/core/iomgr/alarm_test.c" + "test/core/iomgr/tcp_server_posix_test.c" ], "deps": [ "grpc_test_util", @@ -1463,23 +1447,25 @@ ] }, { - "name": "alarm_list_test", + "name": "thread_pool_test", "build": "test", "src": [ - "test/core/iomgr/alarm_list_test.c" + "test/cpp/server/thread_pool_test.cc" ], + "c++": true, "deps": [ "grpc_test_util", + "grpc++", "grpc", "gpr_test_util", "gpr" ] }, { - "name": "alarm_heap_test", + "name": "time_averaged_stats_test", "build": "test", "src": [ - "test/core/iomgr/alarm_heap_test.c" + "test/core/iomgr/time_averaged_stats_test.c" ], "deps": [ "grpc_test_util", @@ -1502,10 +1488,23 @@ ] }, { - "name": "poll_kick_test", + "name": "timeout_encoding_test", "build": "test", "src": [ - "test/core/iomgr/poll_kick_test.c" + "test/core/transport/chttp2/timeout_encoding_test.c" + ], + "deps": [ + "grpc_test_util", + "grpc", + "gpr_test_util", + "gpr" + ] + }, + { + "name": "transport_metadata_test", + "build": "test", + "src": [ + "test/core/transport/metadata_test.c" ], "deps": [ "grpc_test_util", diff --git a/tools/build-cleaner/build-cleaner.py b/tools/build-cleaner/build-cleaner.py new file mode 100755 index 00000000000..66ee99773e7 --- /dev/null +++ b/tools/build-cleaner/build-cleaner.py @@ -0,0 +1,56 @@ +#!/usr/bin/python +# produces cleaner build.json files + +import collections +import json +import os +import sys + +_TOP_LEVEL_KEYS = ['settings', 'filegroups', 'libs', 'targets'] +_VERSION_KEYS = ['major', 'minor', 'micro', 'build'] +_ELEM_KEYS = [ + 'name', + 'build', + 'language', + 'public_headers', + 'headers', + 'src', + 'deps'] + +def rebuild_as_ordered_dict(indict, special_keys): + outdict = collections.OrderedDict() + for key in special_keys: + if key in indict: + outdict[key] = indict[key] + for key in sorted(indict.keys()): + if key in special_keys: continue + outdict[key] = indict[key] + return outdict + +def clean_elem(indict): + for name in ['public_headers', 'headers', 'src']: + if name not in indict: continue + inlist = indict[name] + protos = set(x for x in inlist if os.path.splitext(x)[1] == '.proto') + others = set(x for x in inlist if x not in protos) + indict[name] = sorted(protos) + sorted(others) + return rebuild_as_ordered_dict(indict, _ELEM_KEYS) + +for filename in sys.argv[1:]: + with open(filename) as f: + js = json.load(f) + js = rebuild_as_ordered_dict(js, _TOP_LEVEL_KEYS) + js['settings']['version'] = rebuild_as_ordered_dict( + js['settings']['version'], _VERSION_KEYS) + for grp in ['filegroups', 'libs', 'targets']: + if grp not in js: continue + js[grp] = sorted([clean_elem(x) for x in js[grp]], + key=lambda x: x['name']) + output = json.dumps(js, indent = 2) + # massage out trailing whitespace + lines = [] + for line in output.splitlines(): + lines.append(line.rstrip() + '\n') + with open(filename, 'w') as f: + f.write(''.join(lines)) + From 17ec5f9ebfd03cd156bf0f87c38d02e8cd725fea Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 18 Jan 2015 11:30:41 -0800 Subject: [PATCH 068/121] Run buildgen --- Makefile | 2676 ++++++++++----------- vsprojects/vs2013/build_and_run_tests.bat | 32 +- vsprojects/vs2013/gpr.vcxproj | 14 +- vsprojects/vs2013/grpc.sln | 24 +- vsprojects/vs2013/grpc.vcxproj | 2 +- vsprojects/vs2013/grpc_test_util.vcxproj | 8 +- vsprojects/vs2013/grpc_unsecure.vcxproj | 2 +- 7 files changed, 1379 insertions(+), 1379 deletions(-) diff --git a/Makefile b/Makefile index 5af4f354279..6a1712db18e 100644 --- a/Makefile +++ b/Makefile @@ -294,90 +294,90 @@ openssl_dep_message: stop: @false -gen_hpack_tables: bins/$(CONFIG)/gen_hpack_tables +alarm_heap_test: bins/$(CONFIG)/alarm_heap_test +alarm_list_test: bins/$(CONFIG)/alarm_list_test +alarm_test: bins/$(CONFIG)/alarm_test +alpn_test: bins/$(CONFIG)/alpn_test +bin_encoder_test: bins/$(CONFIG)/bin_encoder_test +census_hash_table_test: bins/$(CONFIG)/census_hash_table_test +census_statistics_multiple_writers_circular_buffer_test: bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test +census_statistics_multiple_writers_test: bins/$(CONFIG)/census_statistics_multiple_writers_test +census_statistics_performance_test: bins/$(CONFIG)/census_statistics_performance_test +census_statistics_quick_test: bins/$(CONFIG)/census_statistics_quick_test +census_statistics_small_log_test: bins/$(CONFIG)/census_statistics_small_log_test +census_stats_store_test: bins/$(CONFIG)/census_stats_store_test +census_stub_test: bins/$(CONFIG)/census_stub_test +census_trace_store_test: bins/$(CONFIG)/census_trace_store_test +census_window_stats_test: bins/$(CONFIG)/census_window_stats_test +channel_arguments_test: bins/$(CONFIG)/channel_arguments_test +chttp2_status_conversion_test: bins/$(CONFIG)/chttp2_status_conversion_test +chttp2_stream_encoder_test: bins/$(CONFIG)/chttp2_stream_encoder_test +chttp2_stream_map_test: bins/$(CONFIG)/chttp2_stream_map_test +chttp2_transport_end2end_test: bins/$(CONFIG)/chttp2_transport_end2end_test cpp_plugin: bins/$(CONFIG)/cpp_plugin -ruby_plugin: bins/$(CONFIG)/ruby_plugin -grpc_byte_buffer_reader_test: bins/$(CONFIG)/grpc_byte_buffer_reader_test +credentials_test: bins/$(CONFIG)/credentials_test +dualstack_socket_test: bins/$(CONFIG)/dualstack_socket_test +echo_client: bins/$(CONFIG)/echo_client +echo_server: bins/$(CONFIG)/echo_server +echo_test: bins/$(CONFIG)/echo_test +end2end_test: bins/$(CONFIG)/end2end_test +fd_posix_test: bins/$(CONFIG)/fd_posix_test +fling_client: bins/$(CONFIG)/fling_client +fling_server: bins/$(CONFIG)/fling_server +fling_stream_test: bins/$(CONFIG)/fling_stream_test +fling_test: bins/$(CONFIG)/fling_test +gen_hpack_tables: bins/$(CONFIG)/gen_hpack_tables gpr_cancellable_test: bins/$(CONFIG)/gpr_cancellable_test -gpr_log_test: bins/$(CONFIG)/gpr_log_test -gpr_useful_test: bins/$(CONFIG)/gpr_useful_test gpr_cmdline_test: bins/$(CONFIG)/gpr_cmdline_test gpr_histogram_test: bins/$(CONFIG)/gpr_histogram_test gpr_host_port_test: bins/$(CONFIG)/gpr_host_port_test +gpr_log_test: bins/$(CONFIG)/gpr_log_test gpr_slice_buffer_test: bins/$(CONFIG)/gpr_slice_buffer_test gpr_slice_test: bins/$(CONFIG)/gpr_slice_test gpr_string_test: bins/$(CONFIG)/gpr_string_test gpr_sync_test: bins/$(CONFIG)/gpr_sync_test gpr_thd_test: bins/$(CONFIG)/gpr_thd_test gpr_time_test: bins/$(CONFIG)/gpr_time_test -murmur_hash_test: bins/$(CONFIG)/murmur_hash_test -grpc_stream_op_test: bins/$(CONFIG)/grpc_stream_op_test -alpn_test: bins/$(CONFIG)/alpn_test -time_averaged_stats_test: bins/$(CONFIG)/time_averaged_stats_test -chttp2_stream_encoder_test: bins/$(CONFIG)/chttp2_stream_encoder_test -hpack_table_test: bins/$(CONFIG)/hpack_table_test -chttp2_stream_map_test: bins/$(CONFIG)/chttp2_stream_map_test -hpack_parser_test: bins/$(CONFIG)/hpack_parser_test -transport_metadata_test: bins/$(CONFIG)/transport_metadata_test -chttp2_status_conversion_test: bins/$(CONFIG)/chttp2_status_conversion_test -chttp2_transport_end2end_test: bins/$(CONFIG)/chttp2_transport_end2end_test -tcp_posix_test: bins/$(CONFIG)/tcp_posix_test -dualstack_socket_test: bins/$(CONFIG)/dualstack_socket_test -no_server_test: bins/$(CONFIG)/no_server_test -resolve_address_test: bins/$(CONFIG)/resolve_address_test -sockaddr_utils_test: bins/$(CONFIG)/sockaddr_utils_test -tcp_server_posix_test: bins/$(CONFIG)/tcp_server_posix_test -tcp_client_posix_test: bins/$(CONFIG)/tcp_client_posix_test +gpr_useful_test: bins/$(CONFIG)/gpr_useful_test +grpc_base64_test: bins/$(CONFIG)/grpc_base64_test +grpc_byte_buffer_reader_test: bins/$(CONFIG)/grpc_byte_buffer_reader_test grpc_channel_stack_test: bins/$(CONFIG)/grpc_channel_stack_test -metadata_buffer_test: bins/$(CONFIG)/metadata_buffer_test -grpc_completion_queue_test: bins/$(CONFIG)/grpc_completion_queue_test grpc_completion_queue_benchmark: bins/$(CONFIG)/grpc_completion_queue_benchmark -census_trace_store_test: bins/$(CONFIG)/census_trace_store_test -census_stats_store_test: bins/$(CONFIG)/census_stats_store_test -census_window_stats_test: bins/$(CONFIG)/census_window_stats_test -census_statistics_quick_test: bins/$(CONFIG)/census_statistics_quick_test -census_statistics_small_log_test: bins/$(CONFIG)/census_statistics_small_log_test -census_statistics_performance_test: bins/$(CONFIG)/census_statistics_performance_test -census_statistics_multiple_writers_test: bins/$(CONFIG)/census_statistics_multiple_writers_test -census_statistics_multiple_writers_circular_buffer_test: bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test -census_stub_test: bins/$(CONFIG)/census_stub_test -census_hash_table_test: bins/$(CONFIG)/census_hash_table_test -fling_server: bins/$(CONFIG)/fling_server -fling_client: bins/$(CONFIG)/fling_client -fling_test: bins/$(CONFIG)/fling_test -echo_server: bins/$(CONFIG)/echo_server -echo_client: bins/$(CONFIG)/echo_client -echo_test: bins/$(CONFIG)/echo_test -low_level_ping_pong_benchmark: bins/$(CONFIG)/low_level_ping_pong_benchmark -message_compress_test: bins/$(CONFIG)/message_compress_test -bin_encoder_test: bins/$(CONFIG)/bin_encoder_test -secure_endpoint_test: bins/$(CONFIG)/secure_endpoint_test -httpcli_format_request_test: bins/$(CONFIG)/httpcli_format_request_test -httpcli_parser_test: bins/$(CONFIG)/httpcli_parser_test -httpcli_test: bins/$(CONFIG)/httpcli_test +grpc_completion_queue_test: bins/$(CONFIG)/grpc_completion_queue_test grpc_credentials_test: bins/$(CONFIG)/grpc_credentials_test grpc_fetch_oauth2: bins/$(CONFIG)/grpc_fetch_oauth2 -grpc_base64_test: bins/$(CONFIG)/grpc_base64_test grpc_json_token_test: bins/$(CONFIG)/grpc_json_token_test -timeout_encoding_test: bins/$(CONFIG)/timeout_encoding_test -fd_posix_test: bins/$(CONFIG)/fd_posix_test -fling_stream_test: bins/$(CONFIG)/fling_stream_test +grpc_stream_op_test: bins/$(CONFIG)/grpc_stream_op_test +hpack_parser_test: bins/$(CONFIG)/hpack_parser_test +hpack_table_test: bins/$(CONFIG)/hpack_table_test +httpcli_format_request_test: bins/$(CONFIG)/httpcli_format_request_test +httpcli_parser_test: bins/$(CONFIG)/httpcli_parser_test +httpcli_test: bins/$(CONFIG)/httpcli_test +interop_client: bins/$(CONFIG)/interop_client +interop_server: bins/$(CONFIG)/interop_server lame_client_test: bins/$(CONFIG)/lame_client_test -thread_pool_test: bins/$(CONFIG)/thread_pool_test -status_test: bins/$(CONFIG)/status_test -sync_client_async_server_test: bins/$(CONFIG)/sync_client_async_server_test +low_level_ping_pong_benchmark: bins/$(CONFIG)/low_level_ping_pong_benchmark +message_compress_test: bins/$(CONFIG)/message_compress_test +metadata_buffer_test: bins/$(CONFIG)/metadata_buffer_test +murmur_hash_test: bins/$(CONFIG)/murmur_hash_test +no_server_test: bins/$(CONFIG)/no_server_test +poll_kick_test: bins/$(CONFIG)/poll_kick_test qps_client: bins/$(CONFIG)/qps_client qps_server: bins/$(CONFIG)/qps_server -interop_server: bins/$(CONFIG)/interop_server -interop_client: bins/$(CONFIG)/interop_client -end2end_test: bins/$(CONFIG)/end2end_test -channel_arguments_test: bins/$(CONFIG)/channel_arguments_test -credentials_test: bins/$(CONFIG)/credentials_test -alarm_test: bins/$(CONFIG)/alarm_test -alarm_list_test: bins/$(CONFIG)/alarm_list_test -alarm_heap_test: bins/$(CONFIG)/alarm_heap_test +resolve_address_test: bins/$(CONFIG)/resolve_address_test +ruby_plugin: bins/$(CONFIG)/ruby_plugin +secure_endpoint_test: bins/$(CONFIG)/secure_endpoint_test +sockaddr_utils_test: bins/$(CONFIG)/sockaddr_utils_test +status_test: bins/$(CONFIG)/status_test +sync_client_async_server_test: bins/$(CONFIG)/sync_client_async_server_test +tcp_client_posix_test: bins/$(CONFIG)/tcp_client_posix_test +tcp_posix_test: bins/$(CONFIG)/tcp_posix_test +tcp_server_posix_test: bins/$(CONFIG)/tcp_server_posix_test +thread_pool_test: bins/$(CONFIG)/thread_pool_test +time_averaged_stats_test: bins/$(CONFIG)/time_averaged_stats_test time_test: bins/$(CONFIG)/time_test -poll_kick_test: bins/$(CONFIG)/poll_kick_test +timeout_encoding_test: bins/$(CONFIG)/timeout_encoding_test +transport_metadata_test: bins/$(CONFIG)/transport_metadata_test chttp2_fake_security_cancel_after_accept_test: bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test chttp2_fake_security_cancel_after_accept_and_writes_closed_test: bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test chttp2_fake_security_cancel_after_invoke_test: bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test @@ -551,27 +551,67 @@ privatelibs_cxx: libs/$(CONFIG)/libgrpc++_test_util.a buildtests: buildtests_c buildtests_cxx -buildtests_c: privatelibs_c bins/$(CONFIG)/grpc_byte_buffer_reader_test bins/$(CONFIG)/gpr_cancellable_test bins/$(CONFIG)/gpr_log_test bins/$(CONFIG)/gpr_useful_test bins/$(CONFIG)/gpr_cmdline_test bins/$(CONFIG)/gpr_histogram_test bins/$(CONFIG)/gpr_host_port_test bins/$(CONFIG)/gpr_slice_buffer_test bins/$(CONFIG)/gpr_slice_test bins/$(CONFIG)/gpr_string_test bins/$(CONFIG)/gpr_sync_test bins/$(CONFIG)/gpr_thd_test bins/$(CONFIG)/gpr_time_test bins/$(CONFIG)/murmur_hash_test bins/$(CONFIG)/grpc_stream_op_test bins/$(CONFIG)/alpn_test bins/$(CONFIG)/time_averaged_stats_test bins/$(CONFIG)/chttp2_stream_encoder_test bins/$(CONFIG)/hpack_table_test bins/$(CONFIG)/chttp2_stream_map_test bins/$(CONFIG)/hpack_parser_test bins/$(CONFIG)/transport_metadata_test bins/$(CONFIG)/chttp2_status_conversion_test bins/$(CONFIG)/chttp2_transport_end2end_test bins/$(CONFIG)/tcp_posix_test bins/$(CONFIG)/dualstack_socket_test bins/$(CONFIG)/no_server_test bins/$(CONFIG)/resolve_address_test bins/$(CONFIG)/sockaddr_utils_test bins/$(CONFIG)/tcp_server_posix_test bins/$(CONFIG)/tcp_client_posix_test bins/$(CONFIG)/grpc_channel_stack_test bins/$(CONFIG)/metadata_buffer_test bins/$(CONFIG)/grpc_completion_queue_test bins/$(CONFIG)/census_window_stats_test bins/$(CONFIG)/census_statistics_quick_test bins/$(CONFIG)/census_statistics_small_log_test bins/$(CONFIG)/census_statistics_performance_test bins/$(CONFIG)/census_statistics_multiple_writers_test bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test bins/$(CONFIG)/census_stub_test bins/$(CONFIG)/census_hash_table_test bins/$(CONFIG)/fling_server bins/$(CONFIG)/fling_client bins/$(CONFIG)/fling_test bins/$(CONFIG)/echo_server bins/$(CONFIG)/echo_client bins/$(CONFIG)/echo_test bins/$(CONFIG)/message_compress_test bins/$(CONFIG)/bin_encoder_test bins/$(CONFIG)/secure_endpoint_test bins/$(CONFIG)/httpcli_format_request_test bins/$(CONFIG)/httpcli_parser_test bins/$(CONFIG)/httpcli_test bins/$(CONFIG)/grpc_credentials_test bins/$(CONFIG)/grpc_base64_test bins/$(CONFIG)/grpc_json_token_test bins/$(CONFIG)/timeout_encoding_test bins/$(CONFIG)/fd_posix_test bins/$(CONFIG)/fling_stream_test bins/$(CONFIG)/lame_client_test bins/$(CONFIG)/alarm_test bins/$(CONFIG)/alarm_list_test bins/$(CONFIG)/alarm_heap_test bins/$(CONFIG)/time_test bins/$(CONFIG)/poll_kick_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fake_security_census_simple_request_test bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fake_security_no_op_test bins/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test bins/$(CONFIG)/chttp2_fake_security_simple_request_test bins/$(CONFIG)/chttp2_fake_security_thread_stress_test bins/$(CONFIG)/chttp2_fake_security_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fullstack_no_op_test bins/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_no_op_test bins/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test +buildtests_c: privatelibs_c bins/$(CONFIG)/alarm_heap_test bins/$(CONFIG)/alarm_list_test bins/$(CONFIG)/alarm_test bins/$(CONFIG)/alpn_test bins/$(CONFIG)/bin_encoder_test bins/$(CONFIG)/census_hash_table_test bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test bins/$(CONFIG)/census_statistics_multiple_writers_test bins/$(CONFIG)/census_statistics_performance_test bins/$(CONFIG)/census_statistics_quick_test bins/$(CONFIG)/census_statistics_small_log_test bins/$(CONFIG)/census_stub_test bins/$(CONFIG)/census_window_stats_test bins/$(CONFIG)/chttp2_status_conversion_test bins/$(CONFIG)/chttp2_stream_encoder_test bins/$(CONFIG)/chttp2_stream_map_test bins/$(CONFIG)/chttp2_transport_end2end_test bins/$(CONFIG)/dualstack_socket_test bins/$(CONFIG)/echo_client bins/$(CONFIG)/echo_server bins/$(CONFIG)/echo_test bins/$(CONFIG)/fd_posix_test bins/$(CONFIG)/fling_client bins/$(CONFIG)/fling_server bins/$(CONFIG)/fling_stream_test bins/$(CONFIG)/fling_test bins/$(CONFIG)/gpr_cancellable_test bins/$(CONFIG)/gpr_cmdline_test bins/$(CONFIG)/gpr_histogram_test bins/$(CONFIG)/gpr_host_port_test bins/$(CONFIG)/gpr_log_test bins/$(CONFIG)/gpr_slice_buffer_test bins/$(CONFIG)/gpr_slice_test bins/$(CONFIG)/gpr_string_test bins/$(CONFIG)/gpr_sync_test bins/$(CONFIG)/gpr_thd_test bins/$(CONFIG)/gpr_time_test bins/$(CONFIG)/gpr_useful_test bins/$(CONFIG)/grpc_base64_test bins/$(CONFIG)/grpc_byte_buffer_reader_test bins/$(CONFIG)/grpc_channel_stack_test bins/$(CONFIG)/grpc_completion_queue_test bins/$(CONFIG)/grpc_credentials_test bins/$(CONFIG)/grpc_json_token_test bins/$(CONFIG)/grpc_stream_op_test bins/$(CONFIG)/hpack_parser_test bins/$(CONFIG)/hpack_table_test bins/$(CONFIG)/httpcli_format_request_test bins/$(CONFIG)/httpcli_parser_test bins/$(CONFIG)/httpcli_test bins/$(CONFIG)/lame_client_test bins/$(CONFIG)/message_compress_test bins/$(CONFIG)/metadata_buffer_test bins/$(CONFIG)/murmur_hash_test bins/$(CONFIG)/no_server_test bins/$(CONFIG)/poll_kick_test bins/$(CONFIG)/resolve_address_test bins/$(CONFIG)/secure_endpoint_test bins/$(CONFIG)/sockaddr_utils_test bins/$(CONFIG)/tcp_client_posix_test bins/$(CONFIG)/tcp_posix_test bins/$(CONFIG)/tcp_server_posix_test bins/$(CONFIG)/time_averaged_stats_test bins/$(CONFIG)/time_test bins/$(CONFIG)/timeout_encoding_test bins/$(CONFIG)/transport_metadata_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fake_security_census_simple_request_test bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fake_security_no_op_test bins/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test bins/$(CONFIG)/chttp2_fake_security_simple_request_test bins/$(CONFIG)/chttp2_fake_security_thread_stress_test bins/$(CONFIG)/chttp2_fake_security_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fullstack_no_op_test bins/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_no_op_test bins/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test -buildtests_cxx: privatelibs_cxx bins/$(CONFIG)/thread_pool_test bins/$(CONFIG)/status_test bins/$(CONFIG)/sync_client_async_server_test bins/$(CONFIG)/qps_client bins/$(CONFIG)/qps_server bins/$(CONFIG)/interop_server bins/$(CONFIG)/interop_client bins/$(CONFIG)/end2end_test bins/$(CONFIG)/channel_arguments_test bins/$(CONFIG)/credentials_test +buildtests_cxx: privatelibs_cxx bins/$(CONFIG)/channel_arguments_test bins/$(CONFIG)/credentials_test bins/$(CONFIG)/end2end_test bins/$(CONFIG)/interop_client bins/$(CONFIG)/interop_server bins/$(CONFIG)/qps_client bins/$(CONFIG)/qps_server bins/$(CONFIG)/status_test bins/$(CONFIG)/sync_client_async_server_test bins/$(CONFIG)/thread_pool_test test: test_c test_cxx test_c: buildtests_c - $(E) "[RUN] Testing grpc_byte_buffer_reader_test" - $(Q) ./bins/$(CONFIG)/grpc_byte_buffer_reader_test || ( echo test grpc_byte_buffer_reader_test failed ; exit 1 ) + $(E) "[RUN] Testing alarm_heap_test" + $(Q) ./bins/$(CONFIG)/alarm_heap_test || ( echo test alarm_heap_test failed ; exit 1 ) + $(E) "[RUN] Testing alarm_list_test" + $(Q) ./bins/$(CONFIG)/alarm_list_test || ( echo test alarm_list_test failed ; exit 1 ) + $(E) "[RUN] Testing alarm_test" + $(Q) ./bins/$(CONFIG)/alarm_test || ( echo test alarm_test failed ; exit 1 ) + $(E) "[RUN] Testing alpn_test" + $(Q) ./bins/$(CONFIG)/alpn_test || ( echo test alpn_test failed ; exit 1 ) + $(E) "[RUN] Testing bin_encoder_test" + $(Q) ./bins/$(CONFIG)/bin_encoder_test || ( echo test bin_encoder_test failed ; exit 1 ) + $(E) "[RUN] Testing census_hash_table_test" + $(Q) ./bins/$(CONFIG)/census_hash_table_test || ( echo test census_hash_table_test failed ; exit 1 ) + $(E) "[RUN] Testing census_statistics_multiple_writers_circular_buffer_test" + $(Q) ./bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test || ( echo test census_statistics_multiple_writers_circular_buffer_test failed ; exit 1 ) + $(E) "[RUN] Testing census_statistics_multiple_writers_test" + $(Q) ./bins/$(CONFIG)/census_statistics_multiple_writers_test || ( echo test census_statistics_multiple_writers_test failed ; exit 1 ) + $(E) "[RUN] Testing census_statistics_performance_test" + $(Q) ./bins/$(CONFIG)/census_statistics_performance_test || ( echo test census_statistics_performance_test failed ; exit 1 ) + $(E) "[RUN] Testing census_statistics_quick_test" + $(Q) ./bins/$(CONFIG)/census_statistics_quick_test || ( echo test census_statistics_quick_test failed ; exit 1 ) + $(E) "[RUN] Testing census_statistics_small_log_test" + $(Q) ./bins/$(CONFIG)/census_statistics_small_log_test || ( echo test census_statistics_small_log_test failed ; exit 1 ) + $(E) "[RUN] Testing census_stub_test" + $(Q) ./bins/$(CONFIG)/census_stub_test || ( echo test census_stub_test failed ; exit 1 ) + $(E) "[RUN] Testing census_window_stats_test" + $(Q) ./bins/$(CONFIG)/census_window_stats_test || ( echo test census_window_stats_test failed ; exit 1 ) + $(E) "[RUN] Testing chttp2_status_conversion_test" + $(Q) ./bins/$(CONFIG)/chttp2_status_conversion_test || ( echo test chttp2_status_conversion_test failed ; exit 1 ) + $(E) "[RUN] Testing chttp2_stream_encoder_test" + $(Q) ./bins/$(CONFIG)/chttp2_stream_encoder_test || ( echo test chttp2_stream_encoder_test failed ; exit 1 ) + $(E) "[RUN] Testing chttp2_stream_map_test" + $(Q) ./bins/$(CONFIG)/chttp2_stream_map_test || ( echo test chttp2_stream_map_test failed ; exit 1 ) + $(E) "[RUN] Testing chttp2_transport_end2end_test" + $(Q) ./bins/$(CONFIG)/chttp2_transport_end2end_test || ( echo test chttp2_transport_end2end_test failed ; exit 1 ) + $(E) "[RUN] Testing dualstack_socket_test" + $(Q) ./bins/$(CONFIG)/dualstack_socket_test || ( echo test dualstack_socket_test failed ; exit 1 ) + $(E) "[RUN] Testing echo_test" + $(Q) ./bins/$(CONFIG)/echo_test || ( echo test echo_test failed ; exit 1 ) + $(E) "[RUN] Testing fd_posix_test" + $(Q) ./bins/$(CONFIG)/fd_posix_test || ( echo test fd_posix_test failed ; exit 1 ) + $(E) "[RUN] Testing fling_stream_test" + $(Q) ./bins/$(CONFIG)/fling_stream_test || ( echo test fling_stream_test failed ; exit 1 ) + $(E) "[RUN] Testing fling_test" + $(Q) ./bins/$(CONFIG)/fling_test || ( echo test fling_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_cancellable_test" $(Q) ./bins/$(CONFIG)/gpr_cancellable_test || ( echo test gpr_cancellable_test failed ; exit 1 ) - $(E) "[RUN] Testing gpr_log_test" - $(Q) ./bins/$(CONFIG)/gpr_log_test || ( echo test gpr_log_test failed ; exit 1 ) - $(E) "[RUN] Testing gpr_useful_test" - $(Q) ./bins/$(CONFIG)/gpr_useful_test || ( echo test gpr_useful_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_cmdline_test" $(Q) ./bins/$(CONFIG)/gpr_cmdline_test || ( echo test gpr_cmdline_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_histogram_test" $(Q) ./bins/$(CONFIG)/gpr_histogram_test || ( echo test gpr_histogram_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_host_port_test" $(Q) ./bins/$(CONFIG)/gpr_host_port_test || ( echo test gpr_host_port_test failed ; exit 1 ) + $(E) "[RUN] Testing gpr_log_test" + $(Q) ./bins/$(CONFIG)/gpr_log_test || ( echo test gpr_log_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_slice_buffer_test" $(Q) ./bins/$(CONFIG)/gpr_slice_buffer_test || ( echo test gpr_slice_buffer_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_slice_test" @@ -584,104 +624,64 @@ test_c: buildtests_c $(Q) ./bins/$(CONFIG)/gpr_thd_test || ( echo test gpr_thd_test failed ; exit 1 ) $(E) "[RUN] Testing gpr_time_test" $(Q) ./bins/$(CONFIG)/gpr_time_test || ( echo test gpr_time_test failed ; exit 1 ) - $(E) "[RUN] Testing murmur_hash_test" - $(Q) ./bins/$(CONFIG)/murmur_hash_test || ( echo test murmur_hash_test failed ; exit 1 ) + $(E) "[RUN] Testing gpr_useful_test" + $(Q) ./bins/$(CONFIG)/gpr_useful_test || ( echo test gpr_useful_test failed ; exit 1 ) + $(E) "[RUN] Testing grpc_base64_test" + $(Q) ./bins/$(CONFIG)/grpc_base64_test || ( echo test grpc_base64_test failed ; exit 1 ) + $(E) "[RUN] Testing grpc_byte_buffer_reader_test" + $(Q) ./bins/$(CONFIG)/grpc_byte_buffer_reader_test || ( echo test grpc_byte_buffer_reader_test failed ; exit 1 ) + $(E) "[RUN] Testing grpc_channel_stack_test" + $(Q) ./bins/$(CONFIG)/grpc_channel_stack_test || ( echo test grpc_channel_stack_test failed ; exit 1 ) + $(E) "[RUN] Testing grpc_completion_queue_test" + $(Q) ./bins/$(CONFIG)/grpc_completion_queue_test || ( echo test grpc_completion_queue_test failed ; exit 1 ) + $(E) "[RUN] Testing grpc_credentials_test" + $(Q) ./bins/$(CONFIG)/grpc_credentials_test || ( echo test grpc_credentials_test failed ; exit 1 ) + $(E) "[RUN] Testing grpc_json_token_test" + $(Q) ./bins/$(CONFIG)/grpc_json_token_test || ( echo test grpc_json_token_test failed ; exit 1 ) $(E) "[RUN] Testing grpc_stream_op_test" $(Q) ./bins/$(CONFIG)/grpc_stream_op_test || ( echo test grpc_stream_op_test failed ; exit 1 ) - $(E) "[RUN] Testing alpn_test" - $(Q) ./bins/$(CONFIG)/alpn_test || ( echo test alpn_test failed ; exit 1 ) - $(E) "[RUN] Testing time_averaged_stats_test" - $(Q) ./bins/$(CONFIG)/time_averaged_stats_test || ( echo test time_averaged_stats_test failed ; exit 1 ) - $(E) "[RUN] Testing chttp2_stream_encoder_test" - $(Q) ./bins/$(CONFIG)/chttp2_stream_encoder_test || ( echo test chttp2_stream_encoder_test failed ; exit 1 ) - $(E) "[RUN] Testing hpack_table_test" - $(Q) ./bins/$(CONFIG)/hpack_table_test || ( echo test hpack_table_test failed ; exit 1 ) - $(E) "[RUN] Testing chttp2_stream_map_test" - $(Q) ./bins/$(CONFIG)/chttp2_stream_map_test || ( echo test chttp2_stream_map_test failed ; exit 1 ) $(E) "[RUN] Testing hpack_parser_test" $(Q) ./bins/$(CONFIG)/hpack_parser_test || ( echo test hpack_parser_test failed ; exit 1 ) - $(E) "[RUN] Testing transport_metadata_test" - $(Q) ./bins/$(CONFIG)/transport_metadata_test || ( echo test transport_metadata_test failed ; exit 1 ) - $(E) "[RUN] Testing chttp2_status_conversion_test" - $(Q) ./bins/$(CONFIG)/chttp2_status_conversion_test || ( echo test chttp2_status_conversion_test failed ; exit 1 ) - $(E) "[RUN] Testing chttp2_transport_end2end_test" - $(Q) ./bins/$(CONFIG)/chttp2_transport_end2end_test || ( echo test chttp2_transport_end2end_test failed ; exit 1 ) - $(E) "[RUN] Testing tcp_posix_test" - $(Q) ./bins/$(CONFIG)/tcp_posix_test || ( echo test tcp_posix_test failed ; exit 1 ) - $(E) "[RUN] Testing dualstack_socket_test" - $(Q) ./bins/$(CONFIG)/dualstack_socket_test || ( echo test dualstack_socket_test failed ; exit 1 ) + $(E) "[RUN] Testing hpack_table_test" + $(Q) ./bins/$(CONFIG)/hpack_table_test || ( echo test hpack_table_test failed ; exit 1 ) + $(E) "[RUN] Testing httpcli_format_request_test" + $(Q) ./bins/$(CONFIG)/httpcli_format_request_test || ( echo test httpcli_format_request_test failed ; exit 1 ) + $(E) "[RUN] Testing httpcli_parser_test" + $(Q) ./bins/$(CONFIG)/httpcli_parser_test || ( echo test httpcli_parser_test failed ; exit 1 ) + $(E) "[RUN] Testing httpcli_test" + $(Q) ./bins/$(CONFIG)/httpcli_test || ( echo test httpcli_test failed ; exit 1 ) + $(E) "[RUN] Testing lame_client_test" + $(Q) ./bins/$(CONFIG)/lame_client_test || ( echo test lame_client_test failed ; exit 1 ) + $(E) "[RUN] Testing message_compress_test" + $(Q) ./bins/$(CONFIG)/message_compress_test || ( echo test message_compress_test failed ; exit 1 ) + $(E) "[RUN] Testing metadata_buffer_test" + $(Q) ./bins/$(CONFIG)/metadata_buffer_test || ( echo test metadata_buffer_test failed ; exit 1 ) + $(E) "[RUN] Testing murmur_hash_test" + $(Q) ./bins/$(CONFIG)/murmur_hash_test || ( echo test murmur_hash_test failed ; exit 1 ) $(E) "[RUN] Testing no_server_test" $(Q) ./bins/$(CONFIG)/no_server_test || ( echo test no_server_test failed ; exit 1 ) + $(E) "[RUN] Testing poll_kick_test" + $(Q) ./bins/$(CONFIG)/poll_kick_test || ( echo test poll_kick_test failed ; exit 1 ) $(E) "[RUN] Testing resolve_address_test" $(Q) ./bins/$(CONFIG)/resolve_address_test || ( echo test resolve_address_test failed ; exit 1 ) + $(E) "[RUN] Testing secure_endpoint_test" + $(Q) ./bins/$(CONFIG)/secure_endpoint_test || ( echo test secure_endpoint_test failed ; exit 1 ) $(E) "[RUN] Testing sockaddr_utils_test" $(Q) ./bins/$(CONFIG)/sockaddr_utils_test || ( echo test sockaddr_utils_test failed ; exit 1 ) - $(E) "[RUN] Testing tcp_server_posix_test" - $(Q) ./bins/$(CONFIG)/tcp_server_posix_test || ( echo test tcp_server_posix_test failed ; exit 1 ) $(E) "[RUN] Testing tcp_client_posix_test" $(Q) ./bins/$(CONFIG)/tcp_client_posix_test || ( echo test tcp_client_posix_test failed ; exit 1 ) - $(E) "[RUN] Testing grpc_channel_stack_test" - $(Q) ./bins/$(CONFIG)/grpc_channel_stack_test || ( echo test grpc_channel_stack_test failed ; exit 1 ) - $(E) "[RUN] Testing metadata_buffer_test" - $(Q) ./bins/$(CONFIG)/metadata_buffer_test || ( echo test metadata_buffer_test failed ; exit 1 ) - $(E) "[RUN] Testing grpc_completion_queue_test" - $(Q) ./bins/$(CONFIG)/grpc_completion_queue_test || ( echo test grpc_completion_queue_test failed ; exit 1 ) - $(E) "[RUN] Testing census_window_stats_test" - $(Q) ./bins/$(CONFIG)/census_window_stats_test || ( echo test census_window_stats_test failed ; exit 1 ) - $(E) "[RUN] Testing census_statistics_quick_test" - $(Q) ./bins/$(CONFIG)/census_statistics_quick_test || ( echo test census_statistics_quick_test failed ; exit 1 ) - $(E) "[RUN] Testing census_statistics_small_log_test" - $(Q) ./bins/$(CONFIG)/census_statistics_small_log_test || ( echo test census_statistics_small_log_test failed ; exit 1 ) - $(E) "[RUN] Testing census_statistics_performance_test" - $(Q) ./bins/$(CONFIG)/census_statistics_performance_test || ( echo test census_statistics_performance_test failed ; exit 1 ) - $(E) "[RUN] Testing census_statistics_multiple_writers_test" - $(Q) ./bins/$(CONFIG)/census_statistics_multiple_writers_test || ( echo test census_statistics_multiple_writers_test failed ; exit 1 ) - $(E) "[RUN] Testing census_statistics_multiple_writers_circular_buffer_test" - $(Q) ./bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test || ( echo test census_statistics_multiple_writers_circular_buffer_test failed ; exit 1 ) - $(E) "[RUN] Testing census_stub_test" - $(Q) ./bins/$(CONFIG)/census_stub_test || ( echo test census_stub_test failed ; exit 1 ) - $(E) "[RUN] Testing census_hash_table_test" - $(Q) ./bins/$(CONFIG)/census_hash_table_test || ( echo test census_hash_table_test failed ; exit 1 ) - $(E) "[RUN] Testing fling_test" - $(Q) ./bins/$(CONFIG)/fling_test || ( echo test fling_test failed ; exit 1 ) - $(E) "[RUN] Testing echo_test" - $(Q) ./bins/$(CONFIG)/echo_test || ( echo test echo_test failed ; exit 1 ) - $(E) "[RUN] Testing message_compress_test" - $(Q) ./bins/$(CONFIG)/message_compress_test || ( echo test message_compress_test failed ; exit 1 ) - $(E) "[RUN] Testing bin_encoder_test" - $(Q) ./bins/$(CONFIG)/bin_encoder_test || ( echo test bin_encoder_test failed ; exit 1 ) - $(E) "[RUN] Testing secure_endpoint_test" - $(Q) ./bins/$(CONFIG)/secure_endpoint_test || ( echo test secure_endpoint_test failed ; exit 1 ) - $(E) "[RUN] Testing httpcli_format_request_test" - $(Q) ./bins/$(CONFIG)/httpcli_format_request_test || ( echo test httpcli_format_request_test failed ; exit 1 ) - $(E) "[RUN] Testing httpcli_parser_test" - $(Q) ./bins/$(CONFIG)/httpcli_parser_test || ( echo test httpcli_parser_test failed ; exit 1 ) - $(E) "[RUN] Testing httpcli_test" - $(Q) ./bins/$(CONFIG)/httpcli_test || ( echo test httpcli_test failed ; exit 1 ) - $(E) "[RUN] Testing grpc_credentials_test" - $(Q) ./bins/$(CONFIG)/grpc_credentials_test || ( echo test grpc_credentials_test failed ; exit 1 ) - $(E) "[RUN] Testing grpc_base64_test" - $(Q) ./bins/$(CONFIG)/grpc_base64_test || ( echo test grpc_base64_test failed ; exit 1 ) - $(E) "[RUN] Testing grpc_json_token_test" - $(Q) ./bins/$(CONFIG)/grpc_json_token_test || ( echo test grpc_json_token_test failed ; exit 1 ) - $(E) "[RUN] Testing timeout_encoding_test" - $(Q) ./bins/$(CONFIG)/timeout_encoding_test || ( echo test timeout_encoding_test failed ; exit 1 ) - $(E) "[RUN] Testing fd_posix_test" - $(Q) ./bins/$(CONFIG)/fd_posix_test || ( echo test fd_posix_test failed ; exit 1 ) - $(E) "[RUN] Testing fling_stream_test" - $(Q) ./bins/$(CONFIG)/fling_stream_test || ( echo test fling_stream_test failed ; exit 1 ) - $(E) "[RUN] Testing lame_client_test" - $(Q) ./bins/$(CONFIG)/lame_client_test || ( echo test lame_client_test failed ; exit 1 ) - $(E) "[RUN] Testing alarm_test" - $(Q) ./bins/$(CONFIG)/alarm_test || ( echo test alarm_test failed ; exit 1 ) - $(E) "[RUN] Testing alarm_list_test" - $(Q) ./bins/$(CONFIG)/alarm_list_test || ( echo test alarm_list_test failed ; exit 1 ) - $(E) "[RUN] Testing alarm_heap_test" - $(Q) ./bins/$(CONFIG)/alarm_heap_test || ( echo test alarm_heap_test failed ; exit 1 ) + $(E) "[RUN] Testing tcp_posix_test" + $(Q) ./bins/$(CONFIG)/tcp_posix_test || ( echo test tcp_posix_test failed ; exit 1 ) + $(E) "[RUN] Testing tcp_server_posix_test" + $(Q) ./bins/$(CONFIG)/tcp_server_posix_test || ( echo test tcp_server_posix_test failed ; exit 1 ) + $(E) "[RUN] Testing time_averaged_stats_test" + $(Q) ./bins/$(CONFIG)/time_averaged_stats_test || ( echo test time_averaged_stats_test failed ; exit 1 ) $(E) "[RUN] Testing time_test" $(Q) ./bins/$(CONFIG)/time_test || ( echo test time_test failed ; exit 1 ) - $(E) "[RUN] Testing poll_kick_test" - $(Q) ./bins/$(CONFIG)/poll_kick_test || ( echo test poll_kick_test failed ; exit 1 ) + $(E) "[RUN] Testing timeout_encoding_test" + $(Q) ./bins/$(CONFIG)/timeout_encoding_test || ( echo test timeout_encoding_test failed ; exit 1 ) + $(E) "[RUN] Testing transport_metadata_test" + $(Q) ./bins/$(CONFIG)/transport_metadata_test || ( echo test transport_metadata_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_fake_security_cancel_after_accept_test" $(Q) ./bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test || ( echo test chttp2_fake_security_cancel_after_accept_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_fake_security_cancel_after_accept_and_writes_closed_test" @@ -949,22 +949,22 @@ test_c: buildtests_c test_cxx: buildtests_cxx - $(E) "[RUN] Testing thread_pool_test" - $(Q) ./bins/$(CONFIG)/thread_pool_test || ( echo test thread_pool_test failed ; exit 1 ) - $(E) "[RUN] Testing status_test" - $(Q) ./bins/$(CONFIG)/status_test || ( echo test status_test failed ; exit 1 ) - $(E) "[RUN] Testing sync_client_async_server_test" - $(Q) ./bins/$(CONFIG)/sync_client_async_server_test || ( echo test sync_client_async_server_test failed ; exit 1 ) - $(E) "[RUN] Testing qps_client" - $(Q) ./bins/$(CONFIG)/qps_client || ( echo test qps_client failed ; exit 1 ) - $(E) "[RUN] Testing qps_server" - $(Q) ./bins/$(CONFIG)/qps_server || ( echo test qps_server failed ; exit 1 ) - $(E) "[RUN] Testing end2end_test" - $(Q) ./bins/$(CONFIG)/end2end_test || ( echo test end2end_test failed ; exit 1 ) $(E) "[RUN] Testing channel_arguments_test" $(Q) ./bins/$(CONFIG)/channel_arguments_test || ( echo test channel_arguments_test failed ; exit 1 ) $(E) "[RUN] Testing credentials_test" $(Q) ./bins/$(CONFIG)/credentials_test || ( echo test credentials_test failed ; exit 1 ) + $(E) "[RUN] Testing end2end_test" + $(Q) ./bins/$(CONFIG)/end2end_test || ( echo test end2end_test failed ; exit 1 ) + $(E) "[RUN] Testing qps_client" + $(Q) ./bins/$(CONFIG)/qps_client || ( echo test qps_client failed ; exit 1 ) + $(E) "[RUN] Testing qps_server" + $(Q) ./bins/$(CONFIG)/qps_server || ( echo test qps_server failed ; exit 1 ) + $(E) "[RUN] Testing status_test" + $(Q) ./bins/$(CONFIG)/status_test || ( echo test status_test failed ; exit 1 ) + $(E) "[RUN] Testing sync_client_async_server_test" + $(Q) ./bins/$(CONFIG)/sync_client_async_server_test || ( echo test sync_client_async_server_test failed ; exit 1 ) + $(E) "[RUN] Testing thread_pool_test" + $(Q) ./bins/$(CONFIG)/thread_pool_test || ( echo test thread_pool_test failed ; exit 1 ) tools: privatelibs bins/$(CONFIG)/gen_hpack_tables bins/$(CONFIG)/grpc_fetch_oauth2 @@ -1168,14 +1168,14 @@ LIBGPR_SRC = \ src/core/support/cpu_posix.c \ src/core/support/histogram.c \ src/core/support/host_port.c \ - src/core/support/log_android.c \ src/core/support/log.c \ + src/core/support/log_android.c \ src/core/support/log_linux.c \ src/core/support/log_posix.c \ src/core/support/log_win32.c \ src/core/support/murmur_hash.c \ - src/core/support/slice_buffer.c \ src/core/support/slice.c \ + src/core/support/slice_buffer.c \ src/core/support/string.c \ src/core/support/string_posix.c \ src/core/support/string_win32.c \ @@ -1190,9 +1190,9 @@ LIBGPR_SRC = \ 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.h \ include/grpc/support/atm_win32.h \ include/grpc/support/cancellable_platform.h \ include/grpc/support/cmdline.h \ @@ -1200,11 +1200,11 @@ PUBLIC_HEADERS_C += \ include/grpc/support/host_port.h \ include/grpc/support/log.h \ include/grpc/support/port_platform.h \ - include/grpc/support/slice_buffer.h \ include/grpc/support/slice.h \ + include/grpc/support/slice_buffer.h \ include/grpc/support/string.h \ - include/grpc/support/sync_generic.h \ include/grpc/support/sync.h \ + include/grpc/support/sync_generic.h \ include/grpc/support/sync_posix.h \ include/grpc/support/sync_win32.h \ include/grpc/support/thd.h \ @@ -1253,14 +1253,14 @@ objs/$(CONFIG)/src/core/support/cpu_linux.o: objs/$(CONFIG)/src/core/support/cpu_posix.o: objs/$(CONFIG)/src/core/support/histogram.o: objs/$(CONFIG)/src/core/support/host_port.o: -objs/$(CONFIG)/src/core/support/log_android.o: objs/$(CONFIG)/src/core/support/log.o: +objs/$(CONFIG)/src/core/support/log_android.o: objs/$(CONFIG)/src/core/support/log_linux.o: objs/$(CONFIG)/src/core/support/log_posix.o: objs/$(CONFIG)/src/core/support/log_win32.o: objs/$(CONFIG)/src/core/support/murmur_hash.o: -objs/$(CONFIG)/src/core/support/slice_buffer.o: objs/$(CONFIG)/src/core/support/slice.o: +objs/$(CONFIG)/src/core/support/slice_buffer.o: objs/$(CONFIG)/src/core/support/string.o: objs/$(CONFIG)/src/core/support/string_posix.o: objs/$(CONFIG)/src/core/support/string_win32.o: @@ -1274,6 +1274,45 @@ objs/$(CONFIG)/src/core/support/time_posix.o: objs/$(CONFIG)/src/core/support/time_win32.o: +LIBGPR_TEST_UTIL_SRC = \ + test/core/util/test_config.c \ + + +LIBGPR_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_TEST_UTIL_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL with ALPN. + +libs/$(CONFIG)/libgpr_test_util.a: openssl_dep_error + + +else + +ifneq ($(OPENSSL_DEP),) +test/core/util/test_config.c: $(OPENSSL_DEP) +endif + +libs/$(CONFIG)/libgpr_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGPR_TEST_UTIL_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(AR) rcs libs/$(CONFIG)/libgpr_test_util.a $(LIBGPR_TEST_UTIL_OBJS) + + + + + +endif + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(LIBGPR_TEST_UTIL_OBJS:.o=.dep) +endif +endif + +objs/$(CONFIG)/test/core/util/test_config.o: + + LIBGRPC_SRC = \ src/core/security/auth.c \ src/core/security/base64.c \ @@ -1623,230 +1662,174 @@ objs/$(CONFIG)/src/core/transport/transport.o: objs/$(CONFIG)/third_party/cJSON/cJSON.o: -LIBGRPC_UNSECURE_SRC = \ - src/core/channel/call_op_string.c \ - src/core/channel/census_filter.c \ - src/core/channel/channel_args.c \ - src/core/channel/channel_stack.c \ - src/core/channel/child_channel.c \ - src/core/channel/client_channel.c \ - src/core/channel/client_setup.c \ - src/core/channel/connected_channel.c \ - src/core/channel/http_client_filter.c \ - src/core/channel/http_filter.c \ - src/core/channel/http_server_filter.c \ - src/core/channel/metadata_buffer.c \ - src/core/channel/noop_filter.c \ - src/core/compression/algorithm.c \ - src/core/compression/message_compress.c \ - src/core/httpcli/format_request.c \ - src/core/httpcli/httpcli.c \ - src/core/httpcli/httpcli_security_context.c \ - src/core/httpcli/parser.c \ - src/core/iomgr/alarm.c \ - src/core/iomgr/alarm_heap.c \ - src/core/iomgr/endpoint.c \ - src/core/iomgr/endpoint_pair_posix.c \ - src/core/iomgr/fd_posix.c \ - src/core/iomgr/iomgr.c \ - src/core/iomgr/iomgr_posix.c \ - src/core/iomgr/pollset_kick_posix.c \ - src/core/iomgr/pollset_multipoller_with_poll_posix.c \ - src/core/iomgr/pollset_posix.c \ - src/core/iomgr/resolve_address_posix.c \ - src/core/iomgr/sockaddr_utils.c \ - src/core/iomgr/socket_utils_common_posix.c \ - src/core/iomgr/socket_utils_linux.c \ - src/core/iomgr/socket_utils_posix.c \ - src/core/iomgr/tcp_client_posix.c \ - src/core/iomgr/tcp_posix.c \ - src/core/iomgr/tcp_server_posix.c \ - src/core/iomgr/time_averaged_stats.c \ - src/core/statistics/census_init.c \ - src/core/statistics/census_log.c \ - src/core/statistics/census_rpc_stats.c \ - src/core/statistics/census_tracing.c \ - src/core/statistics/hash_table.c \ - src/core/statistics/window_stats.c \ - src/core/surface/byte_buffer.c \ - src/core/surface/byte_buffer_reader.c \ - src/core/surface/call.c \ - src/core/surface/channel.c \ - src/core/surface/channel_create.c \ - src/core/surface/client.c \ - src/core/surface/completion_queue.c \ - src/core/surface/event_string.c \ - src/core/surface/init.c \ - src/core/surface/lame_client.c \ - src/core/surface/secure_channel_create.c \ - src/core/surface/secure_server_create.c \ - src/core/surface/server.c \ - src/core/surface/server_chttp2.c \ - src/core/surface/server_create.c \ - src/core/transport/chttp2/alpn.c \ - src/core/transport/chttp2/bin_encoder.c \ - src/core/transport/chttp2/frame_data.c \ - src/core/transport/chttp2/frame_goaway.c \ - src/core/transport/chttp2/frame_ping.c \ - src/core/transport/chttp2/frame_rst_stream.c \ - src/core/transport/chttp2/frame_settings.c \ - src/core/transport/chttp2/frame_window_update.c \ - src/core/transport/chttp2/hpack_parser.c \ - src/core/transport/chttp2/hpack_table.c \ - src/core/transport/chttp2/huffsyms.c \ - src/core/transport/chttp2/status_conversion.c \ - src/core/transport/chttp2/stream_encoder.c \ - src/core/transport/chttp2/stream_map.c \ - src/core/transport/chttp2/timeout_encoding.c \ - src/core/transport/chttp2/varint.c \ - src/core/transport/chttp2_transport.c \ - src/core/transport/metadata.c \ - src/core/transport/stream_op.c \ - src/core/transport/transport.c \ - third_party/cJSON/cJSON.c \ +LIBGRPC++_SRC = \ + src/cpp/client/channel.cc \ + src/cpp/client/channel_arguments.cc \ + src/cpp/client/client_context.cc \ + src/cpp/client/create_channel.cc \ + src/cpp/client/credentials.cc \ + src/cpp/client/internal_stub.cc \ + src/cpp/common/rpc_method.cc \ + src/cpp/proto/proto_utils.cc \ + src/cpp/server/async_server.cc \ + src/cpp/server/async_server_context.cc \ + src/cpp/server/completion_queue.cc \ + src/cpp/server/server.cc \ + src/cpp/server/server_builder.cc \ + src/cpp/server/server_context_impl.cc \ + src/cpp/server/server_credentials.cc \ + src/cpp/server/server_rpc_handler.cc \ + src/cpp/server/thread_pool.cc \ + src/cpp/stream/stream_context.cc \ + src/cpp/util/status.cc \ + src/cpp/util/time.cc \ -PUBLIC_HEADERS_C += \ - include/grpc/byte_buffer.h \ - include/grpc/byte_buffer_reader.h \ - include/grpc/grpc.h \ - include/grpc/status.h \ +PUBLIC_HEADERS_CXX += \ + include/grpc++/async_server.h \ + include/grpc++/async_server_context.h \ + include/grpc++/channel_arguments.h \ + include/grpc++/channel_interface.h \ + include/grpc++/client_context.h \ + include/grpc++/completion_queue.h \ + include/grpc++/config.h \ + include/grpc++/create_channel.h \ + include/grpc++/credentials.h \ + include/grpc++/impl/internal_stub.h \ + include/grpc++/impl/rpc_method.h \ + include/grpc++/impl/rpc_service_method.h \ + include/grpc++/server.h \ + include/grpc++/server_builder.h \ + include/grpc++/server_context.h \ + include/grpc++/server_credentials.h \ + include/grpc++/status.h \ + include/grpc++/stream.h \ + include/grpc++/stream_context_interface.h \ -LIBGRPC_UNSECURE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_UNSECURE_SRC)))) +LIBGRPC++_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_SRC)))) -libs/$(CONFIG)/libgrpc_unsecure.a: $(ZLIB_DEP) $(LIBGRPC_UNSECURE_OBJS) +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL with ALPN. + +libs/$(CONFIG)/libgrpc++.a: openssl_dep_error + +ifeq ($(SYSTEM),MINGW32) +libs/$(CONFIG)/grpc++.$(SHARED_EXT): openssl_dep_error +else +libs/$(CONFIG)/libgrpc++.$(SHARED_EXT): openssl_dep_error +endif + +else + +ifneq ($(OPENSSL_DEP),) +src/cpp/client/channel.cc: $(OPENSSL_DEP) +src/cpp/client/channel_arguments.cc: $(OPENSSL_DEP) +src/cpp/client/client_context.cc: $(OPENSSL_DEP) +src/cpp/client/create_channel.cc: $(OPENSSL_DEP) +src/cpp/client/credentials.cc: $(OPENSSL_DEP) +src/cpp/client/internal_stub.cc: $(OPENSSL_DEP) +src/cpp/common/rpc_method.cc: $(OPENSSL_DEP) +src/cpp/proto/proto_utils.cc: $(OPENSSL_DEP) +src/cpp/server/async_server.cc: $(OPENSSL_DEP) +src/cpp/server/async_server_context.cc: $(OPENSSL_DEP) +src/cpp/server/completion_queue.cc: $(OPENSSL_DEP) +src/cpp/server/server.cc: $(OPENSSL_DEP) +src/cpp/server/server_builder.cc: $(OPENSSL_DEP) +src/cpp/server/server_context_impl.cc: $(OPENSSL_DEP) +src/cpp/server/server_credentials.cc: $(OPENSSL_DEP) +src/cpp/server/server_rpc_handler.cc: $(OPENSSL_DEP) +src/cpp/server/thread_pool.cc: $(OPENSSL_DEP) +src/cpp/stream/stream_context.cc: $(OPENSSL_DEP) +src/cpp/util/status.cc: $(OPENSSL_DEP) +src/cpp/util/time.cc: $(OPENSSL_DEP) +endif + +libs/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc_unsecure.a $(LIBGRPC_UNSECURE_OBJS) + $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc++.a $(LIBGRPC++_OBJS) ifeq ($(SYSTEM),MINGW32) -libs/$(CONFIG)/grpc_unsecure.$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/gpr.$(SHARED_EXT) +libs/$(CONFIG)/grpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/grpc.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/grpc_unsecure.def -Wl,--out-implib=libs/$(CONFIG)/libgrpc_unsecure-imp.a -o libs/$(CONFIG)/grpc_unsecure.$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) -lgpr-imp + $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/grpc++.def -Wl,--out-implib=libs/$(CONFIG)/libgrpc++-imp.a -o libs/$(CONFIG)/grpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc-imp else -libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP) libs/$(CONFIG)/libgpr.$(SHARED_EXT) +libs/$(CONFIG)/libgrpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) libs/$(CONFIG)/libgrpc.$(SHARED_EXT) $(OPENSSL_DEP) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LD) $(LDFLAGS) -Llibs/$(CONFIG) -dynamiclib -o libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) -lgpr + $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -dynamiclib -o libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc else - $(Q) $(LD) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.0 -o libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) -lgpr - $(Q) ln -sf libgrpc_unsecure.$(SHARED_EXT) libs/$(CONFIG)/libgrpc_unsecure.so + $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,-soname,libgrpc++.so.0 -o libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc + $(Q) ln -sf libgrpc++.$(SHARED_EXT) libs/$(CONFIG)/libgrpc++.so endif endif +endif + +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC_UNSECURE_OBJS:.o=.dep) +-include $(LIBGRPC++_OBJS:.o=.dep) +endif endif -objs/$(CONFIG)/src/core/channel/call_op_string.o: -objs/$(CONFIG)/src/core/channel/census_filter.o: -objs/$(CONFIG)/src/core/channel/channel_args.o: -objs/$(CONFIG)/src/core/channel/channel_stack.o: -objs/$(CONFIG)/src/core/channel/child_channel.o: -objs/$(CONFIG)/src/core/channel/client_channel.o: -objs/$(CONFIG)/src/core/channel/client_setup.o: -objs/$(CONFIG)/src/core/channel/connected_channel.o: -objs/$(CONFIG)/src/core/channel/http_client_filter.o: -objs/$(CONFIG)/src/core/channel/http_filter.o: -objs/$(CONFIG)/src/core/channel/http_server_filter.o: -objs/$(CONFIG)/src/core/channel/metadata_buffer.o: -objs/$(CONFIG)/src/core/channel/noop_filter.o: -objs/$(CONFIG)/src/core/compression/algorithm.o: -objs/$(CONFIG)/src/core/compression/message_compress.o: -objs/$(CONFIG)/src/core/httpcli/format_request.o: -objs/$(CONFIG)/src/core/httpcli/httpcli.o: -objs/$(CONFIG)/src/core/httpcli/httpcli_security_context.o: -objs/$(CONFIG)/src/core/httpcli/parser.o: -objs/$(CONFIG)/src/core/iomgr/alarm.o: -objs/$(CONFIG)/src/core/iomgr/alarm_heap.o: -objs/$(CONFIG)/src/core/iomgr/endpoint.o: -objs/$(CONFIG)/src/core/iomgr/endpoint_pair_posix.o: -objs/$(CONFIG)/src/core/iomgr/fd_posix.o: -objs/$(CONFIG)/src/core/iomgr/iomgr.o: -objs/$(CONFIG)/src/core/iomgr/iomgr_posix.o: -objs/$(CONFIG)/src/core/iomgr/pollset_kick_posix.o: -objs/$(CONFIG)/src/core/iomgr/pollset_multipoller_with_poll_posix.o: -objs/$(CONFIG)/src/core/iomgr/pollset_posix.o: -objs/$(CONFIG)/src/core/iomgr/resolve_address_posix.o: -objs/$(CONFIG)/src/core/iomgr/sockaddr_utils.o: -objs/$(CONFIG)/src/core/iomgr/socket_utils_common_posix.o: -objs/$(CONFIG)/src/core/iomgr/socket_utils_linux.o: -objs/$(CONFIG)/src/core/iomgr/socket_utils_posix.o: -objs/$(CONFIG)/src/core/iomgr/tcp_client_posix.o: -objs/$(CONFIG)/src/core/iomgr/tcp_posix.o: -objs/$(CONFIG)/src/core/iomgr/tcp_server_posix.o: -objs/$(CONFIG)/src/core/iomgr/time_averaged_stats.o: -objs/$(CONFIG)/src/core/statistics/census_init.o: -objs/$(CONFIG)/src/core/statistics/census_log.o: -objs/$(CONFIG)/src/core/statistics/census_rpc_stats.o: -objs/$(CONFIG)/src/core/statistics/census_tracing.o: -objs/$(CONFIG)/src/core/statistics/hash_table.o: -objs/$(CONFIG)/src/core/statistics/window_stats.o: -objs/$(CONFIG)/src/core/surface/byte_buffer.o: -objs/$(CONFIG)/src/core/surface/byte_buffer_reader.o: -objs/$(CONFIG)/src/core/surface/call.o: -objs/$(CONFIG)/src/core/surface/channel.o: -objs/$(CONFIG)/src/core/surface/channel_create.o: -objs/$(CONFIG)/src/core/surface/client.o: -objs/$(CONFIG)/src/core/surface/completion_queue.o: -objs/$(CONFIG)/src/core/surface/event_string.o: -objs/$(CONFIG)/src/core/surface/init.o: -objs/$(CONFIG)/src/core/surface/lame_client.o: -objs/$(CONFIG)/src/core/surface/secure_channel_create.o: -objs/$(CONFIG)/src/core/surface/secure_server_create.o: -objs/$(CONFIG)/src/core/surface/server.o: -objs/$(CONFIG)/src/core/surface/server_chttp2.o: -objs/$(CONFIG)/src/core/surface/server_create.o: -objs/$(CONFIG)/src/core/transport/chttp2/alpn.o: -objs/$(CONFIG)/src/core/transport/chttp2/bin_encoder.o: -objs/$(CONFIG)/src/core/transport/chttp2/frame_data.o: -objs/$(CONFIG)/src/core/transport/chttp2/frame_goaway.o: -objs/$(CONFIG)/src/core/transport/chttp2/frame_ping.o: -objs/$(CONFIG)/src/core/transport/chttp2/frame_rst_stream.o: -objs/$(CONFIG)/src/core/transport/chttp2/frame_settings.o: -objs/$(CONFIG)/src/core/transport/chttp2/frame_window_update.o: -objs/$(CONFIG)/src/core/transport/chttp2/hpack_parser.o: -objs/$(CONFIG)/src/core/transport/chttp2/hpack_table.o: -objs/$(CONFIG)/src/core/transport/chttp2/huffsyms.o: -objs/$(CONFIG)/src/core/transport/chttp2/status_conversion.o: -objs/$(CONFIG)/src/core/transport/chttp2/stream_encoder.o: -objs/$(CONFIG)/src/core/transport/chttp2/stream_map.o: -objs/$(CONFIG)/src/core/transport/chttp2/timeout_encoding.o: -objs/$(CONFIG)/src/core/transport/chttp2/varint.o: -objs/$(CONFIG)/src/core/transport/chttp2_transport.o: -objs/$(CONFIG)/src/core/transport/metadata.o: -objs/$(CONFIG)/src/core/transport/stream_op.o: -objs/$(CONFIG)/src/core/transport/transport.o: -objs/$(CONFIG)/third_party/cJSON/cJSON.o: +objs/$(CONFIG)/src/cpp/client/channel.o: +objs/$(CONFIG)/src/cpp/client/channel_arguments.o: +objs/$(CONFIG)/src/cpp/client/client_context.o: +objs/$(CONFIG)/src/cpp/client/create_channel.o: +objs/$(CONFIG)/src/cpp/client/credentials.o: +objs/$(CONFIG)/src/cpp/client/internal_stub.o: +objs/$(CONFIG)/src/cpp/common/rpc_method.o: +objs/$(CONFIG)/src/cpp/proto/proto_utils.o: +objs/$(CONFIG)/src/cpp/server/async_server.o: +objs/$(CONFIG)/src/cpp/server/async_server_context.o: +objs/$(CONFIG)/src/cpp/server/completion_queue.o: +objs/$(CONFIG)/src/cpp/server/server.o: +objs/$(CONFIG)/src/cpp/server/server_builder.o: +objs/$(CONFIG)/src/cpp/server/server_context_impl.o: +objs/$(CONFIG)/src/cpp/server/server_credentials.o: +objs/$(CONFIG)/src/cpp/server/server_rpc_handler.o: +objs/$(CONFIG)/src/cpp/server/thread_pool.o: +objs/$(CONFIG)/src/cpp/stream/stream_context.o: +objs/$(CONFIG)/src/cpp/util/status.o: +objs/$(CONFIG)/src/cpp/util/time.o: -LIBGPR_TEST_UTIL_SRC = \ - test/core/util/test_config.c \ +LIBGRPC++_TEST_UTIL_SRC = \ + gens/test/cpp/util/echo.pb.cc \ + gens/test/cpp/util/echo_duplicate.pb.cc \ + gens/test/cpp/util/messages.pb.cc \ + test/cpp/end2end/async_test_server.cc \ + test/cpp/util/create_test_channel.cc \ -LIBGPR_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_TEST_UTIL_SRC)))) +LIBGRPC++_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_TEST_UTIL_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure libraries if you don't have OpenSSL with ALPN. -libs/$(CONFIG)/libgpr_test_util.a: openssl_dep_error +libs/$(CONFIG)/libgrpc++_test_util.a: openssl_dep_error else ifneq ($(OPENSSL_DEP),) -test/core/util/test_config.c: $(OPENSSL_DEP) +test/cpp/util/echo.proto: $(OPENSSL_DEP) +test/cpp/util/echo_duplicate.proto: $(OPENSSL_DEP) +test/cpp/util/messages.proto: $(OPENSSL_DEP) +test/cpp/end2end/async_test_server.cc: $(OPENSSL_DEP) +test/cpp/util/create_test_channel.cc: $(OPENSSL_DEP) endif -libs/$(CONFIG)/libgpr_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGPR_TEST_UTIL_OBJS) +libs/$(CONFIG)/libgrpc++_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) $(AR) rcs libs/$(CONFIG)/libgpr_test_util.a $(LIBGPR_TEST_UTIL_OBJS) + $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc++_test_util.a $(LIBGRPC++_TEST_UTIL_OBJS) @@ -1856,25 +1839,29 @@ endif ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGPR_TEST_UTIL_OBJS:.o=.dep) +-include $(LIBGRPC++_TEST_UTIL_OBJS:.o=.dep) endif endif -objs/$(CONFIG)/test/core/util/test_config.o: + + + +objs/$(CONFIG)/test/cpp/end2end/async_test_server.o: gens/test/cpp/util/echo.pb.cc gens/test/cpp/util/echo_duplicate.pb.cc gens/test/cpp/util/messages.pb.cc +objs/$(CONFIG)/test/cpp/util/create_test_channel.o: gens/test/cpp/util/echo.pb.cc gens/test/cpp/util/echo_duplicate.pb.cc gens/test/cpp/util/messages.pb.cc LIBGRPC_TEST_UTIL_SRC = \ test/core/end2end/cq_verifier.c \ - test/core/end2end/data/test_root_cert.c \ test/core/end2end/data/prod_roots_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/iomgr/endpoint_tests.c \ test/core/statistics/census_log_tests.c \ test/core/transport/transport_end2end_tests.c \ test/core/util/grpc_profiler.c \ - test/core/util/port_posix.c \ test/core/util/parse_hexstring.c \ + test/core/util/port_posix.c \ test/core/util/slice_splitter.c \ @@ -1891,16 +1878,16 @@ else ifneq ($(OPENSSL_DEP),) test/core/end2end/cq_verifier.c: $(OPENSSL_DEP) -test/core/end2end/data/test_root_cert.c: $(OPENSSL_DEP) test/core/end2end/data/prod_roots_certs.c: $(OPENSSL_DEP) test/core/end2end/data/server1_cert.c: $(OPENSSL_DEP) test/core/end2end/data/server1_key.c: $(OPENSSL_DEP) +test/core/end2end/data/test_root_cert.c: $(OPENSSL_DEP) test/core/iomgr/endpoint_tests.c: $(OPENSSL_DEP) test/core/statistics/census_log_tests.c: $(OPENSSL_DEP) test/core/transport/transport_end2end_tests.c: $(OPENSSL_DEP) test/core/util/grpc_profiler.c: $(OPENSSL_DEP) -test/core/util/port_posix.c: $(OPENSSL_DEP) test/core/util/parse_hexstring.c: $(OPENSSL_DEP) +test/core/util/port_posix.c: $(OPENSSL_DEP) test/core/util/slice_splitter.c: $(OPENSSL_DEP) endif @@ -1922,205 +1909,218 @@ endif endif objs/$(CONFIG)/test/core/end2end/cq_verifier.o: -objs/$(CONFIG)/test/core/end2end/data/test_root_cert.o: objs/$(CONFIG)/test/core/end2end/data/prod_roots_certs.o: objs/$(CONFIG)/test/core/end2end/data/server1_cert.o: objs/$(CONFIG)/test/core/end2end/data/server1_key.o: +objs/$(CONFIG)/test/core/end2end/data/test_root_cert.o: objs/$(CONFIG)/test/core/iomgr/endpoint_tests.o: objs/$(CONFIG)/test/core/statistics/census_log_tests.o: objs/$(CONFIG)/test/core/transport/transport_end2end_tests.o: objs/$(CONFIG)/test/core/util/grpc_profiler.o: -objs/$(CONFIG)/test/core/util/port_posix.o: objs/$(CONFIG)/test/core/util/parse_hexstring.o: +objs/$(CONFIG)/test/core/util/port_posix.o: objs/$(CONFIG)/test/core/util/slice_splitter.o: -LIBGRPC++_SRC = \ - src/cpp/client/channel.cc \ - src/cpp/client/channel_arguments.cc \ - src/cpp/client/client_context.cc \ - src/cpp/client/create_channel.cc \ - src/cpp/client/credentials.cc \ - src/cpp/client/internal_stub.cc \ - src/cpp/proto/proto_utils.cc \ - src/cpp/common/rpc_method.cc \ - src/cpp/server/async_server.cc \ - src/cpp/server/async_server_context.cc \ - src/cpp/server/completion_queue.cc \ - src/cpp/server/server_builder.cc \ - src/cpp/server/server_context_impl.cc \ - src/cpp/server/server.cc \ - src/cpp/server/server_rpc_handler.cc \ - src/cpp/server/server_credentials.cc \ - src/cpp/server/thread_pool.cc \ - src/cpp/stream/stream_context.cc \ - src/cpp/util/status.cc \ - src/cpp/util/time.cc \ - -PUBLIC_HEADERS_CXX += \ - include/grpc++/async_server_context.h \ - include/grpc++/async_server.h \ - include/grpc++/channel_arguments.h \ - include/grpc++/channel_interface.h \ - include/grpc++/client_context.h \ - include/grpc++/completion_queue.h \ - include/grpc++/config.h \ - include/grpc++/create_channel.h \ - include/grpc++/credentials.h \ - include/grpc++/impl/internal_stub.h \ - include/grpc++/impl/rpc_method.h \ - include/grpc++/impl/rpc_service_method.h \ - include/grpc++/server_builder.h \ - include/grpc++/server_context.h \ - include/grpc++/server_credentials.h \ - include/grpc++/server.h \ - include/grpc++/status.h \ - include/grpc++/stream_context_interface.h \ - include/grpc++/stream.h \ - -LIBGRPC++_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure libraries if you don't have OpenSSL with ALPN. - -libs/$(CONFIG)/libgrpc++.a: openssl_dep_error - -ifeq ($(SYSTEM),MINGW32) -libs/$(CONFIG)/grpc++.$(SHARED_EXT): openssl_dep_error -else -libs/$(CONFIG)/libgrpc++.$(SHARED_EXT): openssl_dep_error -endif - -else +LIBGRPC_UNSECURE_SRC = \ + src/core/channel/call_op_string.c \ + src/core/channel/census_filter.c \ + src/core/channel/channel_args.c \ + src/core/channel/channel_stack.c \ + src/core/channel/child_channel.c \ + src/core/channel/client_channel.c \ + src/core/channel/client_setup.c \ + src/core/channel/connected_channel.c \ + src/core/channel/http_client_filter.c \ + src/core/channel/http_filter.c \ + src/core/channel/http_server_filter.c \ + src/core/channel/metadata_buffer.c \ + src/core/channel/noop_filter.c \ + src/core/compression/algorithm.c \ + src/core/compression/message_compress.c \ + src/core/httpcli/format_request.c \ + src/core/httpcli/httpcli.c \ + src/core/httpcli/httpcli_security_context.c \ + src/core/httpcli/parser.c \ + src/core/iomgr/alarm.c \ + src/core/iomgr/alarm_heap.c \ + src/core/iomgr/endpoint.c \ + src/core/iomgr/endpoint_pair_posix.c \ + src/core/iomgr/fd_posix.c \ + src/core/iomgr/iomgr.c \ + src/core/iomgr/iomgr_posix.c \ + src/core/iomgr/pollset_kick_posix.c \ + src/core/iomgr/pollset_multipoller_with_poll_posix.c \ + src/core/iomgr/pollset_posix.c \ + src/core/iomgr/resolve_address_posix.c \ + src/core/iomgr/sockaddr_utils.c \ + src/core/iomgr/socket_utils_common_posix.c \ + src/core/iomgr/socket_utils_linux.c \ + src/core/iomgr/socket_utils_posix.c \ + src/core/iomgr/tcp_client_posix.c \ + src/core/iomgr/tcp_posix.c \ + src/core/iomgr/tcp_server_posix.c \ + src/core/iomgr/time_averaged_stats.c \ + src/core/statistics/census_init.c \ + src/core/statistics/census_log.c \ + src/core/statistics/census_rpc_stats.c \ + src/core/statistics/census_tracing.c \ + src/core/statistics/hash_table.c \ + src/core/statistics/window_stats.c \ + src/core/surface/byte_buffer.c \ + src/core/surface/byte_buffer_reader.c \ + src/core/surface/call.c \ + src/core/surface/channel.c \ + src/core/surface/channel_create.c \ + src/core/surface/client.c \ + src/core/surface/completion_queue.c \ + src/core/surface/event_string.c \ + src/core/surface/init.c \ + src/core/surface/lame_client.c \ + src/core/surface/secure_channel_create.c \ + src/core/surface/secure_server_create.c \ + src/core/surface/server.c \ + src/core/surface/server_chttp2.c \ + src/core/surface/server_create.c \ + src/core/transport/chttp2/alpn.c \ + src/core/transport/chttp2/bin_encoder.c \ + src/core/transport/chttp2/frame_data.c \ + src/core/transport/chttp2/frame_goaway.c \ + src/core/transport/chttp2/frame_ping.c \ + src/core/transport/chttp2/frame_rst_stream.c \ + src/core/transport/chttp2/frame_settings.c \ + src/core/transport/chttp2/frame_window_update.c \ + src/core/transport/chttp2/hpack_parser.c \ + src/core/transport/chttp2/hpack_table.c \ + src/core/transport/chttp2/huffsyms.c \ + src/core/transport/chttp2/status_conversion.c \ + src/core/transport/chttp2/stream_encoder.c \ + src/core/transport/chttp2/stream_map.c \ + src/core/transport/chttp2/timeout_encoding.c \ + src/core/transport/chttp2/varint.c \ + src/core/transport/chttp2_transport.c \ + src/core/transport/metadata.c \ + src/core/transport/stream_op.c \ + src/core/transport/transport.c \ + third_party/cJSON/cJSON.c \ -ifneq ($(OPENSSL_DEP),) -src/cpp/client/channel.cc: $(OPENSSL_DEP) -src/cpp/client/channel_arguments.cc: $(OPENSSL_DEP) -src/cpp/client/client_context.cc: $(OPENSSL_DEP) -src/cpp/client/create_channel.cc: $(OPENSSL_DEP) -src/cpp/client/credentials.cc: $(OPENSSL_DEP) -src/cpp/client/internal_stub.cc: $(OPENSSL_DEP) -src/cpp/proto/proto_utils.cc: $(OPENSSL_DEP) -src/cpp/common/rpc_method.cc: $(OPENSSL_DEP) -src/cpp/server/async_server.cc: $(OPENSSL_DEP) -src/cpp/server/async_server_context.cc: $(OPENSSL_DEP) -src/cpp/server/completion_queue.cc: $(OPENSSL_DEP) -src/cpp/server/server_builder.cc: $(OPENSSL_DEP) -src/cpp/server/server_context_impl.cc: $(OPENSSL_DEP) -src/cpp/server/server.cc: $(OPENSSL_DEP) -src/cpp/server/server_rpc_handler.cc: $(OPENSSL_DEP) -src/cpp/server/server_credentials.cc: $(OPENSSL_DEP) -src/cpp/server/thread_pool.cc: $(OPENSSL_DEP) -src/cpp/stream/stream_context.cc: $(OPENSSL_DEP) -src/cpp/util/status.cc: $(OPENSSL_DEP) -src/cpp/util/time.cc: $(OPENSSL_DEP) -endif +PUBLIC_HEADERS_C += \ + include/grpc/byte_buffer.h \ + include/grpc/byte_buffer_reader.h \ + include/grpc/grpc.h \ + include/grpc/status.h \ -libs/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_OBJS) +LIBGRPC_UNSECURE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_UNSECURE_SRC)))) + +libs/$(CONFIG)/libgrpc_unsecure.a: $(ZLIB_DEP) $(LIBGRPC_UNSECURE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` - $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc++.a $(LIBGRPC++_OBJS) + $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc_unsecure.a $(LIBGRPC_UNSECURE_OBJS) ifeq ($(SYSTEM),MINGW32) -libs/$(CONFIG)/grpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/grpc.$(SHARED_EXT) $(OPENSSL_DEP) +libs/$(CONFIG)/grpc_unsecure.$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/gpr.$(SHARED_EXT) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/grpc++.def -Wl,--out-implib=libs/$(CONFIG)/libgrpc++-imp.a -o libs/$(CONFIG)/grpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc-imp + $(Q) $(LD) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/grpc_unsecure.def -Wl,--out-implib=libs/$(CONFIG)/libgrpc_unsecure-imp.a -o libs/$(CONFIG)/grpc_unsecure.$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) -lgpr-imp else -libs/$(CONFIG)/libgrpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) libs/$(CONFIG)/libgrpc.$(SHARED_EXT) $(OPENSSL_DEP) +libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT): $(LIBGRPC_UNSECURE_OBJS) $(ZLIB_DEP) libs/$(CONFIG)/libgpr.$(SHARED_EXT) $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -dynamiclib -o libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc + $(Q) $(LD) $(LDFLAGS) -Llibs/$(CONFIG) -dynamiclib -o libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) -lgpr else - $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,-soname,libgrpc++.so.0 -o libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc - $(Q) ln -sf libgrpc++.$(SHARED_EXT) libs/$(CONFIG)/libgrpc++.so -endif -endif - - -endif - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_OBJS:.o=.dep) -endif + $(Q) $(LD) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,-soname,libgrpc_unsecure.so.0 -o libs/$(CONFIG)/libgrpc_unsecure.$(SHARED_EXT) $(LIBGRPC_UNSECURE_OBJS) $(LDLIBS) -lgpr + $(Q) ln -sf libgrpc_unsecure.$(SHARED_EXT) libs/$(CONFIG)/libgrpc_unsecure.so endif - -objs/$(CONFIG)/src/cpp/client/channel.o: -objs/$(CONFIG)/src/cpp/client/channel_arguments.o: -objs/$(CONFIG)/src/cpp/client/client_context.o: -objs/$(CONFIG)/src/cpp/client/create_channel.o: -objs/$(CONFIG)/src/cpp/client/credentials.o: -objs/$(CONFIG)/src/cpp/client/internal_stub.o: -objs/$(CONFIG)/src/cpp/proto/proto_utils.o: -objs/$(CONFIG)/src/cpp/common/rpc_method.o: -objs/$(CONFIG)/src/cpp/server/async_server.o: -objs/$(CONFIG)/src/cpp/server/async_server_context.o: -objs/$(CONFIG)/src/cpp/server/completion_queue.o: -objs/$(CONFIG)/src/cpp/server/server_builder.o: -objs/$(CONFIG)/src/cpp/server/server_context_impl.o: -objs/$(CONFIG)/src/cpp/server/server.o: -objs/$(CONFIG)/src/cpp/server/server_rpc_handler.o: -objs/$(CONFIG)/src/cpp/server/server_credentials.o: -objs/$(CONFIG)/src/cpp/server/thread_pool.o: -objs/$(CONFIG)/src/cpp/stream/stream_context.o: -objs/$(CONFIG)/src/cpp/util/status.o: -objs/$(CONFIG)/src/cpp/util/time.o: - - -LIBGRPC++_TEST_UTIL_SRC = \ - gens/test/cpp/util/messages.pb.cc \ - gens/test/cpp/util/echo.pb.cc \ - gens/test/cpp/util/echo_duplicate.pb.cc \ - test/cpp/util/create_test_channel.cc \ - test/cpp/end2end/async_test_server.cc \ - - -LIBGRPC++_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_TEST_UTIL_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure libraries if you don't have OpenSSL with ALPN. - -libs/$(CONFIG)/libgrpc++_test_util.a: openssl_dep_error - - -else - -ifneq ($(OPENSSL_DEP),) -test/cpp/util/messages.proto: $(OPENSSL_DEP) -test/cpp/util/echo.proto: $(OPENSSL_DEP) -test/cpp/util/echo_duplicate.proto: $(OPENSSL_DEP) -test/cpp/util/create_test_channel.cc: $(OPENSSL_DEP) -test/cpp/end2end/async_test_server.cc: $(OPENSSL_DEP) endif -libs/$(CONFIG)/libgrpc++_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) - $(E) "[AR] Creating $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc++_test_util.a $(LIBGRPC++_TEST_UTIL_OBJS) - - - - - -endif -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_TEST_UTIL_OBJS:.o=.dep) -endif +-include $(LIBGRPC_UNSECURE_OBJS:.o=.dep) endif - - - -objs/$(CONFIG)/test/cpp/util/create_test_channel.o: gens/test/cpp/util/messages.pb.cc gens/test/cpp/util/echo.pb.cc gens/test/cpp/util/echo_duplicate.pb.cc -objs/$(CONFIG)/test/cpp/end2end/async_test_server.o: gens/test/cpp/util/messages.pb.cc gens/test/cpp/util/echo.pb.cc gens/test/cpp/util/echo_duplicate.pb.cc +objs/$(CONFIG)/src/core/channel/call_op_string.o: +objs/$(CONFIG)/src/core/channel/census_filter.o: +objs/$(CONFIG)/src/core/channel/channel_args.o: +objs/$(CONFIG)/src/core/channel/channel_stack.o: +objs/$(CONFIG)/src/core/channel/child_channel.o: +objs/$(CONFIG)/src/core/channel/client_channel.o: +objs/$(CONFIG)/src/core/channel/client_setup.o: +objs/$(CONFIG)/src/core/channel/connected_channel.o: +objs/$(CONFIG)/src/core/channel/http_client_filter.o: +objs/$(CONFIG)/src/core/channel/http_filter.o: +objs/$(CONFIG)/src/core/channel/http_server_filter.o: +objs/$(CONFIG)/src/core/channel/metadata_buffer.o: +objs/$(CONFIG)/src/core/channel/noop_filter.o: +objs/$(CONFIG)/src/core/compression/algorithm.o: +objs/$(CONFIG)/src/core/compression/message_compress.o: +objs/$(CONFIG)/src/core/httpcli/format_request.o: +objs/$(CONFIG)/src/core/httpcli/httpcli.o: +objs/$(CONFIG)/src/core/httpcli/httpcli_security_context.o: +objs/$(CONFIG)/src/core/httpcli/parser.o: +objs/$(CONFIG)/src/core/iomgr/alarm.o: +objs/$(CONFIG)/src/core/iomgr/alarm_heap.o: +objs/$(CONFIG)/src/core/iomgr/endpoint.o: +objs/$(CONFIG)/src/core/iomgr/endpoint_pair_posix.o: +objs/$(CONFIG)/src/core/iomgr/fd_posix.o: +objs/$(CONFIG)/src/core/iomgr/iomgr.o: +objs/$(CONFIG)/src/core/iomgr/iomgr_posix.o: +objs/$(CONFIG)/src/core/iomgr/pollset_kick_posix.o: +objs/$(CONFIG)/src/core/iomgr/pollset_multipoller_with_poll_posix.o: +objs/$(CONFIG)/src/core/iomgr/pollset_posix.o: +objs/$(CONFIG)/src/core/iomgr/resolve_address_posix.o: +objs/$(CONFIG)/src/core/iomgr/sockaddr_utils.o: +objs/$(CONFIG)/src/core/iomgr/socket_utils_common_posix.o: +objs/$(CONFIG)/src/core/iomgr/socket_utils_linux.o: +objs/$(CONFIG)/src/core/iomgr/socket_utils_posix.o: +objs/$(CONFIG)/src/core/iomgr/tcp_client_posix.o: +objs/$(CONFIG)/src/core/iomgr/tcp_posix.o: +objs/$(CONFIG)/src/core/iomgr/tcp_server_posix.o: +objs/$(CONFIG)/src/core/iomgr/time_averaged_stats.o: +objs/$(CONFIG)/src/core/statistics/census_init.o: +objs/$(CONFIG)/src/core/statistics/census_log.o: +objs/$(CONFIG)/src/core/statistics/census_rpc_stats.o: +objs/$(CONFIG)/src/core/statistics/census_tracing.o: +objs/$(CONFIG)/src/core/statistics/hash_table.o: +objs/$(CONFIG)/src/core/statistics/window_stats.o: +objs/$(CONFIG)/src/core/surface/byte_buffer.o: +objs/$(CONFIG)/src/core/surface/byte_buffer_reader.o: +objs/$(CONFIG)/src/core/surface/call.o: +objs/$(CONFIG)/src/core/surface/channel.o: +objs/$(CONFIG)/src/core/surface/channel_create.o: +objs/$(CONFIG)/src/core/surface/client.o: +objs/$(CONFIG)/src/core/surface/completion_queue.o: +objs/$(CONFIG)/src/core/surface/event_string.o: +objs/$(CONFIG)/src/core/surface/init.o: +objs/$(CONFIG)/src/core/surface/lame_client.o: +objs/$(CONFIG)/src/core/surface/secure_channel_create.o: +objs/$(CONFIG)/src/core/surface/secure_server_create.o: +objs/$(CONFIG)/src/core/surface/server.o: +objs/$(CONFIG)/src/core/surface/server_chttp2.o: +objs/$(CONFIG)/src/core/surface/server_create.o: +objs/$(CONFIG)/src/core/transport/chttp2/alpn.o: +objs/$(CONFIG)/src/core/transport/chttp2/bin_encoder.o: +objs/$(CONFIG)/src/core/transport/chttp2/frame_data.o: +objs/$(CONFIG)/src/core/transport/chttp2/frame_goaway.o: +objs/$(CONFIG)/src/core/transport/chttp2/frame_ping.o: +objs/$(CONFIG)/src/core/transport/chttp2/frame_rst_stream.o: +objs/$(CONFIG)/src/core/transport/chttp2/frame_settings.o: +objs/$(CONFIG)/src/core/transport/chttp2/frame_window_update.o: +objs/$(CONFIG)/src/core/transport/chttp2/hpack_parser.o: +objs/$(CONFIG)/src/core/transport/chttp2/hpack_table.o: +objs/$(CONFIG)/src/core/transport/chttp2/huffsyms.o: +objs/$(CONFIG)/src/core/transport/chttp2/status_conversion.o: +objs/$(CONFIG)/src/core/transport/chttp2/stream_encoder.o: +objs/$(CONFIG)/src/core/transport/chttp2/stream_map.o: +objs/$(CONFIG)/src/core/transport/chttp2/timeout_encoding.o: +objs/$(CONFIG)/src/core/transport/chttp2/varint.o: +objs/$(CONFIG)/src/core/transport/chttp2_transport.o: +objs/$(CONFIG)/src/core/transport/metadata.o: +objs/$(CONFIG)/src/core/transport/stream_op.o: +objs/$(CONFIG)/src/core/transport/transport.o: +objs/$(CONFIG)/third_party/cJSON/cJSON.o: LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC = \ @@ -2862,633 +2862,560 @@ else ifneq ($(OPENSSL_DEP),) test/core/end2end/data/test_root_cert.c: $(OPENSSL_DEP) test/core/end2end/data/prod_roots_certs.c: $(OPENSSL_DEP) -test/core/end2end/data/server1_cert.c: $(OPENSSL_DEP) -test/core/end2end/data/server1_key.c: $(OPENSSL_DEP) -endif - -libs/$(CONFIG)/libend2end_certs.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_CERTS_OBJS) - $(E) "[AR] Creating $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_certs.a $(LIBEND2END_CERTS_OBJS) - - - - - -endif - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(LIBEND2END_CERTS_OBJS:.o=.dep) -endif -endif - -objs/$(CONFIG)/test/core/end2end/data/test_root_cert.o: -objs/$(CONFIG)/test/core/end2end/data/prod_roots_certs.o: -objs/$(CONFIG)/test/core/end2end/data/server1_cert.o: -objs/$(CONFIG)/test/core/end2end/data/server1_key.o: - - - -# All of the test targets, and protoc plugins - - -GEN_HPACK_TABLES_SRC = \ - src/core/transport/chttp2/gen_hpack_tables.c \ - -GEN_HPACK_TABLES_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GEN_HPACK_TABLES_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL with ALPN. - -bins/$(CONFIG)/gen_hpack_tables: openssl_dep_error - -else - -bins/$(CONFIG)/gen_hpack_tables: $(GEN_HPACK_TABLES_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgpr.a libs/$(CONFIG)/libgrpc.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GEN_HPACK_TABLES_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgpr.a libs/$(CONFIG)/libgrpc.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gen_hpack_tables - -endif - -objs/$(CONFIG)/src/core/transport/chttp2/gen_hpack_tables.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgpr.a libs/$(CONFIG)/libgrpc.a - -deps_gen_hpack_tables: $(GEN_HPACK_TABLES_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(GEN_HPACK_TABLES_OBJS:.o=.dep) -endif -endif - - -CPP_PLUGIN_SRC = \ - src/compiler/cpp_plugin.cc \ - src/compiler/cpp_generator.cc \ - -CPP_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CPP_PLUGIN_SRC)))) - -bins/$(CONFIG)/cpp_plugin: $(CPP_PLUGIN_OBJS) - $(E) "[HOSTLD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(CPP_PLUGIN_OBJS) $(HOST_LDLIBSXX) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o bins/$(CONFIG)/cpp_plugin - -objs/$(CONFIG)/src/compiler/cpp_plugin.o: -objs/$(CONFIG)/src/compiler/cpp_generator.o: - -deps_cpp_plugin: $(CPP_PLUGIN_OBJS:.o=.dep) - -ifneq ($(NO_DEPS),true) --include $(CPP_PLUGIN_OBJS:.o=.dep) +test/core/end2end/data/server1_cert.c: $(OPENSSL_DEP) +test/core/end2end/data/server1_key.c: $(OPENSSL_DEP) endif +libs/$(CONFIG)/libend2end_certs.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_CERTS_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_certs.a $(LIBEND2END_CERTS_OBJS) -RUBY_PLUGIN_SRC = \ - src/compiler/ruby_plugin.cc \ - src/compiler/ruby_generator.cc \ -RUBY_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(RUBY_PLUGIN_SRC)))) -bins/$(CONFIG)/ruby_plugin: $(RUBY_PLUGIN_OBJS) - $(E) "[HOSTLD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(RUBY_PLUGIN_OBJS) $(HOST_LDLIBSXX) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o bins/$(CONFIG)/ruby_plugin -objs/$(CONFIG)/src/compiler/ruby_plugin.o: -objs/$(CONFIG)/src/compiler/ruby_generator.o: -deps_ruby_plugin: $(RUBY_PLUGIN_OBJS:.o=.dep) +endif +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(RUBY_PLUGIN_OBJS:.o=.dep) +-include $(LIBEND2END_CERTS_OBJS:.o=.dep) +endif endif +objs/$(CONFIG)/test/core/end2end/data/test_root_cert.o: +objs/$(CONFIG)/test/core/end2end/data/prod_roots_certs.o: +objs/$(CONFIG)/test/core/end2end/data/server1_cert.o: +objs/$(CONFIG)/test/core/end2end/data/server1_key.o: + -GRPC_BYTE_BUFFER_READER_TEST_SRC = \ - test/core/surface/byte_buffer_reader_test.c \ -GRPC_BYTE_BUFFER_READER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_BYTE_BUFFER_READER_TEST_SRC)))) +# All of the test targets, and protoc plugins + + +ALARM_HEAP_TEST_SRC = \ + test/core/iomgr/alarm_heap_test.c \ + +ALARM_HEAP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_HEAP_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/grpc_byte_buffer_reader_test: openssl_dep_error +bins/$(CONFIG)/alarm_heap_test: openssl_dep_error else -bins/$(CONFIG)/grpc_byte_buffer_reader_test: $(GRPC_BYTE_BUFFER_READER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/alarm_heap_test: $(ALARM_HEAP_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_BYTE_BUFFER_READER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_byte_buffer_reader_test + $(Q) $(LD) $(LDFLAGS) $(ALARM_HEAP_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/alarm_heap_test endif -objs/$(CONFIG)/test/core/surface/byte_buffer_reader_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/iomgr/alarm_heap_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_byte_buffer_reader_test: $(GRPC_BYTE_BUFFER_READER_TEST_OBJS:.o=.dep) +deps_alarm_heap_test: $(ALARM_HEAP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_BYTE_BUFFER_READER_TEST_OBJS:.o=.dep) +-include $(ALARM_HEAP_TEST_OBJS:.o=.dep) endif endif -GPR_CANCELLABLE_TEST_SRC = \ - test/core/support/cancellable_test.c \ +ALARM_LIST_TEST_SRC = \ + test/core/iomgr/alarm_list_test.c \ -GPR_CANCELLABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_CANCELLABLE_TEST_SRC)))) +ALARM_LIST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_LIST_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/gpr_cancellable_test: openssl_dep_error +bins/$(CONFIG)/alarm_list_test: openssl_dep_error else -bins/$(CONFIG)/gpr_cancellable_test: $(GPR_CANCELLABLE_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/alarm_list_test: $(ALARM_LIST_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_CANCELLABLE_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_cancellable_test + $(Q) $(LD) $(LDFLAGS) $(ALARM_LIST_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/alarm_list_test endif -objs/$(CONFIG)/test/core/support/cancellable_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/iomgr/alarm_list_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_cancellable_test: $(GPR_CANCELLABLE_TEST_OBJS:.o=.dep) +deps_alarm_list_test: $(ALARM_LIST_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_CANCELLABLE_TEST_OBJS:.o=.dep) +-include $(ALARM_LIST_TEST_OBJS:.o=.dep) endif endif -GPR_LOG_TEST_SRC = \ - test/core/support/log_test.c \ +ALARM_TEST_SRC = \ + test/core/iomgr/alarm_test.c \ -GPR_LOG_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_LOG_TEST_SRC)))) +ALARM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/gpr_log_test: openssl_dep_error +bins/$(CONFIG)/alarm_test: openssl_dep_error else -bins/$(CONFIG)/gpr_log_test: $(GPR_LOG_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/alarm_test: $(ALARM_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_LOG_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_log_test + $(Q) $(LD) $(LDFLAGS) $(ALARM_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/alarm_test endif -objs/$(CONFIG)/test/core/support/log_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/iomgr/alarm_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_log_test: $(GPR_LOG_TEST_OBJS:.o=.dep) +deps_alarm_test: $(ALARM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_LOG_TEST_OBJS:.o=.dep) +-include $(ALARM_TEST_OBJS:.o=.dep) endif endif -GPR_USEFUL_TEST_SRC = \ - test/core/support/useful_test.c \ +ALPN_TEST_SRC = \ + test/core/transport/chttp2/alpn_test.c \ -GPR_USEFUL_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_USEFUL_TEST_SRC)))) +ALPN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALPN_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/gpr_useful_test: openssl_dep_error +bins/$(CONFIG)/alpn_test: openssl_dep_error else -bins/$(CONFIG)/gpr_useful_test: $(GPR_USEFUL_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/alpn_test: $(ALPN_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_USEFUL_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_useful_test + $(Q) $(LD) $(LDFLAGS) $(ALPN_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/alpn_test endif -objs/$(CONFIG)/test/core/support/useful_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/transport/chttp2/alpn_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_useful_test: $(GPR_USEFUL_TEST_OBJS:.o=.dep) +deps_alpn_test: $(ALPN_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_USEFUL_TEST_OBJS:.o=.dep) +-include $(ALPN_TEST_OBJS:.o=.dep) endif endif -GPR_CMDLINE_TEST_SRC = \ - test/core/support/cmdline_test.c \ +BIN_ENCODER_TEST_SRC = \ + test/core/transport/chttp2/bin_encoder_test.c \ -GPR_CMDLINE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_CMDLINE_TEST_SRC)))) +BIN_ENCODER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(BIN_ENCODER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/gpr_cmdline_test: openssl_dep_error +bins/$(CONFIG)/bin_encoder_test: openssl_dep_error else -bins/$(CONFIG)/gpr_cmdline_test: $(GPR_CMDLINE_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/bin_encoder_test: $(BIN_ENCODER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_CMDLINE_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_cmdline_test + $(Q) $(LD) $(LDFLAGS) $(BIN_ENCODER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/bin_encoder_test endif -objs/$(CONFIG)/test/core/support/cmdline_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/transport/chttp2/bin_encoder_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_cmdline_test: $(GPR_CMDLINE_TEST_OBJS:.o=.dep) +deps_bin_encoder_test: $(BIN_ENCODER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_CMDLINE_TEST_OBJS:.o=.dep) +-include $(BIN_ENCODER_TEST_OBJS:.o=.dep) endif endif -GPR_HISTOGRAM_TEST_SRC = \ - test/core/support/histogram_test.c \ +CENSUS_HASH_TABLE_TEST_SRC = \ + test/core/statistics/hash_table_test.c \ -GPR_HISTOGRAM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_HISTOGRAM_TEST_SRC)))) +CENSUS_HASH_TABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_HASH_TABLE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/gpr_histogram_test: openssl_dep_error +bins/$(CONFIG)/census_hash_table_test: openssl_dep_error else -bins/$(CONFIG)/gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/census_hash_table_test: $(CENSUS_HASH_TABLE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_HISTOGRAM_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_histogram_test + $(Q) $(LD) $(LDFLAGS) $(CENSUS_HASH_TABLE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_hash_table_test endif -objs/$(CONFIG)/test/core/support/histogram_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/statistics/hash_table_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS:.o=.dep) +deps_census_hash_table_test: $(CENSUS_HASH_TABLE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_HISTOGRAM_TEST_OBJS:.o=.dep) +-include $(CENSUS_HASH_TABLE_TEST_OBJS:.o=.dep) endif endif -GPR_HOST_PORT_TEST_SRC = \ - test/core/support/host_port_test.c \ +CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_SRC = \ + test/core/statistics/multiple_writers_circular_buffer_test.c \ -GPR_HOST_PORT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_HOST_PORT_TEST_SRC)))) +CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/gpr_host_port_test: openssl_dep_error +bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test: openssl_dep_error else -bins/$(CONFIG)/gpr_host_port_test: $(GPR_HOST_PORT_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test: $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_HOST_PORT_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_host_port_test + $(Q) $(LD) $(LDFLAGS) $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test endif -objs/$(CONFIG)/test/core/support/host_port_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/statistics/multiple_writers_circular_buffer_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_host_port_test: $(GPR_HOST_PORT_TEST_OBJS:.o=.dep) +deps_census_statistics_multiple_writers_circular_buffer_test: $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_HOST_PORT_TEST_OBJS:.o=.dep) +-include $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS:.o=.dep) endif endif -GPR_SLICE_BUFFER_TEST_SRC = \ - test/core/support/slice_buffer_test.c \ +CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_SRC = \ + test/core/statistics/multiple_writers_test.c \ -GPR_SLICE_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SLICE_BUFFER_TEST_SRC)))) +CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/gpr_slice_buffer_test: openssl_dep_error +bins/$(CONFIG)/census_statistics_multiple_writers_test: openssl_dep_error else -bins/$(CONFIG)/gpr_slice_buffer_test: $(GPR_SLICE_BUFFER_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/census_statistics_multiple_writers_test: $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_SLICE_BUFFER_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_slice_buffer_test + $(Q) $(LD) $(LDFLAGS) $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_statistics_multiple_writers_test endif -objs/$(CONFIG)/test/core/support/slice_buffer_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/statistics/multiple_writers_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_slice_buffer_test: $(GPR_SLICE_BUFFER_TEST_OBJS:.o=.dep) +deps_census_statistics_multiple_writers_test: $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_SLICE_BUFFER_TEST_OBJS:.o=.dep) +-include $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS:.o=.dep) endif endif -GPR_SLICE_TEST_SRC = \ - test/core/support/slice_test.c \ +CENSUS_STATISTICS_PERFORMANCE_TEST_SRC = \ + test/core/statistics/performance_test.c \ -GPR_SLICE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SLICE_TEST_SRC)))) +CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_PERFORMANCE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/gpr_slice_test: openssl_dep_error +bins/$(CONFIG)/census_statistics_performance_test: openssl_dep_error else -bins/$(CONFIG)/gpr_slice_test: $(GPR_SLICE_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/census_statistics_performance_test: $(CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_SLICE_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_slice_test + $(Q) $(LD) $(LDFLAGS) $(CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_statistics_performance_test endif -objs/$(CONFIG)/test/core/support/slice_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/statistics/performance_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_slice_test: $(GPR_SLICE_TEST_OBJS:.o=.dep) +deps_census_statistics_performance_test: $(CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_SLICE_TEST_OBJS:.o=.dep) +-include $(CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS:.o=.dep) endif endif -GPR_STRING_TEST_SRC = \ - test/core/support/string_test.c \ +CENSUS_STATISTICS_QUICK_TEST_SRC = \ + test/core/statistics/quick_test.c \ -GPR_STRING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_STRING_TEST_SRC)))) +CENSUS_STATISTICS_QUICK_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_QUICK_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/gpr_string_test: openssl_dep_error +bins/$(CONFIG)/census_statistics_quick_test: openssl_dep_error else -bins/$(CONFIG)/gpr_string_test: $(GPR_STRING_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/census_statistics_quick_test: $(CENSUS_STATISTICS_QUICK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_STRING_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_string_test + $(Q) $(LD) $(LDFLAGS) $(CENSUS_STATISTICS_QUICK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_statistics_quick_test endif -objs/$(CONFIG)/test/core/support/string_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/statistics/quick_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_string_test: $(GPR_STRING_TEST_OBJS:.o=.dep) +deps_census_statistics_quick_test: $(CENSUS_STATISTICS_QUICK_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_STRING_TEST_OBJS:.o=.dep) +-include $(CENSUS_STATISTICS_QUICK_TEST_OBJS:.o=.dep) endif endif -GPR_SYNC_TEST_SRC = \ - test/core/support/sync_test.c \ +CENSUS_STATISTICS_SMALL_LOG_TEST_SRC = \ + test/core/statistics/small_log_test.c \ -GPR_SYNC_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SYNC_TEST_SRC)))) +CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_SMALL_LOG_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/gpr_sync_test: openssl_dep_error +bins/$(CONFIG)/census_statistics_small_log_test: openssl_dep_error else -bins/$(CONFIG)/gpr_sync_test: $(GPR_SYNC_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/census_statistics_small_log_test: $(CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_SYNC_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_sync_test + $(Q) $(LD) $(LDFLAGS) $(CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_statistics_small_log_test endif -objs/$(CONFIG)/test/core/support/sync_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/statistics/small_log_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_sync_test: $(GPR_SYNC_TEST_OBJS:.o=.dep) +deps_census_statistics_small_log_test: $(CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_SYNC_TEST_OBJS:.o=.dep) +-include $(CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS:.o=.dep) endif endif -GPR_THD_TEST_SRC = \ - test/core/support/thd_test.c \ +CENSUS_STATS_STORE_TEST_SRC = \ + test/core/statistics/rpc_stats_test.c \ -GPR_THD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_THD_TEST_SRC)))) +CENSUS_STATS_STORE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATS_STORE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/gpr_thd_test: openssl_dep_error +bins/$(CONFIG)/census_stats_store_test: openssl_dep_error else -bins/$(CONFIG)/gpr_thd_test: $(GPR_THD_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/census_stats_store_test: $(CENSUS_STATS_STORE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_THD_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_thd_test + $(Q) $(LD) $(LDFLAGS) $(CENSUS_STATS_STORE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_stats_store_test endif -objs/$(CONFIG)/test/core/support/thd_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/statistics/rpc_stats_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_thd_test: $(GPR_THD_TEST_OBJS:.o=.dep) +deps_census_stats_store_test: $(CENSUS_STATS_STORE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_THD_TEST_OBJS:.o=.dep) +-include $(CENSUS_STATS_STORE_TEST_OBJS:.o=.dep) endif endif -GPR_TIME_TEST_SRC = \ - test/core/support/time_test.c \ +CENSUS_STUB_TEST_SRC = \ + test/core/statistics/census_stub_test.c \ -GPR_TIME_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_TIME_TEST_SRC)))) +CENSUS_STUB_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STUB_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/gpr_time_test: openssl_dep_error +bins/$(CONFIG)/census_stub_test: openssl_dep_error else -bins/$(CONFIG)/gpr_time_test: $(GPR_TIME_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/census_stub_test: $(CENSUS_STUB_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GPR_TIME_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_time_test + $(Q) $(LD) $(LDFLAGS) $(CENSUS_STUB_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_stub_test endif -objs/$(CONFIG)/test/core/support/time_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/statistics/census_stub_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_gpr_time_test: $(GPR_TIME_TEST_OBJS:.o=.dep) +deps_census_stub_test: $(CENSUS_STUB_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GPR_TIME_TEST_OBJS:.o=.dep) +-include $(CENSUS_STUB_TEST_OBJS:.o=.dep) endif endif -MURMUR_HASH_TEST_SRC = \ - test/core/support/murmur_hash_test.c \ +CENSUS_TRACE_STORE_TEST_SRC = \ + test/core/statistics/trace_test.c \ -MURMUR_HASH_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(MURMUR_HASH_TEST_SRC)))) +CENSUS_TRACE_STORE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_TRACE_STORE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/murmur_hash_test: openssl_dep_error +bins/$(CONFIG)/census_trace_store_test: openssl_dep_error else -bins/$(CONFIG)/murmur_hash_test: $(MURMUR_HASH_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/census_trace_store_test: $(CENSUS_TRACE_STORE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(MURMUR_HASH_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/murmur_hash_test + $(Q) $(LD) $(LDFLAGS) $(CENSUS_TRACE_STORE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_trace_store_test endif -objs/$(CONFIG)/test/core/support/murmur_hash_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/statistics/trace_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_murmur_hash_test: $(MURMUR_HASH_TEST_OBJS:.o=.dep) +deps_census_trace_store_test: $(CENSUS_TRACE_STORE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(MURMUR_HASH_TEST_OBJS:.o=.dep) +-include $(CENSUS_TRACE_STORE_TEST_OBJS:.o=.dep) endif endif -GRPC_STREAM_OP_TEST_SRC = \ - test/core/transport/stream_op_test.c \ +CENSUS_WINDOW_STATS_TEST_SRC = \ + test/core/statistics/window_stats_test.c \ -GRPC_STREAM_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_STREAM_OP_TEST_SRC)))) +CENSUS_WINDOW_STATS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_WINDOW_STATS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/grpc_stream_op_test: openssl_dep_error +bins/$(CONFIG)/census_window_stats_test: openssl_dep_error else -bins/$(CONFIG)/grpc_stream_op_test: $(GRPC_STREAM_OP_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/census_window_stats_test: $(CENSUS_WINDOW_STATS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_STREAM_OP_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_stream_op_test + $(Q) $(LD) $(LDFLAGS) $(CENSUS_WINDOW_STATS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_window_stats_test endif -objs/$(CONFIG)/test/core/transport/stream_op_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/statistics/window_stats_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_stream_op_test: $(GRPC_STREAM_OP_TEST_OBJS:.o=.dep) +deps_census_window_stats_test: $(CENSUS_WINDOW_STATS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_STREAM_OP_TEST_OBJS:.o=.dep) +-include $(CENSUS_WINDOW_STATS_TEST_OBJS:.o=.dep) endif endif -ALPN_TEST_SRC = \ - test/core/transport/chttp2/alpn_test.c \ +CHANNEL_ARGUMENTS_TEST_SRC = \ + test/cpp/client/channel_arguments_test.cc \ -ALPN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALPN_TEST_SRC)))) +CHANNEL_ARGUMENTS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHANNEL_ARGUMENTS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/alpn_test: openssl_dep_error +bins/$(CONFIG)/channel_arguments_test: openssl_dep_error else -bins/$(CONFIG)/alpn_test: $(ALPN_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/channel_arguments_test: $(CHANNEL_ARGUMENTS_TEST_OBJS) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(ALPN_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/alpn_test + $(Q) $(LDXX) $(LDFLAGS) $(CHANNEL_ARGUMENTS_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/channel_arguments_test endif -objs/$(CONFIG)/test/core/transport/chttp2/alpn_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/client/channel_arguments_test.o: libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a -deps_alpn_test: $(ALPN_TEST_OBJS:.o=.dep) +deps_channel_arguments_test: $(CHANNEL_ARGUMENTS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ALPN_TEST_OBJS:.o=.dep) +-include $(CHANNEL_ARGUMENTS_TEST_OBJS:.o=.dep) endif endif -TIME_AVERAGED_STATS_TEST_SRC = \ - test/core/iomgr/time_averaged_stats_test.c \ +CHTTP2_STATUS_CONVERSION_TEST_SRC = \ + test/core/transport/chttp2/status_conversion_test.c \ -TIME_AVERAGED_STATS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIME_AVERAGED_STATS_TEST_SRC)))) +CHTTP2_STATUS_CONVERSION_TEST_OBJS = $(addprefix objs/$(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 with ALPN. -bins/$(CONFIG)/time_averaged_stats_test: openssl_dep_error +bins/$(CONFIG)/chttp2_status_conversion_test: openssl_dep_error else -bins/$(CONFIG)/time_averaged_stats_test: $(TIME_AVERAGED_STATS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/chttp2_status_conversion_test: $(CHTTP2_STATUS_CONVERSION_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TIME_AVERAGED_STATS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/time_averaged_stats_test + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_STATUS_CONVERSION_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/chttp2_status_conversion_test endif -objs/$(CONFIG)/test/core/iomgr/time_averaged_stats_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/transport/chttp2/status_conversion_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_time_averaged_stats_test: $(TIME_AVERAGED_STATS_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 $(TIME_AVERAGED_STATS_TEST_OBJS:.o=.dep) +-include $(CHTTP2_STATUS_CONVERSION_TEST_OBJS:.o=.dep) endif endif @@ -3524,1149 +3451,1170 @@ endif endif -HPACK_TABLE_TEST_SRC = \ - test/core/transport/chttp2/hpack_table_test.c \ +CHTTP2_STREAM_MAP_TEST_SRC = \ + test/core/transport/chttp2/stream_map_test.c \ -HPACK_TABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_TABLE_TEST_SRC)))) +CHTTP2_STREAM_MAP_TEST_OBJS = $(addprefix objs/$(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 with ALPN. -bins/$(CONFIG)/hpack_table_test: openssl_dep_error +bins/$(CONFIG)/chttp2_stream_map_test: openssl_dep_error else -bins/$(CONFIG)/hpack_table_test: $(HPACK_TABLE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/chttp2_stream_map_test: $(CHTTP2_STREAM_MAP_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(HPACK_TABLE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/hpack_table_test + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_STREAM_MAP_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/chttp2_stream_map_test endif -objs/$(CONFIG)/test/core/transport/chttp2/hpack_table_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/transport/chttp2/stream_map_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_hpack_table_test: $(HPACK_TABLE_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 $(HPACK_TABLE_TEST_OBJS:.o=.dep) +-include $(CHTTP2_STREAM_MAP_TEST_OBJS:.o=.dep) endif endif -CHTTP2_STREAM_MAP_TEST_SRC = \ - test/core/transport/chttp2/stream_map_test.c \ +CHTTP2_TRANSPORT_END2END_TEST_SRC = \ + test/core/transport/chttp2_transport_end2end_test.c \ -CHTTP2_STREAM_MAP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_STREAM_MAP_TEST_SRC)))) +CHTTP2_TRANSPORT_END2END_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_TRANSPORT_END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/chttp2_stream_map_test: openssl_dep_error +bins/$(CONFIG)/chttp2_transport_end2end_test: openssl_dep_error else -bins/$(CONFIG)/chttp2_stream_map_test: $(CHTTP2_STREAM_MAP_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/chttp2_transport_end2end_test: $(CHTTP2_TRANSPORT_END2END_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CHTTP2_STREAM_MAP_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/chttp2_stream_map_test + $(Q) $(LD) $(LDFLAGS) $(CHTTP2_TRANSPORT_END2END_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/chttp2_transport_end2end_test endif -objs/$(CONFIG)/test/core/transport/chttp2/stream_map_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/transport/chttp2_transport_end2end_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_chttp2_stream_map_test: $(CHTTP2_STREAM_MAP_TEST_OBJS:.o=.dep) +deps_chttp2_transport_end2end_test: $(CHTTP2_TRANSPORT_END2END_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_STREAM_MAP_TEST_OBJS:.o=.dep) +-include $(CHTTP2_TRANSPORT_END2END_TEST_OBJS:.o=.dep) endif endif -HPACK_PARSER_TEST_SRC = \ - test/core/transport/chttp2/hpack_parser_test.c \ +CPP_PLUGIN_SRC = \ + src/compiler/cpp_generator.cc \ + src/compiler/cpp_plugin.cc \ -HPACK_PARSER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_PARSER_TEST_SRC)))) +CPP_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CPP_PLUGIN_SRC)))) + +bins/$(CONFIG)/cpp_plugin: $(CPP_PLUGIN_OBJS) + $(E) "[HOSTLD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(CPP_PLUGIN_OBJS) $(HOST_LDLIBSXX) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o bins/$(CONFIG)/cpp_plugin + +objs/$(CONFIG)/src/compiler/cpp_generator.o: +objs/$(CONFIG)/src/compiler/cpp_plugin.o: + +deps_cpp_plugin: $(CPP_PLUGIN_OBJS:.o=.dep) + +ifneq ($(NO_DEPS),true) +-include $(CPP_PLUGIN_OBJS:.o=.dep) +endif + + +CREDENTIALS_TEST_SRC = \ + test/cpp/client/credentials_test.cc \ + +CREDENTIALS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CREDENTIALS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/hpack_parser_test: openssl_dep_error +bins/$(CONFIG)/credentials_test: openssl_dep_error else -bins/$(CONFIG)/hpack_parser_test: $(HPACK_PARSER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/credentials_test: $(CREDENTIALS_TEST_OBJS) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(HPACK_PARSER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/hpack_parser_test + $(Q) $(LDXX) $(LDFLAGS) $(CREDENTIALS_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/credentials_test endif -objs/$(CONFIG)/test/core/transport/chttp2/hpack_parser_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/client/credentials_test.o: libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a -deps_hpack_parser_test: $(HPACK_PARSER_TEST_OBJS:.o=.dep) +deps_credentials_test: $(CREDENTIALS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(HPACK_PARSER_TEST_OBJS:.o=.dep) +-include $(CREDENTIALS_TEST_OBJS:.o=.dep) endif endif -TRANSPORT_METADATA_TEST_SRC = \ - test/core/transport/metadata_test.c \ +DUALSTACK_SOCKET_TEST_SRC = \ + test/core/end2end/dualstack_socket_test.c \ -TRANSPORT_METADATA_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TRANSPORT_METADATA_TEST_SRC)))) +DUALSTACK_SOCKET_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(DUALSTACK_SOCKET_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/transport_metadata_test: openssl_dep_error +bins/$(CONFIG)/dualstack_socket_test: openssl_dep_error else -bins/$(CONFIG)/transport_metadata_test: $(TRANSPORT_METADATA_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/dualstack_socket_test: $(DUALSTACK_SOCKET_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TRANSPORT_METADATA_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/transport_metadata_test + $(Q) $(LD) $(LDFLAGS) $(DUALSTACK_SOCKET_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/dualstack_socket_test endif -objs/$(CONFIG)/test/core/transport/metadata_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/end2end/dualstack_socket_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_transport_metadata_test: $(TRANSPORT_METADATA_TEST_OBJS:.o=.dep) +deps_dualstack_socket_test: $(DUALSTACK_SOCKET_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TRANSPORT_METADATA_TEST_OBJS:.o=.dep) +-include $(DUALSTACK_SOCKET_TEST_OBJS:.o=.dep) endif endif -CHTTP2_STATUS_CONVERSION_TEST_SRC = \ - test/core/transport/chttp2/status_conversion_test.c \ +ECHO_CLIENT_SRC = \ + test/core/echo/client.c \ -CHTTP2_STATUS_CONVERSION_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_STATUS_CONVERSION_TEST_SRC)))) +ECHO_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/chttp2_status_conversion_test: openssl_dep_error +bins/$(CONFIG)/echo_client: openssl_dep_error else -bins/$(CONFIG)/chttp2_status_conversion_test: $(CHTTP2_STATUS_CONVERSION_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/echo_client: $(ECHO_CLIENT_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CHTTP2_STATUS_CONVERSION_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/chttp2_status_conversion_test + $(Q) $(LD) $(LDFLAGS) $(ECHO_CLIENT_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/echo_client endif -objs/$(CONFIG)/test/core/transport/chttp2/status_conversion_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/echo/client.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_chttp2_status_conversion_test: $(CHTTP2_STATUS_CONVERSION_TEST_OBJS:.o=.dep) +deps_echo_client: $(ECHO_CLIENT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_STATUS_CONVERSION_TEST_OBJS:.o=.dep) +-include $(ECHO_CLIENT_OBJS:.o=.dep) endif endif -CHTTP2_TRANSPORT_END2END_TEST_SRC = \ - test/core/transport/chttp2_transport_end2end_test.c \ +ECHO_SERVER_SRC = \ + test/core/echo/server.c \ -CHTTP2_TRANSPORT_END2END_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_TRANSPORT_END2END_TEST_SRC)))) +ECHO_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_SERVER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/chttp2_transport_end2end_test: openssl_dep_error +bins/$(CONFIG)/echo_server: openssl_dep_error else -bins/$(CONFIG)/chttp2_transport_end2end_test: $(CHTTP2_TRANSPORT_END2END_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/echo_server: $(ECHO_SERVER_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CHTTP2_TRANSPORT_END2END_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/chttp2_transport_end2end_test + $(Q) $(LD) $(LDFLAGS) $(ECHO_SERVER_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/echo_server endif -objs/$(CONFIG)/test/core/transport/chttp2_transport_end2end_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/echo/server.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_chttp2_transport_end2end_test: $(CHTTP2_TRANSPORT_END2END_TEST_OBJS:.o=.dep) +deps_echo_server: $(ECHO_SERVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHTTP2_TRANSPORT_END2END_TEST_OBJS:.o=.dep) +-include $(ECHO_SERVER_OBJS:.o=.dep) endif endif -TCP_POSIX_TEST_SRC = \ - test/core/iomgr/tcp_posix_test.c \ +ECHO_TEST_SRC = \ + test/core/echo/echo_test.c \ -TCP_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_POSIX_TEST_SRC)))) +ECHO_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/tcp_posix_test: openssl_dep_error +bins/$(CONFIG)/echo_test: openssl_dep_error else -bins/$(CONFIG)/tcp_posix_test: $(TCP_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/echo_test: $(ECHO_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TCP_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/tcp_posix_test + $(Q) $(LD) $(LDFLAGS) $(ECHO_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/echo_test endif -objs/$(CONFIG)/test/core/iomgr/tcp_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/echo/echo_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_tcp_posix_test: $(TCP_POSIX_TEST_OBJS:.o=.dep) +deps_echo_test: $(ECHO_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TCP_POSIX_TEST_OBJS:.o=.dep) +-include $(ECHO_TEST_OBJS:.o=.dep) endif endif -DUALSTACK_SOCKET_TEST_SRC = \ - test/core/end2end/dualstack_socket_test.c \ +END2END_TEST_SRC = \ + test/cpp/end2end/end2end_test.cc \ -DUALSTACK_SOCKET_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(DUALSTACK_SOCKET_TEST_SRC)))) +END2END_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(END2END_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/dualstack_socket_test: openssl_dep_error +bins/$(CONFIG)/end2end_test: openssl_dep_error else -bins/$(CONFIG)/dualstack_socket_test: $(DUALSTACK_SOCKET_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/end2end_test: $(END2END_TEST_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(DUALSTACK_SOCKET_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/dualstack_socket_test + $(Q) $(LDXX) $(LDFLAGS) $(END2END_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/end2end_test endif -objs/$(CONFIG)/test/core/end2end/dualstack_socket_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/end2end/end2end_test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_dualstack_socket_test: $(DUALSTACK_SOCKET_TEST_OBJS:.o=.dep) +deps_end2end_test: $(END2END_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(DUALSTACK_SOCKET_TEST_OBJS:.o=.dep) +-include $(END2END_TEST_OBJS:.o=.dep) endif endif -NO_SERVER_TEST_SRC = \ - test/core/end2end/no_server_test.c \ +FD_POSIX_TEST_SRC = \ + test/core/iomgr/fd_posix_test.c \ -NO_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(NO_SERVER_TEST_SRC)))) +FD_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FD_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/no_server_test: openssl_dep_error +bins/$(CONFIG)/fd_posix_test: openssl_dep_error else -bins/$(CONFIG)/no_server_test: $(NO_SERVER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/fd_posix_test: $(FD_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(NO_SERVER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/no_server_test + $(Q) $(LD) $(LDFLAGS) $(FD_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/fd_posix_test endif -objs/$(CONFIG)/test/core/end2end/no_server_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/iomgr/fd_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_no_server_test: $(NO_SERVER_TEST_OBJS:.o=.dep) +deps_fd_posix_test: $(FD_POSIX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(NO_SERVER_TEST_OBJS:.o=.dep) +-include $(FD_POSIX_TEST_OBJS:.o=.dep) endif endif -RESOLVE_ADDRESS_TEST_SRC = \ - test/core/iomgr/resolve_address_test.c \ +FLING_CLIENT_SRC = \ + test/core/fling/client.c \ -RESOLVE_ADDRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(RESOLVE_ADDRESS_TEST_SRC)))) +FLING_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/resolve_address_test: openssl_dep_error +bins/$(CONFIG)/fling_client: openssl_dep_error else -bins/$(CONFIG)/resolve_address_test: $(RESOLVE_ADDRESS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/fling_client: $(FLING_CLIENT_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(RESOLVE_ADDRESS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/resolve_address_test + $(Q) $(LD) $(LDFLAGS) $(FLING_CLIENT_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/fling_client endif -objs/$(CONFIG)/test/core/iomgr/resolve_address_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/fling/client.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_resolve_address_test: $(RESOLVE_ADDRESS_TEST_OBJS:.o=.dep) +deps_fling_client: $(FLING_CLIENT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(RESOLVE_ADDRESS_TEST_OBJS:.o=.dep) +-include $(FLING_CLIENT_OBJS:.o=.dep) endif endif -SOCKADDR_UTILS_TEST_SRC = \ - test/core/iomgr/sockaddr_utils_test.c \ +FLING_SERVER_SRC = \ + test/core/fling/server.c \ -SOCKADDR_UTILS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SOCKADDR_UTILS_TEST_SRC)))) +FLING_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_SERVER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/sockaddr_utils_test: openssl_dep_error +bins/$(CONFIG)/fling_server: openssl_dep_error else -bins/$(CONFIG)/sockaddr_utils_test: $(SOCKADDR_UTILS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/fling_server: $(FLING_SERVER_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SOCKADDR_UTILS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/sockaddr_utils_test + $(Q) $(LD) $(LDFLAGS) $(FLING_SERVER_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/fling_server endif -objs/$(CONFIG)/test/core/iomgr/sockaddr_utils_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/fling/server.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_sockaddr_utils_test: $(SOCKADDR_UTILS_TEST_OBJS:.o=.dep) +deps_fling_server: $(FLING_SERVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SOCKADDR_UTILS_TEST_OBJS:.o=.dep) +-include $(FLING_SERVER_OBJS:.o=.dep) endif endif -TCP_SERVER_POSIX_TEST_SRC = \ - test/core/iomgr/tcp_server_posix_test.c \ +FLING_STREAM_TEST_SRC = \ + test/core/fling/fling_stream_test.c \ -TCP_SERVER_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_SERVER_POSIX_TEST_SRC)))) +FLING_STREAM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_STREAM_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/tcp_server_posix_test: openssl_dep_error +bins/$(CONFIG)/fling_stream_test: openssl_dep_error else -bins/$(CONFIG)/tcp_server_posix_test: $(TCP_SERVER_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/fling_stream_test: $(FLING_STREAM_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TCP_SERVER_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/tcp_server_posix_test + $(Q) $(LD) $(LDFLAGS) $(FLING_STREAM_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/fling_stream_test endif -objs/$(CONFIG)/test/core/iomgr/tcp_server_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/fling/fling_stream_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_tcp_server_posix_test: $(TCP_SERVER_POSIX_TEST_OBJS:.o=.dep) +deps_fling_stream_test: $(FLING_STREAM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TCP_SERVER_POSIX_TEST_OBJS:.o=.dep) +-include $(FLING_STREAM_TEST_OBJS:.o=.dep) endif endif -TCP_CLIENT_POSIX_TEST_SRC = \ - test/core/iomgr/tcp_client_posix_test.c \ +FLING_TEST_SRC = \ + test/core/fling/fling_test.c \ -TCP_CLIENT_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_CLIENT_POSIX_TEST_SRC)))) +FLING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/tcp_client_posix_test: openssl_dep_error +bins/$(CONFIG)/fling_test: openssl_dep_error else -bins/$(CONFIG)/tcp_client_posix_test: $(TCP_CLIENT_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/fling_test: $(FLING_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TCP_CLIENT_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/tcp_client_posix_test + $(Q) $(LD) $(LDFLAGS) $(FLING_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/fling_test endif -objs/$(CONFIG)/test/core/iomgr/tcp_client_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/fling/fling_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_tcp_client_posix_test: $(TCP_CLIENT_POSIX_TEST_OBJS:.o=.dep) +deps_fling_test: $(FLING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TCP_CLIENT_POSIX_TEST_OBJS:.o=.dep) +-include $(FLING_TEST_OBJS:.o=.dep) endif endif -GRPC_CHANNEL_STACK_TEST_SRC = \ - test/core/channel/channel_stack_test.c \ +GEN_HPACK_TABLES_SRC = \ + src/core/transport/chttp2/gen_hpack_tables.c \ -GRPC_CHANNEL_STACK_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CHANNEL_STACK_TEST_SRC)))) +GEN_HPACK_TABLES_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GEN_HPACK_TABLES_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/grpc_channel_stack_test: openssl_dep_error +bins/$(CONFIG)/gen_hpack_tables: openssl_dep_error else -bins/$(CONFIG)/grpc_channel_stack_test: $(GRPC_CHANNEL_STACK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gen_hpack_tables: $(GEN_HPACK_TABLES_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgpr.a libs/$(CONFIG)/libgrpc.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_CHANNEL_STACK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_channel_stack_test + $(Q) $(LD) $(LDFLAGS) $(GEN_HPACK_TABLES_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgpr.a libs/$(CONFIG)/libgrpc.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gen_hpack_tables endif -objs/$(CONFIG)/test/core/channel/channel_stack_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/src/core/transport/chttp2/gen_hpack_tables.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgpr.a libs/$(CONFIG)/libgrpc.a -deps_grpc_channel_stack_test: $(GRPC_CHANNEL_STACK_TEST_OBJS:.o=.dep) +deps_gen_hpack_tables: $(GEN_HPACK_TABLES_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_CHANNEL_STACK_TEST_OBJS:.o=.dep) +-include $(GEN_HPACK_TABLES_OBJS:.o=.dep) endif endif -METADATA_BUFFER_TEST_SRC = \ - test/core/channel/metadata_buffer_test.c \ +GPR_CANCELLABLE_TEST_SRC = \ + test/core/support/cancellable_test.c \ -METADATA_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(METADATA_BUFFER_TEST_SRC)))) +GPR_CANCELLABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_CANCELLABLE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/metadata_buffer_test: openssl_dep_error +bins/$(CONFIG)/gpr_cancellable_test: openssl_dep_error else -bins/$(CONFIG)/metadata_buffer_test: $(METADATA_BUFFER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gpr_cancellable_test: $(GPR_CANCELLABLE_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(METADATA_BUFFER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/metadata_buffer_test + $(Q) $(LD) $(LDFLAGS) $(GPR_CANCELLABLE_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_cancellable_test endif -objs/$(CONFIG)/test/core/channel/metadata_buffer_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/cancellable_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_metadata_buffer_test: $(METADATA_BUFFER_TEST_OBJS:.o=.dep) +deps_gpr_cancellable_test: $(GPR_CANCELLABLE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(METADATA_BUFFER_TEST_OBJS:.o=.dep) +-include $(GPR_CANCELLABLE_TEST_OBJS:.o=.dep) endif endif -GRPC_COMPLETION_QUEUE_TEST_SRC = \ - test/core/surface/completion_queue_test.c \ +GPR_CMDLINE_TEST_SRC = \ + test/core/support/cmdline_test.c \ -GRPC_COMPLETION_QUEUE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_COMPLETION_QUEUE_TEST_SRC)))) +GPR_CMDLINE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_CMDLINE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/grpc_completion_queue_test: openssl_dep_error +bins/$(CONFIG)/gpr_cmdline_test: openssl_dep_error else -bins/$(CONFIG)/grpc_completion_queue_test: $(GRPC_COMPLETION_QUEUE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gpr_cmdline_test: $(GPR_CMDLINE_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_COMPLETION_QUEUE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_completion_queue_test + $(Q) $(LD) $(LDFLAGS) $(GPR_CMDLINE_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_cmdline_test endif -objs/$(CONFIG)/test/core/surface/completion_queue_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/cmdline_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_completion_queue_test: $(GRPC_COMPLETION_QUEUE_TEST_OBJS:.o=.dep) +deps_gpr_cmdline_test: $(GPR_CMDLINE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_COMPLETION_QUEUE_TEST_OBJS:.o=.dep) +-include $(GPR_CMDLINE_TEST_OBJS:.o=.dep) endif endif -GRPC_COMPLETION_QUEUE_BENCHMARK_SRC = \ - test/core/surface/completion_queue_benchmark.c \ +GPR_HISTOGRAM_TEST_SRC = \ + test/core/support/histogram_test.c \ -GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_COMPLETION_QUEUE_BENCHMARK_SRC)))) +GPR_HISTOGRAM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_HISTOGRAM_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/grpc_completion_queue_benchmark: openssl_dep_error +bins/$(CONFIG)/gpr_histogram_test: openssl_dep_error else -bins/$(CONFIG)/grpc_completion_queue_benchmark: $(GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_completion_queue_benchmark + $(Q) $(LD) $(LDFLAGS) $(GPR_HISTOGRAM_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_histogram_test endif -objs/$(CONFIG)/test/core/surface/completion_queue_benchmark.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/histogram_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_completion_queue_benchmark: $(GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS:.o=.dep) +deps_gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS:.o=.dep) +-include $(GPR_HISTOGRAM_TEST_OBJS:.o=.dep) endif endif -CENSUS_TRACE_STORE_TEST_SRC = \ - test/core/statistics/trace_test.c \ +GPR_HOST_PORT_TEST_SRC = \ + test/core/support/host_port_test.c \ -CENSUS_TRACE_STORE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_TRACE_STORE_TEST_SRC)))) +GPR_HOST_PORT_TEST_OBJS = $(addprefix objs/$(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 with ALPN. -bins/$(CONFIG)/census_trace_store_test: openssl_dep_error +bins/$(CONFIG)/gpr_host_port_test: openssl_dep_error else -bins/$(CONFIG)/census_trace_store_test: $(CENSUS_TRACE_STORE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gpr_host_port_test: $(GPR_HOST_PORT_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CENSUS_TRACE_STORE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_trace_store_test + $(Q) $(LD) $(LDFLAGS) $(GPR_HOST_PORT_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_host_port_test endif -objs/$(CONFIG)/test/core/statistics/trace_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/host_port_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_trace_store_test: $(CENSUS_TRACE_STORE_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 $(CENSUS_TRACE_STORE_TEST_OBJS:.o=.dep) +-include $(GPR_HOST_PORT_TEST_OBJS:.o=.dep) endif endif -CENSUS_STATS_STORE_TEST_SRC = \ - test/core/statistics/rpc_stats_test.c \ +GPR_LOG_TEST_SRC = \ + test/core/support/log_test.c \ -CENSUS_STATS_STORE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATS_STORE_TEST_SRC)))) +GPR_LOG_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_LOG_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/census_stats_store_test: openssl_dep_error +bins/$(CONFIG)/gpr_log_test: openssl_dep_error else -bins/$(CONFIG)/census_stats_store_test: $(CENSUS_STATS_STORE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gpr_log_test: $(GPR_LOG_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CENSUS_STATS_STORE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_stats_store_test + $(Q) $(LD) $(LDFLAGS) $(GPR_LOG_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_log_test endif -objs/$(CONFIG)/test/core/statistics/rpc_stats_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/log_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_stats_store_test: $(CENSUS_STATS_STORE_TEST_OBJS:.o=.dep) +deps_gpr_log_test: $(GPR_LOG_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STATS_STORE_TEST_OBJS:.o=.dep) +-include $(GPR_LOG_TEST_OBJS:.o=.dep) endif endif -CENSUS_WINDOW_STATS_TEST_SRC = \ - test/core/statistics/window_stats_test.c \ +GPR_SLICE_BUFFER_TEST_SRC = \ + test/core/support/slice_buffer_test.c \ -CENSUS_WINDOW_STATS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_WINDOW_STATS_TEST_SRC)))) +GPR_SLICE_BUFFER_TEST_OBJS = $(addprefix objs/$(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 with ALPN. -bins/$(CONFIG)/census_window_stats_test: openssl_dep_error +bins/$(CONFIG)/gpr_slice_buffer_test: openssl_dep_error else -bins/$(CONFIG)/census_window_stats_test: $(CENSUS_WINDOW_STATS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gpr_slice_buffer_test: $(GPR_SLICE_BUFFER_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CENSUS_WINDOW_STATS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_window_stats_test + $(Q) $(LD) $(LDFLAGS) $(GPR_SLICE_BUFFER_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_slice_buffer_test endif -objs/$(CONFIG)/test/core/statistics/window_stats_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/slice_buffer_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_window_stats_test: $(CENSUS_WINDOW_STATS_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 $(CENSUS_WINDOW_STATS_TEST_OBJS:.o=.dep) +-include $(GPR_SLICE_BUFFER_TEST_OBJS:.o=.dep) endif endif -CENSUS_STATISTICS_QUICK_TEST_SRC = \ - test/core/statistics/quick_test.c \ +GPR_SLICE_TEST_SRC = \ + test/core/support/slice_test.c \ -CENSUS_STATISTICS_QUICK_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_QUICK_TEST_SRC)))) +GPR_SLICE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SLICE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/census_statistics_quick_test: openssl_dep_error +bins/$(CONFIG)/gpr_slice_test: openssl_dep_error else -bins/$(CONFIG)/census_statistics_quick_test: $(CENSUS_STATISTICS_QUICK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gpr_slice_test: $(GPR_SLICE_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CENSUS_STATISTICS_QUICK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_statistics_quick_test + $(Q) $(LD) $(LDFLAGS) $(GPR_SLICE_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_slice_test endif -objs/$(CONFIG)/test/core/statistics/quick_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/slice_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_statistics_quick_test: $(CENSUS_STATISTICS_QUICK_TEST_OBJS:.o=.dep) +deps_gpr_slice_test: $(GPR_SLICE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STATISTICS_QUICK_TEST_OBJS:.o=.dep) +-include $(GPR_SLICE_TEST_OBJS:.o=.dep) endif endif -CENSUS_STATISTICS_SMALL_LOG_TEST_SRC = \ - test/core/statistics/small_log_test.c \ +GPR_STRING_TEST_SRC = \ + test/core/support/string_test.c \ -CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_SMALL_LOG_TEST_SRC)))) +GPR_STRING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_STRING_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/census_statistics_small_log_test: openssl_dep_error +bins/$(CONFIG)/gpr_string_test: openssl_dep_error else -bins/$(CONFIG)/census_statistics_small_log_test: $(CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gpr_string_test: $(GPR_STRING_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_statistics_small_log_test + $(Q) $(LD) $(LDFLAGS) $(GPR_STRING_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_string_test endif -objs/$(CONFIG)/test/core/statistics/small_log_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/string_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_statistics_small_log_test: $(CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS:.o=.dep) +deps_gpr_string_test: $(GPR_STRING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STATISTICS_SMALL_LOG_TEST_OBJS:.o=.dep) +-include $(GPR_STRING_TEST_OBJS:.o=.dep) endif endif -CENSUS_STATISTICS_PERFORMANCE_TEST_SRC = \ - test/core/statistics/performance_test.c \ +GPR_SYNC_TEST_SRC = \ + test/core/support/sync_test.c \ -CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_PERFORMANCE_TEST_SRC)))) +GPR_SYNC_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_SYNC_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/census_statistics_performance_test: openssl_dep_error +bins/$(CONFIG)/gpr_sync_test: openssl_dep_error else -bins/$(CONFIG)/census_statistics_performance_test: $(CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gpr_sync_test: $(GPR_SYNC_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_statistics_performance_test + $(Q) $(LD) $(LDFLAGS) $(GPR_SYNC_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_sync_test endif -objs/$(CONFIG)/test/core/statistics/performance_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/sync_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_statistics_performance_test: $(CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS:.o=.dep) +deps_gpr_sync_test: $(GPR_SYNC_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STATISTICS_PERFORMANCE_TEST_OBJS:.o=.dep) +-include $(GPR_SYNC_TEST_OBJS:.o=.dep) endif endif -CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_SRC = \ - test/core/statistics/multiple_writers_test.c \ +GPR_THD_TEST_SRC = \ + test/core/support/thd_test.c \ -CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_SRC)))) +GPR_THD_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_THD_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/census_statistics_multiple_writers_test: openssl_dep_error +bins/$(CONFIG)/gpr_thd_test: openssl_dep_error else -bins/$(CONFIG)/census_statistics_multiple_writers_test: $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gpr_thd_test: $(GPR_THD_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_statistics_multiple_writers_test + $(Q) $(LD) $(LDFLAGS) $(GPR_THD_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_thd_test endif -objs/$(CONFIG)/test/core/statistics/multiple_writers_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/thd_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_statistics_multiple_writers_test: $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS:.o=.dep) +deps_gpr_thd_test: $(GPR_THD_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STATISTICS_MULTIPLE_WRITERS_TEST_OBJS:.o=.dep) +-include $(GPR_THD_TEST_OBJS:.o=.dep) endif endif -CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_SRC = \ - test/core/statistics/multiple_writers_circular_buffer_test.c \ +GPR_TIME_TEST_SRC = \ + test/core/support/time_test.c \ -CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_SRC)))) +GPR_TIME_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_TIME_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test: openssl_dep_error +bins/$(CONFIG)/gpr_time_test: openssl_dep_error else -bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test: $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gpr_time_test: $(GPR_TIME_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test + $(Q) $(LD) $(LDFLAGS) $(GPR_TIME_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_time_test endif -objs/$(CONFIG)/test/core/statistics/multiple_writers_circular_buffer_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/time_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_statistics_multiple_writers_circular_buffer_test: $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS:.o=.dep) +deps_gpr_time_test: $(GPR_TIME_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STATISTICS_MULTIPLE_WRITERS_CIRCULAR_BUFFER_TEST_OBJS:.o=.dep) +-include $(GPR_TIME_TEST_OBJS:.o=.dep) endif endif -CENSUS_STUB_TEST_SRC = \ - test/core/statistics/census_stub_test.c \ +GPR_USEFUL_TEST_SRC = \ + test/core/support/useful_test.c \ -CENSUS_STUB_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_STUB_TEST_SRC)))) +GPR_USEFUL_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GPR_USEFUL_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/census_stub_test: openssl_dep_error +bins/$(CONFIG)/gpr_useful_test: openssl_dep_error else -bins/$(CONFIG)/census_stub_test: $(CENSUS_STUB_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/gpr_useful_test: $(GPR_USEFUL_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CENSUS_STUB_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_stub_test + $(Q) $(LD) $(LDFLAGS) $(GPR_USEFUL_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/gpr_useful_test endif -objs/$(CONFIG)/test/core/statistics/census_stub_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/useful_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_stub_test: $(CENSUS_STUB_TEST_OBJS:.o=.dep) +deps_gpr_useful_test: $(GPR_USEFUL_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_STUB_TEST_OBJS:.o=.dep) +-include $(GPR_USEFUL_TEST_OBJS:.o=.dep) endif endif -CENSUS_HASH_TABLE_TEST_SRC = \ - test/core/statistics/hash_table_test.c \ +GRPC_BASE64_TEST_SRC = \ + test/core/security/base64_test.c \ -CENSUS_HASH_TABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CENSUS_HASH_TABLE_TEST_SRC)))) +GRPC_BASE64_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_BASE64_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/census_hash_table_test: openssl_dep_error +bins/$(CONFIG)/grpc_base64_test: openssl_dep_error else -bins/$(CONFIG)/census_hash_table_test: $(CENSUS_HASH_TABLE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/grpc_base64_test: $(GRPC_BASE64_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CENSUS_HASH_TABLE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/census_hash_table_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_BASE64_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_base64_test endif -objs/$(CONFIG)/test/core/statistics/hash_table_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/security/base64_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_census_hash_table_test: $(CENSUS_HASH_TABLE_TEST_OBJS:.o=.dep) +deps_grpc_base64_test: $(GRPC_BASE64_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CENSUS_HASH_TABLE_TEST_OBJS:.o=.dep) +-include $(GRPC_BASE64_TEST_OBJS:.o=.dep) endif endif -FLING_SERVER_SRC = \ - test/core/fling/server.c \ +GRPC_BYTE_BUFFER_READER_TEST_SRC = \ + test/core/surface/byte_buffer_reader_test.c \ -FLING_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_SERVER_SRC)))) +GRPC_BYTE_BUFFER_READER_TEST_OBJS = $(addprefix objs/$(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 with ALPN. -bins/$(CONFIG)/fling_server: openssl_dep_error +bins/$(CONFIG)/grpc_byte_buffer_reader_test: openssl_dep_error else -bins/$(CONFIG)/fling_server: $(FLING_SERVER_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/grpc_byte_buffer_reader_test: $(GRPC_BYTE_BUFFER_READER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(FLING_SERVER_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/fling_server + $(Q) $(LD) $(LDFLAGS) $(GRPC_BYTE_BUFFER_READER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_byte_buffer_reader_test endif -objs/$(CONFIG)/test/core/fling/server.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/surface/byte_buffer_reader_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_fling_server: $(FLING_SERVER_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 $(FLING_SERVER_OBJS:.o=.dep) +-include $(GRPC_BYTE_BUFFER_READER_TEST_OBJS:.o=.dep) endif endif -FLING_CLIENT_SRC = \ - test/core/fling/client.c \ +GRPC_CHANNEL_STACK_TEST_SRC = \ + test/core/channel/channel_stack_test.c \ -FLING_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_CLIENT_SRC)))) +GRPC_CHANNEL_STACK_TEST_OBJS = $(addprefix objs/$(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 with ALPN. -bins/$(CONFIG)/fling_client: openssl_dep_error +bins/$(CONFIG)/grpc_channel_stack_test: openssl_dep_error else -bins/$(CONFIG)/fling_client: $(FLING_CLIENT_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/grpc_channel_stack_test: $(GRPC_CHANNEL_STACK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(FLING_CLIENT_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/fling_client + $(Q) $(LD) $(LDFLAGS) $(GRPC_CHANNEL_STACK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_channel_stack_test endif -objs/$(CONFIG)/test/core/fling/client.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/channel/channel_stack_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_fling_client: $(FLING_CLIENT_OBJS:.o=.dep) +deps_grpc_channel_stack_test: $(GRPC_CHANNEL_STACK_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FLING_CLIENT_OBJS:.o=.dep) +-include $(GRPC_CHANNEL_STACK_TEST_OBJS:.o=.dep) endif endif -FLING_TEST_SRC = \ - test/core/fling/fling_test.c \ +GRPC_COMPLETION_QUEUE_BENCHMARK_SRC = \ + test/core/surface/completion_queue_benchmark.c \ -FLING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_TEST_SRC)))) +GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_COMPLETION_QUEUE_BENCHMARK_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/fling_test: openssl_dep_error +bins/$(CONFIG)/grpc_completion_queue_benchmark: openssl_dep_error else -bins/$(CONFIG)/fling_test: $(FLING_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/grpc_completion_queue_benchmark: $(GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(FLING_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/fling_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_completion_queue_benchmark endif -objs/$(CONFIG)/test/core/fling/fling_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/surface/completion_queue_benchmark.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_fling_test: $(FLING_TEST_OBJS:.o=.dep) +deps_grpc_completion_queue_benchmark: $(GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FLING_TEST_OBJS:.o=.dep) +-include $(GRPC_COMPLETION_QUEUE_BENCHMARK_OBJS:.o=.dep) endif endif -ECHO_SERVER_SRC = \ - test/core/echo/server.c \ +GRPC_COMPLETION_QUEUE_TEST_SRC = \ + test/core/surface/completion_queue_test.c \ -ECHO_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_SERVER_SRC)))) +GRPC_COMPLETION_QUEUE_TEST_OBJS = $(addprefix objs/$(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 with ALPN. -bins/$(CONFIG)/echo_server: openssl_dep_error +bins/$(CONFIG)/grpc_completion_queue_test: openssl_dep_error else -bins/$(CONFIG)/echo_server: $(ECHO_SERVER_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/grpc_completion_queue_test: $(GRPC_COMPLETION_QUEUE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(ECHO_SERVER_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/echo_server + $(Q) $(LD) $(LDFLAGS) $(GRPC_COMPLETION_QUEUE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_completion_queue_test endif -objs/$(CONFIG)/test/core/echo/server.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/surface/completion_queue_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_echo_server: $(ECHO_SERVER_OBJS:.o=.dep) +deps_grpc_completion_queue_test: $(GRPC_COMPLETION_QUEUE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ECHO_SERVER_OBJS:.o=.dep) +-include $(GRPC_COMPLETION_QUEUE_TEST_OBJS:.o=.dep) endif endif -ECHO_CLIENT_SRC = \ - test/core/echo/client.c \ +GRPC_CREDENTIALS_TEST_SRC = \ + test/core/security/credentials_test.c \ -ECHO_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_CLIENT_SRC)))) +GRPC_CREDENTIALS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CREDENTIALS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/echo_client: openssl_dep_error +bins/$(CONFIG)/grpc_credentials_test: openssl_dep_error else -bins/$(CONFIG)/echo_client: $(ECHO_CLIENT_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/grpc_credentials_test: $(GRPC_CREDENTIALS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(ECHO_CLIENT_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/echo_client + $(Q) $(LD) $(LDFLAGS) $(GRPC_CREDENTIALS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_credentials_test endif -objs/$(CONFIG)/test/core/echo/client.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/security/credentials_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_echo_client: $(ECHO_CLIENT_OBJS:.o=.dep) +deps_grpc_credentials_test: $(GRPC_CREDENTIALS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ECHO_CLIENT_OBJS:.o=.dep) +-include $(GRPC_CREDENTIALS_TEST_OBJS:.o=.dep) endif endif -ECHO_TEST_SRC = \ - test/core/echo/echo_test.c \ +GRPC_FETCH_OAUTH2_SRC = \ + test/core/security/fetch_oauth2.c \ -ECHO_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ECHO_TEST_SRC)))) +GRPC_FETCH_OAUTH2_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_FETCH_OAUTH2_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/echo_test: openssl_dep_error +bins/$(CONFIG)/grpc_fetch_oauth2: openssl_dep_error else -bins/$(CONFIG)/echo_test: $(ECHO_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/grpc_fetch_oauth2: $(GRPC_FETCH_OAUTH2_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(ECHO_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/echo_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_FETCH_OAUTH2_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_fetch_oauth2 endif -objs/$(CONFIG)/test/core/echo/echo_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/security/fetch_oauth2.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_echo_test: $(ECHO_TEST_OBJS:.o=.dep) +deps_grpc_fetch_oauth2: $(GRPC_FETCH_OAUTH2_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ECHO_TEST_OBJS:.o=.dep) +-include $(GRPC_FETCH_OAUTH2_OBJS:.o=.dep) endif endif -LOW_LEVEL_PING_PONG_BENCHMARK_SRC = \ - test/core/network_benchmarks/low_level_ping_pong.c \ +GRPC_JSON_TOKEN_TEST_SRC = \ + test/core/security/json_token_test.c \ -LOW_LEVEL_PING_PONG_BENCHMARK_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LOW_LEVEL_PING_PONG_BENCHMARK_SRC)))) +GRPC_JSON_TOKEN_TEST_OBJS = $(addprefix objs/$(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 with ALPN. -bins/$(CONFIG)/low_level_ping_pong_benchmark: openssl_dep_error +bins/$(CONFIG)/grpc_json_token_test: openssl_dep_error else -bins/$(CONFIG)/low_level_ping_pong_benchmark: $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/grpc_json_token_test: $(GRPC_JSON_TOKEN_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/low_level_ping_pong_benchmark + $(Q) $(LD) $(LDFLAGS) $(GRPC_JSON_TOKEN_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_json_token_test endif -objs/$(CONFIG)/test/core/network_benchmarks/low_level_ping_pong.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/security/json_token_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_low_level_ping_pong_benchmark: $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS:.o=.dep) +deps_grpc_json_token_test: $(GRPC_JSON_TOKEN_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS:.o=.dep) +-include $(GRPC_JSON_TOKEN_TEST_OBJS:.o=.dep) endif endif -MESSAGE_COMPRESS_TEST_SRC = \ - test/core/compression/message_compress_test.c \ +GRPC_STREAM_OP_TEST_SRC = \ + test/core/transport/stream_op_test.c \ -MESSAGE_COMPRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(MESSAGE_COMPRESS_TEST_SRC)))) +GRPC_STREAM_OP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_STREAM_OP_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/message_compress_test: openssl_dep_error +bins/$(CONFIG)/grpc_stream_op_test: openssl_dep_error else -bins/$(CONFIG)/message_compress_test: $(MESSAGE_COMPRESS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/grpc_stream_op_test: $(GRPC_STREAM_OP_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(MESSAGE_COMPRESS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/message_compress_test + $(Q) $(LD) $(LDFLAGS) $(GRPC_STREAM_OP_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_stream_op_test endif -objs/$(CONFIG)/test/core/compression/message_compress_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/transport/stream_op_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_message_compress_test: $(MESSAGE_COMPRESS_TEST_OBJS:.o=.dep) +deps_grpc_stream_op_test: $(GRPC_STREAM_OP_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(MESSAGE_COMPRESS_TEST_OBJS:.o=.dep) +-include $(GRPC_STREAM_OP_TEST_OBJS:.o=.dep) endif endif -BIN_ENCODER_TEST_SRC = \ - test/core/transport/chttp2/bin_encoder_test.c \ +HPACK_PARSER_TEST_SRC = \ + test/core/transport/chttp2/hpack_parser_test.c \ -BIN_ENCODER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(BIN_ENCODER_TEST_SRC)))) +HPACK_PARSER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_PARSER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/bin_encoder_test: openssl_dep_error +bins/$(CONFIG)/hpack_parser_test: openssl_dep_error else -bins/$(CONFIG)/bin_encoder_test: $(BIN_ENCODER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/hpack_parser_test: $(HPACK_PARSER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(BIN_ENCODER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/bin_encoder_test + $(Q) $(LD) $(LDFLAGS) $(HPACK_PARSER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/hpack_parser_test endif -objs/$(CONFIG)/test/core/transport/chttp2/bin_encoder_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/transport/chttp2/hpack_parser_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_bin_encoder_test: $(BIN_ENCODER_TEST_OBJS:.o=.dep) +deps_hpack_parser_test: $(HPACK_PARSER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(BIN_ENCODER_TEST_OBJS:.o=.dep) +-include $(HPACK_PARSER_TEST_OBJS:.o=.dep) endif endif -SECURE_ENDPOINT_TEST_SRC = \ - test/core/security/secure_endpoint_test.c \ +HPACK_TABLE_TEST_SRC = \ + test/core/transport/chttp2/hpack_table_test.c \ -SECURE_ENDPOINT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SECURE_ENDPOINT_TEST_SRC)))) +HPACK_TABLE_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(HPACK_TABLE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/secure_endpoint_test: openssl_dep_error +bins/$(CONFIG)/hpack_table_test: openssl_dep_error else -bins/$(CONFIG)/secure_endpoint_test: $(SECURE_ENDPOINT_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/hpack_table_test: $(HPACK_TABLE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SECURE_ENDPOINT_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/secure_endpoint_test + $(Q) $(LD) $(LDFLAGS) $(HPACK_TABLE_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/hpack_table_test endif -objs/$(CONFIG)/test/core/security/secure_endpoint_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/transport/chttp2/hpack_table_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_secure_endpoint_test: $(SECURE_ENDPOINT_TEST_OBJS:.o=.dep) +deps_hpack_table_test: $(HPACK_TABLE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SECURE_ENDPOINT_TEST_OBJS:.o=.dep) +-include $(HPACK_TABLE_TEST_OBJS:.o=.dep) endif endif @@ -4764,731 +4712,783 @@ endif endif -GRPC_CREDENTIALS_TEST_SRC = \ - test/core/security/credentials_test.c \ +INTEROP_CLIENT_SRC = \ + gens/test/cpp/interop/empty.pb.cc \ + gens/test/cpp/interop/messages.pb.cc \ + gens/test/cpp/interop/test.pb.cc \ + test/cpp/interop/client.cc \ -GRPC_CREDENTIALS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CREDENTIALS_TEST_SRC)))) +INTEROP_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/grpc_credentials_test: openssl_dep_error +bins/$(CONFIG)/interop_client: openssl_dep_error else -bins/$(CONFIG)/grpc_credentials_test: $(GRPC_CREDENTIALS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/interop_client: $(INTEROP_CLIENT_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_CREDENTIALS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_credentials_test + $(Q) $(LDXX) $(LDFLAGS) $(INTEROP_CLIENT_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/interop_client endif -objs/$(CONFIG)/test/core/security/credentials_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/empty.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/messages.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/client.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_credentials_test: $(GRPC_CREDENTIALS_TEST_OBJS:.o=.dep) +deps_interop_client: $(INTEROP_CLIENT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_CREDENTIALS_TEST_OBJS:.o=.dep) +-include $(INTEROP_CLIENT_OBJS:.o=.dep) endif endif -GRPC_FETCH_OAUTH2_SRC = \ - test/core/security/fetch_oauth2.c \ +INTEROP_SERVER_SRC = \ + gens/test/cpp/interop/empty.pb.cc \ + gens/test/cpp/interop/messages.pb.cc \ + gens/test/cpp/interop/test.pb.cc \ + test/cpp/interop/server.cc \ -GRPC_FETCH_OAUTH2_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_FETCH_OAUTH2_SRC)))) +INTEROP_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_SERVER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/grpc_fetch_oauth2: openssl_dep_error +bins/$(CONFIG)/interop_server: openssl_dep_error else -bins/$(CONFIG)/grpc_fetch_oauth2: $(GRPC_FETCH_OAUTH2_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/interop_server: $(INTEROP_SERVER_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_FETCH_OAUTH2_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_fetch_oauth2 + $(Q) $(LDXX) $(LDFLAGS) $(INTEROP_SERVER_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/interop_server endif -objs/$(CONFIG)/test/core/security/fetch_oauth2.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/empty.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/messages.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/server.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_fetch_oauth2: $(GRPC_FETCH_OAUTH2_OBJS:.o=.dep) +deps_interop_server: $(INTEROP_SERVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_FETCH_OAUTH2_OBJS:.o=.dep) +-include $(INTEROP_SERVER_OBJS:.o=.dep) endif endif -GRPC_BASE64_TEST_SRC = \ - test/core/security/base64_test.c \ +LAME_CLIENT_TEST_SRC = \ + test/core/surface/lame_client_test.c \ -GRPC_BASE64_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_BASE64_TEST_SRC)))) +LAME_CLIENT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LAME_CLIENT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/grpc_base64_test: openssl_dep_error +bins/$(CONFIG)/lame_client_test: openssl_dep_error else -bins/$(CONFIG)/grpc_base64_test: $(GRPC_BASE64_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/lame_client_test: $(LAME_CLIENT_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_BASE64_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_base64_test + $(Q) $(LD) $(LDFLAGS) $(LAME_CLIENT_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/lame_client_test endif -objs/$(CONFIG)/test/core/security/base64_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/surface/lame_client_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_base64_test: $(GRPC_BASE64_TEST_OBJS:.o=.dep) +deps_lame_client_test: $(LAME_CLIENT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(GRPC_BASE64_TEST_OBJS:.o=.dep) +-include $(LAME_CLIENT_TEST_OBJS:.o=.dep) endif endif -GRPC_JSON_TOKEN_TEST_SRC = \ - test/core/security/json_token_test.c \ +LOW_LEVEL_PING_PONG_BENCHMARK_SRC = \ + test/core/network_benchmarks/low_level_ping_pong.c \ -GRPC_JSON_TOKEN_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_JSON_TOKEN_TEST_SRC)))) +LOW_LEVEL_PING_PONG_BENCHMARK_OBJS = $(addprefix objs/$(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 with ALPN. -bins/$(CONFIG)/grpc_json_token_test: openssl_dep_error +bins/$(CONFIG)/low_level_ping_pong_benchmark: openssl_dep_error else -bins/$(CONFIG)/grpc_json_token_test: $(GRPC_JSON_TOKEN_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/low_level_ping_pong_benchmark: $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_JSON_TOKEN_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/grpc_json_token_test + $(Q) $(LD) $(LDFLAGS) $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/low_level_ping_pong_benchmark endif -objs/$(CONFIG)/test/core/security/json_token_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/network_benchmarks/low_level_ping_pong.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_grpc_json_token_test: $(GRPC_JSON_TOKEN_TEST_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_JSON_TOKEN_TEST_OBJS:.o=.dep) +-include $(LOW_LEVEL_PING_PONG_BENCHMARK_OBJS:.o=.dep) endif endif -TIMEOUT_ENCODING_TEST_SRC = \ - test/core/transport/chttp2/timeout_encoding_test.c \ +MESSAGE_COMPRESS_TEST_SRC = \ + test/core/compression/message_compress_test.c \ -TIMEOUT_ENCODING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIMEOUT_ENCODING_TEST_SRC)))) +MESSAGE_COMPRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(MESSAGE_COMPRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/timeout_encoding_test: openssl_dep_error +bins/$(CONFIG)/message_compress_test: openssl_dep_error else -bins/$(CONFIG)/timeout_encoding_test: $(TIMEOUT_ENCODING_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/message_compress_test: $(MESSAGE_COMPRESS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TIMEOUT_ENCODING_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/timeout_encoding_test + $(Q) $(LD) $(LDFLAGS) $(MESSAGE_COMPRESS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/message_compress_test endif -objs/$(CONFIG)/test/core/transport/chttp2/timeout_encoding_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/compression/message_compress_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_timeout_encoding_test: $(TIMEOUT_ENCODING_TEST_OBJS:.o=.dep) +deps_message_compress_test: $(MESSAGE_COMPRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TIMEOUT_ENCODING_TEST_OBJS:.o=.dep) +-include $(MESSAGE_COMPRESS_TEST_OBJS:.o=.dep) endif endif -FD_POSIX_TEST_SRC = \ - test/core/iomgr/fd_posix_test.c \ +METADATA_BUFFER_TEST_SRC = \ + test/core/channel/metadata_buffer_test.c \ -FD_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FD_POSIX_TEST_SRC)))) +METADATA_BUFFER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(METADATA_BUFFER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/fd_posix_test: openssl_dep_error +bins/$(CONFIG)/metadata_buffer_test: openssl_dep_error else -bins/$(CONFIG)/fd_posix_test: $(FD_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/metadata_buffer_test: $(METADATA_BUFFER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(FD_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/fd_posix_test + $(Q) $(LD) $(LDFLAGS) $(METADATA_BUFFER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/metadata_buffer_test endif -objs/$(CONFIG)/test/core/iomgr/fd_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/channel/metadata_buffer_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_fd_posix_test: $(FD_POSIX_TEST_OBJS:.o=.dep) +deps_metadata_buffer_test: $(METADATA_BUFFER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FD_POSIX_TEST_OBJS:.o=.dep) +-include $(METADATA_BUFFER_TEST_OBJS:.o=.dep) endif endif -FLING_STREAM_TEST_SRC = \ - test/core/fling/fling_stream_test.c \ +MURMUR_HASH_TEST_SRC = \ + test/core/support/murmur_hash_test.c \ -FLING_STREAM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_STREAM_TEST_SRC)))) +MURMUR_HASH_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(MURMUR_HASH_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/fling_stream_test: openssl_dep_error +bins/$(CONFIG)/murmur_hash_test: openssl_dep_error else -bins/$(CONFIG)/fling_stream_test: $(FLING_STREAM_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/murmur_hash_test: $(MURMUR_HASH_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(FLING_STREAM_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/fling_stream_test + $(Q) $(LD) $(LDFLAGS) $(MURMUR_HASH_TEST_OBJS) libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/murmur_hash_test endif -objs/$(CONFIG)/test/core/fling/fling_stream_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/murmur_hash_test.o: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_fling_stream_test: $(FLING_STREAM_TEST_OBJS:.o=.dep) +deps_murmur_hash_test: $(MURMUR_HASH_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(FLING_STREAM_TEST_OBJS:.o=.dep) +-include $(MURMUR_HASH_TEST_OBJS:.o=.dep) endif endif -LAME_CLIENT_TEST_SRC = \ - test/core/surface/lame_client_test.c \ +NO_SERVER_TEST_SRC = \ + test/core/end2end/no_server_test.c \ -LAME_CLIENT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LAME_CLIENT_TEST_SRC)))) +NO_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(NO_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/lame_client_test: openssl_dep_error +bins/$(CONFIG)/no_server_test: openssl_dep_error else -bins/$(CONFIG)/lame_client_test: $(LAME_CLIENT_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/no_server_test: $(NO_SERVER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(LAME_CLIENT_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/lame_client_test + $(Q) $(LD) $(LDFLAGS) $(NO_SERVER_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/no_server_test endif -objs/$(CONFIG)/test/core/surface/lame_client_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/end2end/no_server_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_lame_client_test: $(LAME_CLIENT_TEST_OBJS:.o=.dep) +deps_no_server_test: $(NO_SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(LAME_CLIENT_TEST_OBJS:.o=.dep) +-include $(NO_SERVER_TEST_OBJS:.o=.dep) endif endif -THREAD_POOL_TEST_SRC = \ - test/cpp/server/thread_pool_test.cc \ +POLL_KICK_TEST_SRC = \ + test/core/iomgr/poll_kick_test.c \ -THREAD_POOL_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(THREAD_POOL_TEST_SRC)))) +POLL_KICK_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(POLL_KICK_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/thread_pool_test: openssl_dep_error +bins/$(CONFIG)/poll_kick_test: openssl_dep_error else -bins/$(CONFIG)/thread_pool_test: $(THREAD_POOL_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/poll_kick_test: $(POLL_KICK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(THREAD_POOL_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/thread_pool_test + $(Q) $(LD) $(LDFLAGS) $(POLL_KICK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/poll_kick_test endif -objs/$(CONFIG)/test/cpp/server/thread_pool_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/iomgr/poll_kick_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_thread_pool_test: $(THREAD_POOL_TEST_OBJS:.o=.dep) +deps_poll_kick_test: $(POLL_KICK_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(THREAD_POOL_TEST_OBJS:.o=.dep) +-include $(POLL_KICK_TEST_OBJS:.o=.dep) endif endif -STATUS_TEST_SRC = \ - test/cpp/util/status_test.cc \ +QPS_CLIENT_SRC = \ + gens/test/cpp/qps/qpstest.pb.cc \ + test/cpp/qps/client.cc \ -STATUS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(STATUS_TEST_SRC)))) +QPS_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_CLIENT_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/status_test: openssl_dep_error +bins/$(CONFIG)/qps_client: openssl_dep_error else -bins/$(CONFIG)/status_test: $(STATUS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/qps_client: $(QPS_CLIENT_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(STATUS_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/status_test + $(Q) $(LDXX) $(LDFLAGS) $(QPS_CLIENT_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/qps_client endif -objs/$(CONFIG)/test/cpp/util/status_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/qps/qpstest.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/qps/client.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_status_test: $(STATUS_TEST_OBJS:.o=.dep) +deps_qps_client: $(QPS_CLIENT_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(STATUS_TEST_OBJS:.o=.dep) +-include $(QPS_CLIENT_OBJS:.o=.dep) endif endif -SYNC_CLIENT_ASYNC_SERVER_TEST_SRC = \ - test/cpp/end2end/sync_client_async_server_test.cc \ +QPS_SERVER_SRC = \ + gens/test/cpp/qps/qpstest.pb.cc \ + test/cpp/qps/server.cc \ -SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SYNC_CLIENT_ASYNC_SERVER_TEST_SRC)))) +QPS_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_SERVER_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/qps_server: openssl_dep_error + +else + +bins/$(CONFIG)/qps_server: $(QPS_SERVER_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(QPS_SERVER_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/qps_server + +endif + +objs/$(CONFIG)/test/cpp/qps/qpstest.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/qps/server.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_qps_server: $(QPS_SERVER_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(QPS_SERVER_OBJS:.o=.dep) +endif +endif + + +RESOLVE_ADDRESS_TEST_SRC = \ + test/core/iomgr/resolve_address_test.c \ + +RESOLVE_ADDRESS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(RESOLVE_ADDRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) -# You can't build secure targets if you don't have OpenSSL with ALPN. +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/resolve_address_test: openssl_dep_error + +else + +bins/$(CONFIG)/resolve_address_test: $(RESOLVE_ADDRESS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(RESOLVE_ADDRESS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/resolve_address_test + +endif + +objs/$(CONFIG)/test/core/iomgr/resolve_address_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_resolve_address_test: $(RESOLVE_ADDRESS_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(RESOLVE_ADDRESS_TEST_OBJS:.o=.dep) +endif +endif + -bins/$(CONFIG)/sync_client_async_server_test: openssl_dep_error +RUBY_PLUGIN_SRC = \ + src/compiler/ruby_generator.cc \ + src/compiler/ruby_plugin.cc \ -else +RUBY_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(RUBY_PLUGIN_SRC)))) -bins/$(CONFIG)/sync_client_async_server_test: $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" +bins/$(CONFIG)/ruby_plugin: $(RUBY_PLUGIN_OBJS) + $(E) "[HOSTLD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/sync_client_async_server_test - -endif + $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(RUBY_PLUGIN_OBJS) $(HOST_LDLIBSXX) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o bins/$(CONFIG)/ruby_plugin -objs/$(CONFIG)/test/cpp/end2end/sync_client_async_server_test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/src/compiler/ruby_generator.o: +objs/$(CONFIG)/src/compiler/ruby_plugin.o: -deps_sync_client_async_server_test: $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS:.o=.dep) +deps_ruby_plugin: $(RUBY_PLUGIN_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS:.o=.dep) -endif +-include $(RUBY_PLUGIN_OBJS:.o=.dep) endif -QPS_CLIENT_SRC = \ - gens/test/cpp/qps/qpstest.pb.cc \ - test/cpp/qps/client.cc \ +SECURE_ENDPOINT_TEST_SRC = \ + test/core/security/secure_endpoint_test.c \ -QPS_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_CLIENT_SRC)))) +SECURE_ENDPOINT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SECURE_ENDPOINT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/qps_client: openssl_dep_error +bins/$(CONFIG)/secure_endpoint_test: openssl_dep_error else -bins/$(CONFIG)/qps_client: $(QPS_CLIENT_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/secure_endpoint_test: $(SECURE_ENDPOINT_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(QPS_CLIENT_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/qps_client + $(Q) $(LD) $(LDFLAGS) $(SECURE_ENDPOINT_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/secure_endpoint_test endif -objs/$(CONFIG)/test/cpp/qps/qpstest.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/qps/client.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/security/secure_endpoint_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_qps_client: $(QPS_CLIENT_OBJS:.o=.dep) +deps_secure_endpoint_test: $(SECURE_ENDPOINT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(QPS_CLIENT_OBJS:.o=.dep) +-include $(SECURE_ENDPOINT_TEST_OBJS:.o=.dep) endif endif -QPS_SERVER_SRC = \ - gens/test/cpp/qps/qpstest.pb.cc \ - test/cpp/qps/server.cc \ +SOCKADDR_UTILS_TEST_SRC = \ + test/core/iomgr/sockaddr_utils_test.c \ -QPS_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_SERVER_SRC)))) +SOCKADDR_UTILS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SOCKADDR_UTILS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/qps_server: openssl_dep_error +bins/$(CONFIG)/sockaddr_utils_test: openssl_dep_error else -bins/$(CONFIG)/qps_server: $(QPS_SERVER_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/sockaddr_utils_test: $(SOCKADDR_UTILS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(QPS_SERVER_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/qps_server + $(Q) $(LD) $(LDFLAGS) $(SOCKADDR_UTILS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/sockaddr_utils_test endif -objs/$(CONFIG)/test/cpp/qps/qpstest.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/qps/server.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/iomgr/sockaddr_utils_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_qps_server: $(QPS_SERVER_OBJS:.o=.dep) +deps_sockaddr_utils_test: $(SOCKADDR_UTILS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(QPS_SERVER_OBJS:.o=.dep) +-include $(SOCKADDR_UTILS_TEST_OBJS:.o=.dep) endif endif -INTEROP_SERVER_SRC = \ - gens/test/cpp/interop/empty.pb.cc \ - gens/test/cpp/interop/messages.pb.cc \ - gens/test/cpp/interop/test.pb.cc \ - test/cpp/interop/server.cc \ +STATUS_TEST_SRC = \ + test/cpp/util/status_test.cc \ -INTEROP_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_SERVER_SRC)))) +STATUS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(STATUS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/interop_server: openssl_dep_error +bins/$(CONFIG)/status_test: openssl_dep_error else -bins/$(CONFIG)/interop_server: $(INTEROP_SERVER_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/status_test: $(STATUS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(INTEROP_SERVER_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/interop_server + $(Q) $(LDXX) $(LDFLAGS) $(STATUS_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/status_test endif -objs/$(CONFIG)/test/cpp/interop/empty.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/interop/messages.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/interop/test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/interop/server.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/util/status_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_interop_server: $(INTEROP_SERVER_OBJS:.o=.dep) +deps_status_test: $(STATUS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(INTEROP_SERVER_OBJS:.o=.dep) +-include $(STATUS_TEST_OBJS:.o=.dep) endif endif -INTEROP_CLIENT_SRC = \ - gens/test/cpp/interop/empty.pb.cc \ - gens/test/cpp/interop/messages.pb.cc \ - gens/test/cpp/interop/test.pb.cc \ - test/cpp/interop/client.cc \ +SYNC_CLIENT_ASYNC_SERVER_TEST_SRC = \ + test/cpp/end2end/sync_client_async_server_test.cc \ -INTEROP_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_CLIENT_SRC)))) +SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SYNC_CLIENT_ASYNC_SERVER_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/interop_client: openssl_dep_error +bins/$(CONFIG)/sync_client_async_server_test: openssl_dep_error else -bins/$(CONFIG)/interop_client: $(INTEROP_CLIENT_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/sync_client_async_server_test: $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(INTEROP_CLIENT_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/interop_client + $(Q) $(LDXX) $(LDFLAGS) $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/sync_client_async_server_test endif -objs/$(CONFIG)/test/cpp/interop/empty.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/interop/messages.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/interop/test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/interop/client.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/end2end/sync_client_async_server_test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_interop_client: $(INTEROP_CLIENT_OBJS:.o=.dep) +deps_sync_client_async_server_test: $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(INTEROP_CLIENT_OBJS:.o=.dep) +-include $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS:.o=.dep) endif endif -END2END_TEST_SRC = \ - test/cpp/end2end/end2end_test.cc \ +TCP_CLIENT_POSIX_TEST_SRC = \ + test/core/iomgr/tcp_client_posix_test.c \ -END2END_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(END2END_TEST_SRC)))) +TCP_CLIENT_POSIX_TEST_OBJS = $(addprefix objs/$(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 with ALPN. -bins/$(CONFIG)/end2end_test: openssl_dep_error +bins/$(CONFIG)/tcp_client_posix_test: openssl_dep_error else -bins/$(CONFIG)/end2end_test: $(END2END_TEST_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/tcp_client_posix_test: $(TCP_CLIENT_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(END2END_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/end2end_test + $(Q) $(LD) $(LDFLAGS) $(TCP_CLIENT_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/tcp_client_posix_test endif -objs/$(CONFIG)/test/cpp/end2end/end2end_test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/iomgr/tcp_client_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_end2end_test: $(END2END_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 $(END2END_TEST_OBJS:.o=.dep) +-include $(TCP_CLIENT_POSIX_TEST_OBJS:.o=.dep) endif endif -CHANNEL_ARGUMENTS_TEST_SRC = \ - test/cpp/client/channel_arguments_test.cc \ +TCP_POSIX_TEST_SRC = \ + test/core/iomgr/tcp_posix_test.c \ -CHANNEL_ARGUMENTS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHANNEL_ARGUMENTS_TEST_SRC)))) +TCP_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TCP_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/channel_arguments_test: openssl_dep_error +bins/$(CONFIG)/tcp_posix_test: openssl_dep_error else -bins/$(CONFIG)/channel_arguments_test: $(CHANNEL_ARGUMENTS_TEST_OBJS) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/tcp_posix_test: $(TCP_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CHANNEL_ARGUMENTS_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/channel_arguments_test + $(Q) $(LD) $(LDFLAGS) $(TCP_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/tcp_posix_test endif -objs/$(CONFIG)/test/cpp/client/channel_arguments_test.o: libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/iomgr/tcp_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_channel_arguments_test: $(CHANNEL_ARGUMENTS_TEST_OBJS:.o=.dep) +deps_tcp_posix_test: $(TCP_POSIX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(CHANNEL_ARGUMENTS_TEST_OBJS:.o=.dep) +-include $(TCP_POSIX_TEST_OBJS:.o=.dep) endif endif -CREDENTIALS_TEST_SRC = \ - test/cpp/client/credentials_test.cc \ +TCP_SERVER_POSIX_TEST_SRC = \ + test/core/iomgr/tcp_server_posix_test.c \ -CREDENTIALS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CREDENTIALS_TEST_SRC)))) +TCP_SERVER_POSIX_TEST_OBJS = $(addprefix objs/$(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 with ALPN. -bins/$(CONFIG)/credentials_test: openssl_dep_error +bins/$(CONFIG)/tcp_server_posix_test: openssl_dep_error else -bins/$(CONFIG)/credentials_test: $(CREDENTIALS_TEST_OBJS) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/tcp_server_posix_test: $(TCP_SERVER_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CREDENTIALS_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/credentials_test + $(Q) $(LD) $(LDFLAGS) $(TCP_SERVER_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/tcp_server_posix_test endif -objs/$(CONFIG)/test/cpp/client/credentials_test.o: libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/iomgr/tcp_server_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_credentials_test: $(CREDENTIALS_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 $(CREDENTIALS_TEST_OBJS:.o=.dep) +-include $(TCP_SERVER_POSIX_TEST_OBJS:.o=.dep) endif endif -ALARM_TEST_SRC = \ - test/core/iomgr/alarm_test.c \ +THREAD_POOL_TEST_SRC = \ + test/cpp/server/thread_pool_test.cc \ -ALARM_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_TEST_SRC)))) +THREAD_POOL_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(THREAD_POOL_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/alarm_test: openssl_dep_error +bins/$(CONFIG)/thread_pool_test: openssl_dep_error else -bins/$(CONFIG)/alarm_test: $(ALARM_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/thread_pool_test: $(THREAD_POOL_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(ALARM_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/alarm_test + $(Q) $(LDXX) $(LDFLAGS) $(THREAD_POOL_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/thread_pool_test endif -objs/$(CONFIG)/test/core/iomgr/alarm_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/server/thread_pool_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_alarm_test: $(ALARM_TEST_OBJS:.o=.dep) +deps_thread_pool_test: $(THREAD_POOL_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ALARM_TEST_OBJS:.o=.dep) +-include $(THREAD_POOL_TEST_OBJS:.o=.dep) endif endif -ALARM_LIST_TEST_SRC = \ - test/core/iomgr/alarm_list_test.c \ +TIME_AVERAGED_STATS_TEST_SRC = \ + test/core/iomgr/time_averaged_stats_test.c \ -ALARM_LIST_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_LIST_TEST_SRC)))) +TIME_AVERAGED_STATS_TEST_OBJS = $(addprefix objs/$(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 with ALPN. -bins/$(CONFIG)/alarm_list_test: openssl_dep_error +bins/$(CONFIG)/time_averaged_stats_test: openssl_dep_error else -bins/$(CONFIG)/alarm_list_test: $(ALARM_LIST_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/time_averaged_stats_test: $(TIME_AVERAGED_STATS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(ALARM_LIST_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/alarm_list_test + $(Q) $(LD) $(LDFLAGS) $(TIME_AVERAGED_STATS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/time_averaged_stats_test endif -objs/$(CONFIG)/test/core/iomgr/alarm_list_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/iomgr/time_averaged_stats_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_alarm_list_test: $(ALARM_LIST_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 $(ALARM_LIST_TEST_OBJS:.o=.dep) +-include $(TIME_AVERAGED_STATS_TEST_OBJS:.o=.dep) endif endif -ALARM_HEAP_TEST_SRC = \ - test/core/iomgr/alarm_heap_test.c \ +TIME_TEST_SRC = \ + test/core/support/time_test.c \ -ALARM_HEAP_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(ALARM_HEAP_TEST_SRC)))) +TIME_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIME_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/alarm_heap_test: openssl_dep_error +bins/$(CONFIG)/time_test: openssl_dep_error else -bins/$(CONFIG)/alarm_heap_test: $(ALARM_HEAP_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/time_test: $(TIME_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(ALARM_HEAP_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/alarm_heap_test + $(Q) $(LD) $(LDFLAGS) $(TIME_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/time_test endif -objs/$(CONFIG)/test/core/iomgr/alarm_heap_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/support/time_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_alarm_heap_test: $(ALARM_HEAP_TEST_OBJS:.o=.dep) +deps_time_test: $(TIME_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(ALARM_HEAP_TEST_OBJS:.o=.dep) +-include $(TIME_TEST_OBJS:.o=.dep) endif endif -TIME_TEST_SRC = \ - test/core/support/time_test.c \ +TIMEOUT_ENCODING_TEST_SRC = \ + test/core/transport/chttp2/timeout_encoding_test.c \ -TIME_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIME_TEST_SRC)))) +TIMEOUT_ENCODING_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIMEOUT_ENCODING_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/time_test: openssl_dep_error +bins/$(CONFIG)/timeout_encoding_test: openssl_dep_error else -bins/$(CONFIG)/time_test: $(TIME_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/timeout_encoding_test: $(TIMEOUT_ENCODING_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(TIME_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/time_test + $(Q) $(LD) $(LDFLAGS) $(TIMEOUT_ENCODING_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/timeout_encoding_test endif -objs/$(CONFIG)/test/core/support/time_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/transport/chttp2/timeout_encoding_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_time_test: $(TIME_TEST_OBJS:.o=.dep) +deps_timeout_encoding_test: $(TIMEOUT_ENCODING_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(TIME_TEST_OBJS:.o=.dep) +-include $(TIMEOUT_ENCODING_TEST_OBJS:.o=.dep) endif endif -POLL_KICK_TEST_SRC = \ - test/core/iomgr/poll_kick_test.c \ +TRANSPORT_METADATA_TEST_SRC = \ + test/core/transport/metadata_test.c \ -POLL_KICK_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(POLL_KICK_TEST_SRC)))) +TRANSPORT_METADATA_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TRANSPORT_METADATA_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/poll_kick_test: openssl_dep_error +bins/$(CONFIG)/transport_metadata_test: openssl_dep_error else -bins/$(CONFIG)/poll_kick_test: $(POLL_KICK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/transport_metadata_test: $(TRANSPORT_METADATA_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(POLL_KICK_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/poll_kick_test + $(Q) $(LD) $(LDFLAGS) $(TRANSPORT_METADATA_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/transport_metadata_test endif -objs/$(CONFIG)/test/core/iomgr/poll_kick_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/transport/metadata_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_poll_kick_test: $(POLL_KICK_TEST_OBJS:.o=.dep) +deps_transport_metadata_test: $(TRANSPORT_METADATA_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(POLL_KICK_TEST_OBJS:.o=.dep) +-include $(TRANSPORT_METADATA_TEST_OBJS:.o=.dep) endif endif diff --git a/vsprojects/vs2013/build_and_run_tests.bat b/vsprojects/vs2013/build_and_run_tests.bat index 3e36dcf6002..77000739bba 100644 --- a/vsprojects/vs2013/build_and_run_tests.bat +++ b/vsprojects/vs2013/build_and_run_tests.bat @@ -17,22 +17,6 @@ echo Running test gpr_cancellable_test test_bin\gpr_cancellable_test.exe || echo TEST FAILED: gpr_cancellable_test && exit /b echo( -echo Building test gpr_log_test -cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\log_test.c -link.exe /OUT:"test_bin\gpr_log_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\gpr_test_util.lib Debug\gpr.lib test_bin\log_test.obj -echo( -echo Running test gpr_log_test -test_bin\gpr_log_test.exe || echo TEST FAILED: gpr_log_test && exit /b -echo( - -echo Building test gpr_useful_test -cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\useful_test.c -link.exe /OUT:"test_bin\gpr_useful_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\gpr_test_util.lib Debug\gpr.lib test_bin\useful_test.obj -echo( -echo Running test gpr_useful_test -test_bin\gpr_useful_test.exe || echo TEST FAILED: gpr_useful_test && exit /b -echo( - echo Building test gpr_cmdline_test cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\cmdline_test.c link.exe /OUT:"test_bin\gpr_cmdline_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\gpr_test_util.lib Debug\gpr.lib test_bin\cmdline_test.obj @@ -57,6 +41,14 @@ echo Running test gpr_host_port_test test_bin\gpr_host_port_test.exe || echo TEST FAILED: gpr_host_port_test && exit /b echo( +echo Building test gpr_log_test +cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\log_test.c +link.exe /OUT:"test_bin\gpr_log_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\gpr_test_util.lib Debug\gpr.lib test_bin\log_test.obj +echo( +echo Running test gpr_log_test +test_bin\gpr_log_test.exe || echo TEST FAILED: gpr_log_test && exit /b +echo( + echo Building test gpr_slice_buffer_test cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\slice_buffer_test.c link.exe /OUT:"test_bin\gpr_slice_buffer_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\gpr_test_util.lib Debug\gpr.lib test_bin\slice_buffer_test.obj @@ -105,3 +97,11 @@ echo Running test gpr_time_test test_bin\gpr_time_test.exe || echo TEST FAILED: gpr_time_test && exit /b echo( +echo Building test gpr_useful_test +cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\useful_test.c +link.exe /OUT:"test_bin\gpr_useful_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\gpr_test_util.lib Debug\gpr.lib test_bin\useful_test.obj +echo( +echo Running test gpr_useful_test +test_bin\gpr_useful_test.exe || echo TEST FAILED: gpr_useful_test && exit /b +echo( + diff --git a/vsprojects/vs2013/gpr.vcxproj b/vsprojects/vs2013/gpr.vcxproj index 3e95d71b6e6..6075e25ca03 100644 --- a/vsprojects/vs2013/gpr.vcxproj +++ b/vsprojects/vs2013/gpr.vcxproj @@ -74,9 +74,9 @@ + - @@ -84,11 +84,11 @@ - + - + @@ -119,10 +119,10 @@ - - + + @@ -131,10 +131,10 @@ - - + + diff --git a/vsprojects/vs2013/grpc.sln b/vsprojects/vs2013/grpc.sln index 41d4d02fd24..9b3ebaf633b 100644 --- a/vsprojects/vs2013/grpc.sln +++ b/vsprojects/vs2013/grpc.sln @@ -5,20 +5,20 @@ VisualStudioVersion = 12.0.21005.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr", "gpr.vcxproj", "{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_test_util", "gpr_test_util.vcxproj", "{EAB0A629-17A9-44DB-B5FF-E91A721FE037}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc", "grpc.vcxproj", "{29D16885-7228-4C31-81ED-5F9187C7F2A9}" ProjectSection(ProjectDependencies) = postProject {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util", "grpc_test_util.vcxproj", "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_unsecure", "grpc_unsecure.vcxproj", "{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}" ProjectSection(ProjectDependencies) = postProject {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_test_util", "gpr_test_util.vcxproj", "{EAB0A629-17A9-44DB-B5FF-E91A721FE037}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util", "grpc_test_util.vcxproj", "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "third_party\zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "third_party", "third_party", "{DD51818F-0BCA-4035-9E5B-F28A9F87DED4}" @@ -33,22 +33,22 @@ Global {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Debug|Win32.Build.0 = Debug|Win32 {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|Win32.ActiveCfg = Release|Win32 {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}.Release|Win32.Build.0 = Release|Win32 - {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|Win32.ActiveCfg = Debug|Win32 - {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|Win32.Build.0 = Debug|Win32 - {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|Win32.ActiveCfg = Release|Win32 - {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|Win32.Build.0 = Release|Win32 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug|Win32.ActiveCfg = Debug|Win32 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug|Win32.Build.0 = Debug|Win32 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release|Win32.ActiveCfg = Release|Win32 - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release|Win32.Build.0 = Release|Win32 {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Debug|Win32.ActiveCfg = Debug|Win32 {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Debug|Win32.Build.0 = Debug|Win32 {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release|Win32.ActiveCfg = Release|Win32 {EAB0A629-17A9-44DB-B5FF-E91A721FE037}.Release|Win32.Build.0 = Release|Win32 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|Win32.ActiveCfg = Debug|Win32 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Debug|Win32.Build.0 = Debug|Win32 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|Win32.ActiveCfg = Release|Win32 + {29D16885-7228-4C31-81ED-5F9187C7F2A9}.Release|Win32.Build.0 = Release|Win32 {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug|Win32.ActiveCfg = Debug|Win32 {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug|Win32.Build.0 = Debug|Win32 {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release|Win32.ActiveCfg = Release|Win32 {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release|Win32.Build.0 = Release|Win32 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug|Win32.ActiveCfg = Debug|Win32 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Debug|Win32.Build.0 = Debug|Win32 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release|Win32.ActiveCfg = Release|Win32 + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}.Release|Win32.Build.0 = Release|Win32 {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 diff --git a/vsprojects/vs2013/grpc.vcxproj b/vsprojects/vs2013/grpc.vcxproj index 28cfe01b33c..05a9966c0e0 100644 --- a/vsprojects/vs2013/grpc.vcxproj +++ b/vsprojects/vs2013/grpc.vcxproj @@ -118,9 +118,9 @@ + - diff --git a/vsprojects/vs2013/grpc_test_util.vcxproj b/vsprojects/vs2013/grpc_test_util.vcxproj index dc95034d61a..e0e33c0086e 100644 --- a/vsprojects/vs2013/grpc_test_util.vcxproj +++ b/vsprojects/vs2013/grpc_test_util.vcxproj @@ -75,14 +75,14 @@ - - + + @@ -91,10 +91,10 @@ - - + + diff --git a/vsprojects/vs2013/grpc_unsecure.vcxproj b/vsprojects/vs2013/grpc_unsecure.vcxproj index 28cfe01b33c..05a9966c0e0 100644 --- a/vsprojects/vs2013/grpc_unsecure.vcxproj +++ b/vsprojects/vs2013/grpc_unsecure.vcxproj @@ -118,9 +118,9 @@ + - From 7acce50cdd72566e4eb15be02a86ef581e838039 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 18 Jan 2015 11:31:37 -0800 Subject: [PATCH 069/121] Rename --- tools/{build-cleaner => buildgen}/build-cleaner.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tools/{build-cleaner => buildgen}/build-cleaner.py (100%) diff --git a/tools/build-cleaner/build-cleaner.py b/tools/buildgen/build-cleaner.py similarity index 100% rename from tools/build-cleaner/build-cleaner.py rename to tools/buildgen/build-cleaner.py From 9b9b44759d314638061eaf62ece9352638b15b3f Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 18 Jan 2015 11:36:12 -0800 Subject: [PATCH 070/121] Generate projects --- tools/run_tests/tests.json | 148 ++++++++++++++++++------------------- 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index 038fc8117a7..008b1cea2e9 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -3,191 +3,187 @@ [ { "language": "c", - "name": "grpc_byte_buffer_reader_test" - }, - { - "language": "c", - "name": "gpr_cancellable_test" + "name": "alarm_heap_test" }, { "language": "c", - "name": "gpr_log_test" + "name": "alarm_list_test" }, { "language": "c", - "name": "gpr_useful_test" + "name": "alarm_test" }, { "language": "c", - "name": "gpr_cmdline_test" + "name": "alpn_test" }, { "language": "c", - "name": "gpr_histogram_test" + "name": "bin_encoder_test" }, { "language": "c", - "name": "gpr_host_port_test" + "name": "census_hash_table_test" }, { "language": "c", - "name": "gpr_slice_buffer_test" + "name": "census_statistics_multiple_writers_circular_buffer_test" }, { "language": "c", - "name": "gpr_slice_test" + "name": "census_statistics_multiple_writers_test" }, { "language": "c", - "name": "gpr_string_test" + "name": "census_statistics_performance_test" }, { "language": "c", - "name": "gpr_sync_test" + "name": "census_statistics_quick_test" }, { "language": "c", - "name": "gpr_thd_test" + "name": "census_statistics_small_log_test" }, { "language": "c", - "name": "gpr_time_test" + "name": "census_stub_test" }, { "language": "c", - "name": "murmur_hash_test" + "name": "census_window_stats_test" }, { - "language": "c", - "name": "grpc_stream_op_test" + "language": "c++", + "name": "channel_arguments_test" }, { "language": "c", - "name": "alpn_test" + "name": "chttp2_status_conversion_test" }, { "language": "c", - "name": "time_averaged_stats_test" + "name": "chttp2_stream_encoder_test" }, { "language": "c", - "name": "chttp2_stream_encoder_test" + "name": "chttp2_stream_map_test" }, { "language": "c", - "name": "hpack_table_test" + "name": "chttp2_transport_end2end_test" }, { - "language": "c", - "name": "chttp2_stream_map_test" + "language": "c++", + "name": "credentials_test" }, { "language": "c", - "name": "hpack_parser_test" + "name": "dualstack_socket_test" }, { "language": "c", - "name": "transport_metadata_test" + "name": "echo_test" }, { - "language": "c", - "name": "chttp2_status_conversion_test" + "language": "c++", + "name": "end2end_test" }, { "language": "c", - "name": "chttp2_transport_end2end_test" + "name": "fd_posix_test" }, { "language": "c", - "name": "tcp_posix_test" + "name": "fling_stream_test" }, { "language": "c", - "name": "dualstack_socket_test" + "name": "fling_test" }, { "language": "c", - "name": "no_server_test" + "name": "gpr_cancellable_test" }, { "language": "c", - "name": "resolve_address_test" + "name": "gpr_cmdline_test" }, { "language": "c", - "name": "sockaddr_utils_test" + "name": "gpr_histogram_test" }, { "language": "c", - "name": "tcp_server_posix_test" + "name": "gpr_host_port_test" }, { "language": "c", - "name": "tcp_client_posix_test" + "name": "gpr_log_test" }, { "language": "c", - "name": "grpc_channel_stack_test" + "name": "gpr_slice_buffer_test" }, { "language": "c", - "name": "metadata_buffer_test" + "name": "gpr_slice_test" }, { "language": "c", - "name": "grpc_completion_queue_test" + "name": "gpr_string_test" }, { "language": "c", - "name": "census_window_stats_test" + "name": "gpr_sync_test" }, { "language": "c", - "name": "census_statistics_quick_test" + "name": "gpr_thd_test" }, { "language": "c", - "name": "census_statistics_small_log_test" + "name": "gpr_time_test" }, { "language": "c", - "name": "census_statistics_performance_test" + "name": "gpr_useful_test" }, { "language": "c", - "name": "census_statistics_multiple_writers_test" + "name": "grpc_base64_test" }, { "language": "c", - "name": "census_statistics_multiple_writers_circular_buffer_test" + "name": "grpc_byte_buffer_reader_test" }, { "language": "c", - "name": "census_stub_test" + "name": "grpc_channel_stack_test" }, { "language": "c", - "name": "census_hash_table_test" + "name": "grpc_completion_queue_test" }, { "language": "c", - "name": "fling_test" + "name": "grpc_credentials_test" }, { "language": "c", - "name": "echo_test" + "name": "grpc_json_token_test" }, { "language": "c", - "name": "message_compress_test" + "name": "grpc_stream_op_test" }, { "language": "c", - "name": "bin_encoder_test" + "name": "hpack_parser_test" }, { "language": "c", - "name": "secure_endpoint_test" + "name": "hpack_table_test" }, { "language": "c", @@ -203,35 +199,39 @@ }, { "language": "c", - "name": "grpc_credentials_test" + "name": "lame_client_test" }, { "language": "c", - "name": "grpc_base64_test" + "name": "message_compress_test" }, { "language": "c", - "name": "grpc_json_token_test" + "name": "metadata_buffer_test" }, { "language": "c", - "name": "timeout_encoding_test" + "name": "murmur_hash_test" }, { "language": "c", - "name": "fd_posix_test" + "name": "no_server_test" }, { "language": "c", - "name": "fling_stream_test" + "name": "poll_kick_test" }, { "language": "c", - "name": "lame_client_test" + "name": "resolve_address_test" }, { - "language": "c++", - "name": "thread_pool_test" + "language": "c", + "name": "secure_endpoint_test" + }, + { + "language": "c", + "name": "sockaddr_utils_test" }, { "language": "c++", @@ -242,36 +242,36 @@ "name": "sync_client_async_server_test" }, { - "language": "c++", - "name": "end2end_test" + "language": "c", + "name": "tcp_client_posix_test" }, { - "language": "c++", - "name": "channel_arguments_test" + "language": "c", + "name": "tcp_posix_test" }, { - "language": "c++", - "name": "credentials_test" + "language": "c", + "name": "tcp_server_posix_test" }, { - "language": "c", - "name": "alarm_test" + "language": "c++", + "name": "thread_pool_test" }, { "language": "c", - "name": "alarm_list_test" + "name": "time_averaged_stats_test" }, { "language": "c", - "name": "alarm_heap_test" + "name": "time_test" }, { "language": "c", - "name": "time_test" + "name": "timeout_encoding_test" }, { "language": "c", - "name": "poll_kick_test" + "name": "transport_metadata_test" }, { "language": "c", From 49bde68ff1433b9d6cca5277cffb6a64c186d101 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 18 Jan 2015 11:44:17 -0800 Subject: [PATCH 071/121] Googlify indentation --- templates/tools/run_tests/tests.json.template | 2 +- tools/run_tests/tests.json | 1600 ++++++++--------- 2 files changed, 801 insertions(+), 801 deletions(-) diff --git a/templates/tools/run_tests/tests.json.template b/templates/tools/run_tests/tests.json.template index 49784808434..04a5137f39d 100644 --- a/templates/tools/run_tests/tests.json.template +++ b/templates/tools/run_tests/tests.json.template @@ -5,5 +5,5 @@ import json ${json.dumps([{"name": tgt.name, "language": tgt.language} for tgt in targets if tgt.build == "test" and tgt.name[-5:] == "_test"], - sort_keys=True, indent=4)} + sort_keys=True, indent=2)} diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index 038fc8117a7..cacab174948 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -1,805 +1,805 @@ [ - { - "language": "c", - "name": "grpc_byte_buffer_reader_test" - }, - { - "language": "c", - "name": "gpr_cancellable_test" - }, - { - "language": "c", - "name": "gpr_log_test" - }, - { - "language": "c", - "name": "gpr_useful_test" - }, - { - "language": "c", - "name": "gpr_cmdline_test" - }, - { - "language": "c", - "name": "gpr_histogram_test" - }, - { - "language": "c", - "name": "gpr_host_port_test" - }, - { - "language": "c", - "name": "gpr_slice_buffer_test" - }, - { - "language": "c", - "name": "gpr_slice_test" - }, - { - "language": "c", - "name": "gpr_string_test" - }, - { - "language": "c", - "name": "gpr_sync_test" - }, - { - "language": "c", - "name": "gpr_thd_test" - }, - { - "language": "c", - "name": "gpr_time_test" - }, - { - "language": "c", - "name": "murmur_hash_test" - }, - { - "language": "c", - "name": "grpc_stream_op_test" - }, - { - "language": "c", - "name": "alpn_test" - }, - { - "language": "c", - "name": "time_averaged_stats_test" - }, - { - "language": "c", - "name": "chttp2_stream_encoder_test" - }, - { - "language": "c", - "name": "hpack_table_test" - }, - { - "language": "c", - "name": "chttp2_stream_map_test" - }, - { - "language": "c", - "name": "hpack_parser_test" - }, - { - "language": "c", - "name": "transport_metadata_test" - }, - { - "language": "c", - "name": "chttp2_status_conversion_test" - }, - { - "language": "c", - "name": "chttp2_transport_end2end_test" - }, - { - "language": "c", - "name": "tcp_posix_test" - }, - { - "language": "c", - "name": "dualstack_socket_test" - }, - { - "language": "c", - "name": "no_server_test" - }, - { - "language": "c", - "name": "resolve_address_test" - }, - { - "language": "c", - "name": "sockaddr_utils_test" - }, - { - "language": "c", - "name": "tcp_server_posix_test" - }, - { - "language": "c", - "name": "tcp_client_posix_test" - }, - { - "language": "c", - "name": "grpc_channel_stack_test" - }, - { - "language": "c", - "name": "metadata_buffer_test" - }, - { - "language": "c", - "name": "grpc_completion_queue_test" - }, - { - "language": "c", - "name": "census_window_stats_test" - }, - { - "language": "c", - "name": "census_statistics_quick_test" - }, - { - "language": "c", - "name": "census_statistics_small_log_test" - }, - { - "language": "c", - "name": "census_statistics_performance_test" - }, - { - "language": "c", - "name": "census_statistics_multiple_writers_test" - }, - { - "language": "c", - "name": "census_statistics_multiple_writers_circular_buffer_test" - }, - { - "language": "c", - "name": "census_stub_test" - }, - { - "language": "c", - "name": "census_hash_table_test" - }, - { - "language": "c", - "name": "fling_test" - }, - { - "language": "c", - "name": "echo_test" - }, - { - "language": "c", - "name": "message_compress_test" - }, - { - "language": "c", - "name": "bin_encoder_test" - }, - { - "language": "c", - "name": "secure_endpoint_test" - }, - { - "language": "c", - "name": "httpcli_format_request_test" - }, - { - "language": "c", - "name": "httpcli_parser_test" - }, - { - "language": "c", - "name": "httpcli_test" - }, - { - "language": "c", - "name": "grpc_credentials_test" - }, - { - "language": "c", - "name": "grpc_base64_test" - }, - { - "language": "c", - "name": "grpc_json_token_test" - }, - { - "language": "c", - "name": "timeout_encoding_test" - }, - { - "language": "c", - "name": "fd_posix_test" - }, - { - "language": "c", - "name": "fling_stream_test" - }, - { - "language": "c", - "name": "lame_client_test" - }, - { - "language": "c++", - "name": "thread_pool_test" - }, - { - "language": "c++", - "name": "status_test" - }, - { - "language": "c++", - "name": "sync_client_async_server_test" - }, - { - "language": "c++", - "name": "end2end_test" - }, - { - "language": "c++", - "name": "channel_arguments_test" - }, - { - "language": "c++", - "name": "credentials_test" - }, - { - "language": "c", - "name": "alarm_test" - }, - { - "language": "c", - "name": "alarm_list_test" - }, - { - "language": "c", - "name": "alarm_heap_test" - }, - { - "language": "c", - "name": "time_test" - }, - { - "language": "c", - "name": "poll_kick_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_cancel_after_accept_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_cancel_after_accept_and_writes_closed_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_cancel_after_invoke_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_cancel_before_invoke_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_cancel_in_a_vacuum_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_census_simple_request_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_disappearing_server_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_early_server_shutdown_finishes_tags_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_graceful_server_shutdown_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_invoke_large_request_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_max_concurrent_streams_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_no_op_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_ping_pong_streaming_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_request_response_with_binary_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_request_response_with_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_request_response_with_payload_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_simple_delayed_request_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_simple_request_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_thread_stress_test" - }, - { - "language": "c", - "name": "chttp2_fake_security_writes_done_hangs_with_pending_read_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_cancel_after_accept_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_cancel_after_invoke_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_cancel_before_invoke_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_cancel_in_a_vacuum_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_census_simple_request_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_disappearing_server_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_early_server_shutdown_finishes_tags_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_graceful_server_shutdown_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_invoke_large_request_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_max_concurrent_streams_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_no_op_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_ping_pong_streaming_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_request_response_with_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_request_response_with_payload_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_simple_delayed_request_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_simple_request_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_thread_stress_test" - }, - { - "language": "c", - "name": "chttp2_fullstack_writes_done_hangs_with_pending_read_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_cancel_after_invoke_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_cancel_before_invoke_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_census_simple_request_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_disappearing_server_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_graceful_server_shutdown_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_invoke_large_request_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_max_concurrent_streams_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_no_op_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_ping_pong_streaming_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_simple_delayed_request_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_simple_request_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_thread_stress_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_no_op_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test" - }, - { - "language": "c", - "name": "chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_cancel_after_accept_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_cancel_after_invoke_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_cancel_before_invoke_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_cancel_in_a_vacuum_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_census_simple_request_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_disappearing_server_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_graceful_server_shutdown_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_invoke_large_request_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_max_concurrent_streams_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_no_op_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_ping_pong_streaming_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_request_response_with_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_request_response_with_payload_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_simple_delayed_request_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_simple_request_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_thread_stress_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_writes_done_hangs_with_pending_read_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_no_op_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_thread_stress_test" - }, - { - "language": "c", - "name": "chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test" - } + { + "language": "c", + "name": "grpc_byte_buffer_reader_test" + }, + { + "language": "c", + "name": "gpr_cancellable_test" + }, + { + "language": "c", + "name": "gpr_log_test" + }, + { + "language": "c", + "name": "gpr_useful_test" + }, + { + "language": "c", + "name": "gpr_cmdline_test" + }, + { + "language": "c", + "name": "gpr_histogram_test" + }, + { + "language": "c", + "name": "gpr_host_port_test" + }, + { + "language": "c", + "name": "gpr_slice_buffer_test" + }, + { + "language": "c", + "name": "gpr_slice_test" + }, + { + "language": "c", + "name": "gpr_string_test" + }, + { + "language": "c", + "name": "gpr_sync_test" + }, + { + "language": "c", + "name": "gpr_thd_test" + }, + { + "language": "c", + "name": "gpr_time_test" + }, + { + "language": "c", + "name": "murmur_hash_test" + }, + { + "language": "c", + "name": "grpc_stream_op_test" + }, + { + "language": "c", + "name": "alpn_test" + }, + { + "language": "c", + "name": "time_averaged_stats_test" + }, + { + "language": "c", + "name": "chttp2_stream_encoder_test" + }, + { + "language": "c", + "name": "hpack_table_test" + }, + { + "language": "c", + "name": "chttp2_stream_map_test" + }, + { + "language": "c", + "name": "hpack_parser_test" + }, + { + "language": "c", + "name": "transport_metadata_test" + }, + { + "language": "c", + "name": "chttp2_status_conversion_test" + }, + { + "language": "c", + "name": "chttp2_transport_end2end_test" + }, + { + "language": "c", + "name": "tcp_posix_test" + }, + { + "language": "c", + "name": "dualstack_socket_test" + }, + { + "language": "c", + "name": "no_server_test" + }, + { + "language": "c", + "name": "resolve_address_test" + }, + { + "language": "c", + "name": "sockaddr_utils_test" + }, + { + "language": "c", + "name": "tcp_server_posix_test" + }, + { + "language": "c", + "name": "tcp_client_posix_test" + }, + { + "language": "c", + "name": "grpc_channel_stack_test" + }, + { + "language": "c", + "name": "metadata_buffer_test" + }, + { + "language": "c", + "name": "grpc_completion_queue_test" + }, + { + "language": "c", + "name": "census_window_stats_test" + }, + { + "language": "c", + "name": "census_statistics_quick_test" + }, + { + "language": "c", + "name": "census_statistics_small_log_test" + }, + { + "language": "c", + "name": "census_statistics_performance_test" + }, + { + "language": "c", + "name": "census_statistics_multiple_writers_test" + }, + { + "language": "c", + "name": "census_statistics_multiple_writers_circular_buffer_test" + }, + { + "language": "c", + "name": "census_stub_test" + }, + { + "language": "c", + "name": "census_hash_table_test" + }, + { + "language": "c", + "name": "fling_test" + }, + { + "language": "c", + "name": "echo_test" + }, + { + "language": "c", + "name": "message_compress_test" + }, + { + "language": "c", + "name": "bin_encoder_test" + }, + { + "language": "c", + "name": "secure_endpoint_test" + }, + { + "language": "c", + "name": "httpcli_format_request_test" + }, + { + "language": "c", + "name": "httpcli_parser_test" + }, + { + "language": "c", + "name": "httpcli_test" + }, + { + "language": "c", + "name": "grpc_credentials_test" + }, + { + "language": "c", + "name": "grpc_base64_test" + }, + { + "language": "c", + "name": "grpc_json_token_test" + }, + { + "language": "c", + "name": "timeout_encoding_test" + }, + { + "language": "c", + "name": "fd_posix_test" + }, + { + "language": "c", + "name": "fling_stream_test" + }, + { + "language": "c", + "name": "lame_client_test" + }, + { + "language": "c++", + "name": "thread_pool_test" + }, + { + "language": "c++", + "name": "status_test" + }, + { + "language": "c++", + "name": "sync_client_async_server_test" + }, + { + "language": "c++", + "name": "end2end_test" + }, + { + "language": "c++", + "name": "channel_arguments_test" + }, + { + "language": "c++", + "name": "credentials_test" + }, + { + "language": "c", + "name": "alarm_test" + }, + { + "language": "c", + "name": "alarm_list_test" + }, + { + "language": "c", + "name": "alarm_heap_test" + }, + { + "language": "c", + "name": "time_test" + }, + { + "language": "c", + "name": "poll_kick_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_no_op_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_fake_security_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_no_op_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_fullstack_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_no_op_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_no_op_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_no_op_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_writes_done_hangs_with_pending_read_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_no_op_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_simple_request_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_thread_stress_test" + }, + { + "language": "c", + "name": "chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test" + } ] From 7d7b6c768b7c7a83c9480ff88586abc3088fb379 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 18 Jan 2015 12:03:17 -0800 Subject: [PATCH 072/121] Sort by language, then by name --- build.json | 380 ++++++++++++++++---------------- tools/buildgen/build-cleaner.py | 2 +- 2 files changed, 191 insertions(+), 191 deletions(-) diff --git a/build.json b/build.json index c0d96623e88..9a5134ecd6a 100644 --- a/build.json +++ b/build.json @@ -302,6 +302,40 @@ "secure": true, "vs_project_guid": "{29D16885-7228-4C31-81ED-5F9187C7F2A9}" }, + { + "name": "grpc_test_util", + "build": "private", + "language": "c", + "src": [ + "test/core/end2end/cq_verifier.c", + "test/core/end2end/data/prod_roots_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/iomgr/endpoint_tests.c", + "test/core/statistics/census_log_tests.c", + "test/core/transport/transport_end2end_tests.c", + "test/core/util/grpc_profiler.c", + "test/core/util/parse_hexstring.c", + "test/core/util/port_posix.c", + "test/core/util/slice_splitter.c" + ], + "vs_project_guid": "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}" + }, + { + "name": "grpc_unsecure", + "build": "all", + "language": "c", + "deps": [ + "gpr" + ], + "baselib": true, + "filegroups": [ + "grpc_base" + ], + "secure": false, + "vs_project_guid": "{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}" + }, { "name": "grpc++", "build": "all", @@ -374,40 +408,6 @@ "test/cpp/end2end/async_test_server.cc", "test/cpp/util/create_test_channel.cc" ] - }, - { - "name": "grpc_test_util", - "build": "private", - "language": "c", - "src": [ - "test/core/end2end/cq_verifier.c", - "test/core/end2end/data/prod_roots_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/iomgr/endpoint_tests.c", - "test/core/statistics/census_log_tests.c", - "test/core/transport/transport_end2end_tests.c", - "test/core/util/grpc_profiler.c", - "test/core/util/parse_hexstring.c", - "test/core/util/port_posix.c", - "test/core/util/slice_splitter.c" - ], - "vs_project_guid": "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}" - }, - { - "name": "grpc_unsecure", - "build": "all", - "language": "c", - "deps": [ - "gpr" - ], - "baselib": true, - "filegroups": [ - "grpc_base" - ], - "secure": false, - "vs_project_guid": "{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}" } ], "targets": [ @@ -621,19 +621,6 @@ "gpr" ] }, - { - "name": "channel_arguments_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/client/channel_arguments_test.cc" - ], - "deps": [ - "grpc++", - "grpc", - "gpr" - ] - }, { "name": "chttp2_status_conversion_test", "build": "test", @@ -690,34 +677,6 @@ "gpr" ] }, - { - "name": "cpp_plugin", - "build": "protoc", - "language": "c++", - "headers": [ - "src/compiler/cpp_generator.h", - "src/compiler/cpp_generator_helpers.h" - ], - "src": [ - "src/compiler/cpp_generator.cc", - "src/compiler/cpp_plugin.cc" - ], - "deps": [], - "secure": false - }, - { - "name": "credentials_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/client/credentials_test.cc" - ], - "deps": [ - "grpc++", - "grpc", - "gpr" - ] - }, { "name": "dualstack_socket_test", "build": "test", @@ -776,22 +735,6 @@ "gpr" ] }, - { - "name": "end2end_test", - "build": "test", - "language": "c++", - "src": [ - "test/cpp/end2end/end2end_test.cc" - ], - "deps": [ - "grpc++_test_util", - "grpc_test_util", - "grpc++", - "grpc", - "gpr_test_util", - "gpr" - ] - }, { "name": "fd_posix_test", "build": "test", @@ -1218,51 +1161,53 @@ ] }, { - "name": "interop_client", + "name": "lame_client_test", "build": "test", - "language": "c++", + "language": "c", "src": [ - "test/cpp/interop/empty.proto", - "test/cpp/interop/messages.proto", - "test/cpp/interop/test.proto", - "test/cpp/interop/client.cc" + "test/core/surface/lame_client_test.c" ], "deps": [ - "grpc++_test_util", "grpc_test_util", - "grpc++", "grpc", "gpr_test_util", "gpr" + ] + }, + { + "name": "low_level_ping_pong_benchmark", + "build": "benchmark", + "language": "c", + "src": [ + "test/core/network_benchmarks/low_level_ping_pong.c" ], - "run": false + "deps": [ + "grpc_test_util", + "grpc", + "gpr_test_util", + "gpr" + ] }, { - "name": "interop_server", + "name": "message_compress_test", "build": "test", - "language": "c++", + "language": "c", "src": [ - "test/cpp/interop/empty.proto", - "test/cpp/interop/messages.proto", - "test/cpp/interop/test.proto", - "test/cpp/interop/server.cc" + "test/core/compression/message_compress_test.c" ], "deps": [ - "grpc++_test_util", "grpc_test_util", - "grpc++", "grpc", "gpr_test_util", "gpr" - ], - "run": false + ] }, { - "name": "lame_client_test", + "name": "metadata_buffer_test", "build": "test", "language": "c", "src": [ - "test/core/surface/lame_client_test.c" + "test/core/channel/metadata_buffer_test.c" ], "deps": [ "grpc_test_util", @@ -1272,11 +1217,23 @@ ] }, { - "name": "low_level_ping_pong_benchmark", - "build": "benchmark", + "name": "murmur_hash_test", + "build": "test", "language": "c", "src": [ - "test/core/network_benchmarks/low_level_ping_pong.c" + "test/core/support/murmur_hash_test.c" + ], + "deps": [ + "gpr_test_util", + "gpr" + ] + }, + { + "name": "no_server_test", + "build": "test", + "language": "c", + "src": [ + "test/core/end2end/no_server_test.c" ], "deps": [ "grpc_test_util", @@ -1286,11 +1243,11 @@ ] }, { - "name": "message_compress_test", + "name": "poll_kick_test", "build": "test", "language": "c", "src": [ - "test/core/compression/message_compress_test.c" + "test/core/iomgr/poll_kick_test.c" ], "deps": [ "grpc_test_util", @@ -1300,11 +1257,11 @@ ] }, { - "name": "metadata_buffer_test", + "name": "resolve_address_test", "build": "test", "language": "c", "src": [ - "test/core/channel/metadata_buffer_test.c" + "test/core/iomgr/resolve_address_test.c" ], "deps": [ "grpc_test_util", @@ -1314,23 +1271,25 @@ ] }, { - "name": "murmur_hash_test", + "name": "secure_endpoint_test", "build": "test", "language": "c", "src": [ - "test/core/support/murmur_hash_test.c" + "test/core/security/secure_endpoint_test.c" ], "deps": [ + "grpc_test_util", + "grpc", "gpr_test_util", "gpr" ] }, { - "name": "no_server_test", + "name": "sockaddr_utils_test", "build": "test", "language": "c", "src": [ - "test/core/end2end/no_server_test.c" + "test/core/iomgr/sockaddr_utils_test.c" ], "deps": [ "grpc_test_util", @@ -1340,11 +1299,11 @@ ] }, { - "name": "poll_kick_test", + "name": "tcp_client_posix_test", "build": "test", "language": "c", "src": [ - "test/core/iomgr/poll_kick_test.c" + "test/core/iomgr/tcp_client_posix_test.c" ], "deps": [ "grpc_test_util", @@ -1354,45 +1313,39 @@ ] }, { - "name": "qps_client", + "name": "tcp_posix_test", "build": "test", - "language": "c++", + "language": "c", "src": [ - "test/cpp/qps/qpstest.proto", - "test/cpp/qps/client.cc" + "test/core/iomgr/tcp_posix_test.c" ], "deps": [ - "grpc++_test_util", "grpc_test_util", - "grpc++", "grpc", "gpr_test_util", "gpr" ] }, { - "name": "qps_server", + "name": "tcp_server_posix_test", "build": "test", - "language": "c++", + "language": "c", "src": [ - "test/cpp/qps/qpstest.proto", - "test/cpp/qps/server.cc" + "test/core/iomgr/tcp_server_posix_test.c" ], "deps": [ - "grpc++_test_util", "grpc_test_util", - "grpc++", "grpc", "gpr_test_util", "gpr" ] }, { - "name": "resolve_address_test", + "name": "time_averaged_stats_test", "build": "test", "language": "c", "src": [ - "test/core/iomgr/resolve_address_test.c" + "test/core/iomgr/time_averaged_stats_test.c" ], "deps": [ "grpc_test_util", @@ -1402,28 +1355,25 @@ ] }, { - "name": "ruby_plugin", - "build": "protoc", - "language": "c++", - "headers": [ - "src/compiler/cpp_generator.h", - "src/compiler/cpp_generator_helpers-inl.h", - "src/compiler/cpp_generator_map-inl.h", - "src/compiler/cpp_generator_string-inl.h" - ], + "name": "time_test", + "build": "test", + "language": "c", "src": [ - "src/compiler/ruby_generator.cc", - "src/compiler/ruby_plugin.cc" + "test/core/support/time_test.c" ], - "deps": [], - "secure": false + "deps": [ + "grpc_test_util", + "grpc", + "gpr_test_util", + "gpr" + ] }, { - "name": "secure_endpoint_test", + "name": "timeout_encoding_test", "build": "test", "language": "c", "src": [ - "test/core/security/secure_endpoint_test.c" + "test/core/transport/chttp2/timeout_encoding_test.c" ], "deps": [ "grpc_test_util", @@ -1433,11 +1383,11 @@ ] }, { - "name": "sockaddr_utils_test", + "name": "transport_metadata_test", "build": "test", "language": "c", "src": [ - "test/core/iomgr/sockaddr_utils_test.c" + "test/core/transport/metadata_test.c" ], "deps": [ "grpc_test_util", @@ -1447,86 +1397,112 @@ ] }, { - "name": "status_test", + "name": "channel_arguments_test", "build": "test", "language": "c++", "src": [ - "test/cpp/util/status_test.cc" + "test/cpp/client/channel_arguments_test.cc" ], "deps": [ - "grpc_test_util", "grpc++", "grpc", - "gpr_test_util", "gpr" ] }, { - "name": "sync_client_async_server_test", + "name": "cpp_plugin", + "build": "protoc", + "language": "c++", + "headers": [ + "src/compiler/cpp_generator.h", + "src/compiler/cpp_generator_helpers.h" + ], + "src": [ + "src/compiler/cpp_generator.cc", + "src/compiler/cpp_plugin.cc" + ], + "deps": [], + "secure": false + }, + { + "name": "credentials_test", "build": "test", "language": "c++", "src": [ - "test/cpp/end2end/sync_client_async_server_test.cc" + "test/cpp/client/credentials_test.cc" ], "deps": [ - "grpc++_test_util", - "grpc_test_util", "grpc++", "grpc", - "gpr_test_util", "gpr" ] }, { - "name": "tcp_client_posix_test", + "name": "end2end_test", "build": "test", - "language": "c", + "language": "c++", "src": [ - "test/core/iomgr/tcp_client_posix_test.c" + "test/cpp/end2end/end2end_test.cc" ], "deps": [ + "grpc++_test_util", "grpc_test_util", + "grpc++", "grpc", "gpr_test_util", "gpr" ] }, { - "name": "tcp_posix_test", + "name": "interop_client", "build": "test", - "language": "c", + "language": "c++", "src": [ - "test/core/iomgr/tcp_posix_test.c" + "test/cpp/interop/empty.proto", + "test/cpp/interop/messages.proto", + "test/cpp/interop/test.proto", + "test/cpp/interop/client.cc" ], "deps": [ + "grpc++_test_util", "grpc_test_util", + "grpc++", "grpc", "gpr_test_util", "gpr" - ] + ], + "run": false }, { - "name": "tcp_server_posix_test", + "name": "interop_server", "build": "test", - "language": "c", + "language": "c++", "src": [ - "test/core/iomgr/tcp_server_posix_test.c" + "test/cpp/interop/empty.proto", + "test/cpp/interop/messages.proto", + "test/cpp/interop/test.proto", + "test/cpp/interop/server.cc" ], "deps": [ + "grpc++_test_util", "grpc_test_util", + "grpc++", "grpc", "gpr_test_util", "gpr" - ] + ], + "run": false }, { - "name": "thread_pool_test", + "name": "qps_client", "build": "test", "language": "c++", "src": [ - "test/cpp/server/thread_pool_test.cc" + "test/cpp/qps/qpstest.proto", + "test/cpp/qps/client.cc" ], "deps": [ + "grpc++_test_util", "grpc_test_util", "grpc++", "grpc", @@ -1535,56 +1511,80 @@ ] }, { - "name": "time_averaged_stats_test", + "name": "qps_server", "build": "test", - "language": "c", + "language": "c++", "src": [ - "test/core/iomgr/time_averaged_stats_test.c" + "test/cpp/qps/qpstest.proto", + "test/cpp/qps/server.cc" ], "deps": [ + "grpc++_test_util", "grpc_test_util", + "grpc++", "grpc", "gpr_test_util", "gpr" ] }, { - "name": "time_test", + "name": "ruby_plugin", + "build": "protoc", + "language": "c++", + "headers": [ + "src/compiler/cpp_generator.h", + "src/compiler/cpp_generator_helpers-inl.h", + "src/compiler/cpp_generator_map-inl.h", + "src/compiler/cpp_generator_string-inl.h" + ], + "src": [ + "src/compiler/ruby_generator.cc", + "src/compiler/ruby_plugin.cc" + ], + "deps": [], + "secure": false + }, + { + "name": "status_test", "build": "test", - "language": "c", + "language": "c++", "src": [ - "test/core/support/time_test.c" + "test/cpp/util/status_test.cc" ], "deps": [ "grpc_test_util", + "grpc++", "grpc", "gpr_test_util", "gpr" ] }, { - "name": "timeout_encoding_test", + "name": "sync_client_async_server_test", "build": "test", - "language": "c", + "language": "c++", "src": [ - "test/core/transport/chttp2/timeout_encoding_test.c" + "test/cpp/end2end/sync_client_async_server_test.cc" ], "deps": [ + "grpc++_test_util", "grpc_test_util", + "grpc++", "grpc", "gpr_test_util", "gpr" ] }, { - "name": "transport_metadata_test", + "name": "thread_pool_test", "build": "test", - "language": "c", + "language": "c++", "src": [ - "test/core/transport/metadata_test.c" + "test/cpp/server/thread_pool_test.cc" ], "deps": [ "grpc_test_util", + "grpc++", "grpc", "gpr_test_util", "gpr" diff --git a/tools/buildgen/build-cleaner.py b/tools/buildgen/build-cleaner.py index 66ee99773e7..00821cc9cc0 100755 --- a/tools/buildgen/build-cleaner.py +++ b/tools/buildgen/build-cleaner.py @@ -45,7 +45,7 @@ for filename in sys.argv[1:]: for grp in ['filegroups', 'libs', 'targets']: if grp not in js: continue js[grp] = sorted([clean_elem(x) for x in js[grp]], - key=lambda x: x['name']) + key=lambda x: (x.get('language', '_'), x['name'])) output = json.dumps(js, indent = 2) # massage out trailing whitespace lines = [] From ecd49345b5c500b9ea1da70b15c90b87da3ff55a Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 18 Jan 2015 14:36:47 -0800 Subject: [PATCH 073/121] Use clang-format-3.5 --- .clang-format | 12 +- src/compiler/cpp_generator.cc | 58 ++++---- src/compiler/cpp_generator.h | 6 +- src/compiler/cpp_generator_helpers.h | 16 +-- src/compiler/cpp_plugin.cc | 16 +-- src/compiler/ruby_generator.cc | 10 +- src/compiler/ruby_generator.h | 2 +- src/compiler/ruby_generator_helpers-inl.h | 6 +- src/compiler/ruby_generator_map-inl.h | 2 +- src/compiler/ruby_generator_string-inl.h | 22 ++-- src/compiler/ruby_plugin.cc | 10 +- src/core/channel/census_filter.c | 12 +- src/core/channel/channel_stack.c | 11 +- src/core/channel/child_channel.c | 4 +- src/core/channel/client_channel.c | 4 +- src/core/channel/connected_channel.c | 6 +- src/core/channel/http_client_filter.c | 4 +- src/core/channel/http_filter.c | 4 +- src/core/channel/http_server_filter.c | 4 +- src/core/channel/metadata_buffer.c | 2 +- src/core/channel/noop_filter.c | 4 +- src/core/security/auth.c | 5 +- src/core/security/security_context.c | 8 +- src/core/statistics/census_rpc_stats.c | 5 +- src/core/statistics/census_tracing.c | 3 +- src/core/support/murmur_hash.c | 8 +- src/core/surface/call.c | 4 +- src/core/surface/channel.c | 2 +- src/core/surface/client.c | 4 +- src/core/surface/lame_client.c | 4 +- src/core/surface/server.c | 4 +- src/core/transport/chttp2/hpack_table.c | 124 +++++++++--------- src/core/transport/chttp2/varint.h | 20 +-- src/core/transport/chttp2_transport.c | 14 +- src/core/tsi/fake_transport_security.c | 17 ++- src/core/tsi/ssl_transport_security.c | 23 ++-- src/core/tsi/ssl_transport_security.h | 3 +- src/cpp/client/channel.cc | 56 ++++---- src/cpp/client/channel.h | 22 ++-- src/cpp/client/channel_arguments.cc | 18 +-- src/cpp/client/client_context.cc | 8 +- src/cpp/client/create_channel.cc | 8 +- src/cpp/client/credentials.cc | 40 +++--- src/cpp/proto/proto_utils.cc | 12 +- src/cpp/proto/proto_utils.h | 6 +- src/cpp/server/async_server.cc | 4 +- src/cpp/server/async_server_context.cc | 16 +-- src/cpp/server/completion_queue.cc | 8 +- src/cpp/server/server.cc | 16 +-- src/cpp/server/server_builder.cc | 12 +- src/cpp/server/server_credentials.cc | 20 +-- src/cpp/server/server_rpc_handler.cc | 14 +- src/cpp/server/server_rpc_handler.h | 8 +- src/cpp/server/thread_pool.cc | 4 +- src/cpp/server/thread_pool.h | 2 +- src/cpp/stream/stream_context.cc | 34 ++--- src/cpp/stream/stream_context.h | 50 +++---- src/cpp/util/status.cc | 4 +- src/cpp/util/time.cc | 4 +- src/cpp/util/time.h | 4 +- src/php/ext/grpc/call.c | 19 ++- src/php/ext/grpc/channel.c | 2 +- src/php/ext/grpc/completion_queue.c | 16 +-- src/php/ext/grpc/credentials.c | 13 +- src/php/ext/grpc/php_grpc.c | 3 +- src/php/ext/grpc/server.c | 8 +- src/php/ext/grpc/server_credentials.c | 4 +- src/php/ext/grpc/timeval.c | 24 ++-- test/core/channel/channel_stack_test.c | 4 +- test/core/channel/metadata_buffer_test.c | 4 +- test/core/end2end/cq_verifier.c | 1 - .../end2end/tests/max_concurrent_streams.c | 2 +- test/core/end2end/tests/thread_stress.c | 4 +- test/core/iomgr/alarm_list_test.c | 14 +- test/core/iomgr/endpoint_tests.c | 4 +- test/core/statistics/hash_table_test.c | 22 ++-- .../core/surface/completion_queue_benchmark.c | 14 +- test/core/surface/completion_queue_test.c | 20 +-- test/core/transport/chttp2/stream_map_test.c | 6 +- tools/clang-format/clang-format-all.sh | 5 +- tools/clang-format/config.sh | 1 + 81 files changed, 511 insertions(+), 512 deletions(-) create mode 100644 tools/clang-format/config.sh diff --git a/.clang-format b/.clang-format index 38804f78c4e..651e1296ba3 100644 --- a/.clang-format +++ b/.clang-format @@ -2,27 +2,22 @@ Language: Cpp # BasedOnStyle: Google AccessModifierOffset: -1 -AlignAfterOpenBracket: true +ConstructorInitializerIndentWidth: 4 AlignEscapedNewlinesLeft: true -AlignOperands: true AlignTrailingComments: true AllowAllParametersOfDeclarationOnNextLine: true AllowShortBlocksOnASingleLine: false -AllowShortCaseLabelsOnASingleLine: false AllowShortIfStatementsOnASingleLine: true AllowShortLoopsOnASingleLine: true AllowShortFunctionsOnASingleLine: All -AlwaysBreakAfterDefinitionReturnType: false AlwaysBreakTemplateDeclarations: true AlwaysBreakBeforeMultilineStrings: true -BreakBeforeBinaryOperators: None +BreakBeforeBinaryOperators: false BreakBeforeTernaryOperators: true BreakConstructorInitializersBeforeComma: false BinPackParameters: true -BinPackArguments: true ColumnLimit: 80 ConstructorInitializerAllOnOneLineOrOnePerLine: true -ConstructorInitializerIndentWidth: 4 DerivePointerAlignment: true ExperimentalAutoDetectBinPacking: false IndentCaseLabels: true @@ -31,7 +26,6 @@ IndentFunctionDeclarationAfterType: false MaxEmptyLinesToKeep: 1 KeepEmptyLinesAtTheStartOfBlocks: false NamespaceIndentation: None -ObjCBlockIndentWidth: 2 ObjCSpaceAfterProperty: false ObjCSpaceBeforeProtocolList: false PenaltyBreakBeforeFirstCallParameter: 1 @@ -49,11 +43,9 @@ TabWidth: 8 UseTab: Never BreakBeforeBraces: Attach SpacesInParentheses: false -SpacesInSquareBrackets: false SpacesInAngles: false SpaceInEmptyParentheses: false SpacesInCStyleCastParentheses: false -SpaceAfterCStyleCast: false SpacesInContainerLiterals: true SpaceBeforeAssignmentOperators: true ContinuationIndentWidth: 4 diff --git a/src/compiler/cpp_generator.cc b/src/compiler/cpp_generator.cc index 29bd3560f3e..8724f97e8be 100644 --- a/src/compiler/cpp_generator.cc +++ b/src/compiler/cpp_generator.cc @@ -45,23 +45,23 @@ namespace grpc_cpp_generator { namespace { -bool NoStreaming(const google::protobuf::MethodDescriptor* method) { +bool NoStreaming(const google::protobuf::MethodDescriptor *method) { return !method->client_streaming() && !method->server_streaming(); } -bool ClientOnlyStreaming(const google::protobuf::MethodDescriptor* method) { +bool ClientOnlyStreaming(const google::protobuf::MethodDescriptor *method) { return method->client_streaming() && !method->server_streaming(); } -bool ServerOnlyStreaming(const google::protobuf::MethodDescriptor* method) { +bool ServerOnlyStreaming(const google::protobuf::MethodDescriptor *method) { return !method->client_streaming() && method->server_streaming(); } -bool BidiStreaming(const google::protobuf::MethodDescriptor* method) { +bool BidiStreaming(const google::protobuf::MethodDescriptor *method) { return method->client_streaming() && method->server_streaming(); } -bool HasClientOnlyStreaming(const google::protobuf::FileDescriptor* file) { +bool HasClientOnlyStreaming(const google::protobuf::FileDescriptor *file) { for (int i = 0; i < file->service_count(); i++) { for (int j = 0; j < file->service(i)->method_count(); j++) { if (ClientOnlyStreaming(file->service(i)->method(j))) { @@ -72,7 +72,7 @@ bool HasClientOnlyStreaming(const google::protobuf::FileDescriptor* file) { return false; } -bool HasServerOnlyStreaming(const google::protobuf::FileDescriptor* file) { +bool HasServerOnlyStreaming(const google::protobuf::FileDescriptor *file) { for (int i = 0; i < file->service_count(); i++) { for (int j = 0; j < file->service(i)->method_count(); j++) { if (ServerOnlyStreaming(file->service(i)->method(j))) { @@ -83,7 +83,7 @@ bool HasServerOnlyStreaming(const google::protobuf::FileDescriptor* file) { return false; } -bool HasBidiStreaming(const google::protobuf::FileDescriptor* file) { +bool HasBidiStreaming(const google::protobuf::FileDescriptor *file) { for (int i = 0; i < file->service_count(); i++) { for (int j = 0; j < file->service(i)->method_count(); j++) { if (BidiStreaming(file->service(i)->method(j))) { @@ -95,7 +95,7 @@ bool HasBidiStreaming(const google::protobuf::FileDescriptor* file) { } } // namespace -std::string GetHeaderIncludes(const google::protobuf::FileDescriptor* file) { +std::string GetHeaderIncludes(const google::protobuf::FileDescriptor *file) { std::string temp = "#include \"grpc++/impl/internal_stub.h\"\n" "#include \"grpc++/status.h\"\n" @@ -131,9 +131,9 @@ std::string GetSourceIncludes() { "#include \"grpc++/stream.h\"\n"; } -void PrintHeaderClientMethod(google::protobuf::io::Printer* printer, - const google::protobuf::MethodDescriptor* method, - std::map* vars) { +void PrintHeaderClientMethod(google::protobuf::io::Printer *printer, + const google::protobuf::MethodDescriptor *method, + std::map *vars) { (*vars)["Method"] = method->name(); (*vars)["Request"] = grpc_cpp_generator::ClassName(method->input_type(), true); @@ -160,9 +160,9 @@ void PrintHeaderClientMethod(google::protobuf::io::Printer* printer, } } -void PrintHeaderServerMethod(google::protobuf::io::Printer* printer, - const google::protobuf::MethodDescriptor* method, - std::map* vars) { +void PrintHeaderServerMethod(google::protobuf::io::Printer *printer, + const google::protobuf::MethodDescriptor *method, + std::map *vars) { (*vars)["Method"] = method->name(); (*vars)["Request"] = grpc_cpp_generator::ClassName(method->input_type(), true); @@ -194,9 +194,9 @@ void PrintHeaderServerMethod(google::protobuf::io::Printer* printer, } } -void PrintHeaderService(google::protobuf::io::Printer* printer, - const google::protobuf::ServiceDescriptor* service, - std::map* vars) { +void PrintHeaderService(google::protobuf::io::Printer *printer, + const google::protobuf::ServiceDescriptor *service, + std::map *vars) { (*vars)["Service"] = service->name(); printer->Print(*vars, @@ -241,7 +241,7 @@ void PrintHeaderService(google::protobuf::io::Printer* printer, printer->Print("};\n"); } -std::string GetHeaderServices(const google::protobuf::FileDescriptor* file) { +std::string GetHeaderServices(const google::protobuf::FileDescriptor *file) { std::string output; google::protobuf::io::StringOutputStream output_stream(&output); google::protobuf::io::Printer printer(&output_stream, '$'); @@ -254,9 +254,9 @@ std::string GetHeaderServices(const google::protobuf::FileDescriptor* file) { return output; } -void PrintSourceClientMethod(google::protobuf::io::Printer* printer, - const google::protobuf::MethodDescriptor* method, - std::map* vars) { +void PrintSourceClientMethod(google::protobuf::io::Printer *printer, + const google::protobuf::MethodDescriptor *method, + std::map *vars) { (*vars)["Method"] = method->name(); (*vars)["Request"] = grpc_cpp_generator::ClassName(method->input_type(), true); @@ -312,9 +312,9 @@ void PrintSourceClientMethod(google::protobuf::io::Printer* printer, } } -void PrintSourceServerMethod(google::protobuf::io::Printer* printer, - const google::protobuf::MethodDescriptor* method, - std::map* vars) { +void PrintSourceServerMethod(google::protobuf::io::Printer *printer, + const google::protobuf::MethodDescriptor *method, + std::map *vars) { (*vars)["Method"] = method->name(); (*vars)["Request"] = grpc_cpp_generator::ClassName(method->input_type(), true); @@ -362,9 +362,9 @@ void PrintSourceServerMethod(google::protobuf::io::Printer* printer, } } -void PrintSourceService(google::protobuf::io::Printer* printer, - const google::protobuf::ServiceDescriptor* service, - std::map* vars) { +void PrintSourceService(google::protobuf::io::Printer *printer, + const google::protobuf::ServiceDescriptor *service, + std::map *vars) { (*vars)["Service"] = service->name(); printer->Print( *vars, @@ -394,7 +394,7 @@ void PrintSourceService(google::protobuf::io::Printer* printer, "}\n"); printer->Print("service_ = new ::grpc::RpcService();\n"); for (int i = 0; i < service->method_count(); ++i) { - const google::protobuf::MethodDescriptor* method = service->method(i); + const google::protobuf::MethodDescriptor *method = service->method(i); (*vars)["Method"] = method->name(); (*vars)["Request"] = grpc_cpp_generator::ClassName(method->input_type(), true); @@ -458,7 +458,7 @@ void PrintSourceService(google::protobuf::io::Printer* printer, printer->Print("}\n\n"); } -std::string GetSourceServices(const google::protobuf::FileDescriptor* file) { +std::string GetSourceServices(const google::protobuf::FileDescriptor *file) { std::string output; google::protobuf::io::StringOutputStream output_stream(&output); google::protobuf::io::Printer printer(&output_stream, '$'); diff --git a/src/compiler/cpp_generator.h b/src/compiler/cpp_generator.h index 1a74211b715..fe84d08b4c8 100644 --- a/src/compiler/cpp_generator.h +++ b/src/compiler/cpp_generator.h @@ -45,16 +45,16 @@ class FileDescriptor; namespace grpc_cpp_generator { // Return the includes needed for generated header file. -std::string GetHeaderIncludes(const google::protobuf::FileDescriptor* file); +std::string GetHeaderIncludes(const google::protobuf::FileDescriptor *file); // Return the includes needed for generated source file. std::string GetSourceIncludes(); // Return the services for generated header file. -std::string GetHeaderServices(const google::protobuf::FileDescriptor* file); +std::string GetHeaderServices(const google::protobuf::FileDescriptor *file); // Return the services for generated source file. -std::string GetSourceServices(const google::protobuf::FileDescriptor* file); +std::string GetSourceServices(const google::protobuf::FileDescriptor *file); } // namespace grpc_cpp_generator diff --git a/src/compiler/cpp_generator_helpers.h b/src/compiler/cpp_generator_helpers.h index 1ad3cb2db3e..54c343866fc 100644 --- a/src/compiler/cpp_generator_helpers.h +++ b/src/compiler/cpp_generator_helpers.h @@ -41,7 +41,7 @@ namespace grpc_cpp_generator { -inline bool StripSuffix(std::string* filename, const std::string& suffix) { +inline bool StripSuffix(std::string *filename, const std::string &suffix) { if (filename->length() >= suffix.length()) { size_t suffix_pos = filename->length() - suffix.length(); if (filename->compare(suffix_pos, std::string::npos, suffix) == 0) { @@ -60,8 +60,8 @@ inline std::string StripProto(std::string filename) { return filename; } -inline std::string StringReplace(std::string str, const std::string& from, - const std::string& to) { +inline std::string StringReplace(std::string str, const std::string &from, + const std::string &to) { size_t pos = 0; for (;;) { @@ -76,22 +76,22 @@ inline std::string StringReplace(std::string str, const std::string& from, return str; } -inline std::string DotsToColons(const std::string& name) { +inline std::string DotsToColons(const std::string &name) { return StringReplace(name, ".", "::"); } -inline std::string DotsToUnderscores(const std::string& name) { +inline std::string DotsToUnderscores(const std::string &name) { return StringReplace(name, ".", "_"); } -inline std::string ClassName(const google::protobuf::Descriptor* descriptor, +inline std::string ClassName(const google::protobuf::Descriptor *descriptor, bool qualified) { // Find "outer", the descriptor of the top-level message in which // "descriptor" is embedded. - const google::protobuf::Descriptor* outer = descriptor; + const google::protobuf::Descriptor *outer = descriptor; while (outer->containing_type() != NULL) outer = outer->containing_type(); - const std::string& outer_name = outer->full_name(); + const std::string &outer_name = outer->full_name(); std::string inner_name = descriptor->full_name().substr(outer_name.size()); if (qualified) { diff --git a/src/compiler/cpp_plugin.cc b/src/compiler/cpp_plugin.cc index e43278529d6..a7fdb1f093f 100644 --- a/src/compiler/cpp_plugin.cc +++ b/src/compiler/cpp_plugin.cc @@ -51,10 +51,10 @@ class CppGrpcGenerator : public google::protobuf::compiler::CodeGenerator { CppGrpcGenerator() {} virtual ~CppGrpcGenerator() {} - virtual bool Generate(const google::protobuf::FileDescriptor* file, - const std::string& parameter, - google::protobuf::compiler::GeneratorContext* context, - std::string* error) const { + virtual bool Generate(const google::protobuf::FileDescriptor *file, + const std::string ¶meter, + google::protobuf::compiler::GeneratorContext *context, + std::string *error) const { if (file->options().cc_generic_services()) { *error = "cpp grpc proto compiler plugin does not work with generic " @@ -81,9 +81,9 @@ class CppGrpcGenerator : public google::protobuf::compiler::CodeGenerator { private: // Insert the given code into the given file at the given insertion point. - void Insert(google::protobuf::compiler::GeneratorContext* context, - const std::string& filename, const std::string& insertion_point, - const std::string& code) const { + void Insert(google::protobuf::compiler::GeneratorContext *context, + const std::string &filename, const std::string &insertion_point, + const std::string &code) const { std::unique_ptr output( context->OpenForInsert(filename, insertion_point)); google::protobuf::io::CodedOutputStream coded_out(output.get()); @@ -91,7 +91,7 @@ class CppGrpcGenerator : public google::protobuf::compiler::CodeGenerator { } }; -int main(int argc, char* argv[]) { +int main(int argc, char *argv[]) { CppGrpcGenerator generator; return google::protobuf::compiler::PluginMain(argc, argv, &generator); } diff --git a/src/compiler/ruby_generator.cc b/src/compiler/ruby_generator.cc index 393f8f3b593..16632325dcb 100644 --- a/src/compiler/ruby_generator.cc +++ b/src/compiler/ruby_generator.cc @@ -57,8 +57,8 @@ namespace grpc_ruby_generator { namespace { // Prints out the method using the ruby gRPC DSL. -void PrintMethod(const MethodDescriptor* method, const std::string& package, - Printer* out) { +void PrintMethod(const MethodDescriptor *method, const std::string &package, + Printer *out) { std::string input_type = RubyTypeOf(method->input_type()->name(), package); if (method->client_streaming()) { input_type = "stream(" + input_type + ")"; @@ -75,8 +75,8 @@ void PrintMethod(const MethodDescriptor* method, const std::string& package, } // Prints out the service using the ruby gRPC DSL. -void PrintService(const ServiceDescriptor* service, const std::string& package, - Printer* out) { +void PrintService(const ServiceDescriptor *service, const std::string &package, + Printer *out) { if (service->method_count() == 0) { return; } @@ -125,7 +125,7 @@ void PrintService(const ServiceDescriptor* service, const std::string& package, } // namespace -std::string GetServices(const FileDescriptor* file) { +std::string GetServices(const FileDescriptor *file) { std::string output; StringOutputStream output_stream(&output); Printer out(&output_stream, '$'); diff --git a/src/compiler/ruby_generator.h b/src/compiler/ruby_generator.h index 0306536d08a..89d7a0b92a9 100644 --- a/src/compiler/ruby_generator.h +++ b/src/compiler/ruby_generator.h @@ -44,7 +44,7 @@ class FileDescriptor; namespace grpc_ruby_generator { -std::string GetServices(const google::protobuf::FileDescriptor* file); +std::string GetServices(const google::protobuf::FileDescriptor *file); } // namespace grpc_ruby_generator diff --git a/src/compiler/ruby_generator_helpers-inl.h b/src/compiler/ruby_generator_helpers-inl.h index 7b973ed9ebe..0034f5ef569 100644 --- a/src/compiler/ruby_generator_helpers-inl.h +++ b/src/compiler/ruby_generator_helpers-inl.h @@ -41,8 +41,8 @@ namespace grpc_ruby_generator { -inline bool ServicesFilename(const google::protobuf::FileDescriptor* file, - std::string* file_name_or_error) { +inline bool ServicesFilename(const google::protobuf::FileDescriptor *file, + std::string *file_name_or_error) { // Get output file name. static const unsigned proto_suffix_length = 6; // length of ".proto" if (file->name().size() > proto_suffix_length && @@ -58,7 +58,7 @@ inline bool ServicesFilename(const google::protobuf::FileDescriptor* file, } inline std::string MessagesRequireName( - const google::protobuf::FileDescriptor* file) { + const google::protobuf::FileDescriptor *file) { return Replace(file->name(), ".proto", ""); } diff --git a/src/compiler/ruby_generator_map-inl.h b/src/compiler/ruby_generator_map-inl.h index a49650a2f7b..fea9c2e2fac 100644 --- a/src/compiler/ruby_generator_map-inl.h +++ b/src/compiler/ruby_generator_map-inl.h @@ -49,7 +49,7 @@ namespace grpc_ruby_generator { // Converts an initializer list of the form { key0, value0, key1, value1, ... } // into a map of key* to value*. Is merely a readability helper for later code. inline std::map ListToDict( - const initializer_list& values) { + const initializer_list &values) { if (values.size() % 2 != 0) { // MOE: insert std::cerr << "Not every 'key' has a value in `values`." // << std::endl; diff --git a/src/compiler/ruby_generator_string-inl.h b/src/compiler/ruby_generator_string-inl.h index a253f78d49a..d24a61b9f5f 100644 --- a/src/compiler/ruby_generator_string-inl.h +++ b/src/compiler/ruby_generator_string-inl.h @@ -45,8 +45,8 @@ using std::transform; namespace grpc_ruby_generator { // Split splits a string using char into elems. -inline std::vector& Split(const std::string& s, char delim, - std::vector* elems) { +inline std::vector &Split(const std::string &s, char delim, + std::vector *elems) { std::stringstream ss(s); std::string item; while (getline(ss, item, delim)) { @@ -56,15 +56,15 @@ inline std::vector& Split(const std::string& s, char delim, } // Split splits a string using char, returning the result in a vector. -inline std::vector Split(const std::string& s, char delim) { +inline std::vector Split(const std::string &s, char delim) { std::vector elems; Split(s, delim, &elems); return elems; } // Replace replaces from with to in s. -inline std::string Replace(std::string s, const std::string& from, - const std::string& to) { +inline std::string Replace(std::string s, const std::string &from, + const std::string &to) { size_t start_pos = s.find(from); if (start_pos == std::string::npos) { return s; @@ -74,8 +74,8 @@ inline std::string Replace(std::string s, const std::string& from, } // ReplaceAll replaces all instances of search with replace in s. -inline std::string ReplaceAll(std::string s, const std::string& search, - const std::string& replace) { +inline std::string ReplaceAll(std::string s, const std::string &search, + const std::string &replace) { size_t pos = 0; while ((pos = s.find(search, pos)) != std::string::npos) { s.replace(pos, search.length(), replace); @@ -85,8 +85,8 @@ inline std::string ReplaceAll(std::string s, const std::string& search, } // ReplacePrefix replaces from with to in s if search is a prefix of s. -inline bool ReplacePrefix(std::string* s, const std::string& from, - const std::string& to) { +inline bool ReplacePrefix(std::string *s, const std::string &from, + const std::string &to) { size_t start_pos = s->find(from); if (start_pos == std::string::npos || start_pos != 0) { return false; @@ -105,8 +105,8 @@ inline std::string CapitalizeFirst(std::string s) { } // RubyTypeOf updates a proto type to the required ruby equivalent. -inline std::string RubyTypeOf(const std::string& a_type, - const std::string& package) { +inline std::string RubyTypeOf(const std::string &a_type, + const std::string &package) { std::string res(a_type); ReplacePrefix(&res, package, ""); // remove the leading package if present ReplacePrefix(&res, ".", ""); // remove the leading . (no package) diff --git a/src/compiler/ruby_plugin.cc b/src/compiler/ruby_plugin.cc index 86c0e11e1c1..9397452f55e 100644 --- a/src/compiler/ruby_plugin.cc +++ b/src/compiler/ruby_plugin.cc @@ -52,10 +52,10 @@ class RubyGrpcGenerator : public google::protobuf::compiler::CodeGenerator { RubyGrpcGenerator() {} ~RubyGrpcGenerator() override {} - bool Generate(const google::protobuf::FileDescriptor* file, - const std::string& parameter, - google::protobuf::compiler::GeneratorContext* context, - std::string* error) const override { + bool Generate(const google::protobuf::FileDescriptor *file, + const std::string ¶meter, + google::protobuf::compiler::GeneratorContext *context, + std::string *error) const override { std::string code = grpc_ruby_generator::GetServices(file); if (code.size() == 0) { return true; // don't generate a file if there are no services @@ -74,7 +74,7 @@ class RubyGrpcGenerator : public google::protobuf::compiler::CodeGenerator { } }; -int main(int argc, char* argv[]) { +int main(int argc, char *argv[]) { RubyGrpcGenerator generator; return google::protobuf::compiler::PluginMain(argc, argv, &generator); } diff --git a/src/core/channel/census_filter.c b/src/core/channel/census_filter.c index 2799bded8a6..ed60f0a5f6e 100644 --- a/src/core/channel/census_filter.c +++ b/src/core/channel/census_filter.c @@ -178,19 +178,19 @@ static void destroy_channel_elem(grpc_channel_element* elem) { } const grpc_channel_filter grpc_client_census_filter = { - client_call_op, channel_op, + client_call_op, channel_op, - sizeof(call_data), client_init_call_elem, client_destroy_call_elem, + sizeof(call_data), client_init_call_elem, client_destroy_call_elem, - sizeof(channel_data), init_channel_elem, destroy_channel_elem, + sizeof(channel_data), init_channel_elem, destroy_channel_elem, "census-client"}; const grpc_channel_filter grpc_server_census_filter = { - server_call_op, channel_op, + server_call_op, channel_op, - sizeof(call_data), server_init_call_elem, server_destroy_call_elem, + sizeof(call_data), server_init_call_elem, server_destroy_call_elem, - sizeof(channel_data), init_channel_elem, destroy_channel_elem, + sizeof(channel_data), init_channel_elem, destroy_channel_elem, "census-server"}; diff --git a/src/core/channel/channel_stack.c b/src/core/channel/channel_stack.c index 14fc8007785..5ee412bf7d0 100644 --- a/src/core/channel/channel_stack.c +++ b/src/core/channel/channel_stack.c @@ -54,7 +54,7 @@ /* Given a size, round up to the next multiple of sizeof(void*) */ #define ROUND_UP_TO_ALIGNMENT_SIZE(x) \ - (((x) + GPR_MAX_ALIGNMENT - 1) & ~(GPR_MAX_ALIGNMENT - 1)) + (((x)+GPR_MAX_ALIGNMENT - 1) & ~(GPR_MAX_ALIGNMENT - 1)) size_t grpc_channel_stack_size(const grpc_channel_filter **filters, size_t filter_count) { @@ -190,13 +190,14 @@ void grpc_channel_next_op(grpc_channel_element *elem, grpc_channel_op *op) { grpc_channel_stack *grpc_channel_stack_from_top_element( grpc_channel_element *elem) { - return (grpc_channel_stack *)((char *)(elem)-ROUND_UP_TO_ALIGNMENT_SIZE( - sizeof(grpc_channel_stack))); + return (grpc_channel_stack *)((char *)(elem) - + ROUND_UP_TO_ALIGNMENT_SIZE( + sizeof(grpc_channel_stack))); } grpc_call_stack *grpc_call_stack_from_top_element(grpc_call_element *elem) { - return (grpc_call_stack *)((char *)(elem)-ROUND_UP_TO_ALIGNMENT_SIZE( - sizeof(grpc_call_stack))); + return (grpc_call_stack *)((char *)(elem) - ROUND_UP_TO_ALIGNMENT_SIZE( + sizeof(grpc_call_stack))); } static void do_nothing(void *user_data, grpc_op_error error) {} diff --git a/src/core/channel/child_channel.c b/src/core/channel/child_channel.c index 3778f4fb88f..f400e9b6705 100644 --- a/src/core/channel/child_channel.c +++ b/src/core/channel/child_channel.c @@ -165,9 +165,9 @@ static void lb_destroy_channel_elem(grpc_channel_element *elem) { } const grpc_channel_filter grpc_child_channel_top_filter = { - lb_call_op, lb_channel_op, + lb_call_op, lb_channel_op, - sizeof(lb_call_data), lb_init_call_elem, lb_destroy_call_elem, + sizeof(lb_call_data), lb_init_call_elem, lb_destroy_call_elem, sizeof(lb_channel_data), lb_init_channel_elem, lb_destroy_channel_elem, diff --git a/src/core/channel/client_channel.c b/src/core/channel/client_channel.c index 46283835a05..fa75561c78b 100644 --- a/src/core/channel/client_channel.c +++ b/src/core/channel/client_channel.c @@ -450,9 +450,9 @@ static void destroy_channel_elem(grpc_channel_element *elem) { } const grpc_channel_filter grpc_client_channel_filter = { - call_op, channel_op, + call_op, channel_op, - sizeof(call_data), init_call_elem, destroy_call_elem, + sizeof(call_data), init_call_elem, destroy_call_elem, sizeof(channel_data), init_channel_elem, destroy_channel_elem, diff --git a/src/core/channel/connected_channel.c b/src/core/channel/connected_channel.c index 30de10905ce..e01cb81a890 100644 --- a/src/core/channel/connected_channel.c +++ b/src/core/channel/connected_channel.c @@ -69,7 +69,7 @@ typedef struct { /* We perform a small hack to locate transport data alongside the connected channel data in call allocations, to allow everything to be pulled in minimal cache line requests */ -#define TRANSPORT_STREAM_FROM_CALL_DATA(calld) ((grpc_stream *)((calld) + 1)) +#define TRANSPORT_STREAM_FROM_CALL_DATA(calld) ((grpc_stream *)((calld)+1)) #define CALL_DATA_FROM_TRANSPORT_STREAM(transport_stream) \ (((call_data *)(transport_stream)) - 1) @@ -257,9 +257,9 @@ static void destroy_channel_elem(grpc_channel_element *elem) { } const grpc_channel_filter grpc_connected_channel_filter = { - call_op, channel_op, + call_op, channel_op, - sizeof(call_data), init_call_elem, destroy_call_elem, + sizeof(call_data), init_call_elem, destroy_call_elem, sizeof(channel_data), init_channel_elem, destroy_channel_elem, diff --git a/src/core/channel/http_client_filter.c b/src/core/channel/http_client_filter.c index ab9d3aff16b..b139b72795f 100644 --- a/src/core/channel/http_client_filter.c +++ b/src/core/channel/http_client_filter.c @@ -178,9 +178,9 @@ static void destroy_channel_elem(grpc_channel_element *elem) { } const grpc_channel_filter grpc_http_client_filter = { - call_op, channel_op, + call_op, channel_op, - sizeof(call_data), init_call_elem, destroy_call_elem, + sizeof(call_data), init_call_elem, destroy_call_elem, sizeof(channel_data), init_channel_elem, destroy_channel_elem, diff --git a/src/core/channel/http_filter.c b/src/core/channel/http_filter.c index 6cfe34695c4..846f7b9713a 100644 --- a/src/core/channel/http_filter.c +++ b/src/core/channel/http_filter.c @@ -132,9 +132,9 @@ static void destroy_channel_elem(grpc_channel_element *elem) { } const grpc_channel_filter grpc_http_filter = { - call_op, channel_op, + call_op, channel_op, - sizeof(call_data), init_call_elem, destroy_call_elem, + sizeof(call_data), init_call_elem, destroy_call_elem, sizeof(channel_data), init_channel_elem, destroy_channel_elem, diff --git a/src/core/channel/http_server_filter.c b/src/core/channel/http_server_filter.c index 44eab43f09d..19b9606b433 100644 --- a/src/core/channel/http_server_filter.c +++ b/src/core/channel/http_server_filter.c @@ -244,9 +244,9 @@ static void destroy_channel_elem(grpc_channel_element *elem) { } const grpc_channel_filter grpc_http_server_filter = { - call_op, channel_op, + call_op, channel_op, - sizeof(call_data), init_call_elem, destroy_call_elem, + sizeof(call_data), init_call_elem, destroy_call_elem, sizeof(channel_data), init_channel_elem, destroy_channel_elem, diff --git a/src/core/channel/metadata_buffer.c b/src/core/channel/metadata_buffer.c index d4de4ba576c..75fd90b707d 100644 --- a/src/core/channel/metadata_buffer.c +++ b/src/core/channel/metadata_buffer.c @@ -61,7 +61,7 @@ struct grpc_metadata_buffer_impl { size_t elem_cap; }; -#define ELEMS(buffer) ((qelem *)((buffer) + 1)) +#define ELEMS(buffer) ((qelem *)((buffer)+1)) void grpc_metadata_buffer_init(grpc_metadata_buffer *buffer) { /* start buffer as NULL, indicating no elements */ diff --git a/src/core/channel/noop_filter.c b/src/core/channel/noop_filter.c index 6f854a2b871..b6b3f661f7b 100644 --- a/src/core/channel/noop_filter.c +++ b/src/core/channel/noop_filter.c @@ -131,9 +131,9 @@ static void destroy_channel_elem(grpc_channel_element *elem) { } const grpc_channel_filter grpc_no_op_filter = { - call_op, channel_op, + call_op, channel_op, - sizeof(call_data), init_call_elem, destroy_call_elem, + sizeof(call_data), init_call_elem, destroy_call_elem, sizeof(channel_data), init_channel_elem, destroy_channel_elem, diff --git a/src/core/security/auth.c b/src/core/security/auth.c index e36bf2382f7..f743b258382 100644 --- a/src/core/security/auth.c +++ b/src/core/security/auth.c @@ -157,5 +157,6 @@ static void destroy_channel_elem(grpc_channel_element *elem) { } const grpc_channel_filter grpc_client_auth_filter = { - call_op, channel_op, sizeof(call_data), init_call_elem, destroy_call_elem, - sizeof(channel_data), init_channel_elem, destroy_channel_elem, "auth"}; + call_op, channel_op, sizeof(call_data), + init_call_elem, destroy_call_elem, sizeof(channel_data), + init_channel_elem, destroy_channel_elem, "auth"}; diff --git a/src/core/security/security_context.c b/src/core/security/security_context.c index 421b81fd362..3a70f44a0a1 100644 --- a/src/core/security/security_context.c +++ b/src/core/security/security_context.c @@ -413,10 +413,10 @@ grpc_security_status grpc_ssl_server_security_context_create( (const unsigned char **)&config->pem_private_key, &config->pem_private_key_size, (const unsigned char **)&config->pem_cert_chain, - &config->pem_cert_chain_size, 1, - config->pem_root_certs, config->pem_root_certs_size, - GRPC_SSL_CIPHER_SUITES, alpn_protocol_strings, - alpn_protocol_string_lengths, num_alpn_protocols, &c->handshaker_factory); + &config->pem_cert_chain_size, 1, config->pem_root_certs, + config->pem_root_certs_size, GRPC_SSL_CIPHER_SUITES, + alpn_protocol_strings, alpn_protocol_string_lengths, num_alpn_protocols, + &c->handshaker_factory); if (result != TSI_OK) { gpr_log(GPR_ERROR, "Handshaker factory creation failed with %s.", tsi_result_to_string(result)); diff --git a/src/core/statistics/census_rpc_stats.c b/src/core/statistics/census_rpc_stats.c index 2db3054a0d0..39094b5f65a 100644 --- a/src/core/statistics/census_rpc_stats.c +++ b/src/core/statistics/census_rpc_stats.c @@ -85,8 +85,9 @@ static void delete_key(void* key) { gpr_free(key); } static const census_ht_option ht_opt = { CENSUS_HT_POINTER /* key type */, 1999 /* n_of_buckets */, - simple_hash /* hash function */, cmp_str_keys /* key comparator */, - delete_stats /* data deleter */, delete_key /* key deleter */}; + simple_hash /* hash function */, cmp_str_keys /* key comparator */, + delete_stats /* data deleter */, delete_key /* key deleter */ +}; static void init_rpc_stats(void* stats) { memset(stats, 0, sizeof(census_rpc_stats)); diff --git a/src/core/statistics/census_tracing.c b/src/core/statistics/census_tracing.c index 8c7cf116426..1e616020715 100644 --- a/src/core/statistics/census_tracing.c +++ b/src/core/statistics/census_tracing.c @@ -76,7 +76,8 @@ static void delete_trace_obj(void* obj) { trace_obj_destroy((trace_obj*)obj); } static const census_ht_option ht_opt = { CENSUS_HT_UINT64 /* key type*/, 571 /* n_of_buckets */, NULL /* hash */, NULL /* compare_keys */, delete_trace_obj /* delete data */, - NULL /* delete key */}; + NULL /* delete key */ +}; static gpr_once g_init_mutex_once = GPR_ONCE_INIT; static gpr_mu g_mu; /* Guards following two static variables. */ diff --git a/src/core/support/murmur_hash.c b/src/core/support/murmur_hash.c index 5d30263e521..08b1eb80d8f 100644 --- a/src/core/support/murmur_hash.c +++ b/src/core/support/murmur_hash.c @@ -46,8 +46,8 @@ handle aligned reads, do the conversion here */ #define GETBLOCK32(p, i) (p)[(i)] -gpr_uint32 gpr_murmur_hash3(const void* key, size_t len, gpr_uint32 seed) { - const gpr_uint8* data = (const gpr_uint8*)key; +gpr_uint32 gpr_murmur_hash3(const void *key, size_t len, gpr_uint32 seed) { + const gpr_uint8 *data = (const gpr_uint8 *)key; const int nblocks = len / 4; int i; @@ -57,8 +57,8 @@ gpr_uint32 gpr_murmur_hash3(const void* key, size_t len, gpr_uint32 seed) { const gpr_uint32 c1 = 0xcc9e2d51; const gpr_uint32 c2 = 0x1b873593; - const gpr_uint32* blocks = (const uint32_t*)(data + nblocks * 4); - const uint8_t* tail = (const uint8_t*)(data + nblocks * 4); + const gpr_uint32 *blocks = (const uint32_t *)(data + nblocks * 4); + const uint8_t *tail = (const uint8_t *)(data + nblocks * 4); /* body */ for (i = -nblocks; i; i++) { diff --git a/src/core/surface/call.c b/src/core/surface/call.c index 26bfa02ad1d..46502fb6b14 100644 --- a/src/core/surface/call.c +++ b/src/core/surface/call.c @@ -198,7 +198,7 @@ struct grpc_call { gpr_refcount internal_refcount; }; -#define CALL_STACK_FROM_CALL(call) ((grpc_call_stack *)((call) + 1)) +#define CALL_STACK_FROM_CALL(call) ((grpc_call_stack *)((call)+1)) #define CALL_FROM_CALL_STACK(call_stack) (((grpc_call *)(call_stack)) - 1) #define CALL_ELEM_FROM_CALL(call, idx) \ grpc_call_stack_element(CALL_STACK_FROM_CALL(call), idx) @@ -801,7 +801,7 @@ static gpr_uint32 decode_status(grpc_mdelem *md) { gpr_uint32 status; void *user_data = grpc_mdelem_get_user_data(md, destroy_status); if (user_data) { - status = ((gpr_uint32)(gpr_intptr)user_data) - STATUS_OFFSET; + status = ((gpr_uint32)(gpr_intptr) user_data) - STATUS_OFFSET; } else { if (!gpr_parse_bytes_to_uint32(grpc_mdstr_as_c_string(md->value), GPR_SLICE_LENGTH(md->value->slice), diff --git a/src/core/surface/channel.c b/src/core/surface/channel.c index a1bcea58ddb..8ef13675fe3 100644 --- a/src/core/surface/channel.c +++ b/src/core/surface/channel.c @@ -51,7 +51,7 @@ struct grpc_channel { grpc_mdstr *authority_string; }; -#define CHANNEL_STACK_FROM_CHANNEL(c) ((grpc_channel_stack *)((c) + 1)) +#define CHANNEL_STACK_FROM_CHANNEL(c) ((grpc_channel_stack *)((c)+1)) grpc_channel *grpc_channel_create_from_filters( const grpc_channel_filter **filters, size_t num_filters, diff --git a/src/core/surface/client.c b/src/core/surface/client.c index 524b0718a94..74c79bdf9b1 100644 --- a/src/core/surface/client.c +++ b/src/core/surface/client.c @@ -109,9 +109,9 @@ static void init_channel_elem(grpc_channel_element *elem, static void destroy_channel_elem(grpc_channel_element *elem) {} const grpc_channel_filter grpc_client_surface_filter = { - call_op, channel_op, + call_op, channel_op, - sizeof(call_data), init_call_elem, destroy_call_elem, + sizeof(call_data), init_call_elem, destroy_call_elem, sizeof(channel_data), init_channel_elem, destroy_channel_elem, diff --git a/src/core/surface/lame_client.c b/src/core/surface/lame_client.c index 5fa3e42362c..a5244dbe61f 100644 --- a/src/core/surface/lame_client.c +++ b/src/core/surface/lame_client.c @@ -111,9 +111,9 @@ static void destroy_channel_elem(grpc_channel_element *elem) { } static const grpc_channel_filter lame_filter = { - call_op, channel_op, + call_op, channel_op, - sizeof(call_data), init_call_elem, destroy_call_elem, + sizeof(call_data), init_call_elem, destroy_call_elem, sizeof(channel_data), init_channel_elem, destroy_channel_elem, diff --git a/src/core/surface/server.c b/src/core/surface/server.c index 846a00c94f4..cbdd3bfa308 100644 --- a/src/core/surface/server.c +++ b/src/core/surface/server.c @@ -411,9 +411,9 @@ static void destroy_channel_elem(grpc_channel_element *elem) { } static const grpc_channel_filter server_surface_filter = { - call_op, channel_op, + call_op, channel_op, - sizeof(call_data), init_call_elem, destroy_call_elem, + sizeof(call_data), init_call_elem, destroy_call_elem, sizeof(channel_data), init_channel_elem, destroy_channel_elem, diff --git a/src/core/transport/chttp2/hpack_table.c b/src/core/transport/chttp2/hpack_table.c index ae8bfa8009b..8f2ebecfeb1 100644 --- a/src/core/transport/chttp2/hpack_table.c +++ b/src/core/transport/chttp2/hpack_table.c @@ -43,68 +43,68 @@ static struct { const char *key; const char *value; } static_table[] = { - /* 0: */ {NULL, NULL}, - /* 1: */ {":authority", ""}, - /* 2: */ {":method", "GET"}, - /* 3: */ {":method", "POST"}, - /* 4: */ {":path", "/"}, - /* 5: */ {":path", "/index.html"}, - /* 6: */ {":scheme", "http"}, - /* 7: */ {":scheme", "https"}, - /* 8: */ {":status", "200"}, - /* 9: */ {":status", "204"}, - /* 10: */ {":status", "206"}, - /* 11: */ {":status", "304"}, - /* 12: */ {":status", "400"}, - /* 13: */ {":status", "404"}, - /* 14: */ {":status", "500"}, - /* 15: */ {"accept-charset", ""}, - /* 16: */ {"accept-encoding", "gzip, deflate"}, - /* 17: */ {"accept-language", ""}, - /* 18: */ {"accept-ranges", ""}, - /* 19: */ {"accept", ""}, - /* 20: */ {"access-control-allow-origin", ""}, - /* 21: */ {"age", ""}, - /* 22: */ {"allow", ""}, - /* 23: */ {"authorization", ""}, - /* 24: */ {"cache-control", ""}, - /* 25: */ {"content-disposition", ""}, - /* 26: */ {"content-encoding", ""}, - /* 27: */ {"content-language", ""}, - /* 28: */ {"content-length", ""}, - /* 29: */ {"content-location", ""}, - /* 30: */ {"content-range", ""}, - /* 31: */ {"content-type", ""}, - /* 32: */ {"cookie", ""}, - /* 33: */ {"date", ""}, - /* 34: */ {"etag", ""}, - /* 35: */ {"expect", ""}, - /* 36: */ {"expires", ""}, - /* 37: */ {"from", ""}, - /* 38: */ {"host", ""}, - /* 39: */ {"if-match", ""}, - /* 40: */ {"if-modified-since", ""}, - /* 41: */ {"if-none-match", ""}, - /* 42: */ {"if-range", ""}, - /* 43: */ {"if-unmodified-since", ""}, - /* 44: */ {"last-modified", ""}, - /* 45: */ {"link", ""}, - /* 46: */ {"location", ""}, - /* 47: */ {"max-forwards", ""}, - /* 48: */ {"proxy-authenticate", ""}, - /* 49: */ {"proxy-authorization", ""}, - /* 50: */ {"range", ""}, - /* 51: */ {"referer", ""}, - /* 52: */ {"refresh", ""}, - /* 53: */ {"retry-after", ""}, - /* 54: */ {"server", ""}, - /* 55: */ {"set-cookie", ""}, - /* 56: */ {"strict-transport-security", ""}, - /* 57: */ {"transfer-encoding", ""}, - /* 58: */ {"user-agent", ""}, - /* 59: */ {"vary", ""}, - /* 60: */ {"via", ""}, - /* 61: */ {"www-authenticate", ""}, + /* 0: */ {NULL, NULL}, + /* 1: */ {":authority", ""}, + /* 2: */ {":method", "GET"}, + /* 3: */ {":method", "POST"}, + /* 4: */ {":path", "/"}, + /* 5: */ {":path", "/index.html"}, + /* 6: */ {":scheme", "http"}, + /* 7: */ {":scheme", "https"}, + /* 8: */ {":status", "200"}, + /* 9: */ {":status", "204"}, + /* 10: */ {":status", "206"}, + /* 11: */ {":status", "304"}, + /* 12: */ {":status", "400"}, + /* 13: */ {":status", "404"}, + /* 14: */ {":status", "500"}, + /* 15: */ {"accept-charset", ""}, + /* 16: */ {"accept-encoding", "gzip, deflate"}, + /* 17: */ {"accept-language", ""}, + /* 18: */ {"accept-ranges", ""}, + /* 19: */ {"accept", ""}, + /* 20: */ {"access-control-allow-origin", ""}, + /* 21: */ {"age", ""}, + /* 22: */ {"allow", ""}, + /* 23: */ {"authorization", ""}, + /* 24: */ {"cache-control", ""}, + /* 25: */ {"content-disposition", ""}, + /* 26: */ {"content-encoding", ""}, + /* 27: */ {"content-language", ""}, + /* 28: */ {"content-length", ""}, + /* 29: */ {"content-location", ""}, + /* 30: */ {"content-range", ""}, + /* 31: */ {"content-type", ""}, + /* 32: */ {"cookie", ""}, + /* 33: */ {"date", ""}, + /* 34: */ {"etag", ""}, + /* 35: */ {"expect", ""}, + /* 36: */ {"expires", ""}, + /* 37: */ {"from", ""}, + /* 38: */ {"host", ""}, + /* 39: */ {"if-match", ""}, + /* 40: */ {"if-modified-since", ""}, + /* 41: */ {"if-none-match", ""}, + /* 42: */ {"if-range", ""}, + /* 43: */ {"if-unmodified-since", ""}, + /* 44: */ {"last-modified", ""}, + /* 45: */ {"link", ""}, + /* 46: */ {"location", ""}, + /* 47: */ {"max-forwards", ""}, + /* 48: */ {"proxy-authenticate", ""}, + /* 49: */ {"proxy-authorization", ""}, + /* 50: */ {"range", ""}, + /* 51: */ {"referer", ""}, + /* 52: */ {"refresh", ""}, + /* 53: */ {"retry-after", ""}, + /* 54: */ {"server", ""}, + /* 55: */ {"set-cookie", ""}, + /* 56: */ {"strict-transport-security", ""}, + /* 57: */ {"transfer-encoding", ""}, + /* 58: */ {"user-agent", ""}, + /* 59: */ {"vary", ""}, + /* 60: */ {"via", ""}, + /* 61: */ {"www-authenticate", ""}, }; void grpc_chttp2_hptbl_init(grpc_chttp2_hptbl *tbl, grpc_mdctx *mdctx) { diff --git a/src/core/transport/chttp2/varint.h b/src/core/transport/chttp2/varint.h index 940df00a993..55f92af3d6e 100644 --- a/src/core/transport/chttp2/varint.h +++ b/src/core/transport/chttp2/varint.h @@ -58,16 +58,16 @@ void grpc_chttp2_hpack_write_varint_tail(gpr_uint32 tail_value, : grpc_chttp2_hpack_varint_length( \ (n)-GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits))) -#define GRPC_CHTTP2_WRITE_VARINT(n, prefix_bits, prefix_or, target, length) \ - do { \ - gpr_uint8* tgt = target; \ - if ((length) == 1) { \ - (tgt)[0] = (prefix_or) | (n); \ - } else { \ - (tgt)[0] = (prefix_or) | GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits); \ - grpc_chttp2_hpack_write_varint_tail( \ - (n)-GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits), (tgt) + 1, (length)-1); \ - } \ +#define GRPC_CHTTP2_WRITE_VARINT(n, prefix_bits, prefix_or, target, length) \ + do { \ + gpr_uint8* tgt = target; \ + if ((length) == 1) { \ + (tgt)[0] = (prefix_or) | (n); \ + } else { \ + (tgt)[0] = (prefix_or) | GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits); \ + grpc_chttp2_hpack_write_varint_tail( \ + (n)-GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits), (tgt)+1, (length)-1); \ + } \ } while (0) #endif /* __GRPC_INTERNAL_TRANSPORT_CHTTP2_VARINT_H__ */ diff --git a/src/core/transport/chttp2_transport.c b/src/core/transport/chttp2_transport.c index 1b90d4715b3..6078e1b65b9 100644 --- a/src/core/transport/chttp2_transport.c +++ b/src/core/transport/chttp2_transport.c @@ -525,7 +525,7 @@ static int init_stream(grpc_transport *gt, grpc_stream *gs, lock(t); s->id = 0; } else { - s->id = (gpr_uint32)(gpr_uintptr)server_data; + s->id = (gpr_uint32)(gpr_uintptr) server_data; t->incoming_stream = s; grpc_chttp2_stream_map_add(&t->stream_map, s->id, s); } @@ -1238,7 +1238,7 @@ static int init_header_frame_parser(transport *t, int is_continuation) { t->incoming_stream = NULL; /* if stream is accepted, we set incoming_stream in init_stream */ t->cb->accept_stream(t->cb_user_data, &t->base, - (void *)(gpr_uintptr)t->incoming_stream_id); + (void *)(gpr_uintptr) t->incoming_stream_id); s = t->incoming_stream; if (!s) { gpr_log(GPR_ERROR, "stream not accepted"); @@ -1503,8 +1503,8 @@ static int process_read(transport *t, gpr_slice slice) { "Connect string mismatch: expected '%c' (%d) got '%c' (%d) " "at byte %d", CLIENT_CONNECT_STRING[t->deframe_state], - (int)(gpr_uint8)CLIENT_CONNECT_STRING[t->deframe_state], *cur, - (int)*cur, t->deframe_state); + (int)(gpr_uint8) CLIENT_CONNECT_STRING[t->deframe_state], + *cur, (int)*cur, t->deframe_state); return 0; } ++cur; @@ -1737,9 +1737,9 @@ static void add_to_pollset(grpc_transport *gt, grpc_pollset *pollset) { */ static const grpc_transport_vtable vtable = { - sizeof(stream), init_stream, send_batch, set_allow_window_updates, - add_to_pollset, destroy_stream, abort_stream, goaway, close_transport, - send_ping, destroy_transport}; + sizeof(stream), init_stream, send_batch, set_allow_window_updates, + add_to_pollset, destroy_stream, abort_stream, goaway, + close_transport, send_ping, destroy_transport}; void grpc_create_chttp2_transport(grpc_transport_setup_callback setup, void *arg, diff --git a/src/core/tsi/fake_transport_security.c b/src/core/tsi/fake_transport_security.c index 446329215fa..756b2173ecf 100644 --- a/src/core/tsi/fake_transport_security.c +++ b/src/core/tsi/fake_transport_security.c @@ -120,7 +120,7 @@ static void store32_little_endian(gpr_uint32 value, unsigned char* buf) { buf[3] = (unsigned char)(value >> 24) & 0xFF; buf[2] = (unsigned char)(value >> 16) & 0xFF; buf[1] = (unsigned char)(value >> 8) & 0xFF; - buf[0] = (unsigned char)(value)&0xFF; + buf[0] = (unsigned char)(value) & 0xFF; } static void tsi_fake_frame_reset(tsi_fake_frame* frame, int needs_draining) { @@ -230,10 +230,11 @@ static void tsi_fake_frame_destruct(tsi_fake_frame* frame) { /* --- tsi_frame_protector methods implementation. ---*/ -static tsi_result fake_protector_protect( - tsi_frame_protector* self, const unsigned char* unprotected_bytes, - size_t* unprotected_bytes_size, unsigned char* protected_output_frames, - size_t* protected_output_frames_size) { +static tsi_result fake_protector_protect(tsi_frame_protector* self, + const unsigned char* unprotected_bytes, + size_t* unprotected_bytes_size, + unsigned char* protected_output_frames, + size_t* protected_output_frames_size) { tsi_result result = TSI_OK; tsi_fake_frame_protector* impl = (tsi_fake_frame_protector*)self; unsigned char frame_header[TSI_FAKE_FRAME_HEADER_SIZE]; @@ -480,8 +481,10 @@ static void fake_handshaker_destroy(tsi_handshaker* self) { static const tsi_handshaker_vtable handshaker_vtable = { fake_handshaker_get_bytes_to_send_to_peer, - fake_handshaker_process_bytes_from_peer, fake_handshaker_get_result, - fake_handshaker_extract_peer, fake_handshaker_create_frame_protector, + fake_handshaker_process_bytes_from_peer, + fake_handshaker_get_result, + fake_handshaker_extract_peer, + fake_handshaker_create_frame_protector, fake_handshaker_destroy, }; diff --git a/src/core/tsi/ssl_transport_security.c b/src/core/tsi/ssl_transport_security.c index 02af080a310..1159254a8c7 100644 --- a/src/core/tsi/ssl_transport_security.c +++ b/src/core/tsi/ssl_transport_security.c @@ -573,10 +573,11 @@ static tsi_result build_alpn_protocol_name_list( /* --- tsi_frame_protector methods implementation. ---*/ -static tsi_result ssl_protector_protect( - tsi_frame_protector* self, const unsigned char* unprotected_bytes, - size_t* unprotected_bytes_size, unsigned char* protected_output_frames, - size_t* protected_output_frames_size) { +static tsi_result ssl_protector_protect(tsi_frame_protector* self, + const unsigned char* unprotected_bytes, + size_t* unprotected_bytes_size, + unsigned char* protected_output_frames, + size_t* protected_output_frames_size) { tsi_ssl_frame_protector* impl = (tsi_ssl_frame_protector*)self; int read_from_ssl; size_t available; @@ -707,8 +708,9 @@ static const tsi_frame_protector_vtable frame_protector_vtable = { /* --- tsi_handshaker methods implementation. ---*/ -static tsi_result ssl_handshaker_get_bytes_to_send_to_peer( - tsi_handshaker* self, unsigned char* bytes, size_t* bytes_size) { +static tsi_result ssl_handshaker_get_bytes_to_send_to_peer(tsi_handshaker* self, + unsigned char* bytes, + size_t* bytes_size) { tsi_ssl_handshaker* impl = (tsi_ssl_handshaker*)self; int bytes_read_from_ssl = 0; if (bytes == NULL || bytes_size == NULL || *bytes_size == 0 || @@ -871,8 +873,10 @@ static void ssl_handshaker_destroy(tsi_handshaker* self) { static const tsi_handshaker_vtable handshaker_vtable = { ssl_handshaker_get_bytes_to_send_to_peer, - ssl_handshaker_process_bytes_from_peer, ssl_handshaker_get_result, - ssl_handshaker_extract_peer, ssl_handshaker_create_frame_protector, + ssl_handshaker_process_bytes_from_peer, + ssl_handshaker_get_result, + ssl_handshaker_extract_peer, + ssl_handshaker_create_frame_protector, ssl_handshaker_destroy, }; @@ -1157,8 +1161,7 @@ tsi_result tsi_create_ssl_client_handshaker_factory( tsi_result tsi_create_ssl_server_handshaker_factory( const unsigned char** pem_private_keys, - const size_t* pem_private_keys_sizes, - const unsigned char** pem_cert_chains, + const size_t* pem_private_keys_sizes, const unsigned char** pem_cert_chains, const size_t* pem_cert_chains_sizes, size_t key_cert_pair_count, const unsigned char* pem_client_root_certs, size_t pem_client_root_certs_size, const char* cipher_list, diff --git a/src/core/tsi/ssl_transport_security.h b/src/core/tsi/ssl_transport_security.h index 9c839b9d3a7..3a33deacac5 100644 --- a/src/core/tsi/ssl_transport_security.h +++ b/src/core/tsi/ssl_transport_security.h @@ -132,8 +132,7 @@ tsi_result tsi_create_ssl_client_handshaker_factory( where a parameter is invalid. */ tsi_result tsi_create_ssl_server_handshaker_factory( const unsigned char** pem_private_keys, - const size_t* pem_private_keys_sizes, - const unsigned char** pem_cert_chains, + const size_t* pem_private_keys_sizes, const unsigned char** pem_cert_chains, const size_t* pem_cert_chains_sizes, size_t key_cert_pair_count, const unsigned char* pem_client_root_certs, size_t pem_client_root_certs_size, const char* cipher_suites, diff --git a/src/cpp/client/channel.cc b/src/cpp/client/channel.cc index ddda8c22d6d..a8919a10d9d 100644 --- a/src/cpp/client/channel.cc +++ b/src/cpp/client/channel.cc @@ -53,7 +53,7 @@ namespace grpc { -Channel::Channel(const grpc::string& target, const ChannelArguments& args) +Channel::Channel(const grpc::string &target, const ChannelArguments &args) : target_(target) { grpc_channel_args channel_args; args.SetChannelArgs(&channel_args); @@ -61,15 +61,15 @@ Channel::Channel(const grpc::string& target, const ChannelArguments& args) target_.c_str(), channel_args.num_args > 0 ? &channel_args : nullptr); } -Channel::Channel(const grpc::string& target, - const std::unique_ptr& creds, - const ChannelArguments& args) +Channel::Channel(const grpc::string &target, + const std::unique_ptr &creds, + const ChannelArguments &args) : target_(args.GetSslTargetNameOverride().empty() ? target : args.GetSslTargetNameOverride()) { grpc_channel_args channel_args; args.SetChannelArgs(&channel_args); - grpc_credentials* c_creds = creds ? creds->GetRawCreds() : nullptr; + grpc_credentials *c_creds = creds ? creds->GetRawCreds() : nullptr; c_channel_ = grpc_secure_channel_create( c_creds, target.c_str(), channel_args.num_args > 0 ? &channel_args : nullptr); @@ -79,9 +79,9 @@ Channel::~Channel() { grpc_channel_destroy(c_channel_); } namespace { // Pluck the finished event and set to status when it is not nullptr. -void GetFinalStatus(grpc_completion_queue* cq, void* finished_tag, - Status* status) { - grpc_event* ev = +void GetFinalStatus(grpc_completion_queue *cq, void *finished_tag, + Status *status) { + grpc_event *ev = grpc_completion_queue_pluck(cq, finished_tag, gpr_inf_future); if (status) { StatusCode error_code = static_cast(ev->data.finished.status); @@ -94,23 +94,23 @@ void GetFinalStatus(grpc_completion_queue* cq, void* finished_tag, } // namespace // TODO(yangg) more error handling -Status Channel::StartBlockingRpc(const RpcMethod& method, - ClientContext* context, - const google::protobuf::Message& request, - google::protobuf::Message* result) { +Status Channel::StartBlockingRpc(const RpcMethod &method, + ClientContext *context, + const google::protobuf::Message &request, + google::protobuf::Message *result) { Status status; - grpc_call* call = grpc_channel_create_call( + grpc_call *call = grpc_channel_create_call( c_channel_, method.name(), target_.c_str(), context->RawDeadline()); context->set_call(call); - grpc_event* ev; - void* finished_tag = reinterpret_cast(call); - void* invoke_tag = reinterpret_cast(call) + 1; - void* metadata_read_tag = reinterpret_cast(call) + 2; - void* write_tag = reinterpret_cast(call) + 3; - void* halfclose_tag = reinterpret_cast(call) + 4; - void* read_tag = reinterpret_cast(call) + 5; + grpc_event *ev; + void *finished_tag = reinterpret_cast(call); + void *invoke_tag = reinterpret_cast(call) + 1; + void *metadata_read_tag = reinterpret_cast(call) + 2; + void *write_tag = reinterpret_cast(call) + 3; + void *halfclose_tag = reinterpret_cast(call) + 4; + void *read_tag = reinterpret_cast(call) + 5; - grpc_completion_queue* cq = grpc_completion_queue_create(); + grpc_completion_queue *cq = grpc_completion_queue_create(); context->set_cq(cq); // add_metadata from context // @@ -126,7 +126,7 @@ Status Channel::StartBlockingRpc(const RpcMethod& method, return status; } // write request - grpc_byte_buffer* write_buffer = nullptr; + grpc_byte_buffer *write_buffer = nullptr; success = SerializeProto(request, &write_buffer); if (!success) { grpc_call_cancel(call); @@ -172,14 +172,14 @@ Status Channel::StartBlockingRpc(const RpcMethod& method, return status; } -StreamContextInterface* Channel::CreateStream( - const RpcMethod& method, ClientContext* context, - const google::protobuf::Message* request, - google::protobuf::Message* result) { - grpc_call* call = grpc_channel_create_call( +StreamContextInterface *Channel::CreateStream( + const RpcMethod &method, ClientContext *context, + const google::protobuf::Message *request, + google::protobuf::Message *result) { + grpc_call *call = grpc_channel_create_call( c_channel_, method.name(), target_.c_str(), context->RawDeadline()); context->set_call(call); - grpc_completion_queue* cq = grpc_completion_queue_create(); + grpc_completion_queue *cq = grpc_completion_queue_create(); context->set_cq(cq); return new StreamContext(method, context, request, result); } diff --git a/src/cpp/client/channel.h b/src/cpp/client/channel.h index 8de1180ac29..67d18bf4c89 100644 --- a/src/cpp/client/channel.h +++ b/src/cpp/client/channel.h @@ -48,24 +48,24 @@ class StreamContextInterface; class Channel : public ChannelInterface { public: - Channel(const grpc::string& target, const ChannelArguments& args); - Channel(const grpc::string& target, const std::unique_ptr& creds, - const ChannelArguments& args); + Channel(const grpc::string &target, const ChannelArguments &args); + Channel(const grpc::string &target, const std::unique_ptr &creds, + const ChannelArguments &args); ~Channel() override; - Status StartBlockingRpc(const RpcMethod& method, ClientContext* context, - const google::protobuf::Message& request, - google::protobuf::Message* result) override; + Status StartBlockingRpc(const RpcMethod &method, ClientContext *context, + const google::protobuf::Message &request, + google::protobuf::Message *result) override; - StreamContextInterface* CreateStream( - const RpcMethod& method, ClientContext* context, - const google::protobuf::Message* request, - google::protobuf::Message* result) override; + StreamContextInterface *CreateStream( + const RpcMethod &method, ClientContext *context, + const google::protobuf::Message *request, + google::protobuf::Message *result) override; private: const grpc::string target_; - grpc_channel* c_channel_; // owned + grpc_channel *c_channel_; // owned }; } // namespace grpc diff --git a/src/cpp/client/channel_arguments.cc b/src/cpp/client/channel_arguments.cc index eba9c1e76a7..70713f015f1 100644 --- a/src/cpp/client/channel_arguments.cc +++ b/src/cpp/client/channel_arguments.cc @@ -37,7 +37,7 @@ namespace grpc { -void ChannelArguments::SetSslTargetNameOverride(const grpc::string& name) { +void ChannelArguments::SetSslTargetNameOverride(const grpc::string &name) { SetString(GRPC_SSL_TARGET_NAME_OVERRIDE_ARG, name); } @@ -50,32 +50,32 @@ grpc::string ChannelArguments::GetSslTargetNameOverride() const { return ""; } -void ChannelArguments::SetInt(const grpc::string& key, int value) { +void ChannelArguments::SetInt(const grpc::string &key, int value) { grpc_arg arg; arg.type = GRPC_ARG_INTEGER; strings_.push_back(key); - arg.key = const_cast(strings_.back().c_str()); + arg.key = const_cast(strings_.back().c_str()); arg.value.integer = value; args_.push_back(arg); } -void ChannelArguments::SetString(const grpc::string& key, - const grpc::string& value) { +void ChannelArguments::SetString(const grpc::string &key, + const grpc::string &value) { grpc_arg arg; arg.type = GRPC_ARG_STRING; strings_.push_back(key); - arg.key = const_cast(strings_.back().c_str()); + arg.key = const_cast(strings_.back().c_str()); strings_.push_back(value); - arg.value.string = const_cast(strings_.back().c_str()); + arg.value.string = const_cast(strings_.back().c_str()); args_.push_back(arg); } -void ChannelArguments::SetChannelArgs(grpc_channel_args* channel_args) const { +void ChannelArguments::SetChannelArgs(grpc_channel_args *channel_args) const { channel_args->num_args = args_.size(); if (channel_args->num_args > 0) { - channel_args->args = const_cast(&args_[0]); + channel_args->args = const_cast(&args_[0]); } } diff --git a/src/cpp/client/client_context.cc b/src/cpp/client/client_context.cc index 505b7d89b46..7bda2d07c31 100644 --- a/src/cpp/client/client_context.cc +++ b/src/cpp/client/client_context.cc @@ -50,7 +50,7 @@ ClientContext::~ClientContext() { if (cq_) { grpc_completion_queue_shutdown(cq_); // Drain cq_. - grpc_event* ev; + grpc_event *ev; grpc_completion_type t; do { ev = grpc_completion_queue_next(cq_, gpr_inf_future); @@ -62,7 +62,7 @@ ClientContext::~ClientContext() { } void ClientContext::set_absolute_deadline( - const system_clock::time_point& deadline) { + const system_clock::time_point &deadline) { Timepoint2Timespec(deadline, &absolute_deadline_); } @@ -70,8 +70,8 @@ system_clock::time_point ClientContext::absolute_deadline() { return Timespec2Timepoint(absolute_deadline_); } -void ClientContext::AddMetadata(const grpc::string& meta_key, - const grpc::string& meta_value) { +void ClientContext::AddMetadata(const grpc::string &meta_key, + const grpc::string &meta_value) { return; } diff --git a/src/cpp/client/create_channel.cc b/src/cpp/client/create_channel.cc index 1a88d7f2f19..9cc5cff2148 100644 --- a/src/cpp/client/create_channel.cc +++ b/src/cpp/client/create_channel.cc @@ -40,14 +40,14 @@ namespace grpc { class ChannelArguments; -std::shared_ptr CreateChannel(const grpc::string& target, - const ChannelArguments& args) { +std::shared_ptr CreateChannel(const grpc::string &target, + const ChannelArguments &args) { return std::shared_ptr(new Channel(target, args)); } std::shared_ptr CreateChannel( - const grpc::string& target, const std::unique_ptr& creds, - const ChannelArguments& args) { + const grpc::string &target, const std::unique_ptr &creds, + const ChannelArguments &args) { return std::shared_ptr(new Channel(target, creds, args)); } } // namespace grpc diff --git a/src/cpp/client/credentials.cc b/src/cpp/client/credentials.cc index d81cf9f4d07..0955fa28aed 100644 --- a/src/cpp/client/credentials.cc +++ b/src/cpp/client/credentials.cc @@ -40,37 +40,37 @@ namespace grpc { -Credentials::Credentials(grpc_credentials* c_creds) : creds_(c_creds) {} +Credentials::Credentials(grpc_credentials *c_creds) : creds_(c_creds) {} Credentials::~Credentials() { grpc_credentials_release(creds_); } -grpc_credentials* Credentials::GetRawCreds() { return creds_; } +grpc_credentials *Credentials::GetRawCreds() { return creds_; } std::unique_ptr CredentialsFactory::DefaultCredentials() { - grpc_credentials* c_creds = grpc_default_credentials_create(); + grpc_credentials *c_creds = grpc_default_credentials_create(); std::unique_ptr cpp_creds(new Credentials(c_creds)); return cpp_creds; } // Builds SSL Credentials given SSL specific options std::unique_ptr CredentialsFactory::SslCredentials( - const SslCredentialsOptions& options) { - const unsigned char* pem_root_certs = + const SslCredentialsOptions &options) { + const unsigned char *pem_root_certs = options.pem_root_certs.empty() ? nullptr - : reinterpret_cast( + : reinterpret_cast( options.pem_root_certs.c_str()); if (pem_root_certs == nullptr) { return std::unique_ptr(); } - const unsigned char* pem_private_key = + const unsigned char *pem_private_key = options.pem_private_key.empty() ? nullptr - : reinterpret_cast( + : reinterpret_cast( options.pem_private_key.c_str()); - const unsigned char* pem_cert_chain = + const unsigned char *pem_cert_chain = options.pem_cert_chain.empty() ? nullptr - : reinterpret_cast( + : reinterpret_cast( options.pem_cert_chain.c_str()); - grpc_credentials* c_creds = grpc_ssl_credentials_create( + grpc_credentials *c_creds = grpc_ssl_credentials_create( pem_root_certs, options.pem_root_certs.size(), pem_private_key, options.pem_private_key.size(), pem_cert_chain, options.pem_cert_chain.size()); @@ -81,7 +81,7 @@ std::unique_ptr CredentialsFactory::SslCredentials( // Builds credentials for use when running in GCE std::unique_ptr CredentialsFactory::ComputeEngineCredentials() { - grpc_credentials* c_creds = grpc_compute_engine_credentials_create(); + grpc_credentials *c_creds = grpc_compute_engine_credentials_create(); std::unique_ptr cpp_creds( c_creds == nullptr ? nullptr : new Credentials(c_creds)); return cpp_creds; @@ -89,11 +89,11 @@ std::unique_ptr CredentialsFactory::ComputeEngineCredentials() { // Builds service account credentials. std::unique_ptr CredentialsFactory::ServiceAccountCredentials( - const grpc::string& json_key, const grpc::string& scope, + const grpc::string &json_key, const grpc::string &scope, std::chrono::seconds token_lifetime) { gpr_timespec lifetime = gpr_time_from_seconds( token_lifetime.count() > 0 ? token_lifetime.count() : 0); - grpc_credentials* c_creds = grpc_service_account_credentials_create( + grpc_credentials *c_creds = grpc_service_account_credentials_create( json_key.c_str(), scope.c_str(), lifetime); std::unique_ptr cpp_creds( c_creds == nullptr ? nullptr : new Credentials(c_creds)); @@ -102,9 +102,9 @@ std::unique_ptr CredentialsFactory::ServiceAccountCredentials( // Builds IAM credentials. std::unique_ptr CredentialsFactory::IAMCredentials( - const grpc::string& authorization_token, - const grpc::string& authority_selector) { - grpc_credentials* c_creds = grpc_iam_credentials_create( + const grpc::string &authorization_token, + const grpc::string &authority_selector) { + grpc_credentials *c_creds = grpc_iam_credentials_create( authorization_token.c_str(), authority_selector.c_str()); std::unique_ptr cpp_creds( c_creds == nullptr ? nullptr : new Credentials(c_creds)); @@ -113,13 +113,13 @@ std::unique_ptr CredentialsFactory::IAMCredentials( // Combines two credentials objects into a composite credentials. std::unique_ptr CredentialsFactory::ComposeCredentials( - const std::unique_ptr& creds1, - const std::unique_ptr& creds2) { + const std::unique_ptr &creds1, + const std::unique_ptr &creds2) { // Note that we are not saving unique_ptrs to the two credentials // passed in here. This is OK because the underlying C objects (i.e., // creds1 and creds2) into grpc_composite_credentials_create will see their // refcounts incremented. - grpc_credentials* c_creds = grpc_composite_credentials_create( + grpc_credentials *c_creds = grpc_composite_credentials_create( creds1->GetRawCreds(), creds2->GetRawCreds()); std::unique_ptr cpp_creds( c_creds == nullptr ? nullptr : new Credentials(c_creds)); diff --git a/src/cpp/proto/proto_utils.cc b/src/cpp/proto/proto_utils.cc index 3b94dc3c07f..85f859b9eb5 100644 --- a/src/cpp/proto/proto_utils.cc +++ b/src/cpp/proto/proto_utils.cc @@ -40,8 +40,8 @@ namespace grpc { -bool SerializeProto(const google::protobuf::Message& msg, - grpc_byte_buffer** bp) { +bool SerializeProto(const google::protobuf::Message &msg, + grpc_byte_buffer **bp) { grpc::string msg_str; bool success = msg.SerializeToString(&msg_str); if (success) { @@ -53,13 +53,13 @@ bool SerializeProto(const google::protobuf::Message& msg, return success; } -bool DeserializeProto(grpc_byte_buffer* buffer, - google::protobuf::Message* msg) { +bool DeserializeProto(grpc_byte_buffer *buffer, + google::protobuf::Message *msg) { grpc::string msg_string; - grpc_byte_buffer_reader* reader = grpc_byte_buffer_reader_create(buffer); + grpc_byte_buffer_reader *reader = grpc_byte_buffer_reader_create(buffer); gpr_slice slice; while (grpc_byte_buffer_reader_next(reader, &slice)) { - const char* data = reinterpret_cast( + const char *data = reinterpret_cast( slice.refcount ? slice.data.refcounted.bytes : slice.data.inlined.bytes); msg_string.append(data, slice.refcount ? slice.data.refcounted.length diff --git a/src/cpp/proto/proto_utils.h b/src/cpp/proto/proto_utils.h index ea472f9c518..a611a227fa7 100644 --- a/src/cpp/proto/proto_utils.h +++ b/src/cpp/proto/proto_utils.h @@ -46,11 +46,11 @@ namespace grpc { // Serialize the msg into a buffer created inside the function. The caller // should destroy the returned buffer when done with it. If serialization fails, // false is returned and buffer is left unchanged. -bool SerializeProto(const google::protobuf::Message& msg, - grpc_byte_buffer** buffer); +bool SerializeProto(const google::protobuf::Message &msg, + grpc_byte_buffer **buffer); // The caller keeps ownership of buffer and msg. -bool DeserializeProto(grpc_byte_buffer* buffer, google::protobuf::Message* msg); +bool DeserializeProto(grpc_byte_buffer *buffer, google::protobuf::Message *msg); } // namespace grpc diff --git a/src/cpp/server/async_server.cc b/src/cpp/server/async_server.cc index aae2c820504..d576201b11f 100644 --- a/src/cpp/server/async_server.cc +++ b/src/cpp/server/async_server.cc @@ -39,7 +39,7 @@ namespace grpc { -AsyncServer::AsyncServer(CompletionQueue* cc) +AsyncServer::AsyncServer(CompletionQueue *cc) : started_(false), shutdown_(false) { server_ = grpc_server_create(cc->cq(), nullptr); } @@ -53,7 +53,7 @@ AsyncServer::~AsyncServer() { grpc_server_destroy(server_); } -void AsyncServer::AddPort(const grpc::string& addr) { +void AsyncServer::AddPort(const grpc::string &addr) { GPR_ASSERT(!started_); int success = grpc_server_add_http2_port(server_, addr.c_str()); GPR_ASSERT(success); diff --git a/src/cpp/server/async_server_context.cc b/src/cpp/server/async_server_context.cc index 298936dec9c..92958111c0c 100644 --- a/src/cpp/server/async_server_context.cc +++ b/src/cpp/server/async_server_context.cc @@ -42,7 +42,7 @@ namespace grpc { AsyncServerContext::AsyncServerContext( - grpc_call* call, const grpc::string& method, const grpc::string& host, + grpc_call *call, const grpc::string &method, const grpc::string &host, system_clock::time_point absolute_deadline) : method_(method), host_(host), @@ -52,21 +52,21 @@ AsyncServerContext::AsyncServerContext( AsyncServerContext::~AsyncServerContext() { grpc_call_destroy(call_); } -void AsyncServerContext::Accept(grpc_completion_queue* cq) { +void AsyncServerContext::Accept(grpc_completion_queue *cq) { GPR_ASSERT(grpc_call_server_accept(call_, cq, this) == GRPC_CALL_OK); GPR_ASSERT(grpc_call_server_end_initial_metadata(call_, 0) == GRPC_CALL_OK); } -bool AsyncServerContext::StartRead(google::protobuf::Message* request) { +bool AsyncServerContext::StartRead(google::protobuf::Message *request) { GPR_ASSERT(request); request_ = request; grpc_call_error err = grpc_call_start_read(call_, this); return err == GRPC_CALL_OK; } -bool AsyncServerContext::StartWrite(const google::protobuf::Message& response, +bool AsyncServerContext::StartWrite(const google::protobuf::Message &response, int flags) { - grpc_byte_buffer* buffer = nullptr; + grpc_byte_buffer *buffer = nullptr; if (!SerializeProto(response, &buffer)) { return false; } @@ -75,16 +75,16 @@ bool AsyncServerContext::StartWrite(const google::protobuf::Message& response, return err == GRPC_CALL_OK; } -bool AsyncServerContext::StartWriteStatus(const Status& status) { +bool AsyncServerContext::StartWriteStatus(const Status &status) { grpc_call_error err = grpc_call_start_write_status( call_, static_cast(status.code()), status.details().empty() ? nullptr - : const_cast(status.details().c_str()), + : const_cast(status.details().c_str()), this); return err == GRPC_CALL_OK; } -bool AsyncServerContext::ParseRead(grpc_byte_buffer* read_buffer) { +bool AsyncServerContext::ParseRead(grpc_byte_buffer *read_buffer) { GPR_ASSERT(request_); bool success = DeserializeProto(read_buffer, request_); request_ = nullptr; diff --git a/src/cpp/server/completion_queue.cc b/src/cpp/server/completion_queue.cc index 56d165c9a68..102a81bf0eb 100644 --- a/src/cpp/server/completion_queue.cc +++ b/src/cpp/server/completion_queue.cc @@ -48,8 +48,8 @@ CompletionQueue::~CompletionQueue() { grpc_completion_queue_destroy(cq_); } void CompletionQueue::Shutdown() { grpc_completion_queue_shutdown(cq_); } -CompletionQueue::CompletionType CompletionQueue::Next(void** tag) { - grpc_event* ev; +CompletionQueue::CompletionType CompletionQueue::Next(void **tag) { + grpc_event *ev; CompletionType return_type; bool success; @@ -65,8 +65,8 @@ CompletionQueue::CompletionType CompletionQueue::Next(void** tag) { case GRPC_READ: *tag = ev->tag; if (ev->data.read) { - success = - static_cast(ev->tag)->ParseRead(ev->data.read); + success = static_cast(ev->tag) + ->ParseRead(ev->data.read); return_type = success ? SERVER_READ_OK : SERVER_READ_ERROR; } else { return_type = SERVER_READ_ERROR; diff --git a/src/cpp/server/server.cc b/src/cpp/server/server.cc index d85748eea44..193688e743e 100644 --- a/src/cpp/server/server.cc +++ b/src/cpp/server/server.cc @@ -49,7 +49,7 @@ namespace grpc { // TODO(rocking): consider a better default value like num of cores. static const int kNumThreads = 4; -Server::Server(ThreadPoolInterface* thread_pool, ServerCredentials* creds) +Server::Server(ThreadPoolInterface *thread_pool, ServerCredentials *creds) : started_(false), shutdown_(false), num_running_cb_(0), @@ -82,14 +82,14 @@ Server::~Server() { } } -void Server::RegisterService(RpcService* service) { +void Server::RegisterService(RpcService *service) { for (int i = 0; i < service->GetMethodCount(); ++i) { - RpcServiceMethod* method = service->GetMethod(i); + RpcServiceMethod *method = service->GetMethod(i); method_map_.insert(std::make_pair(method->name(), method)); } } -void Server::AddPort(const grpc::string& addr) { +void Server::AddPort(const grpc::string &addr) { GPR_ASSERT(!started_); int success; if (secure_) { @@ -131,7 +131,7 @@ void Server::Shutdown() { // Shutdown the completion queue. cq_.Shutdown(); - void* tag = nullptr; + void *tag = nullptr; CompletionQueue::CompletionType t = cq_.Next(&tag); GPR_ASSERT(t == CompletionQueue::QUEUE_CLOSED); } @@ -147,18 +147,18 @@ void Server::ScheduleCallback() { void Server::RunRpc() { // Wait for one more incoming rpc. - void* tag = nullptr; + void *tag = nullptr; AllowOneRpc(); CompletionQueue::CompletionType t = cq_.Next(&tag); GPR_ASSERT(t == CompletionQueue::SERVER_RPC_NEW); - AsyncServerContext* server_context = static_cast(tag); + AsyncServerContext *server_context = static_cast(tag); // server_context could be nullptr during server shutdown. if (server_context != nullptr) { // Schedule a new callback to handle more rpcs. ScheduleCallback(); - RpcServiceMethod* method = nullptr; + RpcServiceMethod *method = nullptr; auto iter = method_map_.find(server_context->method()); if (iter != method_map_.end()) { method = iter->second; diff --git a/src/cpp/server/server_builder.cc b/src/cpp/server/server_builder.cc index d74d8cb65f2..add22cc3d86 100644 --- a/src/cpp/server/server_builder.cc +++ b/src/cpp/server/server_builder.cc @@ -40,30 +40,30 @@ namespace grpc { ServerBuilder::ServerBuilder() : thread_pool_(nullptr) {} -void ServerBuilder::RegisterService(RpcService* service) { +void ServerBuilder::RegisterService(RpcService *service) { services_.push_back(service); } -void ServerBuilder::AddPort(const grpc::string& addr) { +void ServerBuilder::AddPort(const grpc::string &addr) { ports_.push_back(addr); } void ServerBuilder::SetCredentials( - const std::shared_ptr& creds) { + const std::shared_ptr &creds) { GPR_ASSERT(!creds_); creds_ = creds; } -void ServerBuilder::SetThreadPool(ThreadPoolInterface* thread_pool) { +void ServerBuilder::SetThreadPool(ThreadPoolInterface *thread_pool) { thread_pool_ = thread_pool; } std::unique_ptr ServerBuilder::BuildAndStart() { std::unique_ptr server(new Server(thread_pool_, creds_.get())); - for (auto* service : services_) { + for (auto *service : services_) { server->RegisterService(service); } - for (auto& port : ports_) { + for (auto &port : ports_) { server->AddPort(port); } server->Start(); diff --git a/src/cpp/server/server_credentials.cc b/src/cpp/server/server_credentials.cc index 5d899b1cd94..b82a2d821a3 100644 --- a/src/cpp/server/server_credentials.cc +++ b/src/cpp/server/server_credentials.cc @@ -37,31 +37,31 @@ namespace grpc { -ServerCredentials::ServerCredentials(grpc_server_credentials* c_creds) +ServerCredentials::ServerCredentials(grpc_server_credentials *c_creds) : creds_(c_creds) {} ServerCredentials::~ServerCredentials() { grpc_server_credentials_release(creds_); } -grpc_server_credentials* ServerCredentials::GetRawCreds() { return creds_; } +grpc_server_credentials *ServerCredentials::GetRawCreds() { return creds_; } std::shared_ptr ServerCredentialsFactory::SslCredentials( - const SslServerCredentialsOptions& options) { - const unsigned char* pem_root_certs = + const SslServerCredentialsOptions &options) { + const unsigned char *pem_root_certs = options.pem_root_certs.empty() ? nullptr - : reinterpret_cast( + : reinterpret_cast( options.pem_root_certs.c_str()); - const unsigned char* pem_private_key = + const unsigned char *pem_private_key = options.pem_private_key.empty() ? nullptr - : reinterpret_cast( + : reinterpret_cast( options.pem_private_key.c_str()); - const unsigned char* pem_cert_chain = + const unsigned char *pem_cert_chain = options.pem_cert_chain.empty() ? nullptr - : reinterpret_cast( + : reinterpret_cast( options.pem_cert_chain.c_str()); - grpc_server_credentials* c_creds = grpc_ssl_server_credentials_create( + grpc_server_credentials *c_creds = grpc_ssl_server_credentials_create( pem_root_certs, options.pem_root_certs.size(), pem_private_key, options.pem_private_key.size(), pem_cert_chain, options.pem_cert_chain.size()); diff --git a/src/cpp/server/server_rpc_handler.cc b/src/cpp/server/server_rpc_handler.cc index 42f8b755b66..061ac1c2f39 100644 --- a/src/cpp/server/server_rpc_handler.cc +++ b/src/cpp/server/server_rpc_handler.cc @@ -41,8 +41,8 @@ namespace grpc { -ServerRpcHandler::ServerRpcHandler(AsyncServerContext* async_server_context, - RpcServiceMethod* method) +ServerRpcHandler::ServerRpcHandler(AsyncServerContext *async_server_context, + RpcServiceMethod *method) : async_server_context_(async_server_context), method_(method) {} void ServerRpcHandler::StartRpc() { @@ -71,7 +71,7 @@ void ServerRpcHandler::StartRpc() { GPR_ASSERT(type == CompletionQueue::SERVER_READ_OK); // Run the application's rpc handler - MethodHandler* handler = method_->handler(); + MethodHandler *handler = method_->handler(); Status status = handler->RunHandler(MethodHandler::HandlerParameter( &user_context, request.get(), response.get())); @@ -97,7 +97,7 @@ void ServerRpcHandler::StartRpc() { cq_.cq(), request.get(), response.get()); // Run the application's rpc handler - MethodHandler* handler = method_->handler(); + MethodHandler *handler = method_->handler(); Status status = handler->RunHandler(MethodHandler::HandlerParameter( &user_context, request.get(), response.get(), &stream_context)); if (status.IsOk() && @@ -110,17 +110,17 @@ void ServerRpcHandler::StartRpc() { } CompletionQueue::CompletionType ServerRpcHandler::WaitForNextEvent() { - void* tag = nullptr; + void *tag = nullptr; CompletionQueue::CompletionType type = cq_.Next(&tag); if (type != CompletionQueue::QUEUE_CLOSED && type != CompletionQueue::RPC_END) { - GPR_ASSERT(static_cast(tag) == + GPR_ASSERT(static_cast(tag) == async_server_context_.get()); } return type; } -void ServerRpcHandler::FinishRpc(const Status& status) { +void ServerRpcHandler::FinishRpc(const Status &status) { async_server_context_->StartWriteStatus(status); CompletionQueue::CompletionType type; diff --git a/src/cpp/server/server_rpc_handler.h b/src/cpp/server/server_rpc_handler.h index 249576d504a..a43e07dc5f9 100644 --- a/src/cpp/server/server_rpc_handler.h +++ b/src/cpp/server/server_rpc_handler.h @@ -47,17 +47,17 @@ class RpcServiceMethod; class ServerRpcHandler { public: // Takes ownership of async_server_context. - ServerRpcHandler(AsyncServerContext* async_server_context, - RpcServiceMethod* method); + ServerRpcHandler(AsyncServerContext *async_server_context, + RpcServiceMethod *method); void StartRpc(); private: CompletionQueue::CompletionType WaitForNextEvent(); - void FinishRpc(const Status& status); + void FinishRpc(const Status &status); std::unique_ptr async_server_context_; - RpcServiceMethod* method_; + RpcServiceMethod *method_; CompletionQueue cq_; }; diff --git a/src/cpp/server/thread_pool.cc b/src/cpp/server/thread_pool.cc index ce364c47955..a46d4c64d25 100644 --- a/src/cpp/server/thread_pool.cc +++ b/src/cpp/server/thread_pool.cc @@ -63,12 +63,12 @@ ThreadPool::~ThreadPool() { shutdown_ = true; cv_.notify_all(); } - for (auto& t : threads_) { + for (auto &t : threads_) { t.join(); } } -void ThreadPool::ScheduleCallback(const std::function& callback) { +void ThreadPool::ScheduleCallback(const std::function &callback) { std::lock_guard lock(mu_); callbacks_.push(callback); cv_.notify_all(); diff --git a/src/cpp/server/thread_pool.h b/src/cpp/server/thread_pool.h index 6fc71d6695b..c53f7a7517a 100644 --- a/src/cpp/server/thread_pool.h +++ b/src/cpp/server/thread_pool.h @@ -49,7 +49,7 @@ class ThreadPool : public ThreadPoolInterface { explicit ThreadPool(int num_threads); ~ThreadPool(); - void ScheduleCallback(const std::function& callback) final; + void ScheduleCallback(const std::function &callback) final; private: std::mutex mu_; diff --git a/src/cpp/stream/stream_context.cc b/src/cpp/stream/stream_context.cc index 5ccf8c96828..e64010be64f 100644 --- a/src/cpp/stream/stream_context.cc +++ b/src/cpp/stream/stream_context.cc @@ -44,14 +44,14 @@ namespace grpc { // Client only ctor -StreamContext::StreamContext(const RpcMethod& method, ClientContext* context, - const google::protobuf::Message* request, - google::protobuf::Message* result) +StreamContext::StreamContext(const RpcMethod &method, ClientContext *context, + const google::protobuf::Message *request, + google::protobuf::Message *result) : is_client_(true), method_(&method), call_(context->call()), cq_(context->cq()), - request_(const_cast(request)), + request_(const_cast(request)), result_(result), peer_halfclosed_(false), self_halfclosed_(false) { @@ -59,10 +59,10 @@ StreamContext::StreamContext(const RpcMethod& method, ClientContext* context, } // Server only ctor -StreamContext::StreamContext(const RpcMethod& method, grpc_call* call, - grpc_completion_queue* cq, - google::protobuf::Message* request, - google::protobuf::Message* result) +StreamContext::StreamContext(const RpcMethod &method, grpc_call *call, + grpc_completion_queue *cq, + google::protobuf::Message *request, + google::protobuf::Message *result) : is_client_(false), method_(&method), call_(call), @@ -84,7 +84,7 @@ void StreamContext::Start(bool buffered) { client_metadata_read_tag(), finished_tag(), flag); GPR_ASSERT(GRPC_CALL_OK == error); - grpc_event* invoke_ev = + grpc_event *invoke_ev = grpc_completion_queue_pluck(cq(), invoke_tag(), gpr_inf_future); if (invoke_ev->data.invoke_accepted != GRPC_OP_OK) { peer_halfclosed_ = true; @@ -101,11 +101,11 @@ void StreamContext::Start(bool buffered) { } } -bool StreamContext::Read(google::protobuf::Message* msg) { +bool StreamContext::Read(google::protobuf::Message *msg) { // TODO(yangg) check peer_halfclosed_ here for possible early return. grpc_call_error err = grpc_call_start_read(call(), read_tag()); GPR_ASSERT(err == GRPC_CALL_OK); - grpc_event* read_ev = + grpc_event *read_ev = grpc_completion_queue_pluck(cq(), read_tag(), gpr_inf_future); GPR_ASSERT(read_ev->type == GRPC_READ); bool ret = true; @@ -123,13 +123,13 @@ bool StreamContext::Read(google::protobuf::Message* msg) { return ret; } -bool StreamContext::Write(const google::protobuf::Message* msg, bool is_last) { +bool StreamContext::Write(const google::protobuf::Message *msg, bool is_last) { // TODO(yangg) check self_halfclosed_ for possible early return. bool ret = true; - grpc_event* ev = nullptr; + grpc_event *ev = nullptr; if (msg) { - grpc_byte_buffer* out_buf = nullptr; + grpc_byte_buffer *out_buf = nullptr; if (!SerializeProto(*msg, &out_buf)) { grpc_call_cancel_with_status(call(), GRPC_STATUS_INVALID_ARGUMENT, "Failed to serialize outgoing proto"); @@ -163,16 +163,16 @@ bool StreamContext::Write(const google::protobuf::Message* msg, bool is_last) { return ret; } -const Status& StreamContext::Wait() { +const Status &StreamContext::Wait() { // TODO(yangg) properly support metadata - grpc_event* metadata_ev = grpc_completion_queue_pluck( + grpc_event *metadata_ev = grpc_completion_queue_pluck( cq(), client_metadata_read_tag(), gpr_inf_future); grpc_event_finish(metadata_ev); // TODO(yangg) protect states by a mutex, including other places. if (!self_halfclosed_ || !peer_halfclosed_) { Cancel(); } - grpc_event* finish_ev = + grpc_event *finish_ev = grpc_completion_queue_pluck(cq(), finished_tag(), gpr_inf_future); GPR_ASSERT(finish_ev->type == GRPC_FINISHED); final_status_ = Status( diff --git a/src/cpp/stream/stream_context.h b/src/cpp/stream/stream_context.h index 4781f27a77f..8697d86e830 100644 --- a/src/cpp/stream/stream_context.h +++ b/src/cpp/stream/stream_context.h @@ -50,43 +50,45 @@ class RpcMethod; class StreamContext final : public StreamContextInterface { public: - StreamContext(const RpcMethod& method, ClientContext* context, - const google::protobuf::Message* request, - google::protobuf::Message* result); - StreamContext(const RpcMethod& method, grpc_call* call, - grpc_completion_queue* cq, google::protobuf::Message* request, - google::protobuf::Message* result); + StreamContext(const RpcMethod &method, ClientContext *context, + const google::protobuf::Message *request, + google::protobuf::Message *result); + StreamContext(const RpcMethod &method, grpc_call *call, + grpc_completion_queue *cq, google::protobuf::Message *request, + google::protobuf::Message *result); ~StreamContext(); // Start the stream, if there is a final write following immediately, set // buffered so that the messages can be sent in batch. void Start(bool buffered) override; - bool Read(google::protobuf::Message* msg) override; - bool Write(const google::protobuf::Message* msg, bool is_last) override; - const Status& Wait() override; + bool Read(google::protobuf::Message *msg) override; + bool Write(const google::protobuf::Message *msg, bool is_last) override; + const Status &Wait() override; void Cancel() override; - google::protobuf::Message* request() override { return request_; } - google::protobuf::Message* response() override { return result_; } + google::protobuf::Message *request() override { return request_; } + google::protobuf::Message *response() override { return result_; } private: // Unique tags for plucking events from the c layer. this pointer is casted // to char* to create single byte step between tags. It implicitly relies on // that StreamContext is large enough to contain all the pointers. - void* finished_tag() { return reinterpret_cast(this); } - void* read_tag() { return reinterpret_cast(this) + 1; } - void* write_tag() { return reinterpret_cast(this) + 2; } - void* halfclose_tag() { return reinterpret_cast(this) + 3; } - void* invoke_tag() { return reinterpret_cast(this) + 4; } - void* client_metadata_read_tag() { return reinterpret_cast(this) + 5; } - grpc_call* call() { return call_; } - grpc_completion_queue* cq() { return cq_; } + void *finished_tag() { return reinterpret_cast(this); } + void *read_tag() { return reinterpret_cast(this) + 1; } + void *write_tag() { return reinterpret_cast(this) + 2; } + void *halfclose_tag() { return reinterpret_cast(this) + 3; } + void *invoke_tag() { return reinterpret_cast(this) + 4; } + void *client_metadata_read_tag() { + return reinterpret_cast(this) + 5; + } + grpc_call *call() { return call_; } + grpc_completion_queue *cq() { return cq_; } bool is_client_; - const RpcMethod* method_; // not owned - grpc_call* call_; // not owned - grpc_completion_queue* cq_; // not owned - google::protobuf::Message* request_; // first request, not owned - google::protobuf::Message* result_; // last response, not owned + const RpcMethod *method_; // not owned + grpc_call *call_; // not owned + grpc_completion_queue *cq_; // not owned + google::protobuf::Message *request_; // first request, not owned + google::protobuf::Message *result_; // last response, not owned bool peer_halfclosed_; bool self_halfclosed_; diff --git a/src/cpp/util/status.cc b/src/cpp/util/status.cc index e7ca41b7523..1ca12d0ae90 100644 --- a/src/cpp/util/status.cc +++ b/src/cpp/util/status.cc @@ -35,7 +35,7 @@ namespace grpc { -const Status& Status::OK = Status(); -const Status& Status::Cancelled = Status(StatusCode::CANCELLED); +const Status &Status::OK = Status(); +const Status &Status::Cancelled = Status(StatusCode::CANCELLED); } // namespace grpc diff --git a/src/cpp/util/time.cc b/src/cpp/util/time.cc index e58dde82a3e..7ce7a371f56 100644 --- a/src/cpp/util/time.cc +++ b/src/cpp/util/time.cc @@ -43,8 +43,8 @@ using std::chrono::system_clock; namespace grpc { // TODO(yangg) prevent potential overflow. -void Timepoint2Timespec(const system_clock::time_point& from, - gpr_timespec* to) { +void Timepoint2Timespec(const system_clock::time_point &from, + gpr_timespec *to) { system_clock::duration deadline = from.time_since_epoch(); seconds secs = duration_cast(deadline); nanoseconds nsecs = duration_cast(deadline - secs); diff --git a/src/cpp/util/time.h b/src/cpp/util/time.h index 338c4f5119b..908395c92b9 100644 --- a/src/cpp/util/time.h +++ b/src/cpp/util/time.h @@ -41,8 +41,8 @@ namespace grpc { // from and to should be absolute time. -void Timepoint2Timespec(const std::chrono::system_clock::time_point& from, - gpr_timespec* to); +void Timepoint2Timespec(const std::chrono::system_clock::time_point &from, + gpr_timespec *to); std::chrono::system_clock::time_point Timespec2Timepoint(gpr_timespec t); diff --git a/src/php/ext/grpc/call.c b/src/php/ext/grpc/call.c index c01af34e958..410efbce681 100644 --- a/src/php/ext/grpc/call.c +++ b/src/php/ext/grpc/call.c @@ -423,16 +423,15 @@ PHP_METHOD(Call, start_read) { static zend_function_entry call_methods[] = { PHP_ME(Call, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) - PHP_ME(Call, server_accept, NULL, ZEND_ACC_PUBLIC) - PHP_ME(Call, server_end_initial_metadata, NULL, ZEND_ACC_PUBLIC) - PHP_ME(Call, add_metadata, NULL, ZEND_ACC_PUBLIC) PHP_ME( - Call, cancel, NULL, ZEND_ACC_PUBLIC) - PHP_ME(Call, start_invoke, NULL, ZEND_ACC_PUBLIC) PHP_ME( - Call, start_read, NULL, ZEND_ACC_PUBLIC) - PHP_ME(Call, start_write, NULL, ZEND_ACC_PUBLIC) PHP_ME( - Call, start_write_status, NULL, ZEND_ACC_PUBLIC) - PHP_ME(Call, writes_done, NULL, ZEND_ACC_PUBLIC) - PHP_FE_END}; + PHP_ME(Call, server_accept, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Call, server_end_initial_metadata, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Call, add_metadata, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Call, cancel, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Call, start_invoke, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Call, start_read, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Call, start_write, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Call, start_write_status, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Call, writes_done, NULL, ZEND_ACC_PUBLIC) PHP_FE_END}; void grpc_init_call(TSRMLS_D) { zend_class_entry ce; diff --git a/src/php/ext/grpc/channel.c b/src/php/ext/grpc/channel.c index f0e4153b22a..2ab229f5e67 100644 --- a/src/php/ext/grpc/channel.c +++ b/src/php/ext/grpc/channel.c @@ -155,7 +155,7 @@ PHP_METHOD(Channel, close) { static zend_function_entry channel_methods[] = { PHP_ME(Channel, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) - PHP_ME(Channel, close, NULL, ZEND_ACC_PUBLIC) PHP_FE_END}; + PHP_ME(Channel, close, NULL, ZEND_ACC_PUBLIC) PHP_FE_END}; void grpc_init_channel(TSRMLS_D) { zend_class_entry ce; diff --git a/src/php/ext/grpc/completion_queue.c b/src/php/ext/grpc/completion_queue.c index 9785eab8cc1..3a93bfcff76 100644 --- a/src/php/ext/grpc/completion_queue.c +++ b/src/php/ext/grpc/completion_queue.c @@ -63,8 +63,8 @@ zend_object_value create_wrapped_grpc_completion_queue( */ PHP_METHOD(CompletionQueue, __construct) { wrapped_grpc_completion_queue *queue = - (wrapped_grpc_completion_queue *)zend_object_store_get_object( - getThis() TSRMLS_CC); + (wrapped_grpc_completion_queue *)zend_object_store_get_object(getThis() + TSRMLS_CC); queue->wrapped = grpc_completion_queue_create(); } @@ -86,8 +86,8 @@ PHP_METHOD(CompletionQueue, next) { return; } wrapped_grpc_completion_queue *completion_queue = - (wrapped_grpc_completion_queue *)zend_object_store_get_object( - getThis() TSRMLS_CC); + (wrapped_grpc_completion_queue *)zend_object_store_get_object(getThis() + TSRMLS_CC); wrapped_grpc_timeval *wrapped_timeout = (wrapped_grpc_timeval *)zend_object_store_get_object(timeout TSRMLS_CC); grpc_event *event = grpc_completion_queue_next(completion_queue->wrapped, @@ -109,8 +109,8 @@ PHP_METHOD(CompletionQueue, pluck) { "pluck needs a long and a Timeval", 1 TSRMLS_CC); } wrapped_grpc_completion_queue *completion_queue = - (wrapped_grpc_completion_queue *)zend_object_store_get_object( - getThis() TSRMLS_CC); + (wrapped_grpc_completion_queue *)zend_object_store_get_object(getThis() + TSRMLS_CC); wrapped_grpc_timeval *wrapped_timeout = (wrapped_grpc_timeval *)zend_object_store_get_object(timeout TSRMLS_CC); grpc_event *event = grpc_completion_queue_pluck( @@ -124,8 +124,8 @@ PHP_METHOD(CompletionQueue, pluck) { static zend_function_entry completion_queue_methods[] = { PHP_ME(CompletionQueue, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) - PHP_ME(CompletionQueue, next, NULL, ZEND_ACC_PUBLIC) - PHP_ME(CompletionQueue, pluck, NULL, ZEND_ACC_PUBLIC) PHP_FE_END}; + PHP_ME(CompletionQueue, next, NULL, ZEND_ACC_PUBLIC) + PHP_ME(CompletionQueue, pluck, NULL, ZEND_ACC_PUBLIC) PHP_FE_END}; void grpc_init_completion_queue(TSRMLS_D) { zend_class_entry ce; diff --git a/src/php/ext/grpc/credentials.c b/src/php/ext/grpc/credentials.c index f486272531d..2a83d1cbc1e 100644 --- a/src/php/ext/grpc/credentials.c +++ b/src/php/ext/grpc/credentials.c @@ -151,13 +151,12 @@ PHP_METHOD(Credentials, createFake) { static zend_function_entry credentials_methods[] = { PHP_ME(Credentials, createDefault, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) - PHP_ME(Credentials, createSsl, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) - PHP_ME(Credentials, createComposite, NULL, - ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) - PHP_ME(Credentials, createGce, NULL, - ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) - PHP_ME(Credentials, createFake, NULL, - ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) PHP_FE_END}; + PHP_ME(Credentials, createSsl, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) + PHP_ME(Credentials, createComposite, NULL, + ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) + PHP_ME(Credentials, createGce, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) + PHP_ME(Credentials, createFake, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) + PHP_FE_END}; void grpc_init_credentials(TSRMLS_D) { zend_class_entry ce; diff --git a/src/php/ext/grpc/php_grpc.c b/src/php/ext/grpc/php_grpc.c index c1042293aa4..e8b4643a582 100644 --- a/src/php/ext/grpc/php_grpc.c +++ b/src/php/ext/grpc/php_grpc.c @@ -33,7 +33,8 @@ zend_module_entry grpc_module_entry = { #if ZEND_MODULE_API_NO >= 20010901 STANDARD_MODULE_HEADER, #endif - "grpc", grpc_functions, PHP_MINIT(grpc), PHP_MSHUTDOWN(grpc), NULL, NULL, + "grpc", grpc_functions, PHP_MINIT(grpc), + PHP_MSHUTDOWN(grpc), NULL, NULL, PHP_MINFO(grpc), #if ZEND_MODULE_API_NO >= 20010901 PHP_GRPC_VERSION, diff --git a/src/php/ext/grpc/server.c b/src/php/ext/grpc/server.c index f4843757120..38777f3d541 100644 --- a/src/php/ext/grpc/server.c +++ b/src/php/ext/grpc/server.c @@ -176,10 +176,10 @@ PHP_METHOD(Server, start) { static zend_function_entry server_methods[] = { PHP_ME(Server, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) - PHP_ME(Server, request_call, NULL, ZEND_ACC_PUBLIC) - PHP_ME(Server, add_http2_port, NULL, ZEND_ACC_PUBLIC) - PHP_ME(Server, add_secure_http2_port, NULL, ZEND_ACC_PUBLIC) - PHP_ME(Server, start, NULL, ZEND_ACC_PUBLIC) PHP_FE_END}; + PHP_ME(Server, request_call, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Server, add_http2_port, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Server, add_secure_http2_port, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Server, start, NULL, ZEND_ACC_PUBLIC) PHP_FE_END}; void grpc_init_server(TSRMLS_D) { zend_class_entry ce; diff --git a/src/php/ext/grpc/server_credentials.c b/src/php/ext/grpc/server_credentials.c index 5b9ab3390d7..1f8e58aa4d1 100644 --- a/src/php/ext/grpc/server_credentials.c +++ b/src/php/ext/grpc/server_credentials.c @@ -102,8 +102,8 @@ PHP_METHOD(ServerCredentials, createFake) { static zend_function_entry server_credentials_methods[] = { PHP_ME(ServerCredentials, createSsl, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) - PHP_ME(ServerCredentials, createFake, NULL, - ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) PHP_FE_END}; + PHP_ME(ServerCredentials, createFake, NULL, + ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) PHP_FE_END}; void grpc_init_server_credentials(TSRMLS_D) { zend_class_entry ce; diff --git a/src/php/ext/grpc/timeval.c b/src/php/ext/grpc/timeval.c index a5508115e47..cbbbf379156 100644 --- a/src/php/ext/grpc/timeval.c +++ b/src/php/ext/grpc/timeval.c @@ -217,20 +217,16 @@ PHP_METHOD(Timeval, sleep_until) { } static zend_function_entry timeval_methods[] = { - PHP_ME(Timeval, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) PHP_ME( - Timeval, add, NULL, - ZEND_ACC_PUBLIC) PHP_ME(Timeval, compare, NULL, - ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) - PHP_ME(Timeval, inf_future, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) - PHP_ME(Timeval, inf_past, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) - PHP_ME(Timeval, now, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) - PHP_ME(Timeval, similar, NULL, - ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) - PHP_ME(Timeval, sleep_until, NULL, ZEND_ACC_PUBLIC) - PHP_ME(Timeval, subtract, NULL, ZEND_ACC_PUBLIC) - PHP_ME(Timeval, zero, NULL, - ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) - PHP_FE_END}; + PHP_ME(Timeval, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) + PHP_ME(Timeval, add, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Timeval, compare, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) + PHP_ME(Timeval, inf_future, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) + PHP_ME(Timeval, inf_past, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) + PHP_ME(Timeval, now, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) + PHP_ME(Timeval, similar, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) + PHP_ME(Timeval, sleep_until, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Timeval, subtract, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Timeval, zero, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) PHP_FE_END}; void grpc_init_timeval(TSRMLS_D) { zend_class_entry ce; diff --git a/test/core/channel/channel_stack_test.c b/test/core/channel/channel_stack_test.c index fb52fe32705..d0ea79c34eb 100644 --- a/test/core/channel/channel_stack_test.c +++ b/test/core/channel/channel_stack_test.c @@ -78,9 +78,9 @@ static void channel_func(grpc_channel_element *elem, static void test_create_channel_stack(void) { const grpc_channel_filter filter = { - call_func, channel_func, + call_func, channel_func, - sizeof(int), call_init_func, call_destroy_func, + sizeof(int), call_init_func, call_destroy_func, sizeof(int), channel_init_func, channel_destroy_func, }; diff --git a/test/core/channel/metadata_buffer_test.c b/test/core/channel/metadata_buffer_test.c index 5604e257059..aa2399272f7 100644 --- a/test/core/channel/metadata_buffer_test.c +++ b/test/core/channel/metadata_buffer_test.c @@ -78,7 +78,7 @@ static void expect_call_op(grpc_call_element *elem, GPR_ASSERT(op->dir == GRPC_CALL_DOWN); GPR_ASSERT(op->flags == *n); GPR_ASSERT(op->done_cb == do_nothing); - GPR_ASSERT(op->user_data == (void *)(gpr_uintptr)*n); + GPR_ASSERT(op->user_data == (void *)(gpr_uintptr) * n); GPR_ASSERT(0 == gpr_slice_cmp(op->data.metadata->key->slice, key)); GPR_ASSERT(0 == gpr_slice_cmp(op->data.metadata->value->slice, value)); @@ -148,7 +148,7 @@ static void test_case(size_t key_prefix_len, size_t value_prefix_len, op.flags = i; op.data.metadata = grpc_mdelem_from_slices(mdctx, key, value); op.done_cb = do_nothing; - op.user_data = (void *)(gpr_uintptr)i; + op.user_data = (void *)(gpr_uintptr) i; grpc_metadata_buffer_queue(&buffer, &op); } diff --git a/test/core/end2end/cq_verifier.c b/test/core/end2end/cq_verifier.c index 60b0bf33035..9fa513126f6 100644 --- a/test/core/end2end/cq_verifier.c +++ b/test/core/end2end/cq_verifier.c @@ -495,4 +495,3 @@ void cq_expect_finished(cq_verifier *v, void *tag, ...) { void cq_expect_server_shutdown(cq_verifier *v, void *tag) { add(v, GRPC_SERVER_SHUTDOWN, tag); } - diff --git a/test/core/end2end/tests/max_concurrent_streams.c b/test/core/end2end/tests/max_concurrent_streams.c index e88f418cb08..1db32b1de9c 100644 --- a/test/core/end2end/tests/max_concurrent_streams.c +++ b/test/core/end2end/tests/max_concurrent_streams.c @@ -203,7 +203,7 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) { GPR_ASSERT(ev->data.invoke_accepted == GRPC_OP_OK); /* The /alpha or /beta calls started above could be invoked (but NOT both); * check this here */ - live_call = (int)(gpr_intptr)ev->tag; + live_call = (int)(gpr_intptr) ev->tag; live_call_obj = live_call == 300 ? c1 : c2; grpc_event_finish(ev); diff --git a/test/core/end2end/tests/thread_stress.c b/test/core/end2end/tests/thread_stress.c index 5410258201a..2de0497a7aa 100644 --- a/test/core/end2end/tests/thread_stress.c +++ b/test/core/end2end/tests/thread_stress.c @@ -282,11 +282,11 @@ static void run_test(grpc_end2end_test_config config, int requests_in_flight) { /* kick off threads */ for (i = 0; i < CLIENT_THREADS; i++) { gpr_event_init(&g_client_done[i]); - gpr_thd_new(&thd_id, client_thread, (void *)(gpr_intptr)i, NULL); + gpr_thd_new(&thd_id, client_thread, (void *)(gpr_intptr) i, NULL); } for (i = 0; i < SERVER_THREADS; i++) { gpr_event_init(&g_server_done[i]); - gpr_thd_new(&thd_id, server_thread, (void *)(gpr_intptr)i, NULL); + gpr_thd_new(&thd_id, server_thread, (void *)(gpr_intptr) i, NULL); } /* start requests */ diff --git a/test/core/iomgr/alarm_list_test.c b/test/core/iomgr/alarm_list_test.c index a2509512318..ce9b7f4c663 100644 --- a/test/core/iomgr/alarm_list_test.c +++ b/test/core/iomgr/alarm_list_test.c @@ -61,13 +61,13 @@ static void add_test(void) { /* 10 ms alarms. will expire in the current epoch */ for (i = 0; i < 10; i++) { grpc_alarm_init(&alarms[i], gpr_time_add(start, gpr_time_from_millis(10)), - cb, (void *)(gpr_intptr)i, start); + cb, (void *)(gpr_intptr) i, start); } /* 1010 ms alarms. will expire in the next epoch */ for (i = 10; i < 20; i++) { grpc_alarm_init(&alarms[i], gpr_time_add(start, gpr_time_from_millis(1010)), - cb, (void *)(gpr_intptr)i, start); + cb, (void *)(gpr_intptr) i, start); } /* collect alarms. Only the first batch should be ready. */ @@ -115,15 +115,15 @@ void destruction_test(void) { memset(cb_called, 0, sizeof(cb_called)); grpc_alarm_init(&alarms[0], gpr_time_from_millis(100), cb, - (void *)(gpr_intptr)0, gpr_time_0); + (void *)(gpr_intptr) 0, gpr_time_0); grpc_alarm_init(&alarms[1], gpr_time_from_millis(3), cb, - (void *)(gpr_intptr)1, gpr_time_0); + (void *)(gpr_intptr) 1, gpr_time_0); grpc_alarm_init(&alarms[2], gpr_time_from_millis(100), cb, - (void *)(gpr_intptr)2, gpr_time_0); + (void *)(gpr_intptr) 2, gpr_time_0); grpc_alarm_init(&alarms[3], gpr_time_from_millis(3), cb, - (void *)(gpr_intptr)3, gpr_time_0); + (void *)(gpr_intptr) 3, gpr_time_0); grpc_alarm_init(&alarms[4], gpr_time_from_millis(1), cb, - (void *)(gpr_intptr)4, gpr_time_0); + (void *)(gpr_intptr) 4, gpr_time_0); GPR_ASSERT(1 == grpc_alarm_check(NULL, gpr_time_from_millis(2), NULL)); GPR_ASSERT(1 == cb_called[4][1]); grpc_alarm_cancel(&alarms[0]); diff --git a/test/core/iomgr/endpoint_tests.c b/test/core/iomgr/endpoint_tests.c index 125cde46785..dc5747bf57f 100644 --- a/test/core/iomgr/endpoint_tests.c +++ b/test/core/iomgr/endpoint_tests.c @@ -290,7 +290,7 @@ static void shutdown_during_write_test_read_handler( if (error != GRPC_ENDPOINT_CB_OK) { grpc_endpoint_destroy(st->ep); - gpr_event_set(&st->ev, (void *)(gpr_intptr)error); + gpr_event_set(&st->ev, (void *)(gpr_intptr) error); } else { grpc_endpoint_notify_on_read( st->ep, shutdown_during_write_test_read_handler, user_data); @@ -309,7 +309,7 @@ static void shutdown_during_write_test_write_handler( gpr_log(GPR_ERROR, "shutdown_during_write_test_write_handler completed unexpectedly"); } - gpr_event_set(&st->ev, (void *)(gpr_intptr)1); + gpr_event_set(&st->ev, (void *)(gpr_intptr) 1); } static void shutdown_during_write_test(grpc_endpoint_test_config config, diff --git a/test/core/statistics/hash_table_test.c b/test/core/statistics/hash_table_test.c index 5d05ab5bc4d..ebfc2a2a9a0 100644 --- a/test/core/statistics/hash_table_test.c +++ b/test/core/statistics/hash_table_test.c @@ -64,8 +64,8 @@ static void free_data(void* data) { gpr_free(data); } static void test_create_table(void) { /* Create table with uint64 key type */ census_ht* ht = NULL; - census_ht_option ht_options = {CENSUS_HT_UINT64, 1999, NULL, NULL, NULL, - NULL}; + census_ht_option ht_options = {CENSUS_HT_UINT64, 1999, NULL, + NULL, NULL, NULL}; ht = census_ht_create(&ht_options); GPR_ASSERT(ht != NULL); GPR_ASSERT(census_ht_get_size(ht) == 0); @@ -119,8 +119,8 @@ static void test_table_with_int_key(void) { /* Test that there is no memory leak when keys and values are owned by table. */ static void test_value_and_key_deleter(void) { - census_ht_option opt = {CENSUS_HT_POINTER, 7, &hash64, &cmp_str_keys, - &free_data, &free_data}; + census_ht_option opt = {CENSUS_HT_POINTER, 7, &hash64, + &cmp_str_keys, &free_data, &free_data}; census_ht* ht = census_ht_create(&opt); census_ht_key key; char* val = NULL; @@ -184,8 +184,8 @@ static void test_simple_add_and_erase(void) { } static void test_insertion_and_deletion_with_high_collision_rate(void) { - census_ht_option opt = {CENSUS_HT_POINTER, 13, &force_collision, - &cmp_str_keys, NULL, NULL}; + census_ht_option opt = {CENSUS_HT_POINTER, 13, &force_collision, + &cmp_str_keys, NULL, NULL}; census_ht* ht = census_ht_create(&opt); char key_str[1000][10]; gpr_uint64 val = 0; @@ -208,12 +208,12 @@ static void test_insertion_and_deletion_with_high_collision_rate(void) { } static void test_table_with_string_key(void) { - census_ht_option opt = {CENSUS_HT_POINTER, 7, &hash64, &cmp_str_keys, NULL, - NULL}; + census_ht_option opt = {CENSUS_HT_POINTER, 7, &hash64, + &cmp_str_keys, NULL, NULL}; census_ht* ht = census_ht_create(&opt); - const char* keys[] = {"k1", "a", "000", "apple", - "banana_a_long_long_long_banana", "%$", "111", "foo", - "b"}; + const char* keys[] = {"k1", "a", "000", + "apple", "banana_a_long_long_long_banana", "%$", + "111", "foo", "b"}; const int vals[] = {0, 1, 2, 3, 4, 5, 6, 7, 8}; int i = 0; GPR_ASSERT(ht != NULL); diff --git a/test/core/surface/completion_queue_benchmark.c b/test/core/surface/completion_queue_benchmark.c index e1b9d0d035a..5360d7c6c38 100644 --- a/test/core/surface/completion_queue_benchmark.c +++ b/test/core/surface/completion_queue_benchmark.c @@ -53,23 +53,23 @@ static void producer_thread(void *arg) { test_thread_options *opt = arg; int i; - gpr_event_set(&opt->on_started, (void *)(gpr_intptr)1); + gpr_event_set(&opt->on_started, (void *)(gpr_intptr) 1); GPR_ASSERT(gpr_event_wait(opt->start, gpr_inf_future)); for (i = 0; i < opt->iterations; i++) { grpc_cq_begin_op(opt->cc, NULL, GRPC_WRITE_ACCEPTED); - grpc_cq_end_write_accepted(opt->cc, (void *)(gpr_intptr)1, NULL, NULL, NULL, - GRPC_OP_OK); + grpc_cq_end_write_accepted(opt->cc, (void *)(gpr_intptr) 1, NULL, NULL, + NULL, GRPC_OP_OK); } - gpr_event_set(&opt->on_finished, (void *)(gpr_intptr)1); + gpr_event_set(&opt->on_finished, (void *)(gpr_intptr) 1); } static void consumer_thread(void *arg) { test_thread_options *opt = arg; grpc_event *ev; - gpr_event_set(&opt->on_started, (void *)(gpr_intptr)1); + gpr_event_set(&opt->on_started, (void *)(gpr_intptr) 1); GPR_ASSERT(gpr_event_wait(opt->start, gpr_inf_future)); for (;;) { @@ -78,7 +78,7 @@ static void consumer_thread(void *arg) { case GRPC_WRITE_ACCEPTED: break; case GRPC_QUEUE_SHUTDOWN: - gpr_event_set(&opt->on_finished, (void *)(gpr_intptr)1); + gpr_event_set(&opt->on_finished, (void *)(gpr_intptr) 1); return; default: gpr_log(GPR_ERROR, "Invalid event received: %d", ev->type); @@ -112,7 +112,7 @@ double ops_per_second(int consumers, int producers, int iterations) { /* start the benchmark */ t_start = gpr_now(); - gpr_event_set(&start, (void *)(gpr_intptr)1); + gpr_event_set(&start, (void *)(gpr_intptr) 1); /* wait for producers to finish */ for (i = 0; i < producers; i++) { diff --git a/test/core/surface/completion_queue_test.c b/test/core/surface/completion_queue_test.c index 71f9cc22916..4bbe9cc96fa 100644 --- a/test/core/surface/completion_queue_test.c +++ b/test/core/surface/completion_queue_test.c @@ -282,7 +282,7 @@ static void producer_thread(void *arg) { int i; gpr_log(GPR_INFO, "producer %d started", opt->id); - gpr_event_set(&opt->on_started, (void *)(gpr_intptr)1); + gpr_event_set(&opt->on_started, (void *)(gpr_intptr) 1); GPR_ASSERT(gpr_event_wait(opt->phase1, ten_seconds_time())); gpr_log(GPR_INFO, "producer %d phase 1", opt->id); @@ -291,18 +291,18 @@ static void producer_thread(void *arg) { } gpr_log(GPR_INFO, "producer %d phase 1 done", opt->id); - gpr_event_set(&opt->on_phase1_done, (void *)(gpr_intptr)1); + gpr_event_set(&opt->on_phase1_done, (void *)(gpr_intptr) 1); GPR_ASSERT(gpr_event_wait(opt->phase2, ten_seconds_time())); gpr_log(GPR_INFO, "producer %d phase 2", opt->id); for (i = 0; i < TEST_THREAD_EVENTS; i++) { - grpc_cq_end_write_accepted(opt->cc, (void *)(gpr_intptr)1, NULL, NULL, NULL, - GRPC_OP_OK); + grpc_cq_end_write_accepted(opt->cc, (void *)(gpr_intptr) 1, NULL, NULL, + NULL, GRPC_OP_OK); opt->events_triggered++; } gpr_log(GPR_INFO, "producer %d phase 2 done", opt->id); - gpr_event_set(&opt->on_finished, (void *)(gpr_intptr)1); + gpr_event_set(&opt->on_finished, (void *)(gpr_intptr) 1); } static void consumer_thread(void *arg) { @@ -310,13 +310,13 @@ static void consumer_thread(void *arg) { grpc_event *ev; gpr_log(GPR_INFO, "consumer %d started", opt->id); - gpr_event_set(&opt->on_started, (void *)(gpr_intptr)1); + gpr_event_set(&opt->on_started, (void *)(gpr_intptr) 1); GPR_ASSERT(gpr_event_wait(opt->phase1, ten_seconds_time())); gpr_log(GPR_INFO, "consumer %d phase 1", opt->id); gpr_log(GPR_INFO, "consumer %d phase 1 done", opt->id); - gpr_event_set(&opt->on_phase1_done, (void *)(gpr_intptr)1); + gpr_event_set(&opt->on_phase1_done, (void *)(gpr_intptr) 1); GPR_ASSERT(gpr_event_wait(opt->phase2, ten_seconds_time())); gpr_log(GPR_INFO, "consumer %d phase 2", opt->id); @@ -331,7 +331,7 @@ static void consumer_thread(void *arg) { break; case GRPC_QUEUE_SHUTDOWN: gpr_log(GPR_INFO, "consumer %d phase 2 done", opt->id); - gpr_event_set(&opt->on_finished, (void *)(gpr_intptr)1); + gpr_event_set(&opt->on_finished, (void *)(gpr_intptr) 1); grpc_event_finish(ev); return; default: @@ -376,7 +376,7 @@ static void test_threading(int producers, int consumers) { /* start phase1: producers will pre-declare all operations they will complete */ gpr_log(GPR_INFO, "start phase 1"); - gpr_event_set(&phase1, (void *)(gpr_intptr)1); + gpr_event_set(&phase1, (void *)(gpr_intptr) 1); gpr_log(GPR_INFO, "wait phase 1"); for (i = 0; i < producers + consumers; i++) { @@ -386,7 +386,7 @@ static void test_threading(int producers, int consumers) { /* start phase2: operations will complete, and consumers will consume them */ gpr_log(GPR_INFO, "start phase 2"); - gpr_event_set(&phase2, (void *)(gpr_intptr)1); + gpr_event_set(&phase2, (void *)(gpr_intptr) 1); /* in parallel, we shutdown the completion channel - all events should still be consumed */ diff --git a/test/core/transport/chttp2/stream_map_test.c b/test/core/transport/chttp2/stream_map_test.c index 9b4446f7f80..30cd63ca67d 100644 --- a/test/core/transport/chttp2/stream_map_test.c +++ b/test/core/transport/chttp2/stream_map_test.c @@ -93,7 +93,7 @@ static void test_basic_add_find(size_t n) { grpc_chttp2_stream_map_init(&map, 8); GPR_ASSERT(0 == grpc_chttp2_stream_map_size(&map)); for (i = 1; i <= n; i++) { - grpc_chttp2_stream_map_add(&map, i, (void *)(gpr_uintptr)i); + grpc_chttp2_stream_map_add(&map, i, (void *)(gpr_uintptr) i); } GPR_ASSERT(n == grpc_chttp2_stream_map_size(&map)); GPR_ASSERT(NULL == grpc_chttp2_stream_map_find(&map, 0)); @@ -148,7 +148,7 @@ static void test_delete_evens_sweep(size_t n) { grpc_chttp2_stream_map_init(&map, 8); for (i = 1; i <= n; i++) { - grpc_chttp2_stream_map_add(&map, i, (void *)(gpr_uintptr)i); + grpc_chttp2_stream_map_add(&map, i, (void *)(gpr_uintptr) i); } for (i = 1; i <= n; i++) { if ((i & 1) == 0) { @@ -170,7 +170,7 @@ static void test_delete_evens_incremental(size_t n) { grpc_chttp2_stream_map_init(&map, 8); for (i = 1; i <= n; i++) { - grpc_chttp2_stream_map_add(&map, i, (void *)(gpr_uintptr)i); + grpc_chttp2_stream_map_add(&map, i, (void *)(gpr_uintptr) i); if ((i & 1) == 0) { grpc_chttp2_stream_map_delete(&map, i); } diff --git a/tools/clang-format/clang-format-all.sh b/tools/clang-format/clang-format-all.sh index c9caea0d613..62228b0b015 100755 --- a/tools/clang-format/clang-format-all.sh +++ b/tools/clang-format/clang-format-all.sh @@ -1,8 +1,9 @@ #!/bin/bash -set -ex +set -e +source $(dirname $0)/config.sh cd $(dirname $0)/../.. for dir in src test include do - find $dir -name '*.c' -or -name '*.cc' -or -name '*.h' | xargs clang-format -i + find $dir -name '*.c' -or -name '*.cc' -or -name '*.h' | xargs $CLANG_FORMAT -i done diff --git a/tools/clang-format/config.sh b/tools/clang-format/config.sh new file mode 100644 index 00000000000..b7168ab2e35 --- /dev/null +++ b/tools/clang-format/config.sh @@ -0,0 +1 @@ +CLANG_FORMAT=clang-format-3.5 From 98d532dbc46954b484e898823af6ce100dd1b5d9 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 19 Jan 2015 14:50:44 -0800 Subject: [PATCH 074/121] Check for executable existance --- tools/clang-format/config.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/clang-format/config.sh b/tools/clang-format/config.sh index b7168ab2e35..3adf2678e7a 100644 --- a/tools/clang-format/config.sh +++ b/tools/clang-format/config.sh @@ -1 +1,11 @@ CLANG_FORMAT=clang-format-3.5 + +set -ex + +if not hash $CLANG_FORMAT 2>/dev/null; then + echo "$CLANG_FORMAT is needed but not installed" + echo "perhaps try:" + echo " sudo apt-get install $CLANG_FORMAT" + exit 1 +fi + From 5246e7a2d133dfdbd0e2edb631c97f51f8afa482 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 19 Jan 2015 14:59:08 -0800 Subject: [PATCH 075/121] Disconnect on bad connection prefix --- src/core/transport/chttp2_transport.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/transport/chttp2_transport.c b/src/core/transport/chttp2_transport.c index 1b90d4715b3..26649132fd6 100644 --- a/src/core/transport/chttp2_transport.c +++ b/src/core/transport/chttp2_transport.c @@ -1505,6 +1505,7 @@ static int process_read(transport *t, gpr_slice slice) { CLIENT_CONNECT_STRING[t->deframe_state], (int)(gpr_uint8)CLIENT_CONNECT_STRING[t->deframe_state], *cur, (int)*cur, t->deframe_state); + drop_connection(t); return 0; } ++cur; From 64f65458e3679ac0937ebfcd4a5fe78b31d9965b Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 19 Jan 2015 15:17:09 -0800 Subject: [PATCH 076/121] Allow secure connections with fling server --- test/core/fling/server.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/test/core/fling/server.c b/test/core/fling/server.c index 705ab3aca24..e4e7ad175cb 100644 --- a/test/core/fling/server.c +++ b/test/core/fling/server.c @@ -32,6 +32,7 @@ */ #include +#include #include #include @@ -47,6 +48,7 @@ #include #include #include "test/core/util/port.h" +#include "test/core/end2end/data/ssl_test_data.h" static grpc_completion_queue *cq; static grpc_server *server; @@ -98,8 +100,14 @@ int main(int argc, char **argv) { gpr_log(GPR_INFO, "creating server on: %s", addr); cq = grpc_completion_queue_create(); - server = grpc_server_create(cq, NULL); - GPR_ASSERT(grpc_server_add_http2_port(server, addr)); + if (secure) { + grpc_server_credentials *ssl_creds = grpc_ssl_server_credentials_create(NULL, 0, test_server1_key, test_server1_key_size, test_server1_cert, test_server1_cert_size); + server = grpc_secure_server_create(ssl_creds, cq, NULL); + GPR_ASSERT(grpc_server_add_secure_http2_port(server, addr)); + } else { + server = grpc_server_create(cq, NULL); + GPR_ASSERT(grpc_server_add_http2_port(server, addr)); + } grpc_server_start(server); gpr_free(addr_buf); From 64761f8af6fc605e81e363f841d2aeb20d32ecd3 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 19 Jan 2015 15:33:02 -0800 Subject: [PATCH 077/121] clang-format --- test/core/fling/server.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/core/fling/server.c b/test/core/fling/server.c index e4e7ad175cb..5627b246104 100644 --- a/test/core/fling/server.c +++ b/test/core/fling/server.c @@ -101,7 +101,9 @@ int main(int argc, char **argv) { cq = grpc_completion_queue_create(); if (secure) { - grpc_server_credentials *ssl_creds = grpc_ssl_server_credentials_create(NULL, 0, test_server1_key, test_server1_key_size, test_server1_cert, test_server1_cert_size); + grpc_server_credentials *ssl_creds = grpc_ssl_server_credentials_create( + NULL, 0, test_server1_key, test_server1_key_size, test_server1_cert, + test_server1_cert_size); server = grpc_secure_server_create(ssl_creds, cq, NULL); GPR_ASSERT(grpc_server_add_secure_http2_port(server, addr)); } else { From bcfa267b5f2a3443b41879a1b97fe9bf156f0ea3 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 19 Jan 2015 18:23:05 -0800 Subject: [PATCH 078/121] Release server creds --- test/core/fling/server.c | 1 + 1 file changed, 1 insertion(+) diff --git a/test/core/fling/server.c b/test/core/fling/server.c index 5627b246104..d68fbe7c3c1 100644 --- a/test/core/fling/server.c +++ b/test/core/fling/server.c @@ -106,6 +106,7 @@ int main(int argc, char **argv) { test_server1_cert_size); server = grpc_secure_server_create(ssl_creds, cq, NULL); GPR_ASSERT(grpc_server_add_secure_http2_port(server, addr)); + grpc_server_credentials_release(ssl_creds); } else { server = grpc_server_create(cq, NULL); GPR_ASSERT(grpc_server_add_http2_port(server, addr)); From 44a56ce426eb86bd8eb580078b8a8d1f70955aa8 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 19 Jan 2015 18:42:12 -0800 Subject: [PATCH 079/121] Add extern where its required --- src/core/channel/child_channel.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/channel/child_channel.h b/src/core/channel/child_channel.h index 3ba4c1b8a9e..ece0ff99a92 100644 --- a/src/core/channel/child_channel.h +++ b/src/core/channel/child_channel.h @@ -39,7 +39,7 @@ /* helper for filters that need to host child channel stacks... handles lifetime and upwards propagation cleanly */ -const grpc_channel_filter grpc_child_channel_top_filter; +extern const grpc_channel_filter grpc_child_channel_top_filter; typedef grpc_channel_stack grpc_child_channel; typedef grpc_call_stack grpc_child_call; From d4eec90581614f73ce31bef6540aee9cc68d378a Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 19 Jan 2015 20:44:44 -0800 Subject: [PATCH 080/121] Mac Compatibility Fix --- tools/buildgen/generate_projects.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/buildgen/generate_projects.sh b/tools/buildgen/generate_projects.sh index c2e88f77938..2e0636fcbed 100755 --- a/tools/buildgen/generate_projects.sh +++ b/tools/buildgen/generate_projects.sh @@ -32,7 +32,7 @@ for dir in . ; do data=`for i in $json_files; do echo -n "-d $i "; done` if [ $TEST == true ] ; then actual_out=$out - out=`mktemp` + out=`mktemp /tmp/gentXXXXXX` fi $mako_renderer $plugins $data -o $out $file if [ $TEST == true ] ; then From d4eeff8a2d7722e231ab38b5c33f6d1ff9646b09 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 19 Jan 2015 20:51:28 -0800 Subject: [PATCH 081/121] Add ability to test --- tools/buildgen/build-cleaner.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tools/buildgen/build-cleaner.py b/tools/buildgen/build-cleaner.py index 00821cc9cc0..f9307360c32 100755 --- a/tools/buildgen/build-cleaner.py +++ b/tools/buildgen/build-cleaner.py @@ -6,6 +6,8 @@ import json import os import sys +TEST = (os.environ.get('TEST', 'false') == 'true') + _TOP_LEVEL_KEYS = ['settings', 'filegroups', 'libs', 'targets'] _VERSION_KEYS = ['major', 'minor', 'micro', 'build'] _ELEM_KEYS = [ @@ -51,6 +53,11 @@ for filename in sys.argv[1:]: lines = [] for line in output.splitlines(): lines.append(line.rstrip() + '\n') - with open(filename, 'w') as f: - f.write(''.join(lines)) + output = ''.join(lines) + if TEST: + with open(filename) as f: + assert f.read() == output + else: + with open(filename, 'w') as f: + f.write(output) From 996d9dff473c81c9f461a77242f299075694127d Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 19 Jan 2015 21:06:50 -0800 Subject: [PATCH 082/121] Generate projects --- Makefile | 1164 ++++++++++++++++++------------------ tools/run_tests/tests.json | 48 +- 2 files changed, 606 insertions(+), 606 deletions(-) diff --git a/Makefile b/Makefile index 6a1712db18e..1fefcfd09fe 100644 --- a/Makefile +++ b/Makefile @@ -309,18 +309,14 @@ census_stats_store_test: bins/$(CONFIG)/census_stats_store_test census_stub_test: bins/$(CONFIG)/census_stub_test census_trace_store_test: bins/$(CONFIG)/census_trace_store_test census_window_stats_test: bins/$(CONFIG)/census_window_stats_test -channel_arguments_test: bins/$(CONFIG)/channel_arguments_test chttp2_status_conversion_test: bins/$(CONFIG)/chttp2_status_conversion_test chttp2_stream_encoder_test: bins/$(CONFIG)/chttp2_stream_encoder_test chttp2_stream_map_test: bins/$(CONFIG)/chttp2_stream_map_test chttp2_transport_end2end_test: bins/$(CONFIG)/chttp2_transport_end2end_test -cpp_plugin: bins/$(CONFIG)/cpp_plugin -credentials_test: bins/$(CONFIG)/credentials_test dualstack_socket_test: bins/$(CONFIG)/dualstack_socket_test echo_client: bins/$(CONFIG)/echo_client echo_server: bins/$(CONFIG)/echo_server echo_test: bins/$(CONFIG)/echo_test -end2end_test: bins/$(CONFIG)/end2end_test fd_posix_test: bins/$(CONFIG)/fd_posix_test fling_client: bins/$(CONFIG)/fling_client fling_server: bins/$(CONFIG)/fling_server @@ -353,8 +349,6 @@ hpack_table_test: bins/$(CONFIG)/hpack_table_test httpcli_format_request_test: bins/$(CONFIG)/httpcli_format_request_test httpcli_parser_test: bins/$(CONFIG)/httpcli_parser_test httpcli_test: bins/$(CONFIG)/httpcli_test -interop_client: bins/$(CONFIG)/interop_client -interop_server: bins/$(CONFIG)/interop_server lame_client_test: bins/$(CONFIG)/lame_client_test low_level_ping_pong_benchmark: bins/$(CONFIG)/low_level_ping_pong_benchmark message_compress_test: bins/$(CONFIG)/message_compress_test @@ -362,22 +356,28 @@ metadata_buffer_test: bins/$(CONFIG)/metadata_buffer_test murmur_hash_test: bins/$(CONFIG)/murmur_hash_test no_server_test: bins/$(CONFIG)/no_server_test poll_kick_test: bins/$(CONFIG)/poll_kick_test -qps_client: bins/$(CONFIG)/qps_client -qps_server: bins/$(CONFIG)/qps_server resolve_address_test: bins/$(CONFIG)/resolve_address_test -ruby_plugin: bins/$(CONFIG)/ruby_plugin secure_endpoint_test: bins/$(CONFIG)/secure_endpoint_test sockaddr_utils_test: bins/$(CONFIG)/sockaddr_utils_test -status_test: bins/$(CONFIG)/status_test -sync_client_async_server_test: bins/$(CONFIG)/sync_client_async_server_test tcp_client_posix_test: bins/$(CONFIG)/tcp_client_posix_test tcp_posix_test: bins/$(CONFIG)/tcp_posix_test tcp_server_posix_test: bins/$(CONFIG)/tcp_server_posix_test -thread_pool_test: bins/$(CONFIG)/thread_pool_test time_averaged_stats_test: bins/$(CONFIG)/time_averaged_stats_test time_test: bins/$(CONFIG)/time_test timeout_encoding_test: bins/$(CONFIG)/timeout_encoding_test transport_metadata_test: bins/$(CONFIG)/transport_metadata_test +channel_arguments_test: bins/$(CONFIG)/channel_arguments_test +cpp_plugin: bins/$(CONFIG)/cpp_plugin +credentials_test: bins/$(CONFIG)/credentials_test +end2end_test: bins/$(CONFIG)/end2end_test +interop_client: bins/$(CONFIG)/interop_client +interop_server: bins/$(CONFIG)/interop_server +qps_client: bins/$(CONFIG)/qps_client +qps_server: bins/$(CONFIG)/qps_server +ruby_plugin: bins/$(CONFIG)/ruby_plugin +status_test: bins/$(CONFIG)/status_test +sync_client_async_server_test: bins/$(CONFIG)/sync_client_async_server_test +thread_pool_test: bins/$(CONFIG)/thread_pool_test chttp2_fake_security_cancel_after_accept_test: bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test chttp2_fake_security_cancel_after_accept_and_writes_closed_test: bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test chttp2_fake_security_cancel_after_invoke_test: bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test @@ -1662,194 +1662,6 @@ objs/$(CONFIG)/src/core/transport/transport.o: objs/$(CONFIG)/third_party/cJSON/cJSON.o: -LIBGRPC++_SRC = \ - src/cpp/client/channel.cc \ - src/cpp/client/channel_arguments.cc \ - src/cpp/client/client_context.cc \ - src/cpp/client/create_channel.cc \ - src/cpp/client/credentials.cc \ - src/cpp/client/internal_stub.cc \ - src/cpp/common/rpc_method.cc \ - src/cpp/proto/proto_utils.cc \ - src/cpp/server/async_server.cc \ - src/cpp/server/async_server_context.cc \ - src/cpp/server/completion_queue.cc \ - src/cpp/server/server.cc \ - src/cpp/server/server_builder.cc \ - src/cpp/server/server_context_impl.cc \ - src/cpp/server/server_credentials.cc \ - src/cpp/server/server_rpc_handler.cc \ - src/cpp/server/thread_pool.cc \ - src/cpp/stream/stream_context.cc \ - src/cpp/util/status.cc \ - src/cpp/util/time.cc \ - -PUBLIC_HEADERS_CXX += \ - include/grpc++/async_server.h \ - include/grpc++/async_server_context.h \ - include/grpc++/channel_arguments.h \ - include/grpc++/channel_interface.h \ - include/grpc++/client_context.h \ - include/grpc++/completion_queue.h \ - include/grpc++/config.h \ - include/grpc++/create_channel.h \ - include/grpc++/credentials.h \ - include/grpc++/impl/internal_stub.h \ - include/grpc++/impl/rpc_method.h \ - include/grpc++/impl/rpc_service_method.h \ - include/grpc++/server.h \ - include/grpc++/server_builder.h \ - include/grpc++/server_context.h \ - include/grpc++/server_credentials.h \ - include/grpc++/status.h \ - include/grpc++/stream.h \ - include/grpc++/stream_context_interface.h \ - -LIBGRPC++_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure libraries if you don't have OpenSSL with ALPN. - -libs/$(CONFIG)/libgrpc++.a: openssl_dep_error - -ifeq ($(SYSTEM),MINGW32) -libs/$(CONFIG)/grpc++.$(SHARED_EXT): openssl_dep_error -else -libs/$(CONFIG)/libgrpc++.$(SHARED_EXT): openssl_dep_error -endif - -else - -ifneq ($(OPENSSL_DEP),) -src/cpp/client/channel.cc: $(OPENSSL_DEP) -src/cpp/client/channel_arguments.cc: $(OPENSSL_DEP) -src/cpp/client/client_context.cc: $(OPENSSL_DEP) -src/cpp/client/create_channel.cc: $(OPENSSL_DEP) -src/cpp/client/credentials.cc: $(OPENSSL_DEP) -src/cpp/client/internal_stub.cc: $(OPENSSL_DEP) -src/cpp/common/rpc_method.cc: $(OPENSSL_DEP) -src/cpp/proto/proto_utils.cc: $(OPENSSL_DEP) -src/cpp/server/async_server.cc: $(OPENSSL_DEP) -src/cpp/server/async_server_context.cc: $(OPENSSL_DEP) -src/cpp/server/completion_queue.cc: $(OPENSSL_DEP) -src/cpp/server/server.cc: $(OPENSSL_DEP) -src/cpp/server/server_builder.cc: $(OPENSSL_DEP) -src/cpp/server/server_context_impl.cc: $(OPENSSL_DEP) -src/cpp/server/server_credentials.cc: $(OPENSSL_DEP) -src/cpp/server/server_rpc_handler.cc: $(OPENSSL_DEP) -src/cpp/server/thread_pool.cc: $(OPENSSL_DEP) -src/cpp/stream/stream_context.cc: $(OPENSSL_DEP) -src/cpp/util/status.cc: $(OPENSSL_DEP) -src/cpp/util/time.cc: $(OPENSSL_DEP) -endif - -libs/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_OBJS) - $(E) "[AR] Creating $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc++.a $(LIBGRPC++_OBJS) - - - -ifeq ($(SYSTEM),MINGW32) -libs/$(CONFIG)/grpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/grpc.$(SHARED_EXT) $(OPENSSL_DEP) - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/grpc++.def -Wl,--out-implib=libs/$(CONFIG)/libgrpc++-imp.a -o libs/$(CONFIG)/grpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc-imp -else -libs/$(CONFIG)/libgrpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) libs/$(CONFIG)/libgrpc.$(SHARED_EXT) $(OPENSSL_DEP) - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` -ifeq ($(SYSTEM),Darwin) - $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -dynamiclib -o libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc -else - $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,-soname,libgrpc++.so.0 -o libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc - $(Q) ln -sf libgrpc++.$(SHARED_EXT) libs/$(CONFIG)/libgrpc++.so -endif -endif - - -endif - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_OBJS:.o=.dep) -endif -endif - -objs/$(CONFIG)/src/cpp/client/channel.o: -objs/$(CONFIG)/src/cpp/client/channel_arguments.o: -objs/$(CONFIG)/src/cpp/client/client_context.o: -objs/$(CONFIG)/src/cpp/client/create_channel.o: -objs/$(CONFIG)/src/cpp/client/credentials.o: -objs/$(CONFIG)/src/cpp/client/internal_stub.o: -objs/$(CONFIG)/src/cpp/common/rpc_method.o: -objs/$(CONFIG)/src/cpp/proto/proto_utils.o: -objs/$(CONFIG)/src/cpp/server/async_server.o: -objs/$(CONFIG)/src/cpp/server/async_server_context.o: -objs/$(CONFIG)/src/cpp/server/completion_queue.o: -objs/$(CONFIG)/src/cpp/server/server.o: -objs/$(CONFIG)/src/cpp/server/server_builder.o: -objs/$(CONFIG)/src/cpp/server/server_context_impl.o: -objs/$(CONFIG)/src/cpp/server/server_credentials.o: -objs/$(CONFIG)/src/cpp/server/server_rpc_handler.o: -objs/$(CONFIG)/src/cpp/server/thread_pool.o: -objs/$(CONFIG)/src/cpp/stream/stream_context.o: -objs/$(CONFIG)/src/cpp/util/status.o: -objs/$(CONFIG)/src/cpp/util/time.o: - - -LIBGRPC++_TEST_UTIL_SRC = \ - gens/test/cpp/util/echo.pb.cc \ - gens/test/cpp/util/echo_duplicate.pb.cc \ - gens/test/cpp/util/messages.pb.cc \ - test/cpp/end2end/async_test_server.cc \ - test/cpp/util/create_test_channel.cc \ - - -LIBGRPC++_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_TEST_UTIL_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure libraries if you don't have OpenSSL with ALPN. - -libs/$(CONFIG)/libgrpc++_test_util.a: openssl_dep_error - - -else - -ifneq ($(OPENSSL_DEP),) -test/cpp/util/echo.proto: $(OPENSSL_DEP) -test/cpp/util/echo_duplicate.proto: $(OPENSSL_DEP) -test/cpp/util/messages.proto: $(OPENSSL_DEP) -test/cpp/end2end/async_test_server.cc: $(OPENSSL_DEP) -test/cpp/util/create_test_channel.cc: $(OPENSSL_DEP) -endif - -libs/$(CONFIG)/libgrpc++_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) - $(E) "[AR] Creating $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc++_test_util.a $(LIBGRPC++_TEST_UTIL_OBJS) - - - - - -endif - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(LIBGRPC++_TEST_UTIL_OBJS:.o=.dep) -endif -endif - - - - -objs/$(CONFIG)/test/cpp/end2end/async_test_server.o: gens/test/cpp/util/echo.pb.cc gens/test/cpp/util/echo_duplicate.pb.cc gens/test/cpp/util/messages.pb.cc -objs/$(CONFIG)/test/cpp/util/create_test_channel.o: gens/test/cpp/util/echo.pb.cc gens/test/cpp/util/echo_duplicate.pb.cc gens/test/cpp/util/messages.pb.cc - - LIBGRPC_TEST_UTIL_SRC = \ test/core/end2end/cq_verifier.c \ test/core/end2end/data/prod_roots_certs.c \ @@ -2123,11 +1935,199 @@ objs/$(CONFIG)/src/core/transport/transport.o: objs/$(CONFIG)/third_party/cJSON/cJSON.o: -LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC = \ - test/core/end2end/fixtures/chttp2_fake_security.c \ +LIBGRPC++_SRC = \ + src/cpp/client/channel.cc \ + src/cpp/client/channel_arguments.cc \ + src/cpp/client/client_context.cc \ + src/cpp/client/create_channel.cc \ + src/cpp/client/credentials.cc \ + src/cpp/client/internal_stub.cc \ + src/cpp/common/rpc_method.cc \ + src/cpp/proto/proto_utils.cc \ + src/cpp/server/async_server.cc \ + src/cpp/server/async_server_context.cc \ + src/cpp/server/completion_queue.cc \ + src/cpp/server/server.cc \ + src/cpp/server/server_builder.cc \ + src/cpp/server/server_context_impl.cc \ + src/cpp/server/server_credentials.cc \ + src/cpp/server/server_rpc_handler.cc \ + src/cpp/server/thread_pool.cc \ + src/cpp/stream/stream_context.cc \ + src/cpp/util/status.cc \ + src/cpp/util/time.cc \ + +PUBLIC_HEADERS_CXX += \ + include/grpc++/async_server.h \ + include/grpc++/async_server_context.h \ + include/grpc++/channel_arguments.h \ + include/grpc++/channel_interface.h \ + include/grpc++/client_context.h \ + include/grpc++/completion_queue.h \ + include/grpc++/config.h \ + include/grpc++/create_channel.h \ + include/grpc++/credentials.h \ + include/grpc++/impl/internal_stub.h \ + include/grpc++/impl/rpc_method.h \ + include/grpc++/impl/rpc_service_method.h \ + include/grpc++/server.h \ + include/grpc++/server_builder.h \ + include/grpc++/server_context.h \ + include/grpc++/server_credentials.h \ + include/grpc++/status.h \ + include/grpc++/stream.h \ + include/grpc++/stream_context_interface.h \ + +LIBGRPC++_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL with ALPN. + +libs/$(CONFIG)/libgrpc++.a: openssl_dep_error + +ifeq ($(SYSTEM),MINGW32) +libs/$(CONFIG)/grpc++.$(SHARED_EXT): openssl_dep_error +else +libs/$(CONFIG)/libgrpc++.$(SHARED_EXT): openssl_dep_error +endif + +else + +ifneq ($(OPENSSL_DEP),) +src/cpp/client/channel.cc: $(OPENSSL_DEP) +src/cpp/client/channel_arguments.cc: $(OPENSSL_DEP) +src/cpp/client/client_context.cc: $(OPENSSL_DEP) +src/cpp/client/create_channel.cc: $(OPENSSL_DEP) +src/cpp/client/credentials.cc: $(OPENSSL_DEP) +src/cpp/client/internal_stub.cc: $(OPENSSL_DEP) +src/cpp/common/rpc_method.cc: $(OPENSSL_DEP) +src/cpp/proto/proto_utils.cc: $(OPENSSL_DEP) +src/cpp/server/async_server.cc: $(OPENSSL_DEP) +src/cpp/server/async_server_context.cc: $(OPENSSL_DEP) +src/cpp/server/completion_queue.cc: $(OPENSSL_DEP) +src/cpp/server/server.cc: $(OPENSSL_DEP) +src/cpp/server/server_builder.cc: $(OPENSSL_DEP) +src/cpp/server/server_context_impl.cc: $(OPENSSL_DEP) +src/cpp/server/server_credentials.cc: $(OPENSSL_DEP) +src/cpp/server/server_rpc_handler.cc: $(OPENSSL_DEP) +src/cpp/server/thread_pool.cc: $(OPENSSL_DEP) +src/cpp/stream/stream_context.cc: $(OPENSSL_DEP) +src/cpp/util/status.cc: $(OPENSSL_DEP) +src/cpp/util/time.cc: $(OPENSSL_DEP) +endif + +libs/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc++.a $(LIBGRPC++_OBJS) + + + +ifeq ($(SYSTEM),MINGW32) +libs/$(CONFIG)/grpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP)libs/$(CONFIG)/grpc.$(SHARED_EXT) $(OPENSSL_DEP) + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,--output-def=libs/$(CONFIG)/grpc++.def -Wl,--out-implib=libs/$(CONFIG)/libgrpc++-imp.a -o libs/$(CONFIG)/grpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc-imp +else +libs/$(CONFIG)/libgrpc++.$(SHARED_EXT): $(LIBGRPC++_OBJS) $(ZLIB_DEP) libs/$(CONFIG)/libgrpc.$(SHARED_EXT) $(OPENSSL_DEP) + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` +ifeq ($(SYSTEM),Darwin) + $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -dynamiclib -o libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc +else + $(Q) $(LDXX) $(LDFLAGS) -Llibs/$(CONFIG) -shared -Wl,-soname,libgrpc++.so.0 -o libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) $(LIBGRPC++_OBJS) $(LDLIBS) $(LDLIBS_SECURE) $(OPENSSL_MERGE_LIBS) -lgrpc + $(Q) ln -sf libgrpc++.$(SHARED_EXT) libs/$(CONFIG)/libgrpc++.so +endif +endif + + +endif + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(LIBGRPC++_OBJS:.o=.dep) +endif +endif + +objs/$(CONFIG)/src/cpp/client/channel.o: +objs/$(CONFIG)/src/cpp/client/channel_arguments.o: +objs/$(CONFIG)/src/cpp/client/client_context.o: +objs/$(CONFIG)/src/cpp/client/create_channel.o: +objs/$(CONFIG)/src/cpp/client/credentials.o: +objs/$(CONFIG)/src/cpp/client/internal_stub.o: +objs/$(CONFIG)/src/cpp/common/rpc_method.o: +objs/$(CONFIG)/src/cpp/proto/proto_utils.o: +objs/$(CONFIG)/src/cpp/server/async_server.o: +objs/$(CONFIG)/src/cpp/server/async_server_context.o: +objs/$(CONFIG)/src/cpp/server/completion_queue.o: +objs/$(CONFIG)/src/cpp/server/server.o: +objs/$(CONFIG)/src/cpp/server/server_builder.o: +objs/$(CONFIG)/src/cpp/server/server_context_impl.o: +objs/$(CONFIG)/src/cpp/server/server_credentials.o: +objs/$(CONFIG)/src/cpp/server/server_rpc_handler.o: +objs/$(CONFIG)/src/cpp/server/thread_pool.o: +objs/$(CONFIG)/src/cpp/stream/stream_context.o: +objs/$(CONFIG)/src/cpp/util/status.o: +objs/$(CONFIG)/src/cpp/util/time.o: + + +LIBGRPC++_TEST_UTIL_SRC = \ + gens/test/cpp/util/echo.pb.cc \ + gens/test/cpp/util/echo_duplicate.pb.cc \ + gens/test/cpp/util/messages.pb.cc \ + test/cpp/end2end/async_test_server.cc \ + test/cpp/util/create_test_channel.cc \ + + +LIBGRPC++_TEST_UTIL_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_TEST_UTIL_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL with ALPN. + +libs/$(CONFIG)/libgrpc++_test_util.a: openssl_dep_error + + +else + +ifneq ($(OPENSSL_DEP),) +test/cpp/util/echo.proto: $(OPENSSL_DEP) +test/cpp/util/echo_duplicate.proto: $(OPENSSL_DEP) +test/cpp/util/messages.proto: $(OPENSSL_DEP) +test/cpp/end2end/async_test_server.cc: $(OPENSSL_DEP) +test/cpp/util/create_test_channel.cc: $(OPENSSL_DEP) +endif + +libs/$(CONFIG)/libgrpc++_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc++_test_util.a $(LIBGRPC++_TEST_UTIL_OBJS) + -LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC)))) + + +endif + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(LIBGRPC++_TEST_UTIL_OBJS:.o=.dep) +endif +endif + + + + +objs/$(CONFIG)/test/cpp/end2end/async_test_server.o: gens/test/cpp/util/echo.pb.cc gens/test/cpp/util/echo_duplicate.pb.cc gens/test/cpp/util/messages.pb.cc +objs/$(CONFIG)/test/cpp/util/create_test_channel.o: gens/test/cpp/util/echo.pb.cc gens/test/cpp/util/echo_duplicate.pb.cc gens/test/cpp/util/messages.pb.cc + + +LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC = \ + test/core/end2end/fixtures/chttp2_fake_security.c \ + + +LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC)))) ifeq ($(NO_SECURE),true) @@ -3358,37 +3358,6 @@ endif endif -CHANNEL_ARGUMENTS_TEST_SRC = \ - test/cpp/client/channel_arguments_test.cc \ - -CHANNEL_ARGUMENTS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHANNEL_ARGUMENTS_TEST_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL with ALPN. - -bins/$(CONFIG)/channel_arguments_test: openssl_dep_error - -else - -bins/$(CONFIG)/channel_arguments_test: $(CHANNEL_ARGUMENTS_TEST_OBJS) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CHANNEL_ARGUMENTS_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/channel_arguments_test - -endif - -objs/$(CONFIG)/test/cpp/client/channel_arguments_test.o: libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(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 - - CHTTP2_STATUS_CONVERSION_TEST_SRC = \ test/core/transport/chttp2/status_conversion_test.c \ @@ -3513,58 +3482,6 @@ endif endif -CPP_PLUGIN_SRC = \ - src/compiler/cpp_generator.cc \ - src/compiler/cpp_plugin.cc \ - -CPP_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CPP_PLUGIN_SRC)))) - -bins/$(CONFIG)/cpp_plugin: $(CPP_PLUGIN_OBJS) - $(E) "[HOSTLD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(CPP_PLUGIN_OBJS) $(HOST_LDLIBSXX) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o bins/$(CONFIG)/cpp_plugin - -objs/$(CONFIG)/src/compiler/cpp_generator.o: -objs/$(CONFIG)/src/compiler/cpp_plugin.o: - -deps_cpp_plugin: $(CPP_PLUGIN_OBJS:.o=.dep) - -ifneq ($(NO_DEPS),true) --include $(CPP_PLUGIN_OBJS:.o=.dep) -endif - - -CREDENTIALS_TEST_SRC = \ - test/cpp/client/credentials_test.cc \ - -CREDENTIALS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CREDENTIALS_TEST_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL with ALPN. - -bins/$(CONFIG)/credentials_test: openssl_dep_error - -else - -bins/$(CONFIG)/credentials_test: $(CREDENTIALS_TEST_OBJS) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(CREDENTIALS_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/credentials_test - -endif - -objs/$(CONFIG)/test/cpp/client/credentials_test.o: libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a - -deps_credentials_test: $(CREDENTIALS_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(CREDENTIALS_TEST_OBJS:.o=.dep) -endif -endif - - DUALSTACK_SOCKET_TEST_SRC = \ test/core/end2end/dualstack_socket_test.c \ @@ -3689,70 +3606,39 @@ endif endif -END2END_TEST_SRC = \ - test/cpp/end2end/end2end_test.cc \ +FD_POSIX_TEST_SRC = \ + test/core/iomgr/fd_posix_test.c \ -END2END_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(END2END_TEST_SRC)))) +FD_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FD_POSIX_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL with ALPN. -bins/$(CONFIG)/end2end_test: openssl_dep_error +bins/$(CONFIG)/fd_posix_test: openssl_dep_error else -bins/$(CONFIG)/end2end_test: $(END2END_TEST_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +bins/$(CONFIG)/fd_posix_test: $(FD_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(END2END_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/end2end_test + $(Q) $(LD) $(LDFLAGS) $(FD_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/fd_posix_test endif -objs/$(CONFIG)/test/cpp/end2end/end2end_test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/core/iomgr/fd_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -deps_end2end_test: $(END2END_TEST_OBJS:.o=.dep) +deps_fd_posix_test: $(FD_POSIX_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(END2END_TEST_OBJS:.o=.dep) +-include $(FD_POSIX_TEST_OBJS:.o=.dep) endif endif -FD_POSIX_TEST_SRC = \ - test/core/iomgr/fd_posix_test.c \ - -FD_POSIX_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FD_POSIX_TEST_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL with ALPN. - -bins/$(CONFIG)/fd_posix_test: openssl_dep_error - -else - -bins/$(CONFIG)/fd_posix_test: $(FD_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(FD_POSIX_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/fd_posix_test - -endif - -objs/$(CONFIG)/test/core/iomgr/fd_posix_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - -deps_fd_posix_test: $(FD_POSIX_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(FD_POSIX_TEST_OBJS:.o=.dep) -endif -endif - - -FLING_CLIENT_SRC = \ - test/core/fling/client.c \ +FLING_CLIENT_SRC = \ + test/core/fling/client.c \ FLING_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(FLING_CLIENT_SRC)))) @@ -4712,80 +4598,6 @@ endif endif -INTEROP_CLIENT_SRC = \ - gens/test/cpp/interop/empty.pb.cc \ - gens/test/cpp/interop/messages.pb.cc \ - gens/test/cpp/interop/test.pb.cc \ - test/cpp/interop/client.cc \ - -INTEROP_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_CLIENT_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL with ALPN. - -bins/$(CONFIG)/interop_client: openssl_dep_error - -else - -bins/$(CONFIG)/interop_client: $(INTEROP_CLIENT_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(INTEROP_CLIENT_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/interop_client - -endif - -objs/$(CONFIG)/test/cpp/interop/empty.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/interop/messages.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/interop/test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/interop/client.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - -deps_interop_client: $(INTEROP_CLIENT_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(INTEROP_CLIENT_OBJS:.o=.dep) -endif -endif - - -INTEROP_SERVER_SRC = \ - gens/test/cpp/interop/empty.pb.cc \ - gens/test/cpp/interop/messages.pb.cc \ - gens/test/cpp/interop/test.pb.cc \ - test/cpp/interop/server.cc \ - -INTEROP_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_SERVER_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL with ALPN. - -bins/$(CONFIG)/interop_server: openssl_dep_error - -else - -bins/$(CONFIG)/interop_server: $(INTEROP_SERVER_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(INTEROP_SERVER_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/interop_server - -endif - -objs/$(CONFIG)/test/cpp/interop/empty.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/interop/messages.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/interop/test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/interop/server.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - -deps_interop_server: $(INTEROP_SERVER_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(INTEROP_SERVER_OBJS:.o=.dep) -endif -endif - - LAME_CLIENT_TEST_SRC = \ test/core/surface/lame_client_test.c \ @@ -5003,72 +4815,6 @@ endif endif -QPS_CLIENT_SRC = \ - gens/test/cpp/qps/qpstest.pb.cc \ - test/cpp/qps/client.cc \ - -QPS_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_CLIENT_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL with ALPN. - -bins/$(CONFIG)/qps_client: openssl_dep_error - -else - -bins/$(CONFIG)/qps_client: $(QPS_CLIENT_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(QPS_CLIENT_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/qps_client - -endif - -objs/$(CONFIG)/test/cpp/qps/qpstest.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/qps/client.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - -deps_qps_client: $(QPS_CLIENT_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(QPS_CLIENT_OBJS:.o=.dep) -endif -endif - - -QPS_SERVER_SRC = \ - gens/test/cpp/qps/qpstest.pb.cc \ - test/cpp/qps/server.cc \ - -QPS_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_SERVER_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL with ALPN. - -bins/$(CONFIG)/qps_server: openssl_dep_error - -else - -bins/$(CONFIG)/qps_server: $(QPS_SERVER_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(QPS_SERVER_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/qps_server - -endif - -objs/$(CONFIG)/test/cpp/qps/qpstest.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a -objs/$(CONFIG)/test/cpp/qps/server.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - -deps_qps_server: $(QPS_SERVER_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(QPS_SERVER_OBJS:.o=.dep) -endif -endif - - RESOLVE_ADDRESS_TEST_SRC = \ test/core/iomgr/resolve_address_test.c \ @@ -5100,27 +4846,6 @@ endif endif -RUBY_PLUGIN_SRC = \ - src/compiler/ruby_generator.cc \ - src/compiler/ruby_plugin.cc \ - -RUBY_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(RUBY_PLUGIN_SRC)))) - -bins/$(CONFIG)/ruby_plugin: $(RUBY_PLUGIN_OBJS) - $(E) "[HOSTLD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(RUBY_PLUGIN_OBJS) $(HOST_LDLIBSXX) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o bins/$(CONFIG)/ruby_plugin - -objs/$(CONFIG)/src/compiler/ruby_generator.o: -objs/$(CONFIG)/src/compiler/ruby_plugin.o: - -deps_ruby_plugin: $(RUBY_PLUGIN_OBJS:.o=.dep) - -ifneq ($(NO_DEPS),true) --include $(RUBY_PLUGIN_OBJS:.o=.dep) -endif - - SECURE_ENDPOINT_TEST_SRC = \ test/core/security/secure_endpoint_test.c \ @@ -5183,68 +4908,6 @@ endif endif -STATUS_TEST_SRC = \ - test/cpp/util/status_test.cc \ - -STATUS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(STATUS_TEST_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL with ALPN. - -bins/$(CONFIG)/status_test: openssl_dep_error - -else - -bins/$(CONFIG)/status_test: $(STATUS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(STATUS_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/status_test - -endif - -objs/$(CONFIG)/test/cpp/util/status_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - -deps_status_test: $(STATUS_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(STATUS_TEST_OBJS:.o=.dep) -endif -endif - - -SYNC_CLIENT_ASYNC_SERVER_TEST_SRC = \ - test/cpp/end2end/sync_client_async_server_test.cc \ - -SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SYNC_CLIENT_ASYNC_SERVER_TEST_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL with ALPN. - -bins/$(CONFIG)/sync_client_async_server_test: openssl_dep_error - -else - -bins/$(CONFIG)/sync_client_async_server_test: $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/sync_client_async_server_test - -endif - -objs/$(CONFIG)/test/cpp/end2end/sync_client_async_server_test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - -deps_sync_client_async_server_test: $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS:.o=.dep) -endif -endif - - TCP_CLIENT_POSIX_TEST_SRC = \ test/core/iomgr/tcp_client_posix_test.c \ @@ -5338,37 +5001,6 @@ endif endif -THREAD_POOL_TEST_SRC = \ - test/cpp/server/thread_pool_test.cc \ - -THREAD_POOL_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(THREAD_POOL_TEST_SRC)))) - -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL with ALPN. - -bins/$(CONFIG)/thread_pool_test: openssl_dep_error - -else - -bins/$(CONFIG)/thread_pool_test: $(THREAD_POOL_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LDXX) $(LDFLAGS) $(THREAD_POOL_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/thread_pool_test - -endif - -objs/$(CONFIG)/test/cpp/server/thread_pool_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a - -deps_thread_pool_test: $(THREAD_POOL_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(THREAD_POOL_TEST_OBJS:.o=.dep) -endif -endif - - TIME_AVERAGED_STATS_TEST_SRC = \ test/core/iomgr/time_averaged_stats_test.c \ @@ -5493,6 +5125,374 @@ endif endif +CHANNEL_ARGUMENTS_TEST_SRC = \ + test/cpp/client/channel_arguments_test.cc \ + +CHANNEL_ARGUMENTS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHANNEL_ARGUMENTS_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/channel_arguments_test: openssl_dep_error + +else + +bins/$(CONFIG)/channel_arguments_test: $(CHANNEL_ARGUMENTS_TEST_OBJS) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(CHANNEL_ARGUMENTS_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/channel_arguments_test + +endif + +objs/$(CONFIG)/test/cpp/client/channel_arguments_test.o: libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(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 + + +CPP_PLUGIN_SRC = \ + src/compiler/cpp_generator.cc \ + src/compiler/cpp_plugin.cc \ + +CPP_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CPP_PLUGIN_SRC)))) + +bins/$(CONFIG)/cpp_plugin: $(CPP_PLUGIN_OBJS) + $(E) "[HOSTLD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(CPP_PLUGIN_OBJS) $(HOST_LDLIBSXX) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o bins/$(CONFIG)/cpp_plugin + +objs/$(CONFIG)/src/compiler/cpp_generator.o: +objs/$(CONFIG)/src/compiler/cpp_plugin.o: + +deps_cpp_plugin: $(CPP_PLUGIN_OBJS:.o=.dep) + +ifneq ($(NO_DEPS),true) +-include $(CPP_PLUGIN_OBJS:.o=.dep) +endif + + +CREDENTIALS_TEST_SRC = \ + test/cpp/client/credentials_test.cc \ + +CREDENTIALS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CREDENTIALS_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/credentials_test: openssl_dep_error + +else + +bins/$(CONFIG)/credentials_test: $(CREDENTIALS_TEST_OBJS) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(CREDENTIALS_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/credentials_test + +endif + +objs/$(CONFIG)/test/cpp/client/credentials_test.o: libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr.a + +deps_credentials_test: $(CREDENTIALS_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(CREDENTIALS_TEST_OBJS:.o=.dep) +endif +endif + + +END2END_TEST_SRC = \ + test/cpp/end2end/end2end_test.cc \ + +END2END_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(END2END_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/end2end_test: openssl_dep_error + +else + +bins/$(CONFIG)/end2end_test: $(END2END_TEST_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(END2END_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/end2end_test + +endif + +objs/$(CONFIG)/test/cpp/end2end/end2end_test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_end2end_test: $(END2END_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(END2END_TEST_OBJS:.o=.dep) +endif +endif + + +INTEROP_CLIENT_SRC = \ + gens/test/cpp/interop/empty.pb.cc \ + gens/test/cpp/interop/messages.pb.cc \ + gens/test/cpp/interop/test.pb.cc \ + test/cpp/interop/client.cc \ + +INTEROP_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_CLIENT_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/interop_client: openssl_dep_error + +else + +bins/$(CONFIG)/interop_client: $(INTEROP_CLIENT_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(INTEROP_CLIENT_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/interop_client + +endif + +objs/$(CONFIG)/test/cpp/interop/empty.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/messages.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/client.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_interop_client: $(INTEROP_CLIENT_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(INTEROP_CLIENT_OBJS:.o=.dep) +endif +endif + + +INTEROP_SERVER_SRC = \ + gens/test/cpp/interop/empty.pb.cc \ + gens/test/cpp/interop/messages.pb.cc \ + gens/test/cpp/interop/test.pb.cc \ + test/cpp/interop/server.cc \ + +INTEROP_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(INTEROP_SERVER_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/interop_server: openssl_dep_error + +else + +bins/$(CONFIG)/interop_server: $(INTEROP_SERVER_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(INTEROP_SERVER_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/interop_server + +endif + +objs/$(CONFIG)/test/cpp/interop/empty.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/messages.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/interop/server.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_interop_server: $(INTEROP_SERVER_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(INTEROP_SERVER_OBJS:.o=.dep) +endif +endif + + +QPS_CLIENT_SRC = \ + gens/test/cpp/qps/qpstest.pb.cc \ + test/cpp/qps/client.cc \ + +QPS_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_CLIENT_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/qps_client: openssl_dep_error + +else + +bins/$(CONFIG)/qps_client: $(QPS_CLIENT_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(QPS_CLIENT_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/qps_client + +endif + +objs/$(CONFIG)/test/cpp/qps/qpstest.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/qps/client.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_qps_client: $(QPS_CLIENT_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(QPS_CLIENT_OBJS:.o=.dep) +endif +endif + + +QPS_SERVER_SRC = \ + gens/test/cpp/qps/qpstest.pb.cc \ + test/cpp/qps/server.cc \ + +QPS_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(QPS_SERVER_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/qps_server: openssl_dep_error + +else + +bins/$(CONFIG)/qps_server: $(QPS_SERVER_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(QPS_SERVER_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/qps_server + +endif + +objs/$(CONFIG)/test/cpp/qps/qpstest.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a +objs/$(CONFIG)/test/cpp/qps/server.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_qps_server: $(QPS_SERVER_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(QPS_SERVER_OBJS:.o=.dep) +endif +endif + + +RUBY_PLUGIN_SRC = \ + src/compiler/ruby_generator.cc \ + src/compiler/ruby_plugin.cc \ + +RUBY_PLUGIN_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(RUBY_PLUGIN_SRC)))) + +bins/$(CONFIG)/ruby_plugin: $(RUBY_PLUGIN_OBJS) + $(E) "[HOSTLD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(HOST_LDXX) $(HOST_LDFLAGS) $(RUBY_PLUGIN_OBJS) $(HOST_LDLIBSXX) $(HOST_LDLIBS) $(HOST_LDLIBS_PROTOC) -o bins/$(CONFIG)/ruby_plugin + +objs/$(CONFIG)/src/compiler/ruby_generator.o: +objs/$(CONFIG)/src/compiler/ruby_plugin.o: + +deps_ruby_plugin: $(RUBY_PLUGIN_OBJS:.o=.dep) + +ifneq ($(NO_DEPS),true) +-include $(RUBY_PLUGIN_OBJS:.o=.dep) +endif + + +STATUS_TEST_SRC = \ + test/cpp/util/status_test.cc \ + +STATUS_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(STATUS_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/status_test: openssl_dep_error + +else + +bins/$(CONFIG)/status_test: $(STATUS_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(STATUS_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/status_test + +endif + +objs/$(CONFIG)/test/cpp/util/status_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_status_test: $(STATUS_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(STATUS_TEST_OBJS:.o=.dep) +endif +endif + + +SYNC_CLIENT_ASYNC_SERVER_TEST_SRC = \ + test/cpp/end2end/sync_client_async_server_test.cc \ + +SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(SYNC_CLIENT_ASYNC_SERVER_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/sync_client_async_server_test: openssl_dep_error + +else + +bins/$(CONFIG)/sync_client_async_server_test: $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/sync_client_async_server_test + +endif + +objs/$(CONFIG)/test/cpp/end2end/sync_client_async_server_test.o: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_sync_client_async_server_test: $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(SYNC_CLIENT_ASYNC_SERVER_TEST_OBJS:.o=.dep) +endif +endif + + +THREAD_POOL_TEST_SRC = \ + test/cpp/server/thread_pool_test.cc \ + +THREAD_POOL_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(THREAD_POOL_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/thread_pool_test: openssl_dep_error + +else + +bins/$(CONFIG)/thread_pool_test: $(THREAD_POOL_TEST_OBJS) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(THREAD_POOL_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/thread_pool_test + +endif + +objs/$(CONFIG)/test/cpp/server/thread_pool_test.o: libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_thread_pool_test: $(THREAD_POOL_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(THREAD_POOL_TEST_OBJS:.o=.dep) +endif +endif + + CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_SRC = \ CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(CHTTP2_FAKE_SECURITY_CANCEL_AFTER_ACCEPT_TEST_SRC)))) diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index a064a7259d6..ec838649e00 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -53,10 +53,6 @@ "language": "c", "name": "census_window_stats_test" }, - { - "language": "c++", - "name": "channel_arguments_test" - }, { "language": "c", "name": "chttp2_status_conversion_test" @@ -73,10 +69,6 @@ "language": "c", "name": "chttp2_transport_end2end_test" }, - { - "language": "c++", - "name": "credentials_test" - }, { "language": "c", "name": "dualstack_socket_test" @@ -85,10 +77,6 @@ "language": "c", "name": "echo_test" }, - { - "language": "c++", - "name": "end2end_test" - }, { "language": "c", "name": "fd_posix_test" @@ -233,14 +221,6 @@ "language": "c", "name": "sockaddr_utils_test" }, - { - "language": "c++", - "name": "status_test" - }, - { - "language": "c++", - "name": "sync_client_async_server_test" - }, { "language": "c", "name": "tcp_client_posix_test" @@ -253,10 +233,6 @@ "language": "c", "name": "tcp_server_posix_test" }, - { - "language": "c++", - "name": "thread_pool_test" - }, { "language": "c", "name": "time_averaged_stats_test" @@ -273,6 +249,30 @@ "language": "c", "name": "transport_metadata_test" }, + { + "language": "c++", + "name": "channel_arguments_test" + }, + { + "language": "c++", + "name": "credentials_test" + }, + { + "language": "c++", + "name": "end2end_test" + }, + { + "language": "c++", + "name": "status_test" + }, + { + "language": "c++", + "name": "sync_client_async_server_test" + }, + { + "language": "c++", + "name": "thread_pool_test" + }, { "language": "c", "name": "chttp2_fake_security_cancel_after_accept_test" From 7d1a19af2694c27ec5e86809b5188c546b3f8a03 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Tue, 20 Jan 2015 15:59:43 -0800 Subject: [PATCH 083/121] Added interop client and server --- src/node/client.js | 1 + src/node/package.json | 2 +- src/node/surface_client.js | 1 + src/node/test/interop_sanity_test.js | 69 ++++++++++++++++++++++++++++ 4 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 src/node/test/interop_sanity_test.js diff --git a/src/node/client.js b/src/node/client.js index edaa115d0fc..e3e9fec026a 100644 --- a/src/node/client.js +++ b/src/node/client.js @@ -115,6 +115,7 @@ function GrpcClientStream(call, options) { }, function(event) { self.emit('metadata', event.data); }, function(event) { + debugger; self.emit('status', event.data); }, 0); this.on('finish', function() { diff --git a/src/node/package.json b/src/node/package.json index 7051f1c8491..dde43f82175 100644 --- a/src/node/package.json +++ b/src/node/package.json @@ -14,7 +14,7 @@ }, "devDependencies": { "mocha": "~1.21.0", - "highland": "~2.0.0" + "minimist": "^1.1.0" }, "main": "main.js" } diff --git a/src/node/surface_client.js b/src/node/surface_client.js index 996e3d101fc..84af774b9c8 100644 --- a/src/node/surface_client.js +++ b/src/node/surface_client.js @@ -52,6 +52,7 @@ var util = require('util'); function forwardEvent(fromEmitter, toEmitter, event) { fromEmitter.on(event, function forward() { + debugger; _.partial(toEmitter.emit, event).apply(toEmitter, arguments); }); } diff --git a/src/node/test/interop_sanity_test.js b/src/node/test/interop_sanity_test.js new file mode 100644 index 00000000000..99e5fa1e047 --- /dev/null +++ b/src/node/test/interop_sanity_test.js @@ -0,0 +1,69 @@ +/* + * + * Copyright 2014, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +var interop_server = require('../interop/interop_server.js'); +var interop_client = require('../interop/interop_client.js'); + +var port_picker = require('../port_picker'); + +var server; + +var port; + +describe('Interop tests', function() { + before(function(done) { + port_picker.nextAvailablePort(function(addr) { + server = interop_server.getServer(addr.substring(addr.indexOf(':') + 1)); + port = addr; + done(); + }); + }); + it.only('should pass empty_unary', function(done) { + interop_client.runTest(port, null, 'empty_unary', false, done); + }); + it('should pass large_unary', function(done) { + interop_client.runTest(port, null, 'large_unary', false, done); + }); + it('should pass client_streaming', function(done) { + interop_client.runTest(port, null, 'client_streaming', false, done); + }); + it('should pass server_streaming', function(done) { + interop_client.runTest(port, null, 'server_streaming', false, done); + }); + it('should pass ping_pong', function(done) { + interop_client.runTest(port, null, 'ping_pong', false, done); + }); + it('should pass empty_stream', function(done) { + interop_client.runTest(port, null, 'empty_stream', false, done); + }); +}); From fd99dd34757d6d517dfd2271a5a1952f11cf5ad6 Mon Sep 17 00:00:00 2001 From: David Klempner Date: Tue, 20 Jan 2015 17:18:39 -0800 Subject: [PATCH 084/121] Cap the size of the poll kick freelist. This caps the size of the poll kick freelist at the arbitrary value of 25. --- src/core/iomgr/pollset_kick_posix.c | 30 ++++++++++++++++++++++------- test/core/iomgr/poll_kick_test.c | 30 +++++++++++++++++++++++++---- 2 files changed, 49 insertions(+), 11 deletions(-) diff --git a/src/core/iomgr/pollset_kick_posix.c b/src/core/iomgr/pollset_kick_posix.c index d16e49e4595..9f85b6137af 100644 --- a/src/core/iomgr/pollset_kick_posix.c +++ b/src/core/iomgr/pollset_kick_posix.c @@ -43,6 +43,9 @@ /* This implementation is based on a freelist of pipes. */ +#define GRPC_MAX_CACHED_PIPES 50 +#define GRPC_PIPE_LOW_WATERMARK 25 + typedef struct grpc_kick_pipe_info { int pipe_read_fd; int pipe_write_fd; @@ -50,14 +53,16 @@ typedef struct grpc_kick_pipe_info { } grpc_kick_pipe_info; static grpc_kick_pipe_info *pipe_freelist = NULL; +static int pipe_freelist_count = 0; static gpr_mu pipe_freelist_mu; -static grpc_kick_pipe_info *allocate_pipe() { +static grpc_kick_pipe_info *allocate_pipe(void) { grpc_kick_pipe_info *info; gpr_mu_lock(&pipe_freelist_mu); if (pipe_freelist != NULL) { info = pipe_freelist; pipe_freelist = pipe_freelist->next; + --pipe_freelist_count; } else { int pipefd[2]; /* TODO(klempner): Make this nonfatal */ @@ -73,11 +78,26 @@ static grpc_kick_pipe_info *allocate_pipe() { return info; } +static void destroy_pipe(void) { + /* assumes pipe_freelist_mu is held */ + grpc_kick_pipe_info *current = pipe_freelist; + pipe_freelist = pipe_freelist->next; + pipe_freelist_count--; + close(current->pipe_read_fd); + close(current->pipe_write_fd); + gpr_free(current); +} + static void free_pipe(grpc_kick_pipe_info *pipe_info) { - /* TODO(klempner): Start closing pipes if the free list gets too large */ gpr_mu_lock(&pipe_freelist_mu); pipe_info->next = pipe_freelist; pipe_freelist = pipe_info; + pipe_freelist_count++; + if (pipe_freelist_count > GRPC_MAX_CACHED_PIPES) { + while (pipe_freelist_count > GRPC_PIPE_LOW_WATERMARK) { + destroy_pipe(); + } + } gpr_mu_unlock(&pipe_freelist_mu); } @@ -88,11 +108,7 @@ void grpc_pollset_kick_global_init() { void grpc_pollset_kick_global_destroy() { while (pipe_freelist != NULL) { - grpc_kick_pipe_info *current = pipe_freelist; - pipe_freelist = pipe_freelist->next; - close(current->pipe_read_fd); - close(current->pipe_write_fd); - gpr_free(current); + destroy_pipe(); } gpr_mu_destroy(&pipe_freelist_mu); } diff --git a/test/core/iomgr/poll_kick_test.c b/test/core/iomgr/poll_kick_test.c index 9f0d0f38b3b..c30a7b9ee0a 100644 --- a/test/core/iomgr/poll_kick_test.c +++ b/test/core/iomgr/poll_kick_test.c @@ -33,16 +33,17 @@ #include "src/core/iomgr/pollset_kick.h" +#include #include #include "test/core/util/test_config.h" -static void test_allocation() { +static void test_allocation(void) { grpc_pollset_kick_state state; grpc_pollset_kick_init(&state); grpc_pollset_kick_destroy(&state); } -static void test_non_kick() { +static void test_non_kick(void) { grpc_pollset_kick_state state; int fd; @@ -54,7 +55,7 @@ static void test_non_kick() { grpc_pollset_kick_destroy(&state); } -static void test_basic_kick() { +static void test_basic_kick(void) { /* Kicked during poll */ grpc_pollset_kick_state state; int fd; @@ -73,7 +74,7 @@ static void test_basic_kick() { grpc_pollset_kick_destroy(&state); } -static void test_non_poll_kick() { +static void test_non_poll_kick(void) { /* Kick before entering poll */ grpc_pollset_kick_state state; int fd; @@ -86,6 +87,26 @@ static void test_non_poll_kick() { grpc_pollset_kick_destroy(&state); } +#define GRPC_MAX_CACHED_PIPES 50 + +static void test_over_free(void) { + /* Check high watermark pipe free logic */ + int i; + struct grpc_pollset_kick_state *kick_state = + gpr_malloc(sizeof(grpc_pollset_kick_state) * GRPC_MAX_CACHED_PIPES); + for (i = 0; i < GRPC_MAX_CACHED_PIPES; ++i) { + int fd; + grpc_pollset_kick_init(&kick_state[i]); + fd = grpc_pollset_kick_pre_poll(&kick_state[i]); + GPR_ASSERT(fd >= 0); + } + + for (i = 0; i < GRPC_MAX_CACHED_PIPES; ++i) { + grpc_pollset_kick_post_poll(&kick_state[i]); + grpc_pollset_kick_destroy(&kick_state[i]); + } +} + int main(int argc, char **argv) { grpc_test_init(argc, argv); @@ -95,6 +116,7 @@ int main(int argc, char **argv) { test_basic_kick(); test_non_poll_kick(); test_non_kick(); + test_over_free(); grpc_pollset_kick_global_destroy(); return 0; From 97d61308f0d5f15e555c5e5da52973480b8f3cf4 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Tue, 20 Jan 2015 18:06:43 -0800 Subject: [PATCH 085/121] Added and fixed interop tests --- src/node/client.js | 7 +- src/node/interop/empty.proto | 19 +++ src/node/interop/interop_client.js | 218 +++++++++++++++++++++++++++ src/node/interop/interop_client.js~ | 34 +++++ src/node/interop/interop_server.js | 144 ++++++++++++++++++ src/node/interop/interop_server.js~ | 53 +++++++ src/node/interop/messages.proto | 94 ++++++++++++ src/node/interop/test.proto | 42 ++++++ src/node/interop/test.proto~ | 42 ++++++ src/node/main.js | 2 +- src/node/server.js | 1 + src/node/surface_client.js | 1 - src/node/test/interop_sanity_test.js | 7 +- 13 files changed, 658 insertions(+), 6 deletions(-) create mode 100644 src/node/interop/empty.proto create mode 100644 src/node/interop/interop_client.js create mode 100644 src/node/interop/interop_client.js~ create mode 100644 src/node/interop/interop_server.js create mode 100644 src/node/interop/interop_server.js~ create mode 100644 src/node/interop/messages.proto create mode 100644 src/node/interop/test.proto create mode 100644 src/node/interop/test.proto~ diff --git a/src/node/client.js b/src/node/client.js index e3e9fec026a..6649c1ed680 100644 --- a/src/node/client.js +++ b/src/node/client.js @@ -115,11 +115,14 @@ function GrpcClientStream(call, options) { }, function(event) { self.emit('metadata', event.data); }, function(event) { - debugger; self.emit('status', event.data); }, 0); this.on('finish', function() { - call.writesDone(function() {}); + try { + call.writesDone(function() {}); + } catch (e) { + debugger; + } }); /** * Indicate that reads should start, and start them if the INVOKE_ACCEPTED diff --git a/src/node/interop/empty.proto b/src/node/interop/empty.proto new file mode 100644 index 00000000000..c9920a22eec --- /dev/null +++ b/src/node/interop/empty.proto @@ -0,0 +1,19 @@ +syntax = "proto2"; + +package grpc.testing; + +// An empty message that you can re-use to avoid defining duplicated empty +// messages in your project. A typical example is to use it as argument or the +// return value of a service API. For instance: +// +// service Foo { +// rpc Bar (grpc.testing.Empty) returns (grpc.testing.Empty) { }; +// }; +// +// MOE:begin_strip +// The difference between this one and net/rpc/empty-message.proto is that +// 1) The generated message here is in proto2 C++ API. +// 2) The proto2.Empty has minimum dependencies +// (no message_set or net/rpc dependencies) +// MOE:end_strip +message Empty {} diff --git a/src/node/interop/interop_client.js b/src/node/interop/interop_client.js new file mode 100644 index 00000000000..7cacf83cb99 --- /dev/null +++ b/src/node/interop/interop_client.js @@ -0,0 +1,218 @@ +/* + * + * Copyright 2014, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +var grpc = require('..'); +var testProto = grpc.load(__dirname + '/test.proto').grpc.testing; + +var assert = require('assert'); + +function zeroBuffer(size) { + var zeros = new Buffer(size); + zeros.fill(0); + return zeros; +} + +function emptyUnary(client, done) { + var call = client.emptyCall({}, function(err, resp) { + assert.ifError(err); + }); + call.on('status', function(status) { + assert.strictEqual(status.code, grpc.status.OK); + if (done) { + done(); + } + }); +} + +function largeUnary(client, done) { + var arg = { + response_type: testProto.PayloadType.COMPRESSABLE, + response_size: 314159, + payload: { + body: zeroBuffer(271828) + } + }; + var call = client.unaryCall(arg, function(err, resp) { + assert.ifError(err); + assert.strictEqual(resp.payload.type, testProto.PayloadType.COMPRESSABLE); + assert.strictEqual(resp.payload.body.limit - resp.payload.body.offset, + 314159); + }); + call.on('status', function(status) { + assert.strictEqual(status.code, grpc.status.OK); + if (done) { + done(); + } + }); +} + +function clientStreaming(client, done) { + var call = client.streamingInputCall(function(err, resp) { + assert.ifError(err); + assert.strictEqual(resp.aggregated_payload_size, 74922); + }); + call.on('status', function(status) { + assert.strictEqual(status.code, grpc.status.OK); + if (done) { + done(); + } + }); + var payload_sizes = [27182, 8, 1828, 45904]; + for (var i = 0; i < payload_sizes.length; i++) { + call.write({payload: {body: zeroBuffer(payload_sizes[i])}}); + } + call.end(); +} + +function serverStreaming(client, done) { + var arg = { + response_type: testProto.PayloadType.COMPRESSABLE, + response_parameters: [ + {size: 31415}, + {size: 9}, + {size: 2653}, + {size: 58979} + ] + }; + var call = client.streamingOutputCall(arg); + var resp_index = 0; + call.on('data', function(value) { + assert(resp_index < 4); + assert.strictEqual(value.payload.type, testProto.PayloadType.COMPRESSABLE); + assert.strictEqual(value.payload.body.limit - value.payload.body.offset, + arg.response_parameters[resp_index].size); + resp_index += 1; + }); + call.on('status', function(status) { + assert.strictEqual(resp_index, 4); + assert.strictEqual(status.code, grpc.status.OK); + if (done) { + done(); + } + }); +} + +function pingPong(client, done) { + var payload_sizes = [27182, 8, 1828, 45904]; + var response_sizes = [31415, 9, 2653, 58979]; + var call = client.fullDuplexCall(); + call.on('status', function(status) { + assert.strictEqual(status.code, grpc.status.OK); + if (done) { + done(); + } + }); + var index = 0; + call.write({ + response_type: testProto.PayloadType.COMPRESSABLE, + response_parameters: [ + {size: response_sizes[index]} + ], + payload: {body: zeroBuffer(payload_sizes[index])} + }); + call.on('data', function(response) { + assert.strictEqual(response.payload.type, + testProto.PayloadType.COMPRESSABLE); + assert.equal(response.payload.body.limit - response.payload.body.offset, + response_sizes[index]); + index += 1; + if (index == 4) { + call.end(); + } else { + call.write({ + response_type: testProto.PayloadType.COMPRESSABLE, + response_parameters: [ + {size: response_sizes[index]} + ], + payload: {body: zeroBuffer(payload_sizes[index])} + }); + } + }); +} + +function emptyStream(client, done) { + var call = client.fullDuplexCall(); + call.on('status', function(status) { + assert.strictEqual(status.code, grpc.status.OK); + if (done) { + done(); + } + }); + call.on('data', function(value) { + assert.fail(value, null, 'No data should have been received', '!=='); + }); + call.end(); +} + +var test_cases = { + empty_unary: emptyUnary, + large_unary: largeUnary, + client_streaming: clientStreaming, + server_streaming: serverStreaming, + ping_pong: pingPong, + empty_stream: emptyStream +}; + +/** + * Execute a single test case. + * @param {string} address The address of the server to connect to, in the + * format "hostname:port" + * @param {string} host_overrirde The hostname of the server to use as an SSL + * override + * @param {string} test_case The name of the test case to run + * @param {bool} tls Indicates that a secure channel should be used + * @param {function} done Callback to call when the test is completed. Included + * primarily for use with mocha + */ +function runTest(address, host_override, test_case, tls, done) { + // TODO(mlumish): enable TLS functionality + // TODO(mlumish): fix namespaces and service name + var client = new testProto.TestService(address); + + test_cases[test_case](client, done); +} + +if (require.main === module) { + var parseArgs = require('minimist'); + var argv = parseArgs(process.argv, { + string: ['server_host', 'server_host_override', 'server_port', 'test_case', + 'use_tls', 'use_test_ca'] + }); + runTest(argv.server_host + ':' + argv.server_port, argv.server_host_override, + argv.test_case, argv.use_tls === 'true'); +} + +/** + * See docs for runTest + */ +exports.runTest = runTest; diff --git a/src/node/interop/interop_client.js~ b/src/node/interop/interop_client.js~ new file mode 100644 index 00000000000..c22879702df --- /dev/null +++ b/src/node/interop/interop_client.js~ @@ -0,0 +1,34 @@ +/* + * + * Copyright 2014, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +var grpc = require('..'); diff --git a/src/node/interop/interop_server.js b/src/node/interop/interop_server.js new file mode 100644 index 00000000000..3eb663c1d5f --- /dev/null +++ b/src/node/interop/interop_server.js @@ -0,0 +1,144 @@ +/* + * + * Copyright 2014, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +var _ = require('underscore'); +var grpc = require('..'); +var testProto = grpc.load(__dirname + '/test.proto').grpc.testing; +var Server = grpc.buildServer([testProto.TestService.service]); + +function zeroBuffer(size) { + var zeros = new Buffer(size); + zeros.fill(0); + return zeros; +} + +function handleEmpty(call, callback) { + callback(null, {}); +} + +function handleUnary(call, callback) { + var req = call.request; + var zeros = zeroBuffer(req.response_size); + var payload_type = req.response_type; + if (payload_type === testProto.PayloadType.RANDOM) { + payload_type = [ + testProto.PayloadType.COMPRESSABLE, + testProto.PayloadType.UNCOMPRESSABLE][Math.random() < 0.5 ? 0 : 1]; + } + callback(null, {payload: {type: payload_type, body: zeros}}); +} + +function handleStreamingInput(call, callback) { + var aggregate_size = 0; + call.on('data', function(value) { + aggregate_size += value.payload.body.limit - value.payload.body.offset; + }); + call.on('end', function() { + callback(null, {aggregated_payload_size: aggregate_size}); + }); +} + +function handleStreamingOutput(call) { + var req = call.request; + var payload_type = req.response_type; + if (payload_type === testProto.PayloadType.RANDOM) { + payload_type = [ + testProto.PayloadType.COMPRESSABLE, + testProto.PayloadType.UNCOMPRESSABLE][Math.random() < 0.5 ? 0 : 1]; + } + _.each(req.response_parameters, function(resp_param) { + call.write({ + payload: { + body: zeroBuffer(resp_param.size), + type: payload_type + } + }); + }); + call.end(); +} + +function handleFullDuplex(call) { + call.on('data', function(value) { + var payload_type = value.response_type; + if (payload_type === testProto.PayloadType.RANDOM) { + payload_type = [ + testProto.PayloadType.COMPRESSABLE, + testProto.PayloadType.UNCOMPRESSABLE][Math.random() < 0.5 ? 0 : 1]; + } + _.each(value.response_parameters, function(resp_param) { + call.write({ + payload: { + body: zeroBuffer(resp_param.size), + type: payload_type + } + }); + }); + }); + call.on('end', function() { + call.end(); + }); +} + +function handleHalfDuplex(call) { + throw new Error('HalfDuplexCall not yet implemented'); +} + +function getServer(port, tls) { + // TODO(mlumish): enable TLS functionality + var server = new Server({ + 'grpc.testing.TestService' : { + emptyCall: handleEmpty, + unaryCall: handleUnary, + streamingOutputCall: handleStreamingOutput, + streamingInputCall: handleStreamingInput, + fullDuplexCall: handleFullDuplex, + halfDuplexCall: handleHalfDuplex + } + }); + server.bind('0.0.0.0:' + port); + return server; +} + +if (require.main === module) { + var parseArgs = require('minimist'); + var argv = parseArgs(process.argv, { + string: ['port', 'use_tls'] + }); + var server = getServer(argv.port, argv.use_tls === 'true'); + server.start(); +} + +/** + * See docs for getServer + */ +exports.getServer = getServer; diff --git a/src/node/interop/interop_server.js~ b/src/node/interop/interop_server.js~ new file mode 100644 index 00000000000..7250fa7eece --- /dev/null +++ b/src/node/interop/interop_server.js~ @@ -0,0 +1,53 @@ +/* + * + * Copyright 2014, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +var grpc = require('..'); +var testProto = grpc.load('test.proto').grpc.testing; +var Server = grpc.buildServer([testProto.TestService.Service]); + +function handleEmpty(call, callback) { + callback(null, {}); +} + +function handleUnary(call, callback) { + var req = call.request; + var zeros = new Buffer(req.response_size); + zeros.fill(0); + var payload_type = req.response_type; + if (payload_type === testProto.PayloadType.RANDOM) { + payload_type = [ + testProto.PayloadType.COMPRESSABLE, + testProto.PayloadType.UNCOMPRESSABLE][Math.random() < 0.5 ? 0 : 1]; + } + callback(null, {payload: {type: payload_type, body: zeros}}); +} diff --git a/src/node/interop/messages.proto b/src/node/interop/messages.proto new file mode 100644 index 00000000000..29db0dd8b1a --- /dev/null +++ b/src/node/interop/messages.proto @@ -0,0 +1,94 @@ +// Message definitions to be used by integration test service definitions. + +syntax = "proto2"; + +package grpc.testing; + +// The type of payload that should be returned. +enum PayloadType { + // Compressable text format. + COMPRESSABLE = 0; + + // Uncompressable binary format. + UNCOMPRESSABLE = 1; + + // Randomly chosen from all other formats defined in this enum. + RANDOM = 2; +} + +// A block of data, to simply increase gRPC message size. +message Payload { + // The type of data in body. + optional PayloadType type = 1; + // Primary contents of payload. + optional bytes body = 2; +} + +// Unary request. +message SimpleRequest { + // Desired payload type in the response from the server. + // If response_type is RANDOM, server randomly chooses one from other formats. + optional PayloadType response_type = 1; + + // Desired payload size in the response from the server. + // If response_type is COMPRESSABLE, this denotes the size before compression. + optional int32 response_size = 2; + + // Optional input payload sent along with the request. + optional Payload payload = 3; +} + +// Unary response, as configured by the request. +message SimpleResponse { + // Payload to increase message size. + optional Payload payload = 1; + // The user the request came from, for verifying authentication was + // successful when the client expected it. + optional int64 effective_gaia_user_id = 2; +} + +// Client-streaming request. +message StreamingInputCallRequest { + // Optional input payload sent along with the request. + optional Payload payload = 1; + + // Not expecting any payload from the response. +} + +// Client-streaming response. +message StreamingInputCallResponse { + // Aggregated size of payloads received from the client. + optional int32 aggregated_payload_size = 1; +} + +// Configuration for a particular response. +message ResponseParameters { + // Desired payload sizes in responses from the server. + // If response_type is COMPRESSABLE, this denotes the size before compression. + optional int32 size = 1; + + // Desired interval between consecutive responses in the response stream in + // microseconds. + optional int32 interval_us = 2; +} + +// Server-streaming request. +message StreamingOutputCallRequest { + // Desired payload type in the response from the server. + // If response_type is RANDOM, the payload from each response in the stream + // might be of different types. This is to simulate a mixed type of payload + // stream. + optional PayloadType response_type = 1; + + // Configuration for each expected response message. + repeated ResponseParameters response_parameters = 2; + + // Optional input payload sent along with the request. + optional Payload payload = 3; +} + +// Server-streaming response, as configured by the request and parameters. +message StreamingOutputCallResponse { + // Payload to increase response size. + optional Payload payload = 1; +} diff --git a/src/node/interop/test.proto b/src/node/interop/test.proto new file mode 100644 index 00000000000..8380ebb31de --- /dev/null +++ b/src/node/interop/test.proto @@ -0,0 +1,42 @@ +// An integration test service that covers all the method signature permutations +// of unary/streaming requests/responses. +syntax = "proto2"; + +import "empty.proto"; +import "messages.proto"; + +package grpc.testing; + +// A simple service to test the various types of RPCs and experiment with +// performance with various types of payload. +service TestService { + // One empty request followed by one empty response. + rpc EmptyCall(grpc.testing.Empty) returns (grpc.testing.Empty); + + // One request followed by one response. + // The server returns the client payload as-is. + rpc UnaryCall(SimpleRequest) returns (SimpleResponse); + + // One request followed by a sequence of responses (streamed download). + // The server returns the payload with client desired type and sizes. + rpc StreamingOutputCall(StreamingOutputCallRequest) + returns (stream StreamingOutputCallResponse); + + // A sequence of requests followed by one response (streamed upload). + // The server returns the aggregated size of client payload as the result. + rpc StreamingInputCall(stream StreamingInputCallRequest) + returns (StreamingInputCallResponse); + + // A sequence of requests with each request served by the server immediately. + // As one request could lead to multiple responses, this interface + // demonstrates the idea of full duplexing. + rpc FullDuplexCall(stream StreamingOutputCallRequest) + returns (stream StreamingOutputCallResponse); + + // A sequence of requests followed by a sequence of responses. + // The server buffers all the client requests and then serves them in order. A + // stream of responses are returned to the client when the server starts with + // first request. + rpc HalfDuplexCall(stream StreamingOutputCallRequest) + returns (stream StreamingOutputCallResponse); +} diff --git a/src/node/interop/test.proto~ b/src/node/interop/test.proto~ new file mode 100644 index 00000000000..e358f3bea5b --- /dev/null +++ b/src/node/interop/test.proto~ @@ -0,0 +1,42 @@ +// An integration test service that covers all the method signature permutations +// of unary/streaming requests/responses. +syntax = "proto2"; + +import "test/cpp/interop/empty.proto"; +import "test/cpp/interop/messages.proto"; + +package grpc.testing; + +// A simple service to test the various types of RPCs and experiment with +// performance with various types of payload. +service TestService { + // One empty request followed by one empty response. + rpc EmptyCall(grpc.testing.Empty) returns (grpc.testing.Empty); + + // One request followed by one response. + // The server returns the client payload as-is. + rpc UnaryCall(SimpleRequest) returns (SimpleResponse); + + // One request followed by a sequence of responses (streamed download). + // The server returns the payload with client desired type and sizes. + rpc StreamingOutputCall(StreamingOutputCallRequest) + returns (stream StreamingOutputCallResponse); + + // A sequence of requests followed by one response (streamed upload). + // The server returns the aggregated size of client payload as the result. + rpc StreamingInputCall(stream StreamingInputCallRequest) + returns (StreamingInputCallResponse); + + // A sequence of requests with each request served by the server immediately. + // As one request could lead to multiple responses, this interface + // demonstrates the idea of full duplexing. + rpc FullDuplexCall(stream StreamingOutputCallRequest) + returns (stream StreamingOutputCallResponse); + + // A sequence of requests followed by a sequence of responses. + // The server buffers all the client requests and then serves them in order. A + // stream of responses are returned to the client when the server starts with + // first request. + rpc HalfDuplexCall(stream StreamingOutputCallRequest) + returns (stream StreamingOutputCallResponse); +} diff --git a/src/node/main.js b/src/node/main.js index a8dfa200245..024806bf613 100644 --- a/src/node/main.js +++ b/src/node/main.js @@ -55,7 +55,7 @@ function loadObject(value) { return result; } else if (value.className === 'Service') { return surface_client.makeClientConstructor(value); - } else if (value.className === 'Service.Message') { + } else if (value.className === 'Message' || value.className === 'Enum') { return value.build(); } else { return value; diff --git a/src/node/server.js b/src/node/server.js index e947032b297..8f6f7504c0c 100644 --- a/src/node/server.js +++ b/src/node/server.js @@ -193,6 +193,7 @@ function Server(options) { * @param {grpc.Event} event The event to handle with tag SERVER_RPC_NEW */ function handleNewCall(event) { + debugger; var call = event.call; var data = event.data; if (data == null) { diff --git a/src/node/surface_client.js b/src/node/surface_client.js index 84af774b9c8..996e3d101fc 100644 --- a/src/node/surface_client.js +++ b/src/node/surface_client.js @@ -52,7 +52,6 @@ var util = require('util'); function forwardEvent(fromEmitter, toEmitter, event) { fromEmitter.on(event, function forward() { - debugger; _.partial(toEmitter.emit, event).apply(toEmitter, arguments); }); } diff --git a/src/node/test/interop_sanity_test.js b/src/node/test/interop_sanity_test.js index 99e5fa1e047..08ee1af77a2 100644 --- a/src/node/test/interop_sanity_test.js +++ b/src/node/test/interop_sanity_test.js @@ -44,11 +44,13 @@ describe('Interop tests', function() { before(function(done) { port_picker.nextAvailablePort(function(addr) { server = interop_server.getServer(addr.substring(addr.indexOf(':') + 1)); + server.listen(); port = addr; done(); }); }); - it.only('should pass empty_unary', function(done) { + // This depends on not using a binary stream + it.skip('should pass empty_unary', function(done) { interop_client.runTest(port, null, 'empty_unary', false, done); }); it('should pass large_unary', function(done) { @@ -63,7 +65,8 @@ describe('Interop tests', function() { it('should pass ping_pong', function(done) { interop_client.runTest(port, null, 'ping_pong', false, done); }); - it('should pass empty_stream', function(done) { + // This depends on the new invoke API + it.skip('should pass empty_stream', function(done) { interop_client.runTest(port, null, 'empty_stream', false, done); }); }); From 621d0b98bfcd67ce1b1114ff3ec5f919c19cc0e3 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Tue, 20 Jan 2015 18:07:04 -0800 Subject: [PATCH 086/121] Removed temp files --- src/node/interop/interop_client.js~ | 34 ------------------ src/node/interop/interop_server.js~ | 53 ----------------------------- src/node/interop/test.proto~ | 42 ----------------------- 3 files changed, 129 deletions(-) delete mode 100644 src/node/interop/interop_client.js~ delete mode 100644 src/node/interop/interop_server.js~ delete mode 100644 src/node/interop/test.proto~ diff --git a/src/node/interop/interop_client.js~ b/src/node/interop/interop_client.js~ deleted file mode 100644 index c22879702df..00000000000 --- a/src/node/interop/interop_client.js~ +++ /dev/null @@ -1,34 +0,0 @@ -/* - * - * Copyright 2014, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -var grpc = require('..'); diff --git a/src/node/interop/interop_server.js~ b/src/node/interop/interop_server.js~ deleted file mode 100644 index 7250fa7eece..00000000000 --- a/src/node/interop/interop_server.js~ +++ /dev/null @@ -1,53 +0,0 @@ -/* - * - * Copyright 2014, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -var grpc = require('..'); -var testProto = grpc.load('test.proto').grpc.testing; -var Server = grpc.buildServer([testProto.TestService.Service]); - -function handleEmpty(call, callback) { - callback(null, {}); -} - -function handleUnary(call, callback) { - var req = call.request; - var zeros = new Buffer(req.response_size); - zeros.fill(0); - var payload_type = req.response_type; - if (payload_type === testProto.PayloadType.RANDOM) { - payload_type = [ - testProto.PayloadType.COMPRESSABLE, - testProto.PayloadType.UNCOMPRESSABLE][Math.random() < 0.5 ? 0 : 1]; - } - callback(null, {payload: {type: payload_type, body: zeros}}); -} diff --git a/src/node/interop/test.proto~ b/src/node/interop/test.proto~ deleted file mode 100644 index e358f3bea5b..00000000000 --- a/src/node/interop/test.proto~ +++ /dev/null @@ -1,42 +0,0 @@ -// An integration test service that covers all the method signature permutations -// of unary/streaming requests/responses. -syntax = "proto2"; - -import "test/cpp/interop/empty.proto"; -import "test/cpp/interop/messages.proto"; - -package grpc.testing; - -// A simple service to test the various types of RPCs and experiment with -// performance with various types of payload. -service TestService { - // One empty request followed by one empty response. - rpc EmptyCall(grpc.testing.Empty) returns (grpc.testing.Empty); - - // One request followed by one response. - // The server returns the client payload as-is. - rpc UnaryCall(SimpleRequest) returns (SimpleResponse); - - // One request followed by a sequence of responses (streamed download). - // The server returns the payload with client desired type and sizes. - rpc StreamingOutputCall(StreamingOutputCallRequest) - returns (stream StreamingOutputCallResponse); - - // A sequence of requests followed by one response (streamed upload). - // The server returns the aggregated size of client payload as the result. - rpc StreamingInputCall(stream StreamingInputCallRequest) - returns (StreamingInputCallResponse); - - // A sequence of requests with each request served by the server immediately. - // As one request could lead to multiple responses, this interface - // demonstrates the idea of full duplexing. - rpc FullDuplexCall(stream StreamingOutputCallRequest) - returns (stream StreamingOutputCallResponse); - - // A sequence of requests followed by a sequence of responses. - // The server buffers all the client requests and then serves them in order. A - // stream of responses are returned to the client when the server starts with - // first request. - rpc HalfDuplexCall(stream StreamingOutputCallRequest) - returns (stream StreamingOutputCallResponse); -} From 6d10bda989f41d88746aa1b7e760707d71a49407 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Tue, 20 Jan 2015 18:07:46 -0800 Subject: [PATCH 087/121] Added emacs temp files to .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 3efc25aafb1..63332d1b16b 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,5 @@ coverage # cache for run_tests.py .run_tests_cache +# emacs temp files +*~ \ No newline at end of file From 5de3a1de25faa558c49e619a222dae0e2e44fe98 Mon Sep 17 00:00:00 2001 From: Tim Emiola Date: Tue, 20 Jan 2015 18:16:04 -0800 Subject: [PATCH 088/121] Corrects the ruby interop tests - they were not returning the correct payload type --- src/ruby/bin/interop/interop_client.rb | 16 +++++++++------- src/ruby/bin/interop/interop_server.rb | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/ruby/bin/interop/interop_client.rb b/src/ruby/bin/interop/interop_client.rb index 0ce10d9e30b..0ea7f376bea 100755 --- a/src/ruby/bin/interop/interop_client.rb +++ b/src/ruby/bin/interop/interop_client.rb @@ -107,11 +107,11 @@ class PingPongPlayer @msg_sizes.each do |m| req_size, resp_size = m req = req_cls.new(payload: Payload.new(body: nulls(req_size)), - response_type: COMPRESSABLE, + response_type: :COMPRESSABLE, response_parameters: [p_cls.new(size: resp_size)]) yield req resp = @queue.pop - assert_equal(PayloadType.lookup(COMPRESSABLE), resp.payload.type, + assert_equal(:COMPRESSABLE, resp.payload.type, 'payload type is wrong') assert_equal(resp_size, resp.payload.body.length, 'payload body #{i} has the wrong length') @@ -149,11 +149,13 @@ class NamedTests # FAILED def large_unary req_size, wanted_response_size = 271_828, 314_159 - payload = Payload.new(type: COMPRESSABLE, body: nulls(req_size)) - req = SimpleRequest.new(response_type: COMPRESSABLE, + payload = Payload.new(type: :COMPRESSABLE, body: nulls(req_size)) + req = SimpleRequest.new(response_type: :COMPRESSABLE, response_size: wanted_response_size, payload: payload) resp = @stub.unary_call(req) + assert_equal(:COMPRESSABLE, resp.payload.type, + 'large_unary: payload had the wrong type') assert_equal(wanted_response_size, resp.payload.body.length, 'large_unary: payload had the wrong length') assert_equal(nulls(wanted_response_size), resp.payload.body, @@ -185,12 +187,12 @@ class NamedTests def server_streaming msg_sizes = [31_415, 9, 2653, 58_979] response_spec = msg_sizes.map { |s| ResponseParameters.new(size: s) } - req = StreamingOutputCallRequest.new(response_type: COMPRESSABLE, + req = StreamingOutputCallRequest.new(response_type: :COMPRESSABLE, response_parameters: response_spec) resps = @stub.streaming_output_call(req) resps.each_with_index do |r, i| assert i < msg_sizes.length, 'too many responses' - assert_equal(PayloadType.lookup(COMPRESSABLE), r.payload.type, + assert_equal(:COMPRESSABLE, r.payload.type, 'payload type is wrong') assert_equal(msg_sizes[i], r.payload.body.length, 'payload body #{i} has the wrong length') @@ -235,7 +237,7 @@ def parse_options end end.parse! - %w(server_host, server_port, test_case).each do |arg| + %w(server_host server_port test_case).each do |arg| if options[arg].nil? fail(OptionParser::MissingArgument, "please specify --#{arg}") end diff --git a/src/ruby/bin/interop/interop_server.rb b/src/ruby/bin/interop/interop_server.rb index 9273dcdf911..1a08eb97dfe 100755 --- a/src/ruby/bin/interop/interop_server.rb +++ b/src/ruby/bin/interop/interop_server.rb @@ -104,7 +104,7 @@ class TestTarget < Grpc::Testing::TestService::Service def unary_call(simple_req, _call) req_size = simple_req.response_size - SimpleResponse.new(payload: Payload.new(type: COMPRESSABLE, + SimpleResponse.new(payload: Payload.new(type: :COMPRESSABLE, body: nulls(req_size))) end From 8fbcc4391ef8ea178520f2e15c07a505621244a6 Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Thu, 15 Jan 2015 16:44:13 -0800 Subject: [PATCH 089/121] Changing the SSL (Server) Credentials API. - Changed the unsigned char * + size to NULL terminated strings which makes sense for the PEM format. I may change TSI later (but the impact will hopefully be much more limited). - Added a way to pass multiple key/cert pairs to servers which is needed when hosting more than one domain. - Removed the C++ SSL credentials tests as we are going to have an option to not specify the roots which will then be derived from the environment (well-known platform dependent locations and/or environment variable). - Fixed the php build which is the only one added in the run_test.py. This change will certainly break node, python and ruby. --- include/grpc++/server_credentials.h | 8 +- include/grpc/grpc_security.h | 56 +++++---- src/core/security/credentials.c | 113 +++++++++++++----- src/core/security/credentials.h | 13 +- src/core/security/security_context.c | 19 ++- src/core/security/security_context.h | 2 +- src/cpp/client/credentials.cc | 22 +--- src/cpp/server/server_credentials.cc | 23 ++-- src/php/ext/grpc/credentials.c | 13 +- src/php/ext/grpc/server_credentials.c | 14 +-- test/core/end2end/data/prod_roots_certs.c | 5 +- test/core/end2end/data/server1_cert.c | 5 +- test/core/end2end/data/server1_key.c | 5 +- test/core/end2end/data/ssl_test_data.h | 12 +- test/core/end2end/data/test_root_cert.c | 5 +- .../fixtures/chttp2_simple_ssl_fullstack.c | 11 +- .../chttp2_simple_ssl_with_oauth2_fullstack.c | 10 +- test/core/fling/server.c | 7 +- test/core/security/credentials_test.c | 10 +- test/cpp/client/credentials_test.cc | 9 -- test/cpp/interop/server.cc | 6 +- test/cpp/util/create_test_channel.cc | 7 +- 22 files changed, 191 insertions(+), 184 deletions(-) diff --git a/include/grpc++/server_credentials.h b/include/grpc++/server_credentials.h index cf08870f424..91504ae0ae3 100644 --- a/include/grpc++/server_credentials.h +++ b/include/grpc++/server_credentials.h @@ -35,6 +35,7 @@ #define __GRPCPP_SERVER_CREDENTIALS_H_ #include +#include #include @@ -60,9 +61,12 @@ class ServerCredentials final { // Options to create ServerCredentials with SSL struct SslServerCredentialsOptions { + struct PemKeyCertPair{ + grpc::string private_key; + grpc::string cert_chain; + }; grpc::string pem_root_certs; - grpc::string pem_private_key; - grpc::string pem_cert_chain; + std::vector pem_key_cert_pairs; }; // Factory for building different types of ServerCredentials diff --git a/include/grpc/grpc_security.h b/include/grpc/grpc_security.h index 644b31f763b..440aa9b563a 100644 --- a/include/grpc/grpc_security.h +++ b/include/grpc/grpc_security.h @@ -54,22 +54,26 @@ void grpc_credentials_release(grpc_credentials *creds); /* Creates default credentials. */ grpc_credentials *grpc_default_credentials_create(void); +/* Object that holds a private key / certificate chain pair in PEM format. */ +typedef struct { + /* private_key is the NULL-terminated string containing the PEM encoding of + the client's private key. */ + const char *private_key; + + /* cert_chain is the NULL-terminated string containing the PEM encoding of + the client's certificate chain. */ + const char *cert_chain; +} grpc_ssl_pem_key_cert_pair; + /* Creates an SSL credentials object. - - pem_roots_cert is the buffer containing the PEM encoding of the server - root certificates. This parameter cannot be NULL. - - pem_roots_cert_size is the size of the associated buffer. - - pem_private_key is the buffer containing the PEM encoding of the client's - private key. This parameter can be NULL if the client does not have a - private key. - - pem_private_key_size is the size of the associated buffer. - - pem_cert_chain is the buffer containing the PEM encoding of the client's - certificate chain. This parameter can be NULL if the client does not have - a certificate chain. - - pem_cert_chain_size is the size of the associated buffer. */ + - pem_roots_cert is the NULL-terminated string containing the PEM encoding + of the server root certificates. If this parameter is NULL, the default + roots will be used. + - pem_key_cert_pair is a pointer on the object containing client's private + key and certificate chain. This parameter can be NULL if the client does + not have such a key/cert pair. */ grpc_credentials *grpc_ssl_credentials_create( - const unsigned char *pem_root_certs, size_t pem_root_certs_size, - const unsigned char *pem_private_key, size_t pem_private_key_size, - const unsigned char *pem_cert_chain, size_t pem_cert_chain_size); + const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair); /* Creates a composite credentials object. */ grpc_credentials *grpc_composite_credentials_create(grpc_credentials *creds1, @@ -130,22 +134,16 @@ typedef struct grpc_server_credentials grpc_server_credentials; void grpc_server_credentials_release(grpc_server_credentials *creds); /* Creates an SSL server_credentials object. - TODO(jboeuf): Change the constructor so that it can support multiple - key/cert pairs. - - pem_roots_cert is the buffer containing the PEM encoding of the server - root certificates. This parameter may be NULL if the server does not want - the client to be authenticated with SSL. - - pem_roots_cert_size is the size of the associated buffer. - - pem_private_key is the buffer containing the PEM encoding of the client's - private key. This parameter cannot be NULL. - - pem_private_key_size is the size of the associated buffer. - - pem_cert_chain is the buffer containing the PEM encoding of the client's - certificate chain. This parameter cannot be NULL. - - pem_cert_chain_size is the size of the associated buffer. */ + - pem_roots_cert is the NULL-terminated string containing the PEM encoding of + the client root certificates. This parameter may be NULL if the server does + not want the client to be authenticated with SSL. + - pem_key_cert_pairs is an array private key / certificate chains of the + server. This parameter cannot be NULL. + - num_key_cert_pairs indicates the number of items in the private_key_files + and cert_chain_files parameters. It should be at least 1. */ grpc_server_credentials *grpc_ssl_server_credentials_create( - const unsigned char *pem_root_certs, size_t pem_root_certs_size, - const unsigned char *pem_private_key, size_t pem_private_key_size, - const unsigned char *pem_cert_chain, size_t pem_cert_chain_size); + const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, + size_t num_key_cert_pairs); /* Creates a fake server transport security credentials object for testing. */ grpc_server_credentials *grpc_fake_transport_security_server_credentials_create( diff --git a/src/core/security/credentials.c b/src/core/security/credentials.c index 006d863e27b..628963e46cd 100644 --- a/src/core/security/credentials.c +++ b/src/core/security/credentials.c @@ -139,7 +139,7 @@ typedef struct { typedef struct { grpc_server_credentials base; - grpc_ssl_config config; + grpc_ssl_server_config config; } grpc_ssl_server_credentials; static void ssl_destroy(grpc_credentials *creds) { @@ -152,9 +152,24 @@ static void ssl_destroy(grpc_credentials *creds) { static void ssl_server_destroy(grpc_server_credentials *creds) { grpc_ssl_server_credentials *c = (grpc_ssl_server_credentials *)creds; + size_t i; + for (i = 0; i < c->config.num_key_cert_pairs; i++) { + if (c->config.pem_private_keys[i] != NULL) { + gpr_free(c->config.pem_private_keys[i]); + } + if (c->config.pem_cert_chains[i]!= NULL) { + gpr_free(c->config.pem_cert_chains[i]); + } + } + if (c->config.pem_private_keys != NULL) gpr_free(c->config.pem_private_keys); + if (c->config.pem_private_keys_sizes != NULL) { + gpr_free(c->config.pem_private_keys_sizes); + } + if (c->config.pem_cert_chains != NULL) gpr_free(c->config.pem_cert_chains); + if (c->config.pem_cert_chains_sizes != NULL) { + gpr_free(c->config.pem_cert_chains_sizes); + } if (c->config.pem_root_certs != NULL) gpr_free(c->config.pem_root_certs); - if (c->config.pem_private_key != NULL) gpr_free(c->config.pem_private_key); - if (c->config.pem_cert_chain != NULL) gpr_free(c->config.pem_cert_chain); gpr_free(creds); } @@ -179,7 +194,7 @@ const grpc_ssl_config *grpc_ssl_credentials_get_config( } } -const grpc_ssl_config *grpc_ssl_server_credentials_get_config( +const grpc_ssl_server_config *grpc_ssl_server_credentials_get_config( const grpc_server_credentials *creds) { if (creds == NULL || strcmp(creds->type, GRPC_CREDENTIALS_TYPE_SSL)) { return NULL; @@ -189,57 +204,89 @@ const grpc_ssl_config *grpc_ssl_server_credentials_get_config( } } -static void ssl_build_config(const unsigned char *pem_root_certs, - size_t pem_root_certs_size, - const unsigned char *pem_private_key, - size_t pem_private_key_size, - const unsigned char *pem_cert_chain, - size_t pem_cert_chain_size, +static void ssl_copy_key_material(const char *input, unsigned char **output, + size_t *output_size) { + *output_size = strlen(input); + *output = gpr_malloc(*output_size); + memcpy(*output, input, *output_size); +} + +static void ssl_build_config(const char *pem_root_certs, + grpc_ssl_pem_key_cert_pair *pem_key_cert_pair, grpc_ssl_config *config) { + if (pem_root_certs == NULL) { + /* TODO(jboeuf): Get them from the environment. */ + gpr_log(GPR_ERROR, "Default SSL roots not yet implemented."); + } else { + ssl_copy_key_material(pem_root_certs, &config->pem_root_certs, + &config->pem_root_certs_size); + } + + if (pem_key_cert_pair != NULL) { + GPR_ASSERT(pem_key_cert_pair->private_key != NULL); + GPR_ASSERT(pem_key_cert_pair->cert_chain != NULL); + ssl_copy_key_material(pem_key_cert_pair->private_key, + &config->pem_private_key, + &config->pem_private_key_size); + ssl_copy_key_material(pem_key_cert_pair->cert_chain, + &config->pem_cert_chain, + &config->pem_cert_chain_size); + } +} + +static void ssl_build_server_config( + const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, + size_t num_key_cert_pairs, grpc_ssl_server_config *config) { + size_t i; if (pem_root_certs != NULL) { - config->pem_root_certs = gpr_malloc(pem_root_certs_size); - memcpy(config->pem_root_certs, pem_root_certs, pem_root_certs_size); - config->pem_root_certs_size = pem_root_certs_size; + ssl_copy_key_material(pem_root_certs, &config->pem_root_certs, + &config->pem_root_certs_size); } - if (pem_private_key != NULL) { - config->pem_private_key = gpr_malloc(pem_private_key_size); - memcpy(config->pem_private_key, pem_private_key, pem_private_key_size); - config->pem_private_key_size = pem_private_key_size; + if (num_key_cert_pairs > 0) { + GPR_ASSERT(pem_key_cert_pairs != NULL); + config->pem_private_keys = + gpr_malloc(num_key_cert_pairs * sizeof(unsigned char *)); + config->pem_cert_chains = + gpr_malloc(num_key_cert_pairs * sizeof(unsigned char *)); + config->pem_private_keys_sizes = + gpr_malloc(num_key_cert_pairs * sizeof(size_t)); + config->pem_cert_chains_sizes = + gpr_malloc(num_key_cert_pairs * sizeof(size_t)); } - if (pem_cert_chain != NULL) { - config->pem_cert_chain = gpr_malloc(pem_cert_chain_size); - memcpy(config->pem_cert_chain, pem_cert_chain, pem_cert_chain_size); - config->pem_cert_chain_size = pem_cert_chain_size; + config->num_key_cert_pairs = num_key_cert_pairs; + for (i = 0; i < num_key_cert_pairs; i++) { + GPR_ASSERT(pem_key_cert_pairs[i].private_key != NULL); + GPR_ASSERT(pem_key_cert_pairs[i].cert_chain != NULL); + ssl_copy_key_material(pem_key_cert_pairs[i].private_key, + &config->pem_private_keys[i], + &config->pem_private_keys_sizes[i]); + ssl_copy_key_material(pem_key_cert_pairs[i].cert_chain, + &config->pem_cert_chains[i], + &config->pem_cert_chains_sizes[i]); } } grpc_credentials *grpc_ssl_credentials_create( - const unsigned char *pem_root_certs, size_t pem_root_certs_size, - const unsigned char *pem_private_key, size_t pem_private_key_size, - const unsigned char *pem_cert_chain, size_t pem_cert_chain_size) { + const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair) { grpc_ssl_credentials *c = gpr_malloc(sizeof(grpc_ssl_credentials)); memset(c, 0, sizeof(grpc_ssl_credentials)); c->base.type = GRPC_CREDENTIALS_TYPE_SSL; c->base.vtable = &ssl_vtable; gpr_ref_init(&c->base.refcount, 1); - ssl_build_config(pem_root_certs, pem_root_certs_size, pem_private_key, - pem_private_key_size, pem_cert_chain, pem_cert_chain_size, - &c->config); + ssl_build_config(pem_root_certs, pem_key_cert_pair, &c->config); return &c->base; } grpc_server_credentials *grpc_ssl_server_credentials_create( - const unsigned char *pem_root_certs, size_t pem_root_certs_size, - const unsigned char *pem_private_key, size_t pem_private_key_size, - const unsigned char *pem_cert_chain, size_t pem_cert_chain_size) { + const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, + size_t num_key_cert_pairs) { grpc_ssl_server_credentials *c = gpr_malloc(sizeof(grpc_ssl_server_credentials)); memset(c, 0, sizeof(grpc_ssl_server_credentials)); c->base.type = GRPC_CREDENTIALS_TYPE_SSL; c->base.vtable = &ssl_server_vtable; - ssl_build_config(pem_root_certs, pem_root_certs_size, pem_private_key, - pem_private_key_size, pem_cert_chain, pem_cert_chain_size, - &c->config); + ssl_build_server_config(pem_root_certs, pem_key_cert_pairs, + num_key_cert_pairs, &c->config); return &c->base; } diff --git a/src/core/security/credentials.h b/src/core/security/credentials.h index 4a2532d7c41..8a9ff41e108 100644 --- a/src/core/security/credentials.h +++ b/src/core/security/credentials.h @@ -137,10 +137,17 @@ struct grpc_server_credentials { const char *type; }; -/* TODO(jboeuf): Have an ssl_server_config that can contain multiple key/cert - pairs. */ +typedef struct { + unsigned char **pem_private_keys; + size_t *pem_private_keys_sizes; + unsigned char **pem_cert_chains; + size_t *pem_cert_chains_sizes; + size_t num_key_cert_pairs; + unsigned char *pem_root_certs; + size_t pem_root_certs_size; +} grpc_ssl_server_config; -const grpc_ssl_config *grpc_ssl_server_credentials_get_config( +const grpc_ssl_server_config *grpc_ssl_server_credentials_get_config( const grpc_server_credentials *ssl_creds); #endif /* __GRPC_INTERNAL_SECURITY_CREDENTIALS_H__ */ diff --git a/src/core/security/security_context.c b/src/core/security/security_context.c index 3a70f44a0a1..cce3c7fe04f 100644 --- a/src/core/security/security_context.c +++ b/src/core/security/security_context.c @@ -382,7 +382,7 @@ error: } grpc_security_status grpc_ssl_server_security_context_create( - const grpc_ssl_config *config, grpc_security_context **ctx) { + const grpc_ssl_server_config *config, grpc_security_context **ctx) { size_t num_alpn_protocols = grpc_chttp2_num_alpn_versions(); const unsigned char **alpn_protocol_strings = gpr_malloc(sizeof(const char *) * num_alpn_protocols); @@ -399,8 +399,7 @@ grpc_security_status grpc_ssl_server_security_context_create( strlen(grpc_chttp2_get_alpn_version_index(i)); } - if (config == NULL || config->pem_private_key == NULL || - config->pem_cert_chain == NULL) { + if (config == NULL || config->num_key_cert_pairs == 0) { gpr_log(GPR_ERROR, "An SSL server needs a key and a cert."); goto error; } @@ -410,13 +409,13 @@ grpc_security_status grpc_ssl_server_security_context_create( gpr_ref_init(&c->base.refcount, 1); c->base.vtable = &ssl_server_vtable; result = tsi_create_ssl_server_handshaker_factory( - (const unsigned char **)&config->pem_private_key, - &config->pem_private_key_size, - (const unsigned char **)&config->pem_cert_chain, - &config->pem_cert_chain_size, 1, config->pem_root_certs, - config->pem_root_certs_size, GRPC_SSL_CIPHER_SUITES, - alpn_protocol_strings, alpn_protocol_string_lengths, num_alpn_protocols, - &c->handshaker_factory); + (const unsigned char **)config->pem_private_keys, + config->pem_private_keys_sizes, + (const unsigned char **)config->pem_cert_chains, + config->pem_cert_chains_sizes, config->num_key_cert_pairs, + config->pem_root_certs, config->pem_root_certs_size, + GRPC_SSL_CIPHER_SUITES, alpn_protocol_strings, + alpn_protocol_string_lengths, num_alpn_protocols, &c->handshaker_factory); if (result != TSI_OK) { gpr_log(GPR_ERROR, "Handshaker factory creation failed with %s.", tsi_result_to_string(result)); diff --git a/src/core/security/security_context.h b/src/core/security/security_context.h index 9ace7f1ccb9..2caa2d36900 100644 --- a/src/core/security/security_context.h +++ b/src/core/security/security_context.h @@ -157,7 +157,7 @@ grpc_security_status grpc_ssl_channel_security_context_create( specific error code otherwise. */ grpc_security_status grpc_ssl_server_security_context_create( - const grpc_ssl_config *config, grpc_security_context **ctx); + const grpc_ssl_server_config *config, grpc_security_context **ctx); /* --- Creation of high level objects. --- */ diff --git a/src/cpp/client/credentials.cc b/src/cpp/client/credentials.cc index 0955fa28aed..8e3a9884770 100644 --- a/src/cpp/client/credentials.cc +++ b/src/cpp/client/credentials.cc @@ -54,26 +54,12 @@ std::unique_ptr CredentialsFactory::DefaultCredentials() { // Builds SSL Credentials given SSL specific options std::unique_ptr CredentialsFactory::SslCredentials( const SslCredentialsOptions &options) { - const unsigned char *pem_root_certs = - options.pem_root_certs.empty() ? nullptr - : reinterpret_cast( - options.pem_root_certs.c_str()); - if (pem_root_certs == nullptr) { - return std::unique_ptr(); - } - const unsigned char *pem_private_key = - options.pem_private_key.empty() ? nullptr - : reinterpret_cast( - options.pem_private_key.c_str()); - const unsigned char *pem_cert_chain = - options.pem_cert_chain.empty() ? nullptr - : reinterpret_cast( - options.pem_cert_chain.c_str()); + grpc_ssl_pem_key_cert_pair pem_key_cert_pair = { + options.pem_private_key.c_str(), options.pem_cert_chain.c_str()}; grpc_credentials *c_creds = grpc_ssl_credentials_create( - pem_root_certs, options.pem_root_certs.size(), pem_private_key, - options.pem_private_key.size(), pem_cert_chain, - options.pem_cert_chain.size()); + options.pem_root_certs.empty() ? nullptr : options.pem_root_certs.c_str(), + options.pem_private_key.empty() ? nullptr : &pem_key_cert_pair); std::unique_ptr cpp_creds( c_creds == nullptr ? nullptr : new Credentials(c_creds)); return cpp_creds; diff --git a/src/cpp/server/server_credentials.cc b/src/cpp/server/server_credentials.cc index b82a2d821a3..ce0271b6a0a 100644 --- a/src/cpp/server/server_credentials.cc +++ b/src/cpp/server/server_credentials.cc @@ -48,23 +48,14 @@ grpc_server_credentials *ServerCredentials::GetRawCreds() { return creds_; } std::shared_ptr ServerCredentialsFactory::SslCredentials( const SslServerCredentialsOptions &options) { - const unsigned char *pem_root_certs = - options.pem_root_certs.empty() ? nullptr - : reinterpret_cast( - options.pem_root_certs.c_str()); - const unsigned char *pem_private_key = - options.pem_private_key.empty() ? nullptr - : reinterpret_cast( - options.pem_private_key.c_str()); - const unsigned char *pem_cert_chain = - options.pem_cert_chain.empty() ? nullptr - : reinterpret_cast( - options.pem_cert_chain.c_str()); - + std::vector pem_key_cert_pairs; + for (const auto &key_cert_pair : options.pem_key_cert_pairs) { + pem_key_cert_pairs.push_back( + {key_cert_pair.private_key.c_str(), key_cert_pair.cert_chain.c_str()}); + } grpc_server_credentials *c_creds = grpc_ssl_server_credentials_create( - pem_root_certs, options.pem_root_certs.size(), pem_private_key, - options.pem_private_key.size(), pem_cert_chain, - options.pem_cert_chain.size()); + options.pem_root_certs.empty() ? nullptr : options.pem_root_certs.c_str(), + &pem_key_cert_pairs[0], pem_key_cert_pairs.size()); return std::shared_ptr(new ServerCredentials(c_creds)); } diff --git a/src/php/ext/grpc/credentials.c b/src/php/ext/grpc/credentials.c index 2a83d1cbc1e..c63196bf909 100644 --- a/src/php/ext/grpc/credentials.c +++ b/src/php/ext/grpc/credentials.c @@ -77,24 +77,23 @@ PHP_METHOD(Credentials, createDefault) { */ PHP_METHOD(Credentials, createSsl) { char *pem_root_certs; - char *pem_private_key = NULL; - char *pem_cert_chain = NULL; + grpc_ssl_pem_key_cert_pair pem_key_cert_pair; int root_certs_length, private_key_length = 0, cert_chain_length = 0; /* "s|s!s! == 1 string, 2 optional nullable strings */ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s!s!", &pem_root_certs, &root_certs_length, - &pem_private_key, &private_key_length, - &pem_cert_chain, &cert_chain_length) == FAILURE) { + &pem_key_cert_pair.private_key, &private_key_length, + &pem_key_cert_pair.cert_chain, + &cert_chain_length) == FAILURE) { zend_throw_exception(spl_ce_InvalidArgumentException, "createSsl expects 1 to 3 strings", 1 TSRMLS_CC); return; } grpc_credentials *creds = grpc_ssl_credentials_create( - (unsigned char *)pem_root_certs, (size_t)root_certs_length, - (unsigned char *)pem_private_key, (size_t)private_key_length, - (unsigned char *)pem_cert_chain, (size_t)cert_chain_length); + pem_root_certs, + pem_key_cert_pair.private_key == NULL ? NULL : &pem_key_cert_pair); zval *creds_object = grpc_php_wrap_credentials(creds); RETURN_DESTROY_ZVAL(creds_object); } diff --git a/src/php/ext/grpc/server_credentials.c b/src/php/ext/grpc/server_credentials.c index 1f8e58aa4d1..3d43d6a78c7 100644 --- a/src/php/ext/grpc/server_credentials.c +++ b/src/php/ext/grpc/server_credentials.c @@ -66,24 +66,22 @@ zval *grpc_php_wrap_server_credentials(grpc_server_credentials *wrapped) { */ PHP_METHOD(ServerCredentials, createSsl) { char *pem_root_certs = 0; - char *pem_private_key; - char *pem_cert_chain; + grpc_ssl_pem_key_cert_pair pem_key_cert_pair; int root_certs_length = 0, private_key_length, cert_chain_length; /* "s!ss" == 1 nullable string, 2 strings */ + /* TODO: support multiple key cert pairs. */ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s!ss", &pem_root_certs, - &root_certs_length, &pem_private_key, - &private_key_length, &pem_cert_chain, + &root_certs_length, &pem_key_cert_pair.private_key, + &private_key_length, &pem_key_cert_pair.cert_chain, &cert_chain_length) == FAILURE) { zend_throw_exception(spl_ce_InvalidArgumentException, "createSsl expects 3 strings", 1 TSRMLS_CC); return; } - grpc_server_credentials *creds = grpc_ssl_server_credentials_create( - (unsigned char *)pem_root_certs, (size_t)root_certs_length, - (unsigned char *)pem_private_key, (size_t)private_key_length, - (unsigned char *)pem_cert_chain, (size_t)cert_chain_length); + grpc_server_credentials *creds = + grpc_ssl_server_credentials_create(pem_root_certs, &pem_key_cert_pair, 1); zval *creds_object = grpc_php_wrap_server_credentials(creds); RETURN_DESTROY_ZVAL(creds_object); } diff --git a/test/core/end2end/data/prod_roots_certs.c b/test/core/end2end/data/prod_roots_certs.c index 21a199ce375..3b66d236c36 100644 --- a/test/core/end2end/data/prod_roots_certs.c +++ b/test/core/end2end/data/prod_roots_certs.c @@ -31,7 +31,7 @@ * */ -unsigned char prod_roots_certs[] = { +const char prod_roots_certs[] = { 0x23, 0x20, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x3a, 0x20, 0x43, 0x4e, 0x3d, 0x47, 0x54, 0x45, 0x20, 0x43, 0x79, 0x62, 0x65, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x52, @@ -11270,5 +11270,4 @@ unsigned char prod_roots_certs[] = { 0x33, 0x50, 0x59, 0x74, 0x6c, 0x4e, 0x58, 0x4c, 0x66, 0x62, 0x51, 0x34, 0x64, 0x64, 0x49, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, - 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a}; -unsigned int prod_roots_certs_size = 134862; + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x00}; diff --git a/test/core/end2end/data/server1_cert.c b/test/core/end2end/data/server1_cert.c index da1d36653c9..134b9cb98e4 100644 --- a/test/core/end2end/data/server1_cert.c +++ b/test/core/end2end/data/server1_cert.c @@ -31,7 +31,7 @@ * */ -unsigned char test_server1_cert[] = { +const char test_server1_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x6d, 0x7a, 0x43, 0x43, @@ -112,5 +112,4 @@ unsigned char test_server1_cert[] = { 0x32, 0x77, 0x65, 0x2f, 0x4b, 0x44, 0x34, 0x6f, 0x6a, 0x66, 0x39, 0x73, 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, - 0x2d, 0x2d, 0x2d, 0x0a}; -unsigned int test_server1_cert_size = 964; + 0x2d, 0x2d, 0x2d, 0x0a, 0x00}; diff --git a/test/core/end2end/data/server1_key.c b/test/core/end2end/data/server1_key.c index 35405054674..992d3c032a9 100644 --- a/test/core/end2end/data/server1_key.c +++ b/test/core/end2end/data/server1_key.c @@ -31,7 +31,7 @@ * */ -unsigned char test_server1_key[] = { +const char test_server1_key[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, @@ -105,5 +105,4 @@ unsigned char test_server1_key[] = { 0x6e, 0x68, 0x66, 0x66, 0x46, 0x79, 0x65, 0x37, 0x53, 0x42, 0x58, 0x79, 0x61, 0x67, 0x3d, 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, - 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a}; -unsigned int test_server1_key_size = 887; + 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x00}; diff --git a/test/core/end2end/data/ssl_test_data.h b/test/core/end2end/data/ssl_test_data.h index 6ac19945b2f..3456ebebd4b 100644 --- a/test/core/end2end/data/ssl_test_data.h +++ b/test/core/end2end/data/ssl_test_data.h @@ -34,14 +34,10 @@ #ifndef __GRPC_TEST_END2END_DATA_SSL_TEST_DATA_H__ #define __GRPC_TEST_END2END_DATA_SSL_TEST_DATA_H__ -extern unsigned char test_root_cert[]; -extern unsigned int test_root_cert_size; -extern unsigned char test_server1_cert[]; -extern unsigned int test_server1_cert_size; -extern unsigned char test_server1_key[]; -extern unsigned int test_server1_key_size; +extern const char test_root_cert[]; +extern const char test_server1_cert[]; +extern const char test_server1_key[]; -extern unsigned char prod_roots_certs[]; -extern unsigned int prod_roots_certs_size; +extern const char prod_roots_certs[]; #endif /* __GRPC_TEST_END2END_DATA_SSL_TEST_DATA_H__ */ diff --git a/test/core/end2end/data/test_root_cert.c b/test/core/end2end/data/test_root_cert.c index fd01953ccbd..f358b0b79ac 100644 --- a/test/core/end2end/data/test_root_cert.c +++ b/test/core/end2end/data/test_root_cert.c @@ -31,7 +31,7 @@ * */ -unsigned char test_root_cert[] = { +const char test_root_cert[] = { 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x49, 0x7a, 0x43, 0x43, @@ -98,5 +98,4 @@ unsigned char test_root_cert[] = { 0x31, 0x59, 0x75, 0x58, 0x32, 0x72, 0x6e, 0x65, 0x78, 0x30, 0x4a, 0x68, 0x75, 0x54, 0x51, 0x66, 0x63, 0x49, 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, - 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a}; -unsigned int test_root_cert_size = 802; + 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x00}; diff --git a/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c b/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c index 7718d30b3e6..e5cdec8ea75 100644 --- a/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c +++ b/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c @@ -98,8 +98,8 @@ void chttp2_tear_down_secure_fullstack(grpc_end2end_test_fixture *f) { static void chttp2_init_client_simple_ssl_secure_fullstack( grpc_end2end_test_fixture *f, grpc_channel_args *client_args) { - grpc_credentials *ssl_creds = grpc_ssl_credentials_create( - test_root_cert, test_root_cert_size, NULL, 0, NULL, 0); + grpc_credentials *ssl_creds = + grpc_ssl_credentials_create(test_root_cert, NULL); grpc_arg ssl_name_override = {GRPC_ARG_STRING, GRPC_SSL_TARGET_NAME_OVERRIDE_ARG, {"foo.test.google.com"}}; @@ -111,9 +111,10 @@ static void chttp2_init_client_simple_ssl_secure_fullstack( static void chttp2_init_server_simple_ssl_secure_fullstack( grpc_end2end_test_fixture *f, grpc_channel_args *server_args) { - grpc_server_credentials *ssl_creds = grpc_ssl_server_credentials_create( - NULL, 0, test_server1_key, test_server1_key_size, test_server1_cert, - test_server1_cert_size); + grpc_ssl_pem_key_cert_pair pem_cert_key_pair = {test_server1_key, + test_server1_cert}; + grpc_server_credentials *ssl_creds = + grpc_ssl_server_credentials_create(NULL, &pem_cert_key_pair, 1); chttp2_init_server_secure_fullstack(f, server_args, ssl_creds); } diff --git a/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c b/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c index bb8af88c54f..8bfa465696f 100644 --- a/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c +++ b/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c @@ -99,8 +99,7 @@ void chttp2_tear_down_secure_fullstack(grpc_end2end_test_fixture *f) { static void chttp2_init_client_simple_ssl_with_oauth2_secure_fullstack( grpc_end2end_test_fixture *f, grpc_channel_args *client_args) { - grpc_credentials *ssl_creds = grpc_ssl_credentials_create( - test_root_cert, test_root_cert_size, NULL, 0, NULL, 0); + grpc_credentials *ssl_creds = grpc_ssl_credentials_create(test_root_cert, NULL); grpc_credentials *oauth2_creds = grpc_fake_oauth2_credentials_create("Bearer aaslkfjs424535asdf", 1); grpc_credentials *ssl_oauth2_creds = @@ -118,9 +117,10 @@ static void chttp2_init_client_simple_ssl_with_oauth2_secure_fullstack( static void chttp2_init_server_simple_ssl_secure_fullstack( grpc_end2end_test_fixture *f, grpc_channel_args *server_args) { - grpc_server_credentials *ssl_creds = grpc_ssl_server_credentials_create( - NULL, 0, test_server1_key, test_server1_key_size, test_server1_cert, - test_server1_cert_size); + grpc_ssl_pem_key_cert_pair pem_key_cert_pair = {test_server1_key, + test_server1_cert}; + grpc_server_credentials *ssl_creds = + grpc_ssl_server_credentials_create(NULL, &pem_key_cert_pair, 1); chttp2_init_server_secure_fullstack(f, server_args, ssl_creds); } diff --git a/test/core/fling/server.c b/test/core/fling/server.c index d68fbe7c3c1..f811aac284c 100644 --- a/test/core/fling/server.c +++ b/test/core/fling/server.c @@ -101,9 +101,10 @@ int main(int argc, char **argv) { cq = grpc_completion_queue_create(); if (secure) { - grpc_server_credentials *ssl_creds = grpc_ssl_server_credentials_create( - NULL, 0, test_server1_key, test_server1_key_size, test_server1_cert, - test_server1_cert_size); + grpc_ssl_pem_key_cert_pair pem_key_cert_pair = {test_server1_key, + test_server1_cert}; + grpc_server_credentials *ssl_creds = + grpc_ssl_server_credentials_create(NULL, &pem_key_cert_pair, 1); server = grpc_secure_server_create(ssl_creds, cq, NULL); GPR_ASSERT(grpc_server_add_secure_http2_port(server, addr)); grpc_server_credentials_release(ssl_creds); diff --git a/test/core/security/credentials_test.c b/test/core/security/credentials_test.c index 619f09308e7..9c60f4c2338 100644 --- a/test/core/security/credentials_test.c +++ b/test/core/security/credentials_test.c @@ -48,7 +48,7 @@ static const char test_iam_authorization_token[] = "blahblahblhahb"; static const char test_iam_authority_selector[] = "respectmyauthoritah"; static const char test_oauth2_bearer_token[] = "Bearer blaaslkdjfaslkdfasdsfasf"; -static const unsigned char test_root_cert[] = {0xDE, 0xAD, 0xBE, 0xEF}; +static const char test_root_cert[] = "I am the root!"; /* This JSON key was generated with the GCE console and revoked immediately. The identifiers have been changed as well. @@ -275,8 +275,8 @@ static void check_ssl_oauth2_composite_metadata( } static void test_ssl_oauth2_composite_creds(void) { - grpc_credentials *ssl_creds = grpc_ssl_credentials_create( - test_root_cert, sizeof(test_root_cert), NULL, 0, NULL, 0); + grpc_credentials *ssl_creds = + grpc_ssl_credentials_create(test_root_cert, NULL); const grpc_credentials_array *creds_array; grpc_credentials *oauth2_creds = grpc_fake_oauth2_credentials_create(test_oauth2_bearer_token, 0); @@ -312,8 +312,8 @@ static void check_ssl_oauth2_iam_composite_metadata( } static void test_ssl_oauth2_iam_composite_creds(void) { - grpc_credentials *ssl_creds = grpc_ssl_credentials_create( - test_root_cert, sizeof(test_root_cert), NULL, 0, NULL, 0); + grpc_credentials *ssl_creds = + grpc_ssl_credentials_create(test_root_cert, NULL); const grpc_credentials_array *creds_array; grpc_credentials *oauth2_creds = grpc_fake_oauth2_credentials_create(test_oauth2_bearer_token, 0); diff --git a/test/cpp/client/credentials_test.cc b/test/cpp/client/credentials_test.cc index ea088b87bd5..174d2187b0b 100644 --- a/test/cpp/client/credentials_test.cc +++ b/test/cpp/client/credentials_test.cc @@ -45,15 +45,6 @@ class CredentialsTest : public ::testing::Test { protected: }; -TEST_F(CredentialsTest, InvalidSslCreds) { - std::unique_ptr bad1 = - CredentialsFactory::SslCredentials({"", "", ""}); - EXPECT_EQ(nullptr, bad1.get()); - std::unique_ptr bad2 = - CredentialsFactory::SslCredentials({"", "bla", "bla"}); - EXPECT_EQ(nullptr, bad2.get()); -} - TEST_F(CredentialsTest, InvalidServiceAccountCreds) { std::unique_ptr bad1 = CredentialsFactory::ServiceAccountCredentials("", "", diff --git a/test/cpp/interop/server.cc b/test/cpp/interop/server.cc index 561b134c279..5b5c35416ca 100644 --- a/test/cpp/interop/server.cc +++ b/test/cpp/interop/server.cc @@ -203,11 +203,7 @@ void RunServer() { builder.RegisterService(service.service()); if (FLAGS_enable_ssl) { SslServerCredentialsOptions ssl_opts = { - "", - {reinterpret_cast(test_server1_key), - test_server1_key_size}, - {reinterpret_cast(test_server1_cert), - test_server1_cert_size}}; + "", {{test_server1_key, test_server1_cert}}}; std::shared_ptr creds = ServerCredentialsFactory::SslCredentials(ssl_opts); builder.SetCredentials(creds); diff --git a/test/cpp/util/create_test_channel.cc b/test/cpp/util/create_test_channel.cc index f0d35d98c2b..68f6244a539 100644 --- a/test/cpp/util/create_test_channel.cc +++ b/test/cpp/util/create_test_channel.cc @@ -56,11 +56,8 @@ std::shared_ptr CreateTestChannel( ChannelArguments channel_args; if (enable_ssl) { const char* roots_certs = - use_prod_roots ? reinterpret_cast(prod_roots_certs) - : reinterpret_cast(test_root_cert); - unsigned int roots_certs_size = - use_prod_roots ? prod_roots_certs_size : test_root_cert_size; - SslCredentialsOptions ssl_opts = {{roots_certs, roots_certs_size}, "", ""}; + use_prod_roots ? prod_roots_certs : test_root_cert; + SslCredentialsOptions ssl_opts = {roots_certs, "", ""}; std::unique_ptr creds = CredentialsFactory::SslCredentials(ssl_opts); From 68ad53edf3956dbd8b39c4eae2b4c3c9b00d1cfe Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Tue, 20 Jan 2015 22:37:03 -0800 Subject: [PATCH 090/121] Fixing indent. --- include/grpc/grpc_security.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/grpc/grpc_security.h b/include/grpc/grpc_security.h index 440aa9b563a..0732a8f83a5 100644 --- a/include/grpc/grpc_security.h +++ b/include/grpc/grpc_security.h @@ -60,8 +60,8 @@ typedef struct { the client's private key. */ const char *private_key; - /* cert_chain is the NULL-terminated string containing the PEM encoding of - the client's certificate chain. */ + /* cert_chain is the NULL-terminated string containing the PEM encoding of + the client's certificate chain. */ const char *cert_chain; } grpc_ssl_pem_key_cert_pair; From a36b84ca652681d7dad45c44978ae7d014f5696b Mon Sep 17 00:00:00 2001 From: Tim Emiola Date: Tue, 20 Jan 2015 21:22:00 -0800 Subject: [PATCH 091/121] Adds a command to copy the docker github credential from GCS - updates grpc_update_image to install the github credential when the base image is built --- tools/gce_setup/shared_startup_funcs.sh | 44 ++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/tools/gce_setup/shared_startup_funcs.sh b/tools/gce_setup/shared_startup_funcs.sh index 9ea6eca4619..9c747466a91 100755 --- a/tools/gce_setup/shared_startup_funcs.sh +++ b/tools/gce_setup/shared_startup_funcs.sh @@ -388,7 +388,7 @@ grpc_docker_pull_known() { # grpc_dockerfile_install "grpc/image" /var/local/dockerfile/grpc_image grpc_dockerfile_install() { local image_label=$1 - [[ -n $image_label ]] || { echo "missing arg: image_label" >&2; return 1; } + [[ -n $image_label ]] || { echo "$FUNCNAME: missing arg: image_label" >&2; return 1; } local docker_img_url=0.0.0.0:5000/$image_label local dockerfile_dir=$2 @@ -400,19 +400,25 @@ grpc_dockerfile_install() { [[ $cache == "cache=1" ]] && { cache_opt=''; } [[ $cache == "cache=true" ]] && { cache_opt=''; } - [[ -d $dockerfile_dir ]] || { echo "not a valid dir: $dockerfile_dir"; return 1; } + [[ -d $dockerfile_dir ]] || { echo "$FUNCNAME: not a valid dir: $dockerfile_dir"; return 1; } + + # For grpc/base, sync the ssh key into the .ssh dir in the dockerfile context + + [[ $image_label == "grpc/base" ]] && { + grpc_docker_sync_github_key $dockerfile_dir/.ssh || return 1; + } # TODO(temiola): maybe make cache/no-cache a func option? sudo docker build $cache_opt -t $image_label $dockerfile_dir || { - echo "docker op error: build of $image_label <- $dockerfile_dir" + echo "$FUNCNAME:: build of $image_label <- $dockerfile_dir" return 1 } sudo docker tag $image_label $docker_img_url || { - echo "docker op error: tag of $docker_img_url" + echo "$FUNCNAME: failed to tag $docker_img_url as $image_label" return 1 } sudo docker push $docker_img_url || { - echo "docker op error: push of $docker_img_url" + echo "$FUNCNAME: failed to push $docker_img_url" return 1 } } @@ -428,3 +434,31 @@ grpc_dockerfile_install() { grpc_dockerfile_refresh() { grpc_dockerfile_install "$@" } + +# grpc_docker_sync_github_key. +# +# Copies the docker github key from GCS to the target dir +# +# call-seq: +# grpc_docker_sync_github_key +grpc_docker_sync_github_key() { + local target_dir=$1 + [[ -n $target_dir ]] || { echo "$FUNCNAME: missing arg: target_dir" >&2; return 1; } + + # determine the admin root; the parent of the dockerfile root, + local gs_dockerfile_root=$(load_metadata "attributes/gs_dockerfile_root") + [[ -n $gs_dockerfile_root ]] || { + echo "$FUNCNAME: missing metadata: gs_dockerfile_root" >&2 + return 1 + } + local gcs_admin_root=$(dirname $gs_dockerfile_root) + + # cp the file from gsutil to a known local area + local gcs_key_path=$gcs_admin_root/github/ssh_key + local local_key_path=$target_dir/github.rsa + mkdir -p $target_dir || { + echo "$FUNCNAME: could not create dir: $target_dir" 1>&2 + return 1 + } + gsutil cp $src $gcs_key_path $local_key_path +} From d2130c356170f8b01ccabc63d404a3a4a23d87bb Mon Sep 17 00:00:00 2001 From: Tim Emiola Date: Wed, 21 Jan 2015 09:51:45 -0800 Subject: [PATCH 092/121] Switches the grpc-repo dockerfiles to pull gRPC source from GitHub --- tools/dockerfile/grpc_base/Dockerfile | 25 +++++++-------------- tools/dockerfile/grpc_cxx/Dockerfile | 19 +++++++++------- tools/dockerfile/grpc_php/Dockerfile | 5 +---- tools/dockerfile/grpc_php_base/Dockerfile | 20 ++++++++++++----- tools/dockerfile/grpc_ruby/Dockerfile | 9 ++------ tools/dockerfile/grpc_ruby_base/Dockerfile | 26 +++++++++++----------- 6 files changed, 50 insertions(+), 54 deletions(-) diff --git a/tools/dockerfile/grpc_base/Dockerfile b/tools/dockerfile/grpc_base/Dockerfile index 45be1725935..be1b69b0dc5 100644 --- a/tools/dockerfile/grpc_base/Dockerfile +++ b/tools/dockerfile/grpc_base/Dockerfile @@ -13,6 +13,7 @@ RUN apt-get update && apt-get install -y \ libc6 \ libc6-dbg \ libc6-dev \ + libgtest-dev \ libtool \ make \ strace \ @@ -34,23 +35,13 @@ ENV CLOUD_SDK /google-cloud-sdk RUN $CLOUD_SDK/install.sh --usage-reporting=true --path-update=true --bash-completion=true --rc-path=/.bashrc --disable-installation-options ENV PATH $CLOUD_SDK/bin:$PATH -# Install gcompute-tools to allow access to private git-on-borg repos -RUN git clone https://gerrit.googlesource.com/gcompute-tools /var/local/git/gcompute-tools - -# Start the daemon that allows access to private git-on-borg repos -RUN /var/local/git/gcompute-tools/git-cookie-authdaemon - -# Install the grpc-tools scripts dir from git -RUN git clone https://team.googlesource.com/one-platform-grpc-team/grpc-tools /var/local/git/grpc-tools - -# Install the grpc-protobuf dir that has the protoc patch -RUN git clone https://team.googlesource.com/one-platform-grpc-team/protobuf /var/local/git/protobuf - -# Install the patched version of protoc -RUN cd /var/local/git/protobuf && \ - ./autogen.sh && \ - ./configure --prefix=/usr && \ - make && make check && make install && make clean +# Install a GitHub SSH service credential that gives access to the GitHub repo while it's private +# TODO: remove this once the repo is public +ADD .ssh .ssh +RUN chmod 600 .ssh/github.rsa +RUN mkdir -p $HOME/.ssh && echo 'Host github.com' > $HOME/.ssh/config +RUN echo " IdentityFile /.ssh/github.rsa" >> $HOME/.ssh/config +RUN echo 'StrictHostKeyChecking no' >> $HOME/.ssh/config # Define the default command. CMD ["bash"] diff --git a/tools/dockerfile/grpc_cxx/Dockerfile b/tools/dockerfile/grpc_cxx/Dockerfile index cf38e976b14..ea3a1dba8f1 100644 --- a/tools/dockerfile/grpc_cxx/Dockerfile +++ b/tools/dockerfile/grpc_cxx/Dockerfile @@ -1,15 +1,18 @@ # Dockerfile for gRPC C++ FROM grpc/base -# Start the daemon that allows access to the protected git-on-borg repos -RUN /var/local/git/gcompute-tools/git-cookie-authdaemon - -RUN git clone https://team.googlesource.com/one-platform-grpc-team/grpc /var/local/git/grpc -RUN cd /var/local/git/grpc \ - && git pull --recurse-submodules \ - && git submodule update --init --recursive +# Get the source from GitHub +RUN git clone git@github.com:google/grpc.git /var/local/git/grpc +RUN cd /var/local/git/grpc && \ + git pull --recurse-submodules && \ + git submodule update --init --recursive +# Build the protobuf library; then the C core. +RUN cd /var/local/git/grpc/third_party/protobuf && \ + ./autogen.sh && \ + ./configure --prefix=/usr && \ + make -j12 && make check && make install && make clean RUN make install -C /var/local/git/grpc # Define the default command. -CMD ["bash"] \ No newline at end of file +CMD ["bash"] diff --git a/tools/dockerfile/grpc_php/Dockerfile b/tools/dockerfile/grpc_php/Dockerfile index 0e50af70a22..177587669c6 100644 --- a/tools/dockerfile/grpc_php/Dockerfile +++ b/tools/dockerfile/grpc_php/Dockerfile @@ -1,9 +1,6 @@ # Dockerfile for gRPC PHP FROM grpc/php_base -# Start the daemon that allows access to the protected git-on-borg repos -RUN /var/local/git/gcompute-tools/git-cookie-authdaemon - RUN cd /var/local/git/grpc \ && git pull --recurse-submodules \ && git submodule update --init --recursive @@ -15,4 +12,4 @@ RUN cd /var/local/git/grpc/src/php/ext/grpc && git pull && phpize # Build the grpc PHP extension RUN cd /var/local/git/grpc/src/php/ext/grpc \ && ./configure \ - && make \ No newline at end of file + && make diff --git a/tools/dockerfile/grpc_php_base/Dockerfile b/tools/dockerfile/grpc_php_base/Dockerfile index 8ec90f48b8f..47266a310e3 100644 --- a/tools/dockerfile/grpc_php_base/Dockerfile +++ b/tools/dockerfile/grpc_php_base/Dockerfile @@ -43,9 +43,10 @@ RUN cd /var/local \ && tar -xf php-5.5.17.tar.gz \ && cd php-5.5.17 \ && ./configure --with-zlib=/usr --with-libxml-dir=ext/libxml \ - && make && make install + && make -j12 && make install # Start the daemon that allows access to the protected git-on-borg repos +RUN git clone https://gerrit.googlesource.com/gcompute-tools /var/local/git/gcompute-tools RUN /var/local/git/gcompute-tools/git-cookie-authdaemon # Download the patched PHP protobuf so that PHP gRPC clients can be generated @@ -64,6 +65,18 @@ ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/s # rake: a ruby version of make used to build the PHP Protobuf extension RUN rvm all do gem install ronn rake +# Get the source from GitHub, this gets the protobuf library as well +RUN git clone git@github.com:google/grpc.git /var/local/git/grpc +RUN cd /var/local/git/grpc && \ + git pull --recurse-submodules && \ + git submodule update --init --recursive + +# Build and install the protobuf library +RUN cd /var/local/git/grpc/third_party/protobuf && \ + ./autogen.sh && \ + ./configure --prefix=/usr && \ + make -j12 && make check && make install && make clean + # Install the patched PHP protobuf so that PHP gRPC clients can be generated # from proto3 schemas. RUN cd /var/local/git/protobuf-php \ @@ -75,10 +88,7 @@ RUN wget https://phar.phpunit.de/phpunit.phar \ && chmod +x phpunit.phar \ && mv phpunit.phar /usr/local/bin/phpunit -RUN git clone https://team.googlesource.com/one-platform-grpc-team/grpc /var/local/git/grpc -RUN cd /var/local/git/grpc \ - && git submodule update --init --recursive - +# Build the C core RUN make static_c shared_c -j12 -C /var/local/git/grpc # Define the default command. diff --git a/tools/dockerfile/grpc_ruby/Dockerfile b/tools/dockerfile/grpc_ruby/Dockerfile index 9aa34bfcc99..43ec0183ca0 100644 --- a/tools/dockerfile/grpc_ruby/Dockerfile +++ b/tools/dockerfile/grpc_ruby/Dockerfile @@ -1,19 +1,14 @@ # Dockerfile for gRPC Ruby FROM grpc/ruby_base -# Start the daemon that allows access to the protected git-on-borg repos -RUN /var/local/git/gcompute-tools/git-cookie-authdaemon - +# Build the C libary RUN cd /var/local/git/grpc \ && git pull --recurse-submodules \ && git submodule update --init --recursive +# Build the C core. RUN make install_c -C /var/local/git/grpc -# Install the grpc gem locally with its dependencies and build the extension. -RUN /bin/bash -l -c 'cd /var/local/git/beefcake && bundle && gem build beefcake.gemspec && gem install beefcake' -RUN /bin/bash -l -c 'cd /var/local/git/grpc/src/ruby && bundle && rake compile:grpc && gem build grpc.gemspec && gem install grpc' - # TODO add a command to run the unittest tests when the bug below is fixed # - the tests fail due to an error in the C threading library: # they fail with 'ruby: __pthread_mutex_cond_lock_adjust for unknown reasons' at the end of a testcase diff --git a/tools/dockerfile/grpc_ruby_base/Dockerfile b/tools/dockerfile/grpc_ruby_base/Dockerfile index ad14e43ec7b..b2af9d71606 100644 --- a/tools/dockerfile/grpc_ruby_base/Dockerfile +++ b/tools/dockerfile/grpc_ruby_base/Dockerfile @@ -31,15 +31,6 @@ RUN apt-get update && apt-get install -y \ sqlite3 \ zlib1g-dev - -# Start the daemon that allows access to the protected git-on-borg repos -RUN /var/local/git/gcompute-tools/git-cookie-authdaemon - -# Download the patched Ruby protobuf (beefcake) so that Ruby gRPC clients can -# be generated from proto3 schemas. -RUN git clone https://team.googlesource.com/one-platform-grpc-team/grpc-ruby-beefcake \ - /var/local/git/beefcake - # Install RVM, use this to install ruby RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 # Needed for RVM RUN /bin/bash -l -c "curl -L get.rvm.io | bash -s stable" @@ -52,8 +43,17 @@ RUN /bin/bash -l -c "echo 'source /home/grpc_ruby/.rvm/scripts/rvm' >> ~/.bashrc RUN /bin/bash -l -c "echo 'rvm --default use ruby-2.1' >> ~/.bashrc" RUN /bin/bash -l -c "gem install bundler --no-ri --no-rdoc" -RUN git clone https://team.googlesource.com/one-platform-grpc-team/grpc /var/local/git/grpc -RUN cd /var/local/git/grpc \ - && git submodule update --init --recursive +# Get the source from GitHub +RUN git clone git@github.com:google/grpc.git /var/local/git/grpc +RUN cd /var/local/git/grpc && \ + git pull --recurse-submodules && \ + git submodule update --init --recursive + +# Build and install the protobuf library +RUN cd /var/local/git/grpc/third_party/protobuf && \ + ./autogen.sh && \ + ./configure --prefix=/usr && \ + make -j12 && make check && make install && make clean -RUN make static_c shared_c -C /var/local/git/grpc \ No newline at end of file +# Build the C core +RUN make static_c shared_c -j12 -C /var/local/git/grpc From a1cb0024734ead25b0a865d0a416788fe250ed39 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 09:56:43 -0800 Subject: [PATCH 093/121] Make clang-format somewhat compatible across versions --- .clang-format | 54 +-------------------------------------------------- 1 file changed, 1 insertion(+), 53 deletions(-) diff --git a/.clang-format b/.clang-format index 651e1296ba3..4b3f13fa55e 100644 --- a/.clang-format +++ b/.clang-format @@ -1,57 +1,5 @@ --- Language: Cpp -# BasedOnStyle: Google -AccessModifierOffset: -1 -ConstructorInitializerIndentWidth: 4 -AlignEscapedNewlinesLeft: true -AlignTrailingComments: true -AllowAllParametersOfDeclarationOnNextLine: true -AllowShortBlocksOnASingleLine: false -AllowShortIfStatementsOnASingleLine: true -AllowShortLoopsOnASingleLine: true -AllowShortFunctionsOnASingleLine: All -AlwaysBreakTemplateDeclarations: true -AlwaysBreakBeforeMultilineStrings: true -BreakBeforeBinaryOperators: false -BreakBeforeTernaryOperators: true -BreakConstructorInitializersBeforeComma: false -BinPackParameters: true -ColumnLimit: 80 -ConstructorInitializerAllOnOneLineOrOnePerLine: true -DerivePointerAlignment: true -ExperimentalAutoDetectBinPacking: false -IndentCaseLabels: true -IndentWrappedFunctionNames: false -IndentFunctionDeclarationAfterType: false -MaxEmptyLinesToKeep: 1 -KeepEmptyLinesAtTheStartOfBlocks: false -NamespaceIndentation: None -ObjCSpaceAfterProperty: false -ObjCSpaceBeforeProtocolList: false -PenaltyBreakBeforeFirstCallParameter: 1 -PenaltyBreakComment: 300 -PenaltyBreakString: 1000 -PenaltyBreakFirstLessLess: 120 -PenaltyExcessCharacter: 1000000 -PenaltyReturnTypeOnItsOwnLine: 200 -PointerAlignment: Left -SpacesBeforeTrailingComments: 2 -Cpp11BracedListStyle: true -Standard: Auto -IndentWidth: 2 -TabWidth: 8 -UseTab: Never -BreakBeforeBraces: Attach -SpacesInParentheses: false -SpacesInAngles: false -SpaceInEmptyParentheses: false -SpacesInCStyleCastParentheses: false -SpacesInContainerLiterals: true -SpaceBeforeAssignmentOperators: true -ContinuationIndentWidth: 4 -CommentPragmas: '^ IWYU pragma:' -ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] -SpaceBeforeParens: ControlStatements -DisableFormat: false +BasedOnStyle: Google ... From b6ab1b477f2c0df860acafd91047da2de288e9fe Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Wed, 21 Jan 2015 10:30:36 -0800 Subject: [PATCH 094/121] Added TLS support to interop tests --- src/node/interop/interop_client.js | 60 ++++++++++++++++++++++++++- src/node/interop/interop_server.js | 62 +++++++++++++++++++++++++++- src/node/main.js | 10 +++++ src/node/package.json | 1 + src/node/test/interop_sanity_test.js | 16 +++---- 5 files changed, 138 insertions(+), 11 deletions(-) diff --git a/src/node/interop/interop_client.js b/src/node/interop/interop_client.js index 7cacf83cb99..cf75b9a77ac 100644 --- a/src/node/interop/interop_client.js +++ b/src/node/interop/interop_client.js @@ -31,17 +31,30 @@ * */ +var fs = require('fs'); +var path = require('path'); var grpc = require('..'); var testProto = grpc.load(__dirname + '/test.proto').grpc.testing; var assert = require('assert'); +/** + * Create a buffer filled with size zeroes + * @param {number} size The length of the buffer + * @return {Buffer} The new buffer + */ function zeroBuffer(size) { var zeros = new Buffer(size); zeros.fill(0); return zeros; } +/** + * Run the empty_unary test + * @param {Client} client The client to test against + * @param {function} done Callback to call when the test is completed. Included + * primarily for use with mocha + */ function emptyUnary(client, done) { var call = client.emptyCall({}, function(err, resp) { assert.ifError(err); @@ -54,6 +67,12 @@ function emptyUnary(client, done) { }); } +/** + * Run the large_unary test + * @param {Client} client The client to test against + * @param {function} done Callback to call when the test is completed. Included + * primarily for use with mocha + */ function largeUnary(client, done) { var arg = { response_type: testProto.PayloadType.COMPRESSABLE, @@ -76,6 +95,12 @@ function largeUnary(client, done) { }); } +/** + * Run the client_streaming test + * @param {Client} client The client to test against + * @param {function} done Callback to call when the test is completed. Included + * primarily for use with mocha + */ function clientStreaming(client, done) { var call = client.streamingInputCall(function(err, resp) { assert.ifError(err); @@ -94,6 +119,12 @@ function clientStreaming(client, done) { call.end(); } +/** + * Run the server_streaming test + * @param {Client} client The client to test against + * @param {function} done Callback to call when the test is completed. Included + * primarily for use with mocha + */ function serverStreaming(client, done) { var arg = { response_type: testProto.PayloadType.COMPRESSABLE, @@ -122,6 +153,12 @@ function serverStreaming(client, done) { }); } +/** + * Run the ping_pong test + * @param {Client} client The client to test against + * @param {function} done Callback to call when the test is completed. Included + * primarily for use with mocha + */ function pingPong(client, done) { var payload_sizes = [27182, 8, 1828, 45904]; var response_sizes = [31415, 9, 2653, 58979]; @@ -160,6 +197,13 @@ function pingPong(client, done) { }); } +/** + * Run the empty_stream test. + * NOTE: This does not work, but should with the new invoke API + * @param {Client} client The client to test against + * @param {function} done Callback to call when the test is completed. Included + * primarily for use with mocha + */ function emptyStream(client, done) { var call = client.fullDuplexCall(); call.on('status', function(status) { @@ -174,6 +218,9 @@ function emptyStream(client, done) { call.end(); } +/** + * Map from test case names to test functions + */ var test_cases = { empty_unary: emptyUnary, large_unary: largeUnary, @@ -196,8 +243,17 @@ var test_cases = { */ function runTest(address, host_override, test_case, tls, done) { // TODO(mlumish): enable TLS functionality - // TODO(mlumish): fix namespaces and service name - var client = new testProto.TestService(address); + var options = {}; + if (tls) { + var ca_path = path.join(__dirname, '../test/data/ca.pem'); + var ca_data = fs.readFileSync(ca_path); + var creds = grpc.Credentials.createSsl(ca_data); + options.credentials = creds; + if (host_override) { + options['grpc.ssl_target_name_override'] = host_override; + } + } + var client = new testProto.TestService(address, options); test_cases[test_case](client, done); } diff --git a/src/node/interop/interop_server.js b/src/node/interop/interop_server.js index 3eb663c1d5f..735b7a6d18b 100644 --- a/src/node/interop/interop_server.js +++ b/src/node/interop/interop_server.js @@ -31,21 +31,41 @@ * */ +var fs = require('fs'); +var path = require('path'); var _ = require('underscore'); var grpc = require('..'); var testProto = grpc.load(__dirname + '/test.proto').grpc.testing; var Server = grpc.buildServer([testProto.TestService.service]); +/** + * Create a buffer filled with size zeroes + * @param {number} size The length of the buffer + * @return {Buffer} The new buffer + */ function zeroBuffer(size) { var zeros = new Buffer(size); zeros.fill(0); return zeros; } +/** + * Respond to an empty parameter with an empty response. + * NOTE: this currently does not work due to issue #137 + * @param {Call} call Call to handle + * @param {function(Error, Object)} callback Callback to call with result + * or error + */ function handleEmpty(call, callback) { callback(null, {}); } +/** + * Handle a unary request by sending the requested payload + * @param {Call} call Call to handle + * @param {function(Error, Object)} callback Callback to call with result or + * error + */ function handleUnary(call, callback) { var req = call.request; var zeros = zeroBuffer(req.response_size); @@ -58,6 +78,12 @@ function handleUnary(call, callback) { callback(null, {payload: {type: payload_type, body: zeros}}); } +/** + * Respond to a streaming call with the total size of all payloads + * @param {Call} call Call to handle + * @param {function(Error, Object)} callback Callback to call with result or + * error + */ function handleStreamingInput(call, callback) { var aggregate_size = 0; call.on('data', function(value) { @@ -68,6 +94,10 @@ function handleStreamingInput(call, callback) { }); } +/** + * Respond to a payload request with a stream of the requested payloads + * @param {Call} call Call to handle + */ function handleStreamingOutput(call) { var req = call.request; var payload_type = req.response_type; @@ -87,6 +117,11 @@ function handleStreamingOutput(call) { call.end(); } +/** + * Respond to a stream of payload requests with a stream of payload responses as + * they arrive. + * @param {Call} call Call to handle + */ function handleFullDuplex(call) { call.on('data', function(value) { var payload_type = value.response_type; @@ -109,12 +144,35 @@ function handleFullDuplex(call) { }); } +/** + * Respond to a stream of payload requests with a stream of payload responses + * after all requests have arrived + * @param {Call} call Call to handle + */ function handleHalfDuplex(call) { throw new Error('HalfDuplexCall not yet implemented'); } +/** + * Get a server object bound to the given port + * @param {string} port Port to which to bind + * @param {boolean} tls Indicates that the bound port should use TLS + * @return {Server} Server object bound to the support + */ function getServer(port, tls) { // TODO(mlumish): enable TLS functionality + var options = {}; + if (tls) { + var key_path = path.join(__dirname, '../test/data/server1.key'); + var pem_path = path.join(__dirname, '../test/data/server1.pem'); + + var key_data = fs.readFileSync(key_path); + var pem_data = fs.readFileSync(pem_path); + var server_creds = grpc.ServerCredentials.createSsl(null, + key_data, + pem_data); + options.credentials = server_creds; + } var server = new Server({ 'grpc.testing.TestService' : { emptyCall: handleEmpty, @@ -124,8 +182,8 @@ function getServer(port, tls) { fullDuplexCall: handleFullDuplex, halfDuplexCall: handleHalfDuplex } - }); - server.bind('0.0.0.0:' + port); + }, options); + server.bind('0.0.0.0:' + port, tls); return server; } diff --git a/src/node/main.js b/src/node/main.js index 024806bf613..751c3525d37 100644 --- a/src/node/main.js +++ b/src/node/main.js @@ -96,3 +96,13 @@ exports.status = grpc.status; * Call error name to code number mapping */ exports.callError = grpc.callError; + +/** + * Credentials factories + */ +exports.Credentials = grpc.Credentials; + +/** + * ServerCredentials factories + */ +exports.ServerCredentials = grpc.ServerCredentials; diff --git a/src/node/package.json b/src/node/package.json index dde43f82175..5f3c6fa3455 100644 --- a/src/node/package.json +++ b/src/node/package.json @@ -13,6 +13,7 @@ "underscore.string": "^3.0.0" }, "devDependencies": { + "highland": "~2.2.0", "mocha": "~1.21.0", "minimist": "^1.1.0" }, diff --git a/src/node/test/interop_sanity_test.js b/src/node/test/interop_sanity_test.js index 08ee1af77a2..9959a165ad1 100644 --- a/src/node/test/interop_sanity_test.js +++ b/src/node/test/interop_sanity_test.js @@ -40,10 +40,12 @@ var server; var port; +var name_override = 'foo.test.google.com'; + describe('Interop tests', function() { before(function(done) { port_picker.nextAvailablePort(function(addr) { - server = interop_server.getServer(addr.substring(addr.indexOf(':') + 1)); + server = interop_server.getServer(addr.substring(addr.indexOf(':') + 1), true); server.listen(); port = addr; done(); @@ -51,22 +53,22 @@ describe('Interop tests', function() { }); // This depends on not using a binary stream it.skip('should pass empty_unary', function(done) { - interop_client.runTest(port, null, 'empty_unary', false, done); + interop_client.runTest(port, name_override, 'empty_unary', true, done); }); it('should pass large_unary', function(done) { - interop_client.runTest(port, null, 'large_unary', false, done); + interop_client.runTest(port, name_override, 'large_unary', true, done); }); it('should pass client_streaming', function(done) { - interop_client.runTest(port, null, 'client_streaming', false, done); + interop_client.runTest(port, name_override, 'client_streaming', true, done); }); it('should pass server_streaming', function(done) { - interop_client.runTest(port, null, 'server_streaming', false, done); + interop_client.runTest(port, name_override, 'server_streaming', true, done); }); it('should pass ping_pong', function(done) { - interop_client.runTest(port, null, 'ping_pong', false, done); + interop_client.runTest(port, name_override, 'ping_pong', true, done); }); // This depends on the new invoke API it.skip('should pass empty_stream', function(done) { - interop_client.runTest(port, null, 'empty_stream', false, done); + interop_client.runTest(port, name_override, 'empty_stream', true, done); }); }); From 073d7b6cd9963378f69a087d935d4157b3068a4b Mon Sep 17 00:00:00 2001 From: Julien Boeuf Date: Wed, 21 Jan 2015 11:13:43 -0800 Subject: [PATCH 095/121] Fixing node and ruby builds. --- src/node/binding.gyp | 3 --- src/node/credentials.cc | 24 ++++++++++------------- src/node/server_credentials.cc | 18 ++++++----------- src/ruby/ext/grpc/extconf.rb | 2 +- src/ruby/ext/grpc/rb_credentials.c | 19 +++++------------- src/ruby/ext/grpc/rb_server_credentials.c | 14 ++++++------- 6 files changed, 29 insertions(+), 51 deletions(-) diff --git a/src/node/binding.gyp b/src/node/binding.gyp index 4a1fd7aaf08..da4a9434910 100644 --- a/src/node/binding.gyp +++ b/src/node/binding.gyp @@ -19,9 +19,6 @@ 'link_settings': { 'libraries': [ '-lgrpc', - '-levent', - '-levent_pthreads', - '-levent_core', '-lrt', '-lgpr', '-lpthread' diff --git a/src/node/credentials.cc b/src/node/credentials.cc index d58b7eda893..f9cd2fcfe0d 100644 --- a/src/node/credentials.cc +++ b/src/node/credentials.cc @@ -136,33 +136,29 @@ NAN_METHOD(Credentials::CreateDefault) { NAN_METHOD(Credentials::CreateSsl) { NanScope(); - char *root_certs; - char *private_key = NULL; - char *cert_chain = NULL; - int root_certs_length, private_key_length = 0, cert_chain_length = 0; - if (!Buffer::HasInstance(args[0])) { + char *root_certs = NULL; + grpc_ssl_pem_key_cert_pair key_cert_pair = {NULL, NULL}; + if (Buffer::HasInstance(args[0])) { + root_certs = Buffer::Data(args[0]); + } else if (!(args[0]->IsNull() || args[0]->IsUndefined())) { return NanThrowTypeError("createSsl's first argument must be a Buffer"); } - root_certs = Buffer::Data(args[0]); - root_certs_length = Buffer::Length(args[0]); if (Buffer::HasInstance(args[1])) { - private_key = Buffer::Data(args[1]); - private_key_length = Buffer::Length(args[1]); + key_cert_pair.private_key = Buffer::Data(args[1]); } else if (!(args[1]->IsNull() || args[1]->IsUndefined())) { return NanThrowTypeError( "createSSl's second argument must be a Buffer if provided"); } if (Buffer::HasInstance(args[2])) { - cert_chain = Buffer::Data(args[2]); - cert_chain_length = Buffer::Length(args[2]); + key_cert_pair.cert_chain = Buffer::Data(args[2]); } else if (!(args[2]->IsNull() || args[2]->IsUndefined())) { return NanThrowTypeError( "createSSl's third argument must be a Buffer if provided"); } + NanReturnValue(WrapStruct(grpc_ssl_credentials_create( - reinterpret_cast(root_certs), root_certs_length, - reinterpret_cast(private_key), private_key_length, - reinterpret_cast(cert_chain), cert_chain_length))); + root_certs, + key_cert_pair.private_key == NULL ? NULL : &key_cert_pair))); } NAN_METHOD(Credentials::CreateComposite) { diff --git a/src/node/server_credentials.cc b/src/node/server_credentials.cc index 38df5475278..393f3a63052 100644 --- a/src/node/server_credentials.cc +++ b/src/node/server_credentials.cc @@ -123,14 +123,12 @@ NAN_METHOD(ServerCredentials::New) { } NAN_METHOD(ServerCredentials::CreateSsl) { + // TODO: have the node API support multiple key/cert pairs. NanScope(); char *root_certs = NULL; - char *private_key; - char *cert_chain; - int root_certs_length = 0, private_key_length, cert_chain_length; + grpc_ssl_pem_key_cert_pair key_cert_pair; if (Buffer::HasInstance(args[0])) { root_certs = Buffer::Data(args[0]); - root_certs_length = Buffer::Length(args[0]); } else if (!(args[0]->IsNull() || args[0]->IsUndefined())) { return NanThrowTypeError( "createSSl's first argument must be a Buffer if provided"); @@ -138,17 +136,13 @@ NAN_METHOD(ServerCredentials::CreateSsl) { if (!Buffer::HasInstance(args[1])) { return NanThrowTypeError("createSsl's second argument must be a Buffer"); } - private_key = Buffer::Data(args[1]); - private_key_length = Buffer::Length(args[1]); + key_cert_pair.private_key = Buffer::Data(args[1]); if (!Buffer::HasInstance(args[2])) { return NanThrowTypeError("createSsl's third argument must be a Buffer"); } - cert_chain = Buffer::Data(args[2]); - cert_chain_length = Buffer::Length(args[2]); - NanReturnValue(WrapStruct(grpc_ssl_server_credentials_create( - reinterpret_cast(root_certs), root_certs_length, - reinterpret_cast(private_key), private_key_length, - reinterpret_cast(cert_chain), cert_chain_length))); + key_cert_pair.cert_chain = Buffer::Data(args[2]); + NanReturnValue(WrapStruct( + grpc_ssl_server_credentials_create(root_certs, &key_cert_pair, 1))); } NAN_METHOD(ServerCredentials::CreateFake) { diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb index e948504e9e6..a6dbbf3aca1 100644 --- a/src/ruby/ext/grpc/extconf.rb +++ b/src/ruby/ext/grpc/extconf.rb @@ -68,7 +68,7 @@ $CFLAGS << ' -Wno-return-type ' $CFLAGS << ' -Wall ' $CFLAGS << ' -pedantic ' -$LDFLAGS << ' -lgrpc -lgpr -levent -levent_pthreads -levent_core' +$LDFLAGS << ' -lgrpc -lgpr' # crash('need grpc lib') unless have_library('grpc', 'grpc_channel_destroy') # diff --git a/src/ruby/ext/grpc/rb_credentials.c b/src/ruby/ext/grpc/rb_credentials.c index 5dec51824d9..31f47f3b761 100644 --- a/src/ruby/ext/grpc/rb_credentials.c +++ b/src/ruby/ext/grpc/rb_credentials.c @@ -214,6 +214,7 @@ static VALUE grpc_rb_credentials_init(int argc, VALUE *argv, VALUE self) { VALUE pem_cert_chain = Qnil; grpc_rb_credentials *wrapper = NULL; grpc_credentials *creds = NULL; + /* TODO: Remove mandatory arg when we support default roots. */ /* "12" == 1 mandatory arg, 2 (credentials) is optional */ rb_scan_args(argc, argv, "12", &pem_root_certs, &pem_private_key, &pem_cert_chain); @@ -225,22 +226,12 @@ static VALUE grpc_rb_credentials_init(int argc, VALUE *argv, VALUE self) { return Qnil; } if (pem_private_key == Qnil && pem_cert_chain == Qnil) { - creds = grpc_ssl_credentials_create(RSTRING_PTR(pem_root_certs), - RSTRING_LEN(pem_root_certs), NULL, 0, - NULL, 0); - } else if (pem_cert_chain == Qnil) { - creds = grpc_ssl_credentials_create( - RSTRING_PTR(pem_root_certs), RSTRING_LEN(pem_root_certs), - RSTRING_PTR(pem_private_key), RSTRING_LEN(pem_private_key), - RSTRING_PTR(pem_cert_chain), RSTRING_LEN(pem_cert_chain)); - } else if (pem_private_key == Qnil) { - creds = grpc_ssl_credentials_create( - RSTRING_PTR(pem_root_certs), RSTRING_LEN(pem_root_certs), NULL, 0, - RSTRING_PTR(pem_cert_chain), RSTRING_LEN(pem_cert_chain)); + creds = grpc_ssl_credentials_create(RSTRING_PTR(pem_root_certs), NULL); } else { + grpc_ssl_pem_key_cert_pair key_cert_pair = {RSTRING_PTR(pem_private_key), + RSTRING_PTR(pem_cert_chain)}; creds = grpc_ssl_credentials_create( - RSTRING_PTR(pem_root_certs), RSTRING_LEN(pem_root_certs), - RSTRING_PTR(pem_private_key), RSTRING_LEN(pem_private_key), NULL, 0); + RSTRING_PTR(pem_root_certs), &key_cert_pair); } if (creds == NULL) { rb_raise(rb_eRuntimeError, "could not create a credentials, not sure why"); diff --git a/src/ruby/ext/grpc/rb_server_credentials.c b/src/ruby/ext/grpc/rb_server_credentials.c index e534c114443..4f6c67ea5e3 100644 --- a/src/ruby/ext/grpc/rb_server_credentials.c +++ b/src/ruby/ext/grpc/rb_server_credentials.c @@ -145,8 +145,10 @@ static ID id_pem_cert_chain; static VALUE grpc_rb_server_credentials_init(VALUE self, VALUE pem_root_certs, VALUE pem_private_key, VALUE pem_cert_chain) { + /* TODO support multiple key cert pairs in the ruby API. */ grpc_rb_server_credentials *wrapper = NULL; grpc_server_credentials *creds = NULL; + grpc_ssl_pem_key_cert_pair key_cert_pair = {NULL, NULL}; Data_Get_Struct(self, grpc_rb_server_credentials, wrapper); if (pem_cert_chain == Qnil) { rb_raise(rb_eRuntimeError, @@ -157,15 +159,13 @@ static VALUE grpc_rb_server_credentials_init(VALUE self, VALUE pem_root_certs, "could not create a server credential: nil pem_private_key"); return Qnil; } + key_cert_pair.private_key = RSTRING_PTR(pem_private_key); + key_cert_pair.cert_chain = RSTRING_PTR(pem_cert_chain); if (pem_root_certs == Qnil) { - creds = grpc_ssl_server_credentials_create( - NULL, 0, RSTRING_PTR(pem_private_key), RSTRING_LEN(pem_private_key), - RSTRING_PTR(pem_cert_chain), RSTRING_LEN(pem_cert_chain)); + creds = grpc_ssl_server_credentials_create(NULL, &key_cert_pair, 1); } else { - creds = grpc_ssl_server_credentials_create( - RSTRING_PTR(pem_root_certs), RSTRING_LEN(pem_root_certs), - RSTRING_PTR(pem_private_key), RSTRING_LEN(pem_private_key), - RSTRING_PTR(pem_cert_chain), RSTRING_LEN(pem_cert_chain)); + creds = grpc_ssl_server_credentials_create(RSTRING_PTR(pem_root_certs), + &key_cert_pair, 1); } if (creds == NULL) { rb_raise(rb_eRuntimeError, "could not create a credentials, not sure why"); From c896e192f7d7b529891f5769769fb3ce84895494 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Wed, 21 Jan 2015 11:36:23 -0800 Subject: [PATCH 096/121] Brought grpc_server_add_secure_http2_port in line with grpc_server_http2_port --- include/grpc/grpc.h | 3 ++- src/core/security/server_secure_chttp2.c | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h index 3c5b0de1956..f03f61d84ed 100644 --- a/include/grpc/grpc.h +++ b/include/grpc/grpc.h @@ -428,7 +428,8 @@ grpc_server *grpc_server_create(grpc_completion_queue *cq, REQUIRES: server not started */ int grpc_server_add_http2_port(grpc_server *server, const char *addr); -/* Add a secure port to server; returns 1 on success, 0 on failure +/* Add a secure port to server. + Returns bound port number on success, 0 on failure. REQUIRES: server not started */ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr); diff --git a/src/core/security/server_secure_chttp2.c b/src/core/security/server_secure_chttp2.c index 931fa95651b..9dd43278222 100644 --- a/src/core/security/server_secure_chttp2.c +++ b/src/core/security/server_secure_chttp2.c @@ -93,6 +93,8 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr) { grpc_tcp_server *tcp = NULL; size_t i; int count = 0; + int port_num = -1; + int port_temp; resolved = grpc_blocking_resolve_address(addr, "https"); if (!resolved) { @@ -105,9 +107,15 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr) { } for (i = 0; i < resolved->naddrs; i++) { - if (grpc_tcp_server_add_port(tcp, - (struct sockaddr *)&resolved->addrs[i].addr, - resolved->addrs[i].len)) { + port_temp = grpc_tcp_server_add_port( + tcp, (struct sockaddr *)&resolved->addrs[i].addr, + resolved->addrs[i].len); + if (port_temp >= 0) { + if (port_num == -1) { + port_num = port_temp; + } else { + GPR_ASSERT(port_num == port_temp); + } count++; } } @@ -125,7 +133,7 @@ int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr) { /* Register with the server only upon success */ grpc_server_add_listener(server, tcp, start, destroy); - return 1; + return port_num; /* Error path: cleanup and return */ error: From d2f20b29a6b3d9658efe5024bd8c2242b924e0f1 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Wed, 21 Jan 2015 11:55:39 -0800 Subject: [PATCH 097/121] Removed port_picker and bound to port 0 in tests instead --- src/node/port_picker.js | 52 ------ src/node/server.cc | 4 +- src/node/server.js | 4 +- src/node/surface_server.js | 3 +- src/node/test/client_server_test.js | 159 +++++++++--------- src/node/test/end_to_end_test.js | 239 ++++++++++++++-------------- src/node/test/math_client_test.js | 10 +- src/node/test/server_test.js | 87 +++++----- 8 files changed, 243 insertions(+), 315 deletions(-) delete mode 100644 src/node/port_picker.js diff --git a/src/node/port_picker.js b/src/node/port_picker.js deleted file mode 100644 index ad82f2a7f83..00000000000 --- a/src/node/port_picker.js +++ /dev/null @@ -1,52 +0,0 @@ -/* - * - * Copyright 2014, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -var net = require('net'); - -/** - * Finds a free port that a server can bind to, in the format - * "address:port" - * @param {function(string)} cb The callback that should execute when the port - * is available - */ -function nextAvailablePort(cb) { - var server = net.createServer(); - server.listen(function() { - var address = server.address(); - server.close(function() { - cb(address.address + ':' + address.port.toString()); - }); - }); -} - -exports.nextAvailablePort = nextAvailablePort; diff --git a/src/node/server.cc b/src/node/server.cc index 64826897cda..b102775d337 100644 --- a/src/node/server.cc +++ b/src/node/server.cc @@ -194,7 +194,7 @@ NAN_METHOD(Server::AddHttp2Port) { return NanThrowTypeError("addHttp2Port's argument must be a String"); } Server *server = ObjectWrap::Unwrap(args.This()); - NanReturnValue(NanNew(grpc_server_add_http2_port( + NanReturnValue(NanNew(grpc_server_add_http2_port( server->wrapped_server, *NanUtf8String(args[0])))); } @@ -208,7 +208,7 @@ NAN_METHOD(Server::AddSecureHttp2Port) { return NanThrowTypeError("addSecureHttp2Port's argument must be a String"); } Server *server = ObjectWrap::Unwrap(args.This()); - NanReturnValue(NanNew(grpc_server_add_secure_http2_port( + NanReturnValue(NanNew(grpc_server_add_secure_http2_port( server->wrapped_server, *NanUtf8String(args[0])))); } diff --git a/src/node/server.js b/src/node/server.js index e947032b297..9cee1dc57e5 100644 --- a/src/node/server.js +++ b/src/node/server.js @@ -256,9 +256,9 @@ Server.prototype.register = function(name, handler) { */ Server.prototype.bind = function(port, secure) { if (secure) { - this._server.addSecureHttp2Port(port); + return this._server.addSecureHttp2Port(port); } else { - this._server.addHttp2Port(port); + return this._server.addHttp2Port(port); } }; diff --git a/src/node/surface_server.js b/src/node/surface_server.js index b6e0c37b4cd..55f3583b091 100644 --- a/src/node/surface_server.js +++ b/src/node/surface_server.js @@ -353,8 +353,7 @@ function makeServerConstructor(services) { * @return {SurfaceServer} this */ SurfaceServer.prototype.bind = function(port, secure) { - this.inner_server.bind(port, secure); - return this; + return this.inner_server.bind(port, secure); }; /** diff --git a/src/node/test/client_server_test.js b/src/node/test/client_server_test.js index 534a5c464fb..2a25908684b 100644 --- a/src/node/test/client_server_test.js +++ b/src/node/test/client_server_test.js @@ -37,7 +37,6 @@ var path = require('path'); var grpc = require('bindings')('grpc.node'); var Server = require('../server'); var client = require('../client'); -var port_picker = require('../port_picker'); var common = require('../common'); var _ = require('highland'); @@ -80,55 +79,50 @@ function errorHandler(stream) { describe('echo client', function() { it('should receive echo responses', function(done) { - port_picker.nextAvailablePort(function(port) { - var server = new Server(); - server.bind(port); - server.register('echo', echoHandler); - server.start(); - - var messages = ['echo1', 'echo2', 'echo3', 'echo4']; - var channel = new grpc.Channel(port); - var stream = client.makeRequest( - channel, - 'echo'); - _(messages).map(function(val) { - return new Buffer(val); - }).pipe(stream); - var index = 0; - stream.on('data', function(chunk) { - assert.equal(messages[index], chunk.toString()); - index += 1; - }); - stream.on('end', function() { - server.shutdown(); - done(); - }); + var server = new Server(); + var port_num = server.bind('0.0.0.0:0'); + server.register('echo', echoHandler); + server.start(); + + var messages = ['echo1', 'echo2', 'echo3', 'echo4']; + var channel = new grpc.Channel('localhost:' + port_num); + var stream = client.makeRequest( + channel, + 'echo'); + _(messages).map(function(val) { + return new Buffer(val); + }).pipe(stream); + var index = 0; + stream.on('data', function(chunk) { + assert.equal(messages[index], chunk.toString()); + index += 1; + }); + stream.on('end', function() { + server.shutdown(); + done(); }); }); it('should get an error status that the server throws', function(done) { - port_picker.nextAvailablePort(function(port) { - var server = new Server(); - server.bind(port); - server.register('error', errorHandler); - server.start(); - - var channel = new grpc.Channel(port); - var stream = client.makeRequest( - channel, - 'error', - null, - getDeadline(1)); - - stream.on('data', function() {}); - stream.write(new Buffer('test')); - stream.end(); - stream.on('status', function(status) { - assert.equal(status.code, grpc.status.UNIMPLEMENTED); - assert.equal(status.details, 'error details'); - server.shutdown(); - done(); - }); - + var server = new Server(); + var port_num = server.bind('0.0.0.0:0'); + server.register('error', errorHandler); + server.start(); + + var channel = new grpc.Channel('localhost:' + port_num); + var stream = client.makeRequest( + channel, + 'error', + null, + getDeadline(1)); + + stream.on('data', function() {}); + stream.write(new Buffer('test')); + stream.end(); + stream.on('status', function(status) { + assert.equal(status.code, grpc.status.UNIMPLEMENTED); + assert.equal(status.details, 'error details'); + server.shutdown(); + done(); }); }); }); @@ -136,46 +130,43 @@ describe('echo client', function() { * and the insecure echo client test */ describe('secure echo client', function() { it('should recieve echo responses', function(done) { - port_picker.nextAvailablePort(function(port) { - fs.readFile(ca_path, function(err, ca_data) { + fs.readFile(ca_path, function(err, ca_data) { + assert.ifError(err); + fs.readFile(key_path, function(err, key_data) { assert.ifError(err); - fs.readFile(key_path, function(err, key_data) { + fs.readFile(pem_path, function(err, pem_data) { assert.ifError(err); - fs.readFile(pem_path, function(err, pem_data) { - assert.ifError(err); - var creds = grpc.Credentials.createSsl(ca_data); - var server_creds = grpc.ServerCredentials.createSsl(null, - key_data, - pem_data); - - var server = new Server({'credentials' : server_creds}); - server.bind(port, true); - server.register('echo', echoHandler); - server.start(); - - var messages = ['echo1', 'echo2', 'echo3', 'echo4']; - var channel = new grpc.Channel(port, { - 'grpc.ssl_target_name_override' : 'foo.test.google.com', - 'credentials' : creds - }); - var stream = client.makeRequest( - channel, - 'echo'); - - _(messages).map(function(val) { - return new Buffer(val); - }).pipe(stream); - var index = 0; - stream.on('data', function(chunk) { - assert.equal(messages[index], chunk.toString()); - index += 1; - }); - stream.on('end', function() { - server.shutdown(); - done(); - }); + var creds = grpc.Credentials.createSsl(ca_data); + var server_creds = grpc.ServerCredentials.createSsl(null, + key_data, + pem_data); + + var server = new Server({'credentials' : server_creds}); + var port_num = server.bind('0.0.0.0:0', true); + server.register('echo', echoHandler); + server.start(); + + var messages = ['echo1', 'echo2', 'echo3', 'echo4']; + var channel = new grpc.Channel('localhost:' + port_num, { + 'grpc.ssl_target_name_override' : 'foo.test.google.com', + 'credentials' : creds + }); + var stream = client.makeRequest( + channel, + 'echo'); + + _(messages).map(function(val) { + return new Buffer(val); + }).pipe(stream); + var index = 0; + stream.on('data', function(chunk) { + assert.equal(messages[index], chunk.toString()); + index += 1; + }); + stream.on('end', function() { + server.shutdown(); + done(); }); - }); }); }); diff --git a/src/node/test/end_to_end_test.js b/src/node/test/end_to_end_test.js index 40bb5f3bbde..db3834dbbad 100644 --- a/src/node/test/end_to_end_test.js +++ b/src/node/test/end_to_end_test.js @@ -33,7 +33,6 @@ var assert = require('assert'); var grpc = require('bindings')('grpc.node'); -var port_picker = require('../port_picker'); /** * This is used for testing functions with multiple asynchronous calls that @@ -58,143 +57,139 @@ function multiDone(done, count) { describe('end-to-end', function() { it('should start and end a request without error', function(complete) { - port_picker.nextAvailablePort(function(port) { - var server = new grpc.Server(); - var done = multiDone(function() { - complete(); - server.shutdown(); - }, 2); - server.addHttp2Port(port); - var channel = new grpc.Channel(port); - var deadline = new Date(); - deadline.setSeconds(deadline.getSeconds() + 3); - var status_text = 'xyz'; - var call = new grpc.Call(channel, - 'dummy_method', - deadline); - call.startInvoke(function(event) { - assert.strictEqual(event.type, - grpc.completionType.INVOKE_ACCEPTED); + var server = new grpc.Server(); + var done = multiDone(function() { + complete(); + server.shutdown(); + }, 2); + var port_num = server.addHttp2Port('0.0.0.0:0'); + var channel = new grpc.Channel('localhost:' + port_num); + var deadline = new Date(); + deadline.setSeconds(deadline.getSeconds() + 3); + var status_text = 'xyz'; + var call = new grpc.Call(channel, + 'dummy_method', + deadline); + call.startInvoke(function(event) { + assert.strictEqual(event.type, + grpc.completionType.INVOKE_ACCEPTED); - call.writesDone(function(event) { - assert.strictEqual(event.type, - grpc.completionType.FINISH_ACCEPTED); - assert.strictEqual(event.data, grpc.opError.OK); - }); - },function(event) { + call.writesDone(function(event) { assert.strictEqual(event.type, - grpc.completionType.CLIENT_METADATA_READ); - },function(event) { + grpc.completionType.FINISH_ACCEPTED); + assert.strictEqual(event.data, grpc.opError.OK); + }); + },function(event) { + assert.strictEqual(event.type, + grpc.completionType.CLIENT_METADATA_READ); + },function(event) { + assert.strictEqual(event.type, grpc.completionType.FINISHED); + var status = event.data; + assert.strictEqual(status.code, grpc.status.OK); + assert.strictEqual(status.details, status_text); + done(); + }, 0); + + server.start(); + server.requestCall(function(event) { + assert.strictEqual(event.type, grpc.completionType.SERVER_RPC_NEW); + var server_call = event.call; + assert.notEqual(server_call, null); + server_call.serverAccept(function(event) { assert.strictEqual(event.type, grpc.completionType.FINISHED); - var status = event.data; - assert.strictEqual(status.code, grpc.status.OK); - assert.strictEqual(status.details, status_text); - done(); }, 0); + server_call.serverEndInitialMetadata(0); + server_call.startWriteStatus( + grpc.status.OK, + status_text, + function(event) { + assert.strictEqual(event.type, + grpc.completionType.FINISH_ACCEPTED); + assert.strictEqual(event.data, grpc.opError.OK); + done(); + }); + }); + }); - server.start(); - server.requestCall(function(event) { - assert.strictEqual(event.type, grpc.completionType.SERVER_RPC_NEW); - var server_call = event.call; - assert.notEqual(server_call, null); - server_call.serverAccept(function(event) { - assert.strictEqual(event.type, grpc.completionType.FINISHED); - }, 0); - server_call.serverEndInitialMetadata(0); - server_call.startWriteStatus( - grpc.status.OK, - status_text, - function(event) { + it('should send and receive data without error', function(complete) { + var req_text = 'client_request'; + var reply_text = 'server_response'; + var server = new grpc.Server(); + var done = multiDone(function() { + complete(); + server.shutdown(); + }, 6); + var port_num = server.addHttp2Port('0.0.0.0:0'); + var channel = new grpc.Channel('localhost:' + port_num); + var deadline = new Date(); + deadline.setSeconds(deadline.getSeconds() + 3); + var status_text = 'success'; + var call = new grpc.Call(channel, + 'dummy_method', + deadline); + call.startInvoke(function(event) { + assert.strictEqual(event.type, + grpc.completionType.INVOKE_ACCEPTED); + call.startWrite( + new Buffer(req_text), + function(event) { + assert.strictEqual(event.type, + grpc.completionType.WRITE_ACCEPTED); + assert.strictEqual(event.data, grpc.opError.OK); + call.writesDone(function(event) { assert.strictEqual(event.type, grpc.completionType.FINISH_ACCEPTED); assert.strictEqual(event.data, grpc.opError.OK); done(); }); + }, 0); + call.startRead(function(event) { + assert.strictEqual(event.type, grpc.completionType.READ); + assert.strictEqual(event.data.toString(), reply_text); + done(); }); - }); - }); + },function(event) { + assert.strictEqual(event.type, + grpc.completionType.CLIENT_METADATA_READ); + done(); + },function(event) { + assert.strictEqual(event.type, grpc.completionType.FINISHED); + var status = event.data; + assert.strictEqual(status.code, grpc.status.OK); + assert.strictEqual(status.details, status_text); + done(); + }, 0); - it('should send and receive data without error', function(complete) { - port_picker.nextAvailablePort(function(port) { - var req_text = 'client_request'; - var reply_text = 'server_response'; - var server = new grpc.Server(); - var done = multiDone(function() { - complete(); - server.shutdown(); - }, 6); - server.addHttp2Port(port); - var channel = new grpc.Channel(port); - var deadline = new Date(); - deadline.setSeconds(deadline.getSeconds() + 3); - var status_text = 'success'; - var call = new grpc.Call(channel, - 'dummy_method', - deadline); - call.startInvoke(function(event) { - assert.strictEqual(event.type, - grpc.completionType.INVOKE_ACCEPTED); - call.startWrite( - new Buffer(req_text), + server.start(); + server.requestCall(function(event) { + assert.strictEqual(event.type, grpc.completionType.SERVER_RPC_NEW); + var server_call = event.call; + assert.notEqual(server_call, null); + server_call.serverAccept(function(event) { + assert.strictEqual(event.type, grpc.completionType.FINISHED); + done(); + }); + server_call.serverEndInitialMetadata(0); + server_call.startRead(function(event) { + assert.strictEqual(event.type, grpc.completionType.READ); + assert.strictEqual(event.data.toString(), req_text); + server_call.startWrite( + new Buffer(reply_text), function(event) { assert.strictEqual(event.type, grpc.completionType.WRITE_ACCEPTED); - assert.strictEqual(event.data, grpc.opError.OK); - call.writesDone(function(event) { - assert.strictEqual(event.type, - grpc.completionType.FINISH_ACCEPTED); - assert.strictEqual(event.data, grpc.opError.OK); - done(); - }); + assert.strictEqual(event.data, + grpc.opError.OK); + server_call.startWriteStatus( + grpc.status.OK, + status_text, + function(event) { + assert.strictEqual(event.type, + grpc.completionType.FINISH_ACCEPTED); + assert.strictEqual(event.data, grpc.opError.OK); + done(); + }); }, 0); - call.startRead(function(event) { - assert.strictEqual(event.type, grpc.completionType.READ); - assert.strictEqual(event.data.toString(), reply_text); - done(); - }); - },function(event) { - assert.strictEqual(event.type, - grpc.completionType.CLIENT_METADATA_READ); - done(); - },function(event) { - assert.strictEqual(event.type, grpc.completionType.FINISHED); - var status = event.data; - assert.strictEqual(status.code, grpc.status.OK); - assert.strictEqual(status.details, status_text); - done(); - }, 0); - - server.start(); - server.requestCall(function(event) { - assert.strictEqual(event.type, grpc.completionType.SERVER_RPC_NEW); - var server_call = event.call; - assert.notEqual(server_call, null); - server_call.serverAccept(function(event) { - assert.strictEqual(event.type, grpc.completionType.FINISHED); - done(); - }); - server_call.serverEndInitialMetadata(0); - server_call.startRead(function(event) { - assert.strictEqual(event.type, grpc.completionType.READ); - assert.strictEqual(event.data.toString(), req_text); - server_call.startWrite( - new Buffer(reply_text), - function(event) { - assert.strictEqual(event.type, - grpc.completionType.WRITE_ACCEPTED); - assert.strictEqual(event.data, - grpc.opError.OK); - server_call.startWriteStatus( - grpc.status.OK, - status_text, - function(event) { - assert.strictEqual(event.type, - grpc.completionType.FINISH_ACCEPTED); - assert.strictEqual(event.data, grpc.opError.OK); - done(); - }); - }, 0); - }); }); }); }); diff --git a/src/node/test/math_client_test.js b/src/node/test/math_client_test.js index 45c956d1793..29d5648d467 100644 --- a/src/node/test/math_client_test.js +++ b/src/node/test/math_client_test.js @@ -32,7 +32,6 @@ */ var assert = require('assert'); -var port_picker = require('../port_picker'); var grpc = require('..'); var math = grpc.load(__dirname + '/../examples/math.proto').math; @@ -50,11 +49,10 @@ var server = require('../examples/math_server.js'); describe('Math client', function() { before(function(done) { - port_picker.nextAvailablePort(function(port) { - server.bind(port).listen(); - math_client = new math.Math(port); - done(); - }); + var port_num = server.bind('0.0.0.0:0'); + server.listen(); + math_client = new math.Math('localhost:' + port_num); + done(); }); after(function() { server.shutdown(); diff --git a/src/node/test/server_test.js b/src/node/test/server_test.js index 79f7b329485..61aef4677e3 100644 --- a/src/node/test/server_test.js +++ b/src/node/test/server_test.js @@ -34,7 +34,6 @@ var assert = require('assert'); var grpc = require('bindings')('grpc.node'); var Server = require('../server'); -var port_picker = require('../port_picker'); /** * This is used for testing functions with multiple asynchronous calls that @@ -68,54 +67,52 @@ function echoHandler(stream) { describe('echo server', function() { it('should echo inputs as responses', function(done) { done = multiDone(done, 4); - port_picker.nextAvailablePort(function(port) { - var server = new Server(); - server.bind(port); - server.register('echo', echoHandler); - server.start(); + var server = new Server(); + var port_num = server.bind('[::]:0'); + server.register('echo', echoHandler); + server.start(); - var req_text = 'echo test string'; - var status_text = 'OK'; + var req_text = 'echo test string'; + var status_text = 'OK'; - var channel = new grpc.Channel(port); - var deadline = new Date(); - deadline.setSeconds(deadline.getSeconds() + 3); - var call = new grpc.Call(channel, - 'echo', - deadline); - call.startInvoke(function(event) { - assert.strictEqual(event.type, - grpc.completionType.INVOKE_ACCEPTED); - call.startWrite( - new Buffer(req_text), - function(event) { + var channel = new grpc.Channel('localhost:' + port_num); + var deadline = new Date(); + deadline.setSeconds(deadline.getSeconds() + 3); + var call = new grpc.Call(channel, + 'echo', + deadline); + call.startInvoke(function(event) { + assert.strictEqual(event.type, + grpc.completionType.INVOKE_ACCEPTED); + call.startWrite( + new Buffer(req_text), + function(event) { + assert.strictEqual(event.type, + grpc.completionType.WRITE_ACCEPTED); + assert.strictEqual(event.data, grpc.opError.OK); + call.writesDone(function(event) { assert.strictEqual(event.type, - grpc.completionType.WRITE_ACCEPTED); + grpc.completionType.FINISH_ACCEPTED); assert.strictEqual(event.data, grpc.opError.OK); - call.writesDone(function(event) { - assert.strictEqual(event.type, - grpc.completionType.FINISH_ACCEPTED); - assert.strictEqual(event.data, grpc.opError.OK); - done(); - }); - }, 0); - call.startRead(function(event) { - assert.strictEqual(event.type, grpc.completionType.READ); - assert.strictEqual(event.data.toString(), req_text); - done(); - }); - },function(event) { - assert.strictEqual(event.type, - grpc.completionType.CLIENT_METADATA_READ); + done(); + }); + }, 0); + call.startRead(function(event) { + assert.strictEqual(event.type, grpc.completionType.READ); + assert.strictEqual(event.data.toString(), req_text); done(); - },function(event) { - assert.strictEqual(event.type, grpc.completionType.FINISHED); - var status = event.data; - assert.strictEqual(status.code, grpc.status.OK); - assert.strictEqual(status.details, status_text); - server.shutdown(); - done(); - }, 0); - }); + }); + },function(event) { + assert.strictEqual(event.type, + grpc.completionType.CLIENT_METADATA_READ); + done(); + },function(event) { + assert.strictEqual(event.type, grpc.completionType.FINISHED); + var status = event.data; + assert.strictEqual(status.code, grpc.status.OK); + assert.strictEqual(status.details, status_text); + server.shutdown(); + done(); + }, 0); }); }); From 0397061095a05736dee043bc449b9b5318e31371 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Wed, 21 Jan 2015 11:58:23 -0800 Subject: [PATCH 098/121] Removed extra debugger statements --- src/node/client.js | 6 +----- src/node/server.js | 1 - 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/node/client.js b/src/node/client.js index 6649c1ed680..edaa115d0fc 100644 --- a/src/node/client.js +++ b/src/node/client.js @@ -118,11 +118,7 @@ function GrpcClientStream(call, options) { self.emit('status', event.data); }, 0); this.on('finish', function() { - try { - call.writesDone(function() {}); - } catch (e) { - debugger; - } + call.writesDone(function() {}); }); /** * Indicate that reads should start, and start them if the INVOKE_ACCEPTED diff --git a/src/node/server.js b/src/node/server.js index 8f6f7504c0c..e947032b297 100644 --- a/src/node/server.js +++ b/src/node/server.js @@ -193,7 +193,6 @@ function Server(options) { * @param {grpc.Event} event The event to handle with tag SERVER_RPC_NEW */ function handleNewCall(event) { - debugger; var call = event.call; var data = event.data; if (data == null) { From f034e50ba9847250388c0608cd217dbd1dbc76db Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Wed, 21 Jan 2015 12:12:39 -0800 Subject: [PATCH 099/121] Modified interop tests to handle binding to port 0 --- src/node/interop/interop_server.js | 11 ++++++----- src/node/test/interop_sanity_test.js | 13 +++++-------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/node/interop/interop_server.js b/src/node/interop/interop_server.js index 735b7a6d18b..6d2bd7ae0de 100644 --- a/src/node/interop/interop_server.js +++ b/src/node/interop/interop_server.js @@ -157,7 +157,8 @@ function handleHalfDuplex(call) { * Get a server object bound to the given port * @param {string} port Port to which to bind * @param {boolean} tls Indicates that the bound port should use TLS - * @return {Server} Server object bound to the support + * @return {{server: Server, port: number}} Server object bound to the support, + * and port number that the server is bound to */ function getServer(port, tls) { // TODO(mlumish): enable TLS functionality @@ -183,8 +184,8 @@ function getServer(port, tls) { halfDuplexCall: handleHalfDuplex } }, options); - server.bind('0.0.0.0:' + port, tls); - return server; + var port_num = server.bind('0.0.0.0:' + port, tls); + return {server: server, port: port_num}; } if (require.main === module) { @@ -192,8 +193,8 @@ if (require.main === module) { var argv = parseArgs(process.argv, { string: ['port', 'use_tls'] }); - var server = getServer(argv.port, argv.use_tls === 'true'); - server.start(); + var server_obj = getServer(argv.port, argv.use_tls === 'true'); + server_obj.server.start(); } /** diff --git a/src/node/test/interop_sanity_test.js b/src/node/test/interop_sanity_test.js index 9959a165ad1..b0fc8f82002 100644 --- a/src/node/test/interop_sanity_test.js +++ b/src/node/test/interop_sanity_test.js @@ -34,8 +34,6 @@ var interop_server = require('../interop/interop_server.js'); var interop_client = require('../interop/interop_client.js'); -var port_picker = require('../port_picker'); - var server; var port; @@ -44,12 +42,11 @@ var name_override = 'foo.test.google.com'; describe('Interop tests', function() { before(function(done) { - port_picker.nextAvailablePort(function(addr) { - server = interop_server.getServer(addr.substring(addr.indexOf(':') + 1), true); - server.listen(); - port = addr; - done(); - }); + var server_obj = interop_server.getServer(0, true); + server = server_obj.server; + server.listen(); + port = 'localhost:' + server_obj.port; + done(); }); // This depends on not using a binary stream it.skip('should pass empty_unary', function(done) { From ec8956435dab45acc7e6308ab3854b2711752cb6 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Wed, 21 Jan 2015 13:43:39 -0800 Subject: [PATCH 100/121] Switched binary stream to object stream --- src/node/client.js | 53 ++++++++++++++++++++--- src/node/server.js | 64 +++++++++++++++++++++++----- src/node/test/interop_sanity_test.js | 2 +- 3 files changed, 103 insertions(+), 16 deletions(-) diff --git a/src/node/client.js b/src/node/client.js index edaa115d0fc..fe7e07e29cb 100644 --- a/src/node/client.js +++ b/src/node/client.js @@ -45,10 +45,22 @@ util.inherits(GrpcClientStream, Duplex); * from stream.Duplex. * @constructor * @param {grpc.Call} call Call object to proxy - * @param {object} options Stream options + * @param {function(*):Buffer} serialize Serialization function for requests + * @param {function(Buffer):*} deserialize Deserialization function for + * responses */ -function GrpcClientStream(call, options) { - Duplex.call(this, options); +function GrpcClientStream(call, serialize, deserialize) { + Duplex.call(this, {objectMode: true}); + if (!serialize) { + serialize = function(value) { + return value; + }; + } + if (!deserialize) { + deserialize = function(value) { + return value; + }; + } var self = this; // Indicates that we can start reading and have not received a null read var can_read = false; @@ -59,6 +71,32 @@ function GrpcClientStream(call, options) { // Indicates that a write is currently pending var writing = false; this._call = call; + + /** + * Serialize a request value to a buffer. Always maps null to null. Otherwise + * uses the provided serialize function + * @param {*} value The value to serialize + * @return {Buffer} The serialized value + */ + this.serialize = function(value) { + if (value === null || value === undefined) { + return null; + } + return serialize(value); + }; + + /** + * Deserialize a response buffer to a value. Always maps null to null. + * Otherwise uses the provided deserialize function. + * @param {Buffer} buffer The buffer to deserialize + * @return {*} The deserialized value + */ + this.deserialize = function(buffer) { + if (buffer === null) { + return null; + } + return deserialize(buffer); + }; /** * Callback to handle receiving a READ event. Pushes the data from that event * onto the read queue and starts reading again if applicable. @@ -66,7 +104,7 @@ function GrpcClientStream(call, options) { */ function readCallback(event) { var data = event.data; - if (self.push(data)) { + if (self.push(self.deserialize(data))) { if (data == null) { // Disable starting to read after null read was received can_read = false; @@ -102,7 +140,7 @@ function GrpcClientStream(call, options) { next.callback(); writeNext(); }; - call.startWrite(next.chunk, writeCallback, 0); + call.startWrite(self.serialize(next.chunk), writeCallback, 0); } else { writing = false; } @@ -171,6 +209,9 @@ GrpcClientStream.prototype._write = function(chunk, encoding, callback) { * Make a request on the channel to the given method with the given arguments * @param {grpc.Channel} channel The channel on which to make the request * @param {string} method The method to request + * @param {function(*):Buffer} serialize Serialization function for requests + * @param {function(Buffer):*} deserialize Deserialization function for + * responses * @param {array=} metadata Array of metadata key/value pairs to add to the call * @param {(number|Date)=} deadline The deadline for processing this request. * Defaults to infinite future. @@ -178,6 +219,8 @@ GrpcClientStream.prototype._write = function(chunk, encoding, callback) { */ function makeRequest(channel, method, + serialize, + deserialize, metadata, deadline) { if (deadline === undefined) { diff --git a/src/node/server.js b/src/node/server.js index e947032b297..c5f56bc4fc2 100644 --- a/src/node/server.js +++ b/src/node/server.js @@ -47,10 +47,21 @@ util.inherits(GrpcServerStream, Duplex); * from stream.Duplex. * @constructor * @param {grpc.Call} call Call object to proxy - * @param {object} options Stream options + * @param {function(*):Buffer} serialize Serialization function for responses + * @param {function(Buffer):*} deserialize Deserialization function for requests */ -function GrpcServerStream(call, options) { - Duplex.call(this, options); +function GrpcServerStream(call, serialize, deserialize) { + Duplex.call(this, {objectMode: true}); + if (!serialize) { + serialize = function(value) { + return value; + }; + } + if (!deserialize) { + deserialize = function(value) { + return value; + }; + } this._call = call; // Indicate that a status has been sent var finished = false; @@ -59,6 +70,33 @@ function GrpcServerStream(call, options) { 'code' : grpc.status.OK, 'details' : 'OK' }; + + /** + * Serialize a response value to a buffer. Always maps null to null. Otherwise + * uses the provided serialize function + * @param {*} value The value to serialize + * @return {Buffer} The serialized value + */ + this.serialize = function(value) { + if (value === null || value === undefined) { + return null; + } + return serialize(value); + }; + + /** + * Deserialize a request buffer to a value. Always maps null to null. + * Otherwise uses the provided deserialize function. + * @param {Buffer} buffer The buffer to deserialize + * @return {*} The deserialized value + */ + this.deserialize = function(buffer) { + if (buffer === null) { + return null; + } + return deserialize(buffer); + }; + /** * Send the pending status */ @@ -75,7 +113,6 @@ function GrpcServerStream(call, options) { * @param {Error} err The error object */ function setStatus(err) { - console.log('Server setting status to', err); var code = grpc.status.INTERNAL; var details = 'Unknown Error'; @@ -113,7 +150,7 @@ function GrpcServerStream(call, options) { return; } var data = event.data; - if (self.push(data) && data != null) { + if (self.push(deserialize(data)) && data != null) { self._call.startRead(readCallback); } else { reading = false; @@ -155,7 +192,7 @@ GrpcServerStream.prototype._read = function(size) { */ GrpcServerStream.prototype._write = function(chunk, encoding, callback) { var self = this; - self._call.startWrite(chunk, function(event) { + self._call.startWrite(self.serialize(chunk), function(event) { callback(); }, 0); }; @@ -211,12 +248,13 @@ function Server(options) { } }, 0); call.serverEndInitialMetadata(0); - var stream = new GrpcServerStream(call); + var stream = new GrpcServerStream(call, handler.serialize, + handler.deserialize); Object.defineProperty(stream, 'cancelled', { get: function() { return cancelled;} }); try { - handler(stream, data.metadata); + handler.func(stream, data.metadata); } catch (e) { stream.emit('error', e); } @@ -237,14 +275,20 @@ function Server(options) { * handle/respond to. * @param {function} handler Function that takes a stream of request values and * returns a stream of response values + * @param {function(*):Buffer} serialize Serialization function for responses + * @param {function(Buffer):*} deserialize Deserialization function for requests * @return {boolean} True if the handler was set. False if a handler was already * set for that name. */ -Server.prototype.register = function(name, handler) { +Server.prototype.register = function(name, handler, serialize, deserialize) { if (this.handlers.hasOwnProperty(name)) { return false; } - this.handlers[name] = handler; + this.handlers[name] = { + func: handler, + serialize: serialize, + deserialize: deserialize + }; return true; }; diff --git a/src/node/test/interop_sanity_test.js b/src/node/test/interop_sanity_test.js index 9959a165ad1..7aa95c6aebf 100644 --- a/src/node/test/interop_sanity_test.js +++ b/src/node/test/interop_sanity_test.js @@ -52,7 +52,7 @@ describe('Interop tests', function() { }); }); // This depends on not using a binary stream - it.skip('should pass empty_unary', function(done) { + it('should pass empty_unary', function(done) { interop_client.runTest(port, name_override, 'empty_unary', true, done); }); it('should pass large_unary', function(done) { From e7d7559db3073e54ee15febad398d9b927345378 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 14:58:32 -0800 Subject: [PATCH 101/121] Add a gitignore for win32 stuff --- vsprojects/vs2013/.gitignore | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 vsprojects/vs2013/.gitignore diff --git a/vsprojects/vs2013/.gitignore b/vsprojects/vs2013/.gitignore new file mode 100644 index 00000000000..75fb4ed6b6f --- /dev/null +++ b/vsprojects/vs2013/.gitignore @@ -0,0 +1,5 @@ +Debug +Release +*.suo +grpc.opensdf +grpc.sdf From b4ee3b597789f4a8cb7e729a7e5f547a6b967198 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 16:22:50 -0800 Subject: [PATCH 102/121] Make libraries compile on Darwin --- Makefile | 150 +++++++++++++++++++++++++++++++++++- templates/Makefile.template | 10 ++- 2 files changed, 158 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 1fefcfd09fe..28bb81b6dea 100644 --- a/Makefile +++ b/Makefile @@ -524,8 +524,12 @@ libs/$(CONFIG)/zlib/libz.a: $(Q)cp third_party/zlib/libz.a libs/$(CONFIG)/zlib libs/$(CONFIG)/openssl/libssl.a: - $(E) "[MAKE] Building openssl" + $(E) "[MAKE] Building openssl for $(SYSTEM)" +ifeq ($(SYSTEM),Darwin) + $(Q)(cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(OPENSSL_CFLAGS_$(CONFIG))" ./Configure darwin64-x86_64-cc $(OPENSSL_CONFIG_$(CONFIG))) +else $(Q)(cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(OPENSSL_CFLAGS_$(CONFIG))" ./config $(OPENSSL_CONFIG_$(CONFIG))) +endif $(Q)$(MAKE) -C third_party/openssl clean $(Q)$(MAKE) -C third_party/openssl build_crypto build_ssl $(Q)mkdir -p libs/$(CONFIG)/openssl @@ -1220,7 +1224,11 @@ LIBGPR_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGPR_S libs/$(CONFIG)/libgpr.a: $(ZLIB_DEP) $(LIBGPR_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libgpr.a $(Q) $(AR) rcs libs/$(CONFIG)/libgpr.a $(LIBGPR_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libgpr.a +endif @@ -1296,7 +1304,11 @@ endif libs/$(CONFIG)/libgpr_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGPR_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libgpr_test_util.a $(Q) $(AR) rcs libs/$(CONFIG)/libgpr_test_util.a $(LIBGPR_TEST_UTIL_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libgpr_test_util.a +endif @@ -1530,6 +1542,7 @@ endif libs/$(CONFIG)/libgrpc.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libgrpc.a $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc.a $(LIBGRPC_OBJS) $(Q) rm -rf tmp-merge $(Q) mkdir tmp-merge @@ -1538,6 +1551,9 @@ libs/$(CONFIG)/libgrpc.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_OBJS) $(Q) rm -f libs/$(CONFIG)/libgrpc.a tmp-merge/__.SYMDEF* $(Q) ar rcs libs/$(CONFIG)/libgrpc.a tmp-merge/* $(Q) rm -rf tmp-merge +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libgrpc.a +endif @@ -1706,7 +1722,11 @@ endif libs/$(CONFIG)/libgrpc_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libgrpc_test_util.a $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc_test_util.a $(LIBGRPC_TEST_UTIL_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libgrpc_test_util.a +endif @@ -1827,7 +1847,11 @@ LIBGRPC_UNSECURE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename libs/$(CONFIG)/libgrpc_unsecure.a: $(ZLIB_DEP) $(LIBGRPC_UNSECURE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libgrpc_unsecure.a $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc_unsecure.a $(LIBGRPC_UNSECURE_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libgrpc_unsecure.a +endif @@ -2020,7 +2044,11 @@ endif libs/$(CONFIG)/libgrpc++.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libgrpc++.a $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc++.a $(LIBGRPC++_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libgrpc++.a +endif @@ -2102,7 +2130,11 @@ endif libs/$(CONFIG)/libgrpc++_test_util.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBGRPC++_TEST_UTIL_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libgrpc++_test_util.a $(Q) $(AR) rcs libs/$(CONFIG)/libgrpc++_test_util.a $(LIBGRPC++_TEST_UTIL_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libgrpc++_test_util.a +endif @@ -2145,7 +2177,11 @@ endif libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a $(LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a +endif @@ -2184,7 +2220,11 @@ endif libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a $(LIBEND2END_FIXTURE_CHTTP2_FULLSTACK_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a +endif @@ -2223,7 +2263,11 @@ endif libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_FULLSTACK_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a +endif @@ -2262,7 +2306,11 @@ endif libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a $(LIBEND2END_FIXTURE_CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a +endif @@ -2301,7 +2349,11 @@ endif libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a +endif @@ -2340,7 +2392,11 @@ endif libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a $(LIBEND2END_FIXTURE_CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a +endif @@ -2366,7 +2422,11 @@ LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuf libs/$(CONFIG)/libend2end_test_cancel_after_accept.a: $(ZLIB_DEP) $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_cancel_after_accept.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_cancel_after_accept.a $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_cancel_after_accept.a +endif @@ -2388,7 +2448,11 @@ LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS = $(addprefix objs/$( libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a: $(ZLIB_DEP) $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a $(LIBEND2END_TEST_CANCEL_AFTER_ACCEPT_AND_WRITES_CLOSED_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a +endif @@ -2410,7 +2474,11 @@ LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuf libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a: $(ZLIB_DEP) $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a $(LIBEND2END_TEST_CANCEL_AFTER_INVOKE_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a +endif @@ -2432,7 +2500,11 @@ LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS = $(addprefix objs/$(CONFIG)/, $(addsu libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a: $(ZLIB_DEP) $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a $(LIBEND2END_TEST_CANCEL_BEFORE_INVOKE_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a +endif @@ -2454,7 +2526,11 @@ LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuff libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a: $(ZLIB_DEP) $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a $(LIBEND2END_TEST_CANCEL_IN_A_VACUUM_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a +endif @@ -2476,7 +2552,11 @@ LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(adds libs/$(CONFIG)/libend2end_test_census_simple_request.a: $(ZLIB_DEP) $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_census_simple_request.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_census_simple_request.a $(LIBEND2END_TEST_CENSUS_SIMPLE_REQUEST_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_census_simple_request.a +endif @@ -2498,7 +2578,11 @@ LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuf libs/$(CONFIG)/libend2end_test_disappearing_server.a: $(ZLIB_DEP) $(LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_disappearing_server.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_disappearing_server.a $(LIBEND2END_TEST_DISAPPEARING_SERVER_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_disappearing_server.a +endif @@ -2520,7 +2604,11 @@ LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS = $(addprefix libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a: $(ZLIB_DEP) $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_INFLIGHT_CALLS_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a +endif @@ -2542,7 +2630,11 @@ LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS = $(addprefix objs/$(CO libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a: $(ZLIB_DEP) $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a $(LIBEND2END_TEST_EARLY_SERVER_SHUTDOWN_FINISHES_TAGS_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a +endif @@ -2564,7 +2656,11 @@ LIBEND2END_TEST_GRACEFUL_SERVER_SHUTDOWN_OBJS = $(addprefix objs/$(CONFIG)/, $(a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a: $(ZLIB_DEP) $(LIBEND2END_TEST_GRACEFUL_SERVER_SHUTDOWN_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a $(LIBEND2END_TEST_GRACEFUL_SERVER_SHUTDOWN_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a +endif @@ -2586,7 +2682,11 @@ LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsu libs/$(CONFIG)/libend2end_test_invoke_large_request.a: $(ZLIB_DEP) $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_invoke_large_request.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_invoke_large_request.a $(LIBEND2END_TEST_INVOKE_LARGE_REQUEST_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_invoke_large_request.a +endif @@ -2608,7 +2708,11 @@ LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS = $(addprefix objs/$(CONFIG)/, $(add libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a: $(ZLIB_DEP) $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a $(LIBEND2END_TEST_MAX_CONCURRENT_STREAMS_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a +endif @@ -2630,7 +2734,11 @@ LIBEND2END_TEST_NO_OP_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(base libs/$(CONFIG)/libend2end_test_no_op.a: $(ZLIB_DEP) $(LIBEND2END_TEST_NO_OP_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_no_op.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_no_op.a $(LIBEND2END_TEST_NO_OP_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_no_op.a +endif @@ -2652,7 +2760,11 @@ LIBEND2END_TEST_PING_PONG_STREAMING_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuf libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a: $(ZLIB_DEP) $(LIBEND2END_TEST_PING_PONG_STREAMING_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a $(LIBEND2END_TEST_PING_PONG_STREAMING_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a +endif @@ -2674,7 +2786,11 @@ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS = $(addpr libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a: $(ZLIB_DEP) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_BINARY_METADATA_AND_PAYLOAD_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a +endif @@ -2696,7 +2812,11 @@ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS = $(addprefix ob libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a: $(ZLIB_DEP) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_METADATA_AND_PAYLOAD_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a +endif @@ -2718,7 +2838,11 @@ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS = $(addprefix objs/$(CONFIG)/ libs/$(CONFIG)/libend2end_test_request_response_with_payload.a: $(ZLIB_DEP) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_request_response_with_payload.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_request_response_with_payload.a $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_PAYLOAD_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_request_response_with_payload.a +endif @@ -2740,7 +2864,11 @@ LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS = $(add libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a: $(ZLIB_DEP) $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a $(LIBEND2END_TEST_REQUEST_RESPONSE_WITH_TRAILING_METADATA_AND_PAYLOAD_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a +endif @@ -2762,7 +2890,11 @@ LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(add libs/$(CONFIG)/libend2end_test_simple_delayed_request.a: $(ZLIB_DEP) $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_simple_delayed_request.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_simple_delayed_request.a $(LIBEND2END_TEST_SIMPLE_DELAYED_REQUEST_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_simple_delayed_request.a +endif @@ -2784,7 +2916,11 @@ LIBEND2END_TEST_SIMPLE_REQUEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix . libs/$(CONFIG)/libend2end_test_simple_request.a: $(ZLIB_DEP) $(LIBEND2END_TEST_SIMPLE_REQUEST_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_simple_request.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_simple_request.a $(LIBEND2END_TEST_SIMPLE_REQUEST_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_simple_request.a +endif @@ -2806,7 +2942,11 @@ LIBEND2END_TEST_THREAD_STRESS_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o libs/$(CONFIG)/libend2end_test_thread_stress.a: $(ZLIB_DEP) $(LIBEND2END_TEST_THREAD_STRESS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_thread_stress.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_thread_stress.a $(LIBEND2END_TEST_THREAD_STRESS_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_thread_stress.a +endif @@ -2828,7 +2968,11 @@ LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS = $(addprefix objs/$(CO libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a: $(ZLIB_DEP) $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a $(LIBEND2END_TEST_WRITES_DONE_HANGS_WITH_PENDING_READ_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a +endif @@ -2869,7 +3013,11 @@ endif libs/$(CONFIG)/libend2end_certs.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBEND2END_CERTS_OBJS) $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/libend2end_certs.a $(Q) $(AR) rcs libs/$(CONFIG)/libend2end_certs.a $(LIBEND2END_CERTS_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/libend2end_certs.a +endif diff --git a/templates/Makefile.template b/templates/Makefile.template index 11b9438a685..beb3a66fd78 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -340,8 +340,12 @@ libs/$(CONFIG)/zlib/libz.a: $(Q)cp third_party/zlib/libz.a libs/$(CONFIG)/zlib libs/$(CONFIG)/openssl/libssl.a: - $(E) "[MAKE] Building openssl" + $(E) "[MAKE] Building openssl for $(SYSTEM)" +ifeq ($(SYSTEM),Darwin) + $(Q)(cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(OPENSSL_CFLAGS_$(CONFIG))" ./Configure darwin64-x86_64-cc $(OPENSSL_CONFIG_$(CONFIG))) +else $(Q)(cd third_party/openssl ; CC="$(CC) -fPIC -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(OPENSSL_CFLAGS_$(CONFIG))" ./config $(OPENSSL_CONFIG_$(CONFIG))) +endif $(Q)$(MAKE) -C third_party/openssl clean $(Q)$(MAKE) -C third_party/openssl build_crypto build_ssl $(Q)mkdir -p libs/$(CONFIG)/openssl @@ -695,6 +699,7 @@ libs/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(LIB${lib.name.upper()}_OBJS) % endif $(E) "[AR] Creating $@" $(Q) mkdir -p `dirname $@` + $(Q) rm -f libs/$(CONFIG)/lib${lib.name}.a $(Q) $(AR) rcs libs/$(CONFIG)/lib${lib.name}.a $(LIB${lib.name.upper()}_OBJS) % if lib.get('baselib', False): % if lib.get('secure', True): @@ -707,6 +712,9 @@ libs/$(CONFIG)/lib${lib.name}.a: $(ZLIB_DEP) $(LIB${lib.name.upper()}_OBJS) $(Q) rm -rf tmp-merge % endif % endif +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib libs/$(CONFIG)/lib${lib.name}.a +endif <% if lib.language == 'c++': From d19d850357e6204484a1e57677705c6b973217db Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 16:28:39 -0800 Subject: [PATCH 103/121] This field is 8 bits on Mac --- test/core/iomgr/sockaddr_utils_test.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/core/iomgr/sockaddr_utils_test.c b/test/core/iomgr/sockaddr_utils_test.c index 14018ed66c5..3e653da4c97 100644 --- a/test/core/iomgr/sockaddr_utils_test.c +++ b/test/core/iomgr/sockaddr_utils_test.c @@ -213,9 +213,9 @@ static void test_sockaddr_to_string(void) { expect_sockaddr_str("[::fffe:c000:263]:12345", &input6, 1); memset(&dummy, 0, sizeof(dummy)); - dummy.sa_family = 999; - expect_sockaddr_str("(sockaddr family=999)", &dummy, 0); - expect_sockaddr_str("(sockaddr family=999)", &dummy, 1); + dummy.sa_family = 123; + expect_sockaddr_str("(sockaddr family=123)", &dummy, 0); + expect_sockaddr_str("(sockaddr family=123)", &dummy, 1); GPR_ASSERT(errno == 0xDEADBEEF); } From 96b49557ec34ed52ac067089a9b496b27d9a0218 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 16:29:01 -0800 Subject: [PATCH 104/121] Sort out some more compile flags for Mac --- Makefile | 20 ++++++++++++++------ templates/Makefile.template | 20 ++++++++++++++------ 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 28bb81b6dea..f88e579fe75 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,14 @@ # This currently builds C and C++ code. + +# Basic platform detection +HOST_SYSTEM = $(shell uname | cut -f 1 -d_) +ifeq ($(SYSTEM),) +SYSTEM = $(HOST_SYSTEM) +endif + + # Configurations VALID_CONFIG_opt = 1 @@ -115,10 +123,15 @@ LDFLAGS += $(LDFLAGS_$(CONFIG)) CFLAGS += -std=c89 -pedantic CXXFLAGS += -std=c++11 CPPFLAGS += -g -fPIC -Wall -Werror -Wno-long-long -LDFLAGS += -g -pthread -fPIC +LDFLAGS += -g -fPIC INCLUDES = . include gens +ifeq ($(SYSTEM),Darwin) +LIBS = m z +else LIBS = rt m z pthread +LDFLAGS += -pthread +endif LIBSXX = protobuf LIBS_PROTOC = protoc protobuf @@ -156,11 +169,6 @@ HOST_LDLIBS = $(LDLIBS) # These are automatically computed variables. # There shouldn't be any need to change anything from now on. -HOST_SYSTEM = $(shell uname | cut -f 1 -d_) -ifeq ($(SYSTEM),) -SYSTEM = $(HOST_SYSTEM) -endif - ifeq ($(SYSTEM),MINGW32) SHARED_EXT = dll endif diff --git a/templates/Makefile.template b/templates/Makefile.template index beb3a66fd78..b80e80ca818 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -19,6 +19,14 @@ return 'gens/' + m.group(1) + '.pb.cc' %> + +# Basic platform detection +HOST_SYSTEM = $(shell uname | cut -f 1 -d_) +ifeq ($(SYSTEM),) +SYSTEM = $(HOST_SYSTEM) +endif + + # Configurations VALID_CONFIG_opt = 1 @@ -132,10 +140,15 @@ LDFLAGS += $(LDFLAGS_$(CONFIG)) CFLAGS += -std=c89 -pedantic CXXFLAGS += -std=c++11 CPPFLAGS += -g -fPIC -Wall -Werror -Wno-long-long -LDFLAGS += -g -pthread -fPIC +LDFLAGS += -g -fPIC INCLUDES = . include gens +ifeq ($(SYSTEM),Darwin) +LIBS = m z +else LIBS = rt m z pthread +LDFLAGS += -pthread +endif LIBSXX = protobuf LIBS_PROTOC = protoc protobuf @@ -173,11 +186,6 @@ HOST_LDLIBS = $(LDLIBS) # These are automatically computed variables. # There shouldn't be any need to change anything from now on. -HOST_SYSTEM = $(shell uname | cut -f 1 -d_) -ifeq ($(SYSTEM),) -SYSTEM = $(HOST_SYSTEM) -endif - ifeq ($(SYSTEM),MINGW32) SHARED_EXT = dll endif From 5d8fbe266322fca7ff192a222e16733c020e4960 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 16:33:54 -0800 Subject: [PATCH 105/121] Make this socket creation portable --- test/core/iomgr/tcp_client_posix_test.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/core/iomgr/tcp_client_posix_test.c b/test/core/iomgr/tcp_client_posix_test.c index 79ba777e85e..f9212e73737 100644 --- a/test/core/iomgr/tcp_client_posix_test.c +++ b/test/core/iomgr/tcp_client_posix_test.c @@ -40,6 +40,7 @@ #include #include "src/core/iomgr/iomgr.h" +#include "src/core/iomgr/socket_utils_posix.h" #include #include @@ -138,7 +139,8 @@ void test_times_out(void) { /* tie up the listen buffer, which is somewhat arbitrarily sized. */ for (i = 0; i < NUM_CLIENT_CONNECTS; ++i) { - client_fd[i] = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0); + client_fd[i] = socket(AF_INET, SOCK_STREAM, 0); + grpc_set_socket_nonblocking(client_fd[i], 1); do { r = connect(client_fd[i], (struct sockaddr *)&addr, addr_len); } while (r == -1 && errno == EINTR); From 9f44bfff6deaeef5f761ab76185f822bd59cfb8d Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 17:14:01 -0800 Subject: [PATCH 106/121] Make option setting work on Mac --- src/core/iomgr/socket_utils_common_posix.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/iomgr/socket_utils_common_posix.c b/src/core/iomgr/socket_utils_common_posix.c index d65b025d700..bd29e2b5fd2 100644 --- a/src/core/iomgr/socket_utils_common_posix.c +++ b/src/core/iomgr/socket_utils_common_posix.c @@ -99,7 +99,7 @@ int grpc_set_socket_reuse_addr(int fd, int reuse) { socklen_t intlen = sizeof(newval); return 0 == setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val)) && 0 == getsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &newval, &intlen) && - newval == val; + (newval != 0) == val; } /* disable nagle */ @@ -109,7 +109,7 @@ int grpc_set_socket_low_latency(int fd, int low_latency) { socklen_t intlen = sizeof(newval); return 0 == setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(val)) && 0 == getsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &newval, &intlen) && - newval == val; + (newval != 0) == val; } static gpr_once g_probe_ipv6_once = GPR_ONCE_INIT; From cdc2a738c333cc63bd66a546929f41e358af6ab9 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Wed, 21 Jan 2015 17:26:04 -0800 Subject: [PATCH 107/121] Indicated that serialize and deserialize are optional --- src/node/client.js | 4 ++-- src/node/server.js | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/node/client.js b/src/node/client.js index fe7e07e29cb..f913b06f298 100644 --- a/src/node/client.js +++ b/src/node/client.js @@ -45,8 +45,8 @@ util.inherits(GrpcClientStream, Duplex); * from stream.Duplex. * @constructor * @param {grpc.Call} call Call object to proxy - * @param {function(*):Buffer} serialize Serialization function for requests - * @param {function(Buffer):*} deserialize Deserialization function for + * @param {function(*):Buffer=} serialize Serialization function for requests + * @param {function(Buffer):*=} deserialize Deserialization function for * responses */ function GrpcClientStream(call, serialize, deserialize) { diff --git a/src/node/server.js b/src/node/server.js index 27a18f5228c..eca20aa5fd0 100644 --- a/src/node/server.js +++ b/src/node/server.js @@ -47,8 +47,9 @@ util.inherits(GrpcServerStream, Duplex); * from stream.Duplex. * @constructor * @param {grpc.Call} call Call object to proxy - * @param {function(*):Buffer} serialize Serialization function for responses - * @param {function(Buffer):*} deserialize Deserialization function for requests + * @param {function(*):Buffer=} serialize Serialization function for responses + * @param {function(Buffer):*=} deserialize Deserialization function for + * requests */ function GrpcServerStream(call, serialize, deserialize) { Duplex.call(this, {objectMode: true}); From 93da6ac64742002e60f009057a74de6d848e8ab1 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 18:05:07 -0800 Subject: [PATCH 108/121] Fix memory corruption if >2 ports --- src/core/iomgr/tcp_server_posix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/iomgr/tcp_server_posix.c b/src/core/iomgr/tcp_server_posix.c index 5762eb8a970..e6c02186eea 100644 --- a/src/core/iomgr/tcp_server_posix.c +++ b/src/core/iomgr/tcp_server_posix.c @@ -252,7 +252,7 @@ static int add_socket_to_server(grpc_tcp_server *s, int fd, if (s->nports == s->port_capacity) { s->port_capacity *= 2; s->ports = - gpr_realloc(s->ports, sizeof(server_port *) * s->port_capacity); + gpr_realloc(s->ports, sizeof(server_port) * s->port_capacity); } sp = &s->ports[s->nports++]; sp->server = s; From 6f5e2c42f97ab90b36ca5a2c6026daba0e6f2b1c Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 18:05:31 -0800 Subject: [PATCH 109/121] Surface failure count --- tools/run_tests/jobset.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/run_tests/jobset.py b/tools/run_tests/jobset.py index 7a6d979ba30..8f16a4ff2c2 100755 --- a/tools/run_tests/jobset.py +++ b/tools/run_tests/jobset.py @@ -160,8 +160,8 @@ class Jobset(object): self._completed += 1 self._running.remove(job) if dead: return - message('WAITING', '%d jobs running, %d complete' % ( - len(self._running), self._completed)) + message('WAITING', '%d jobs running, %d complete, %d failed' % ( + len(self._running), self._completed, self._failures)) time.sleep(0.1) def cancelled(self): From 86af8cffc5122426c5fc82ca55c4d7fd7d8257d5 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Wed, 21 Jan 2015 18:05:40 -0800 Subject: [PATCH 110/121] TIPS client implementation. --- Makefile | 145 +++++++- build.json | 51 +++ examples/tips/client.cc | 62 ++++ examples/tips/client.h | 53 +++ examples/tips/client_main.cc | 85 +++++ examples/tips/client_test.cc | 110 ++++++ examples/tips/empty.proto | 19 + examples/tips/label.proto | 49 +++ examples/tips/messages.proto | 94 +++++ examples/tips/pubsub.proto | 702 +++++++++++++++++++++++++++++++++++ examples/tips/server.cc | 231 ++++++++++++ examples/tips/test.proto | 42 +++ 12 files changed, 1641 insertions(+), 2 deletions(-) create mode 100644 examples/tips/client.cc create mode 100644 examples/tips/client.h create mode 100644 examples/tips/client_main.cc create mode 100644 examples/tips/client_test.cc create mode 100644 examples/tips/empty.proto create mode 100644 examples/tips/label.proto create mode 100644 examples/tips/messages.proto create mode 100644 examples/tips/pubsub.proto create mode 100644 examples/tips/server.cc create mode 100644 examples/tips/test.proto diff --git a/Makefile b/Makefile index 7668ca8b741..db835c8f7a7 100644 --- a/Makefile +++ b/Makefile @@ -363,6 +363,8 @@ qps_client: bins/$(CONFIG)/qps_client qps_server: bins/$(CONFIG)/qps_server interop_server: bins/$(CONFIG)/interop_server interop_client: bins/$(CONFIG)/interop_client +tips_client: bins/$(CONFIG)/tips_client +tips_client_test: bins/$(CONFIG)/tips_client_test end2end_test: bins/$(CONFIG)/end2end_test channel_arguments_test: bins/$(CONFIG)/channel_arguments_test credentials_test: bins/$(CONFIG)/credentials_test @@ -539,13 +541,13 @@ privatelibs: privatelibs_c privatelibs_cxx privatelibs_c: libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libend2end_fixture_chttp2_fake_security.a libs/$(CONFIG)/libend2end_fixture_chttp2_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.a libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair.a libs/$(CONFIG)/libend2end_fixture_chttp2_socket_pair_one_byte_at_a_time.a libs/$(CONFIG)/libend2end_test_cancel_after_accept.a libs/$(CONFIG)/libend2end_test_cancel_after_accept_and_writes_closed.a libs/$(CONFIG)/libend2end_test_cancel_after_invoke.a libs/$(CONFIG)/libend2end_test_cancel_before_invoke.a libs/$(CONFIG)/libend2end_test_cancel_in_a_vacuum.a libs/$(CONFIG)/libend2end_test_census_simple_request.a libs/$(CONFIG)/libend2end_test_disappearing_server.a libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_inflight_calls.a libs/$(CONFIG)/libend2end_test_early_server_shutdown_finishes_tags.a libs/$(CONFIG)/libend2end_test_graceful_server_shutdown.a libs/$(CONFIG)/libend2end_test_invoke_large_request.a libs/$(CONFIG)/libend2end_test_max_concurrent_streams.a libs/$(CONFIG)/libend2end_test_no_op.a libs/$(CONFIG)/libend2end_test_ping_pong_streaming.a libs/$(CONFIG)/libend2end_test_request_response_with_binary_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_payload.a libs/$(CONFIG)/libend2end_test_request_response_with_trailing_metadata_and_payload.a libs/$(CONFIG)/libend2end_test_simple_delayed_request.a libs/$(CONFIG)/libend2end_test_simple_request.a libs/$(CONFIG)/libend2end_test_thread_stress.a libs/$(CONFIG)/libend2end_test_writes_done_hangs_with_pending_read.a libs/$(CONFIG)/libend2end_certs.a -privatelibs_cxx: libs/$(CONFIG)/libgrpc++_test_util.a +privatelibs_cxx: libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libtips_client_lib.a buildtests: buildtests_c buildtests_cxx buildtests_c: privatelibs_c bins/$(CONFIG)/grpc_byte_buffer_reader_test bins/$(CONFIG)/gpr_cancellable_test bins/$(CONFIG)/gpr_log_test bins/$(CONFIG)/gpr_useful_test bins/$(CONFIG)/gpr_cmdline_test bins/$(CONFIG)/gpr_histogram_test bins/$(CONFIG)/gpr_host_port_test bins/$(CONFIG)/gpr_slice_buffer_test bins/$(CONFIG)/gpr_slice_test bins/$(CONFIG)/gpr_string_test bins/$(CONFIG)/gpr_sync_test bins/$(CONFIG)/gpr_thd_test bins/$(CONFIG)/gpr_time_test bins/$(CONFIG)/murmur_hash_test bins/$(CONFIG)/grpc_stream_op_test bins/$(CONFIG)/alpn_test bins/$(CONFIG)/time_averaged_stats_test bins/$(CONFIG)/chttp2_stream_encoder_test bins/$(CONFIG)/hpack_table_test bins/$(CONFIG)/chttp2_stream_map_test bins/$(CONFIG)/hpack_parser_test bins/$(CONFIG)/transport_metadata_test bins/$(CONFIG)/chttp2_status_conversion_test bins/$(CONFIG)/chttp2_transport_end2end_test bins/$(CONFIG)/tcp_posix_test bins/$(CONFIG)/dualstack_socket_test bins/$(CONFIG)/no_server_test bins/$(CONFIG)/resolve_address_test bins/$(CONFIG)/sockaddr_utils_test bins/$(CONFIG)/tcp_server_posix_test bins/$(CONFIG)/tcp_client_posix_test bins/$(CONFIG)/grpc_channel_stack_test bins/$(CONFIG)/metadata_buffer_test bins/$(CONFIG)/grpc_completion_queue_test bins/$(CONFIG)/census_window_stats_test bins/$(CONFIG)/census_statistics_quick_test bins/$(CONFIG)/census_statistics_small_log_test bins/$(CONFIG)/census_statistics_performance_test bins/$(CONFIG)/census_statistics_multiple_writers_test bins/$(CONFIG)/census_statistics_multiple_writers_circular_buffer_test bins/$(CONFIG)/census_stub_test bins/$(CONFIG)/census_hash_table_test bins/$(CONFIG)/fling_server bins/$(CONFIG)/fling_client bins/$(CONFIG)/fling_test bins/$(CONFIG)/echo_server bins/$(CONFIG)/echo_client bins/$(CONFIG)/echo_test bins/$(CONFIG)/message_compress_test bins/$(CONFIG)/bin_encoder_test bins/$(CONFIG)/secure_endpoint_test bins/$(CONFIG)/httpcli_format_request_test bins/$(CONFIG)/httpcli_parser_test bins/$(CONFIG)/httpcli_test bins/$(CONFIG)/grpc_credentials_test bins/$(CONFIG)/grpc_base64_test bins/$(CONFIG)/grpc_json_token_test bins/$(CONFIG)/timeout_encoding_test bins/$(CONFIG)/fd_posix_test bins/$(CONFIG)/fling_stream_test bins/$(CONFIG)/lame_client_test bins/$(CONFIG)/alarm_test bins/$(CONFIG)/alarm_list_test bins/$(CONFIG)/alarm_heap_test bins/$(CONFIG)/time_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fake_security_census_simple_request_test bins/$(CONFIG)/chttp2_fake_security_disappearing_server_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_fake_security_invoke_large_request_test bins/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fake_security_no_op_test bins/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test bins/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test bins/$(CONFIG)/chttp2_fake_security_simple_request_test bins/$(CONFIG)/chttp2_fake_security_thread_stress_test bins/$(CONFIG)/chttp2_fake_security_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_fullstack_no_op_test bins/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_thread_stress_test bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_no_op_test bins/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_writes_done_hangs_with_pending_read_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_thread_stress_test bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_writes_done_hangs_with_pending_read_test -buildtests_cxx: privatelibs_cxx bins/$(CONFIG)/thread_pool_test bins/$(CONFIG)/status_test bins/$(CONFIG)/sync_client_async_server_test bins/$(CONFIG)/qps_client bins/$(CONFIG)/qps_server bins/$(CONFIG)/interop_server bins/$(CONFIG)/interop_client bins/$(CONFIG)/end2end_test bins/$(CONFIG)/channel_arguments_test bins/$(CONFIG)/credentials_test +buildtests_cxx: privatelibs_cxx bins/$(CONFIG)/thread_pool_test bins/$(CONFIG)/status_test bins/$(CONFIG)/sync_client_async_server_test bins/$(CONFIG)/qps_client bins/$(CONFIG)/qps_server bins/$(CONFIG)/interop_server bins/$(CONFIG)/interop_client bins/$(CONFIG)/tips_client bins/$(CONFIG)/tips_client_test bins/$(CONFIG)/end2end_test bins/$(CONFIG)/channel_arguments_test bins/$(CONFIG)/credentials_test test: test_c test_cxx @@ -949,6 +951,8 @@ test_cxx: buildtests_cxx $(Q) ./bins/$(CONFIG)/qps_client || ( echo test qps_client failed ; exit 1 ) $(E) "[RUN] Testing qps_server" $(Q) ./bins/$(CONFIG)/qps_server || ( echo test qps_server failed ; exit 1 ) + $(E) "[RUN] Testing tips_client_test" + $(Q) ./bins/$(CONFIG)/tips_client_test || ( echo test tips_client_test failed ; exit 1 ) $(E) "[RUN] Testing end2end_test" $(Q) ./bins/$(CONFIG)/end2end_test || ( echo test end2end_test failed ; exit 1 ) $(E) "[RUN] Testing channel_arguments_test" @@ -998,6 +1002,21 @@ strip-shared_cxx: shared_cxx $(E) "[STRIP] Stripping libgrpc++.so" $(Q) $(STRIP) libs/$(CONFIG)/libgrpc++.$(SHARED_EXT) +gens/examples/tips/empty.pb.cc: examples/tips/empty.proto $(PROTOC_PLUGINS) + $(E) "[PROTOC] Generating protobuf CC file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< + +gens/examples/tips/label.pb.cc: examples/tips/label.proto $(PROTOC_PLUGINS) + $(E) "[PROTOC] Generating protobuf CC file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< + +gens/examples/tips/pubsub.pb.cc: examples/tips/pubsub.proto $(PROTOC_PLUGINS) + $(E) "[PROTOC] Generating protobuf CC file from $<" + $(Q) mkdir -p `dirname $@` + $(Q) $(PROTOC) --cpp_out=gens --grpc_out=gens --plugin=protoc-gen-grpc=bins/$(CONFIG)/cpp_plugin $< + gens/test/cpp/interop/empty.pb.cc: test/cpp/interop/empty.proto $(PROTOC_PLUGINS) $(E) "[PROTOC] Generating protobuf CC file from $<" $(Q) mkdir -p `dirname $@` @@ -2108,6 +2127,54 @@ objs/$(CONFIG)/test/cpp/util/create_test_channel.o: gens/test/cpp/util/messa objs/$(CONFIG)/test/cpp/end2end/async_test_server.o: gens/test/cpp/util/messages.pb.cc gens/test/cpp/util/echo.pb.cc gens/test/cpp/util/echo_duplicate.pb.cc +LIBTIPS_CLIENT_LIB_SRC = \ + gens/examples/tips/label.pb.cc \ + gens/examples/tips/empty.pb.cc \ + gens/examples/tips/pubsub.pb.cc \ + examples/tips/client.cc \ + + +LIBTIPS_CLIENT_LIB_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBTIPS_CLIENT_LIB_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL with ALPN. + +libs/$(CONFIG)/libtips_client_lib.a: openssl_dep_error + + +else + +ifneq ($(OPENSSL_DEP),) +examples/tips/label.proto: $(OPENSSL_DEP) +examples/tips/empty.proto: $(OPENSSL_DEP) +examples/tips/pubsub.proto: $(OPENSSL_DEP) +examples/tips/client.cc: $(OPENSSL_DEP) +endif + +libs/$(CONFIG)/libtips_client_lib.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBTIPS_CLIENT_LIB_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(AR) rcs libs/$(CONFIG)/libtips_client_lib.a $(LIBTIPS_CLIENT_LIB_OBJS) + + + + + +endif + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(LIBTIPS_CLIENT_LIB_OBJS:.o=.dep) +endif +endif + + + + +objs/$(CONFIG)/examples/tips/client.o: gens/examples/tips/label.pb.cc gens/examples/tips/empty.pb.cc gens/examples/tips/pubsub.pb.cc + + LIBEND2END_FIXTURE_CHTTP2_FAKE_SECURITY_SRC = \ test/core/end2end/fixtures/chttp2_fake_security.c \ @@ -5230,6 +5297,68 @@ endif endif +TIPS_CLIENT_SRC = \ + examples/tips/client_main.cc \ + +TIPS_CLIENT_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIPS_CLIENT_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/tips_client: openssl_dep_error + +else + +bins/$(CONFIG)/tips_client: $(TIPS_CLIENT_OBJS) libs/$(CONFIG)/libtips_client_lib.a libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(TIPS_CLIENT_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libtips_client_lib.a libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/tips_client + +endif + +objs/$(CONFIG)/examples/tips/client_main.o: libs/$(CONFIG)/libtips_client_lib.a libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_tips_client: $(TIPS_CLIENT_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(TIPS_CLIENT_OBJS:.o=.dep) +endif +endif + + +TIPS_CLIENT_TEST_SRC = \ + examples/tips/client_test.cc \ + +TIPS_CLIENT_TEST_OBJS = $(addprefix objs/$(CONFIG)/, $(addsuffix .o, $(basename $(TIPS_CLIENT_TEST_SRC)))) + +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL with ALPN. + +bins/$(CONFIG)/tips_client_test: openssl_dep_error + +else + +bins/$(CONFIG)/tips_client_test: $(TIPS_CLIENT_TEST_OBJS) libs/$(CONFIG)/libtips_client_lib.a libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(TIPS_CLIENT_TEST_OBJS) $(GTEST_LIB) libs/$(CONFIG)/libtips_client_lib.a libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS) $(LDLIBS_SECURE) -o bins/$(CONFIG)/tips_client_test + +endif + +objs/$(CONFIG)/examples/tips/client_test.o: libs/$(CONFIG)/libtips_client_lib.a libs/$(CONFIG)/libgrpc++_test_util.a libs/$(CONFIG)/libgrpc_test_util.a libs/$(CONFIG)/libgrpc++.a libs/$(CONFIG)/libgrpc.a libs/$(CONFIG)/libgpr_test_util.a libs/$(CONFIG)/libgpr.a + +deps_tips_client_test: $(TIPS_CLIENT_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(TIPS_CLIENT_TEST_OBJS:.o=.dep) +endif +endif + + END2END_TEST_SRC = \ test/cpp/end2end/end2end_test.cc \ @@ -5714,6 +5843,8 @@ CHTTP2_FAKE_SECURITY_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix objs/$(CON ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test: openssl_dep_error else @@ -6350,6 +6481,8 @@ CHTTP2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix objs/$(CONFIG) ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test: openssl_dep_error else @@ -6986,6 +7119,8 @@ CHTTP2_SIMPLE_SSL_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix obj ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test: openssl_dep_error else @@ -7622,6 +7757,8 @@ CHTTP2_SIMPLE_SSL_WITH_OAUTH2_FULLSTACK_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(a ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test: openssl_dep_error else @@ -8258,6 +8395,8 @@ CHTTP2_SOCKET_PAIR_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(addprefix objs/$(CONFI ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test: openssl_dep_error else @@ -8894,6 +9033,8 @@ CHTTP2_SOCKET_PAIR_ONE_BYTE_AT_A_TIME_GRACEFUL_SERVER_SHUTDOWN_TEST_OBJS = $(add ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL with ALPN. + bins/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test: openssl_dep_error else diff --git a/build.json b/build.json index 1e465404a57..a3dea9c3797 100644 --- a/build.json +++ b/build.json @@ -400,6 +400,22 @@ "test/cpp/end2end/async_test_server.cc" ], "c++": true + }, + { + "name": "tips_client_lib", + "build": "private", + "src": [ + "examples/tips/label.proto", + "examples/tips/empty.proto", + "examples/tips/pubsub.proto", + "examples/tips/client.cc" + ], + "deps": [ + "grpc++", + "grpc", + "gpr" + ], + "c++": true } ], "targets": [ @@ -1404,6 +1420,41 @@ "gpr" ] }, + { + "name": "tips_client", + "build": "test", + "run": false, + "c++": true, + "src": [ + "examples/tips/client_main.cc" + ], + "deps": [ + "tips_client_lib", + "grpc++_test_util", + "grpc_test_util", + "grpc++", + "grpc", + "gpr_test_util", + "gpr" + ] + }, + { + "name": "tips_client_test", + "build": "test", + "c++": true, + "src": [ + "examples/tips/client_test.cc" + ], + "deps": [ + "tips_client_lib", + "grpc++_test_util", + "grpc_test_util", + "grpc++", + "grpc", + "gpr_test_util", + "gpr" + ] + }, { "name": "end2end_test", "build": "test", diff --git a/examples/tips/client.cc b/examples/tips/client.cc new file mode 100644 index 00000000000..bfbd59c9d56 --- /dev/null +++ b/examples/tips/client.cc @@ -0,0 +1,62 @@ +/* + * + * Copyright 2014, 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 "examples/tips/client.h" + +using grpc::ChannelInterface; +using grpc::ClientContext; +using tech::pubsub::Topic; +using tech::pubsub::PublisherService; + +namespace grpc { +namespace examples { +namespace tips { + +Client::Client(std::shared_ptr channel) + : stub_(PublisherService::NewStub(channel)) { +} + +Status Client::CreateTopic(grpc::string topic) { + Topic request; + Topic response; + request.set_name(topic); + ClientContext context; + + return stub_->CreateTopic(&context, request, &response); +} + +} // namesapce tips +} // namespace examples +} // namespace grpc diff --git a/examples/tips/client.h b/examples/tips/client.h new file mode 100644 index 00000000000..83e79118235 --- /dev/null +++ b/examples/tips/client.h @@ -0,0 +1,53 @@ +/* + * + * Copyright 2014, 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 "examples/tips/pubsub.pb.h" + +namespace grpc { +namespace examples { +namespace tips { + +class Client { + public: + Client(std::shared_ptr channel); + Status CreateTopic(grpc::string topic); + + private: + std::unique_ptr stub_; +}; + +} // namesapce tips +} // namespace examples +} // namespace grpc diff --git a/examples/tips/client_main.cc b/examples/tips/client_main.cc new file mode 100644 index 00000000000..0324b4b8b08 --- /dev/null +++ b/examples/tips/client_main.cc @@ -0,0 +1,85 @@ +/* + * + * Copyright 2014, 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 "test/cpp/util/create_test_channel.h" + +DEFINE_bool(enable_ssl, false, "Whether to use ssl/tls."); +DEFINE_bool(use_prod_roots, false, "True to use SSL roots for production GFE"); +DEFINE_int32(server_port, 0, "Server port."); +DEFINE_string(server_host, "127.0.0.1", "Server host to connect to"); +DEFINE_string(server_host_override, "foo.test.google.com", + "Override the server host which is sent in HTTP header"); + +using grpc::ChannelInterface; +using grpc::ClientContext; +using grpc::CreateTestChannel; + +void CreateTopic(std::shared_ptr channel, grpc::string topic); + +int main(int argc, char** argv) { + grpc_init(); + + google::ParseCommandLineFlags(&argc, &argv, true); + + gpr_log(GPR_INFO, "Start TIPS client"); + + GPR_ASSERT(FLAGS_server_port); + const int host_port_buf_size = 1024; + char host_port[host_port_buf_size]; + snprintf(host_port, host_port_buf_size, "%s:%d", FLAGS_server_host.c_str(), + FLAGS_server_port); + + std::shared_ptr channel( + CreateTestChannel(host_port, FLAGS_server_host_override, FLAGS_enable_ssl, + FLAGS_use_prod_roots)); + + CreateTopic(channel, "test"); + + channel.reset(); + grpc_shutdown(); + return 0; +} diff --git a/examples/tips/client_test.cc b/examples/tips/client_test.cc new file mode 100644 index 00000000000..d40f0c0d8b4 --- /dev/null +++ b/examples/tips/client_test.cc @@ -0,0 +1,110 @@ +/* + * + * Copyright 2014, 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 "examples/tips/client.h" +#include "test/core/util/port.h" +#include "test/core/util/test_config.h" + +using grpc::ChannelInterface; + +namespace { + +} // + +namespace grpc { +namespace testing { +namespace { + +const char kTopic[] = "test topic"; + +class PublishServiceImpl : public tech::pubsub::PublisherService::Service { + public: + Status CreateTopic(::grpc::ServerContext* context, + const ::tech::pubsub::Topic* request, + ::tech::pubsub::Topic* response) override { + EXPECT_EQ(request->name(), kTopic); + return Status::OK; + } +}; + +class End2endTest : public ::testing::Test { + protected: + void SetUp() override { + int port = grpc_pick_unused_port_or_die(); + server_address_ << "localhost:" << port; + // Setup server + ServerBuilder builder; + builder.AddPort(server_address_.str()); + builder.RegisterService(service_.service()); + server_ = builder.BuildAndStart(); + + channel_ = CreateChannel(server_address_.str(), ChannelArguments()); + } + + void TearDown() override { server_->Shutdown(); } + + std::unique_ptr server_; + std::ostringstream server_address_; + PublishServiceImpl service_; + + std::shared_ptr channel_; +}; + +TEST_F(End2endTest, CreateTopic) { + grpc::examples::tips::Client client(channel_); + client.CreateTopic(kTopic); +} + +} // namespace +} // namespace testing +} // namespace grpc + +int main(int argc, char** argv) { + grpc_test_init(argc, argv); + grpc_init(); + ::testing::InitGoogleTest(&argc, argv); + gpr_log(GPR_INFO, "Start test ..."); + int result = RUN_ALL_TESTS(); + grpc_shutdown(); + return result; +} diff --git a/examples/tips/empty.proto b/examples/tips/empty.proto new file mode 100644 index 00000000000..a698ab6f8a9 --- /dev/null +++ b/examples/tips/empty.proto @@ -0,0 +1,19 @@ +syntax = "proto2"; + +package proto2; + +// An empty message that you can re-use to avoid defining duplicated empty +// messages in your project. A typical example is to use it as argument or the +// return value of a service API. For instance: +// +// service Foo { +// rpc Bar (proto2.Empty) returns (proto2.Empty) { }; +// }; +// +// BEGIN GOOGLE-INTERNAL +// The difference between this one and net/rpc/empty-message.proto is that +// 1) The generated message here is in proto2 C++ API. +// 2) The proto2.Empty has minimum dependencies +// (no message_set or net/rpc dependencies) +// END GOOGLE-INTERNAL +message Empty {} diff --git a/examples/tips/label.proto b/examples/tips/label.proto new file mode 100644 index 00000000000..e79e1db77c2 --- /dev/null +++ b/examples/tips/label.proto @@ -0,0 +1,49 @@ +// Labels provide a way to associate user-defined metadata with various +// objects. Labels may be used to organize objects into non-hierarchical +// groups; think metadata tags attached to mp3s. For more details, see +// http://go/exosphere:labels + +syntax = "proto2"; + +package tech.label; + +// A key-value pair applied to a given object. +message Label { + // The key of a label is a syntactically valid URL (as per RFC 1738) with + // the "scheme" and initial slashes omitted and with the additional + // restrictions noted below. Each key should be globally unique. The + // "host" portion is called the "namespace" and is not necessarily + // resolvable to a network endpoint. Instead, the namespace indicates what + // system or entity defines the semantics of the label. Namespaces do not + // restrict the set of objects to which a label may be associated. + // + // Keys are defined by the following grammar: + // + // key = hostname "/" kpath + // kpath = ksegment *[ "/" ksegment ] + // ksegment = alphadigit | *[ alphadigit | "-" | "_" | "." ] + // + // where "hostname" and "alphadigit" are defined as in RFC 1738. + // + // Example key: + // spanner.google.com/universe + required string key = 1; + + // The value of the label. + oneof value { + // A string value. + string str_value = 2; + // An integer value. + int64 num_value = 3; + } +} + +// A collection of labels, such as the set of all labels attached to an +// object. Each label in the set must have a different key. +// +// Users should prefer to embed "repeated Label" directly when possible. +// This message should only be used in cases where that isn't possible (e.g. +// with oneof). +message Labels { + repeated Label label = 1; +} diff --git a/examples/tips/messages.proto b/examples/tips/messages.proto new file mode 100644 index 00000000000..29db0dd8b1a --- /dev/null +++ b/examples/tips/messages.proto @@ -0,0 +1,94 @@ +// Message definitions to be used by integration test service definitions. + +syntax = "proto2"; + +package grpc.testing; + +// The type of payload that should be returned. +enum PayloadType { + // Compressable text format. + COMPRESSABLE = 0; + + // Uncompressable binary format. + UNCOMPRESSABLE = 1; + + // Randomly chosen from all other formats defined in this enum. + RANDOM = 2; +} + +// A block of data, to simply increase gRPC message size. +message Payload { + // The type of data in body. + optional PayloadType type = 1; + // Primary contents of payload. + optional bytes body = 2; +} + +// Unary request. +message SimpleRequest { + // Desired payload type in the response from the server. + // If response_type is RANDOM, server randomly chooses one from other formats. + optional PayloadType response_type = 1; + + // Desired payload size in the response from the server. + // If response_type is COMPRESSABLE, this denotes the size before compression. + optional int32 response_size = 2; + + // Optional input payload sent along with the request. + optional Payload payload = 3; +} + +// Unary response, as configured by the request. +message SimpleResponse { + // Payload to increase message size. + optional Payload payload = 1; + // The user the request came from, for verifying authentication was + // successful when the client expected it. + optional int64 effective_gaia_user_id = 2; +} + +// Client-streaming request. +message StreamingInputCallRequest { + // Optional input payload sent along with the request. + optional Payload payload = 1; + + // Not expecting any payload from the response. +} + +// Client-streaming response. +message StreamingInputCallResponse { + // Aggregated size of payloads received from the client. + optional int32 aggregated_payload_size = 1; +} + +// Configuration for a particular response. +message ResponseParameters { + // Desired payload sizes in responses from the server. + // If response_type is COMPRESSABLE, this denotes the size before compression. + optional int32 size = 1; + + // Desired interval between consecutive responses in the response stream in + // microseconds. + optional int32 interval_us = 2; +} + +// Server-streaming request. +message StreamingOutputCallRequest { + // Desired payload type in the response from the server. + // If response_type is RANDOM, the payload from each response in the stream + // might be of different types. This is to simulate a mixed type of payload + // stream. + optional PayloadType response_type = 1; + + // Configuration for each expected response message. + repeated ResponseParameters response_parameters = 2; + + // Optional input payload sent along with the request. + optional Payload payload = 3; +} + +// Server-streaming response, as configured by the request and parameters. +message StreamingOutputCallResponse { + // Payload to increase response size. + optional Payload payload = 1; +} diff --git a/examples/tips/pubsub.proto b/examples/tips/pubsub.proto new file mode 100644 index 00000000000..0b3bd5d012a --- /dev/null +++ b/examples/tips/pubsub.proto @@ -0,0 +1,702 @@ +// Specification of the Pubsub API. + +syntax = "proto2"; + +import "examples/tips/empty.proto"; +import "examples/tips/label.proto"; + +package tech.pubsub; + +// ----------------------------------------------------------------------------- +// Overview of the Pubsub API +// ----------------------------------------------------------------------------- + +// This file describes an API for a Pubsub system. This system provides a +// reliable many-to-many communication mechanism between independently written +// publishers and subscribers where the publisher publishes messages to "topics" +// and each subscriber creates a "subscription" and consumes messages from it. +// +// (a) The pubsub system maintains bindings between topics and subscriptions. +// (b) A publisher publishes messages into a topic. +// (c) The pubsub system delivers messages from topics into relevant +// subscriptions. +// (d) A subscriber receives pending messages from its subscription and +// acknowledges or nacks each one to the pubsub system. +// (e) The pubsub system removes acknowledged messages from that subscription. + +// ----------------------------------------------------------------------------- +// Data Model +// ----------------------------------------------------------------------------- + +// The data model consists of the following: +// +// * Topic: A topic is a resource to which messages are published by publishers. +// Topics are named, and the name of the topic is unique within the pubsub +// system. +// +// * Subscription: A subscription records the subscriber's interest in a topic. +// It can optionally include a query to select a subset of interesting +// messages. The pubsub system maintains a logical cursor tracking the +// matching messages which still need to be delivered and acked so that +// they can retried as needed. The set of messages that have not been +// acknowledged is called the subscription backlog. +// +// * Message: A message is a unit of data that flows in the system. It contains +// opaque data from the publisher along with its labels. +// +// * Message Labels (optional): A set of opaque key, value pairs assigned +// by the publisher which the subscriber can use for filtering out messages +// in the topic. For example, a label with key "foo.com/device_type" and +// value "mobile" may be added for messages that are only relevant for a +// mobile subscriber; a subscriber on a phone may decide to create a +// subscription only for messages that have this label. + +// ----------------------------------------------------------------------------- +// Publisher Flow +// ----------------------------------------------------------------------------- + +// A publisher publishes messages to the topic using the Publish request: +// +// PubsubMessage message; +// message.set_data("...."); +// Label label; +// label.set_key("foo.com/key1"); +// label.set_str_value("value1"); +// message.add_label(label); +// PublishRequest request; +// request.set_topic("topicName"); +// request.set_message(message); +// PublisherService.Publish(request); + +// ----------------------------------------------------------------------------- +// Subscriber Flow +// ----------------------------------------------------------------------------- + +// The subscriber part of the API is richer than the publisher part and has a +// number of concepts w.r.t. subscription creation and monitoring: +// +// (1) A subscriber creates a subscription using the CreateSubscription call. +// It may specify an optional "query" to indicate that it wants to receive +// only messages with a certain set of labels using the label query syntax. +// It may also specify an optional truncation policy to indicate when old +// messages from the subcription can be removed. +// +// (2) A subscriber receives messages in one of two ways: via push or pull. +// +// (a) To receive messages via push, the PushConfig field must be specified in +// the Subscription parameter when creating a subscription. The PushConfig +// specifies an endpoint at which the subscriber must expose the +// PushEndpointService. Messages are received via the HandlePubsubEvent +// method. The push subscriber responds to the HandlePubsubEvent method +// with a result code that indicates one of three things: Ack (the message +// has been successfully processed and the Pubsub system may delete it), +// Nack (the message has been rejected, the Pubsub system should resend it +// at a later time), or Push-Back (this is a Nack with the additional +// semantics that the subscriber is overloaded and the pubsub system should +// back off on the rate at which it is invoking HandlePubsubEvent). The +// endpoint may be a load balancer for better scalability. +// +// (b) To receive messages via pull a subscriber calls the Pull method on the +// SubscriberService to get messages from the subscription. For each +// individual message, the subscriber may use the ack_id received in the +// PullResponse to Ack the message, Nack the message, or modify the ack +// deadline with ModifyAckDeadline. See the +// Subscription.ack_deadline_seconds field documentation for details on the +// ack deadline behavior. +// +// Note: Messages may be consumed in parallel by multiple subscribers making +// Pull calls to the same subscription; this will result in the set of +// messages from the subscription being shared and each subscriber +// receiving a subset of the messages. +// +// (4) The subscriber can explicitly truncate the current subscription. +// +// (5) "Truncated" events are delivered when a subscription is +// truncated, whether due to the subscription's truncation policy +// or an explicit request from the subscriber. +// +// Subscription creation: +// +// Subscription subscription; +// subscription.set_topic("topicName"); +// subscription.set_name("subscriptionName"); +// subscription.push_config().set_push_endpoint("machinename:8888"); +// SubscriberService.CreateSubscription(subscription); +// +// Consuming messages via push: +// +// TODO(eschapira): Add HTTP push example. +// +// The port 'machinename:8888' must be bound to a stubby server that implements +// the PushEndpointService with the following method: +// +// int HandlePubsubEvent(PubsubEvent event) { +// if (event.subscription().equals("subscriptionName")) { +// if (event.has_message()) { +// Process(event.message().data()); +// } else if (event.truncated()) { +// ProcessTruncatedEvent(); +// } +// } +// return OK; // This return code implies an acknowledgment +// } +// +// Consuming messages via pull: +// +// The subscription must be created without setting the push_config field. +// +// PullRequest pull_request; +// pull_request.set_subscription("subscriptionName"); +// pull_request.set_return_immediately(false); +// while (true) { +// PullResponse pull_response; +// if (SubscriberService.Pull(pull_request, pull_response) == OK) { +// PubsubEvent event = pull_response.pubsub_event(); +// if (event.has_message()) { +// Process(event.message().data()); +// } else if (event.truncated()) { +// ProcessTruncatedEvent(); +// } +// AcknowledgeRequest ack_request; +// ackRequest.set_subscription("subscriptionName"); +// ackRequest.set_ack_id(pull_response.ack_id()); +// SubscriberService.Acknowledge(ack_request); +// } +// } + +// ----------------------------------------------------------------------------- +// Reliability Semantics +// ----------------------------------------------------------------------------- + +// When a subscriber successfully creates a subscription using +// Subscriber.CreateSubscription, it establishes a "subscription point" with +// respect to that subscription - the subscriber is guaranteed to receive any +// message published after this subscription point that matches the +// subscription's query. Note that messages published before the Subscription +// point may or may not be delivered. +// +// If the system truncates the subscription according to the specified +// truncation policy, the system delivers a subscription status event with the +// "truncated" field set to true. We refer to such events as "truncation +// events". A truncation event: +// +// * Informs the subscriber that part of the subscription messages have been +// discarded. The subscriber may want to recover from the message loss, e.g., +// by resyncing its state with its backend. +// * Establishes a new subscription point, i.e., the subscriber is guaranteed to +// receive all changes published after the trunction event is received (or +// until another truncation event is received). +// +// Note that messages are not delivered in any particular order by the pubsub +// system. Furthermore, the system guarantees at-least-once delivery +// of each message or truncation events until acked. + +// ----------------------------------------------------------------------------- +// Deletion +// ----------------------------------------------------------------------------- + +// Both topics and subscriptions may be deleted. Deletion of a topic implies +// deletion of all attached subscriptions. +// +// When a subscription is deleted directly by calling DeleteSubscription, all +// messages are immediately dropped. If it is a pull subscriber, future pull +// requests will return NOT_FOUND. +// +// When a topic is deleted all corresponding subscriptions are immediately +// deleted, and subscribers experience the same behavior as directly deleting +// the subscription. + +// ----------------------------------------------------------------------------- +// The Publisher service and its protos. +// ----------------------------------------------------------------------------- + +// The service that an application uses to manipulate topics, and to send +// messages to a topic. +service PublisherService { + + // Creates the given topic with the given name. + rpc CreateTopic(Topic) returns (Topic) { + } + + // Adds a message to the topic. Returns NOT_FOUND if the topic does not + // exist. + // (-- For different error code values returned via Stubby, see + // util/task/codes.proto. --) + rpc Publish(PublishRequest) returns (proto2.Empty) { + } + + // Adds one or more messages to the topic. Returns NOT_FOUND if the topic does + // not exist. + rpc PublishBatch(PublishBatchRequest) returns (PublishBatchResponse) { + } + + // Gets the configuration of a topic. Since the topic only has the name + // attribute, this method is only useful to check the existence of a topic. + // If other attributes are added in the future, they will be returned here. + rpc GetTopic(GetTopicRequest) returns (Topic) { + } + + // Lists matching topics. + rpc ListTopics(ListTopicsRequest) returns (ListTopicsResponse) { + } + + // Deletes the topic with the given name. All subscriptions to this topic + // are also deleted. Returns NOT_FOUND if the topic does not exist. + // After a topic is deleted, a new topic may be created with the same name. + rpc DeleteTopic(DeleteTopicRequest) returns (proto2.Empty) { + } +} + +// A topic resource. +message Topic { + // Name of the topic. + optional string name = 1; +} + +// A message data and its labels. +message PubsubMessage { + // The message payload. + optional bytes data = 1; + + // Optional list of labels for this message. Keys in this collection must + // be unique. + //(-- TODO(eschapira): Define how key namespace may be scoped to the topic.--) + repeated tech.label.Label label = 2; + + // ID of this message assigned by the server at publication time. Guaranteed + // to be unique within the topic. This value may be read by a subscriber + // that receives a PubsubMessage via a Pull call or a push delivery. It must + // not be populated by a publisher in a Publish call. + optional string message_id = 3; +} + +// Request for the GetTopic method. +message GetTopicRequest { + // The name of the topic to get. + optional string topic = 1; +} + +// Request for the Publish method. +message PublishRequest { + // The message in the request will be published on this topic. + optional string topic = 1; + + // The message to publish. + optional PubsubMessage message = 2; +} + +// Request for the PublishBatch method. +message PublishBatchRequest { + // The messages in the request will be published on this topic. + optional string topic = 1; + + // The messages to publish. + repeated PubsubMessage messages = 2; +} + +// Response for the PublishBatch method. +message PublishBatchResponse { + // The server-assigned ID of each published message, in the same order as + // the messages in the request. IDs are guaranteed to be unique within + // the topic. + repeated string message_ids = 1; +} + +// Request for the ListTopics method. +message ListTopicsRequest { + // A valid label query expression. + // (-- Which labels are required or supported is implementation-specific. --) + optional string query = 1; + + // Maximum number of topics to return. + // (-- If not specified or <= 0, the implementation will select a reasonable + // value. --) + optional int32 max_results = 2; + + // The value obtained in the last ListTopicsResponse + // for continuation. + optional string page_token = 3; + +} + +// Response for the ListTopics method. +message ListTopicsResponse { + // The resulting topics. + repeated Topic topic = 1; + + // If not empty, indicates that there are more topics that match the request, + // and this value should be passed to the next ListTopicsRequest + // to continue. + optional string next_page_token = 2; +} + +// Request for the Delete method. +message DeleteTopicRequest { + // Name of the topic to delete. + optional string topic = 1; +} + +// ----------------------------------------------------------------------------- +// The Subscriber service and its protos. +// ----------------------------------------------------------------------------- + +// The service that an application uses to manipulate subscriptions and to +// consume messages from a subscription via the pull method. +service SubscriberService { + + // Creates a subscription on a given topic for a given subscriber. + // If the subscription already exists, returns ALREADY_EXISTS. + // If the corresponding topic doesn't exist, returns NOT_FOUND. + // + // If the name is not provided in the request, the server will assign a random + // name for this subscription on the same project as the topic. + rpc CreateSubscription(Subscription) returns (Subscription) { + } + + // Gets the configuration details of a subscription. + rpc GetSubscription(GetSubscriptionRequest) returns (Subscription) { + } + + // Lists matching subscriptions. + rpc ListSubscriptions(ListSubscriptionsRequest) + returns (ListSubscriptionsResponse) { + } + + // Deletes an existing subscription. All pending messages in the subscription + // are immediately dropped. Calls to Pull after deletion will return + // NOT_FOUND. + rpc DeleteSubscription(DeleteSubscriptionRequest) returns (proto2.Empty) { + } + + // Removes all the pending messages in the subscription and releases the + // storage associated with them. Results in a truncation event to be sent to + // the subscriber. Messages added after this call returns are stored in the + // subscription as before. + rpc TruncateSubscription(TruncateSubscriptionRequest) returns (proto2.Empty) { + } + + // + // Push subscriber calls. + // + + // Modifies the PushConfig for a specified subscription. + // This method can be used to suspend the flow of messages to an endpoint + // by clearing the PushConfig field in the request. Messages + // will be accumulated for delivery even if no push configuration is + // defined or while the configuration is modified. + rpc ModifyPushConfig(ModifyPushConfigRequest) returns (proto2.Empty) { + } + + // + // Pull Subscriber calls + // + + // Pulls a single message from the server. + // If return_immediately is true, and no messages are available in the + // subscription, this method returns FAILED_PRECONDITION. The system is free + // to return an UNAVAILABLE error if no messages are available in a + // reasonable amount of time (to reduce system load). + rpc Pull(PullRequest) returns (PullResponse) { + } + + // Pulls messages from the server. Returns an empty list if there are no + // messages available in the backlog. The system is free to return UNAVAILABLE + // if there are too many pull requests outstanding for the given subscription. + rpc PullBatch(PullBatchRequest) returns (PullBatchResponse) { + } + + // Modifies the Ack deadline for a message received from a pull request. + rpc ModifyAckDeadline(ModifyAckDeadlineRequest) returns (proto2.Empty) { + } + + // Acknowledges a particular received message: the Pub/Sub system can remove + // the given message from the subscription. Acknowledging a message whose + // Ack deadline has expired may succeed, but the message could have been + // already redelivered. Acknowledging a message more than once will not + // result in an error. This is only used for messages received via pull. + rpc Acknowledge(AcknowledgeRequest) returns (proto2.Empty) { + } + + // Refuses processing a particular received message. The system will + // redeliver this message to some consumer of the subscription at some + // future time. This is only used for messages received via pull. + rpc Nack(NackRequest) returns (proto2.Empty) { + } +} + +// A subscription resource. +message Subscription { + // Name of the subscription. + optional string name = 1; + + // The name of the topic from which this subscription is receiving messages. + optional string topic = 2; + + // If query is non-empty, only messages on the subscriber's + // topic whose labels match the query will be returned. Otherwise all + // messages on the topic will be returned. + // (-- The query syntax is described in tech/label/proto/label_query.proto --) + optional string query = 3; + + // The subscriber may specify requirements for truncating unacknowledged + // subscription entries. The system will honor the + // CreateSubscription request only if it can meet these + // requirements. If this field is not specified, messages are never truncated + // by the system. + optional TruncationPolicy truncation_policy = 4; + + // Specifies which messages can be truncated by the system. + message TruncationPolicy { + oneof policy { + // If max_bytes is specified, the system is allowed to drop + // old messages to keep the combined size of stored messages under + // max_bytes. This is a hint; the system may keep more than + // this many bytes, but will make a best effort to keep the size from + // growing much beyond this parameter. + int64 max_bytes = 1; + + // If max_age_seconds is specified, the system is allowed to + // drop messages that have been stored for at least this many seconds. + // This is a hint; the system may keep these messages, but will make a + // best effort to remove them when their maximum age is reached. + int64 max_age_seconds = 2; + } + } + + // If push delivery is used with this subscription, this field is + // used to configure it. + optional PushConfig push_config = 5; + + // For either push or pull delivery, the value is the maximum time after a + // subscriber receives a message before the subscriber should acknowledge or + // Nack the message. If the Ack deadline for a message passes without an + // Ack or a Nack, the Pub/Sub system will eventually redeliver the message. + // If a subscriber acknowledges after the deadline, the Pub/Sub system may + // accept the Ack, but it is possible that the message has been already + // delivered again. Multiple Acks to the message are allowed and will + // succeed. + // + // For push delivery, this value is used to set the request timeout for + // the call to the push endpoint. + // + // For pull delivery, this value is used as the initial value for the Ack + // deadline. It may be overridden for a specific pull request (message) with + // ModifyAckDeadline. + // While a message is outstanding (i.e. it has been delivered to a pull + // subscriber and the subscriber has not yet Acked or Nacked), the Pub/Sub + // system will not deliver that message to another pull subscriber + // (on a best-effort basis). + optional int32 ack_deadline_seconds = 6; + + // If this parameter is set to n, the system is allowed to (but not required + // to) delete the subscription when at least n seconds have elapsed since the + // client presence was detected. (Presence is detected through any + // interaction using the subscription ID, including Pull(), Get(), or + // acknowledging a message.) + // + // If this parameter is not set, the subscription will stay live until + // explicitly deleted. + // + // Clients can detect such garbage collection when a Get call or a Pull call + // (for pull subscribers only) returns NOT_FOUND. + optional int64 garbage_collect_seconds = 7; +} + +// Configuration for a push delivery endpoint. +message PushConfig { + // A URL locating the endpoint to which messages should be pushed. + // For example, a Webhook endpoint might use "https://example.com/push". + // (-- An Android application might use "gcm:", where is a + // GCM registration id allocated for pushing messages to the application. --) + optional string push_endpoint = 1; +} + +// An event indicating a received message or truncation event. +message PubsubEvent { + // The subscription that received the event. + optional string subscription = 1; + + oneof type { + // A received message. + PubsubMessage message = 2; + + // Indicates that this subscription has been truncated. + bool truncated = 3; + + // Indicates that this subscription has been deleted. (Note that pull + // subscribers will always receive NOT_FOUND in response in their pull + // request on the subscription, rather than seeing this boolean.) + bool deleted = 4; + } +} + +// Request for the GetSubscription method. +message GetSubscriptionRequest { + // The name of the subscription to get. + optional string subscription = 1; +} + +// Request for the ListSubscriptions method. +message ListSubscriptionsRequest { + // A valid label query expression. + // (-- Which labels are required or supported is implementation-specific. + // TODO(eschapira): This method must support to query by topic. We must + // define the key URI for the "topic" label. --) + optional string query = 1; + + // Maximum number of subscriptions to return. + // (-- If not specified or <= 0, the implementation will select a reasonable + // value. --) + optional int32 max_results = 3; + + // The value obtained in the last ListSubscriptionsResponse + // for continuation. + optional string page_token = 4; +} + +// Response for the ListSubscriptions method. +message ListSubscriptionsResponse { + // The subscriptions that match the request. + repeated Subscription subscription = 1; + + // If not empty, indicates that there are more subscriptions that match the + // request and this value should be passed to the next + // ListSubscriptionsRequest to continue. + optional string next_page_token = 2; +} + +// Request for the TruncateSubscription method. +message TruncateSubscriptionRequest { + // The subscription that is being truncated. + optional string subscription = 1; +} + +// Request for the DeleteSubscription method. +message DeleteSubscriptionRequest { + // The subscription to delete. + optional string subscription = 1; +} + +// Request for the ModifyPushConfig method. +message ModifyPushConfigRequest { + // The name of the subscription. + optional string subscription = 1; + + // An empty push_config indicates that the Pub/Sub system should + // pause pushing messages from the given subscription. + optional PushConfig push_config = 2; +} + +// ----------------------------------------------------------------------------- +// The protos used by a pull subscriber. +// ----------------------------------------------------------------------------- + +// Request for the Pull method. +message PullRequest { + // The subscription from which a message should be pulled. + optional string subscription = 1; + + // If this is specified as true the system will respond immediately even if + // it is not able to return a message in the Pull response. Otherwise the + // system is allowed to wait until at least one message is available rather + // than returning FAILED_PRECONDITION. The client may cancel the request if + // it does not wish to wait any longer for the response. + optional bool return_immediately = 2; +} + +// Either a PubsubMessage or a truncation event. One of these two +// must be populated. +message PullResponse { + // This ID must be used to acknowledge the received event or message. + optional string ack_id = 1; + + // A pubsub message or truncation event. + optional PubsubEvent pubsub_event = 2; +} + +// Request for the PullBatch method. +message PullBatchRequest { + // The subscription from which messages should be pulled. + optional string subscription = 1; + + // If this is specified as true the system will respond immediately even if + // it is not able to return a message in the Pull response. Otherwise the + // system is allowed to wait until at least one message is available rather + // than returning no messages. The client may cancel the request if it does + // not wish to wait any longer for the response. + optional bool return_immediately = 2; + + // The maximum number of PubsubEvents returned for this request. The Pub/Sub + // system may return fewer than the number of events specified. + optional int32 max_events = 3; +} + +// Response for the PullBatch method. +message PullBatchResponse { + + // Received Pub/Sub messages or status events. The Pub/Sub system will return + // zero messages if there are no more messages available in the backlog. The + // Pub/Sub system may return fewer than the max_events requested even if + // there are more messages available in the backlog. + repeated PullResponse pull_responses = 2; +} + +// Request for the ModifyAckDeadline method. +message ModifyAckDeadlineRequest { + // The name of the subscription from which messages are being pulled. + optional string subscription = 1; + + // The acknowledgment ID. + optional string ack_id = 2; + + // The new Ack deadline. Must be >= 0. + optional int32 ack_deadline_seconds = 3; +} + +// Request for the Acknowledge method. +message AcknowledgeRequest { + // The subscription whose message is being acknowledged. + optional string subscription = 1; + + // The acknowledgment ID for the message being acknowledged. This was + // returned by the Pub/Sub system in the Pull response. + repeated string ack_id = 2; +} + +// Request for the Nack method. +message NackRequest { + // The subscription whose message is being Nacked. + optional string subscription = 1; + + // The acknowledgment ID for the message being refused. This was returned by + // the Pub/Sub system in the Pull response. + repeated string ack_id = 2; +} + +// ----------------------------------------------------------------------------- +// The service and protos used by a push subscriber. +// ----------------------------------------------------------------------------- + +// The service that a subscriber uses to handle messages sent via push +// delivery. +// This service is not currently exported for HTTP clients. +// TODO(eschapira): Explain HTTP subscribers. +service PushEndpointService { + // Sends a PubsubMessage or a subscription status event to a + // push endpoint. + // The push endpoint responds with an empty message and a code from + // util/task/codes.proto. The following codes have a particular meaning to the + // Pub/Sub system: + // OK - This is interpreted by Pub/Sub as Ack. + // ABORTED - This is intepreted by Pub/Sub as a Nack, without implying + // pushback for congestion control. The Pub/Sub system will + // retry this message at a later time. + // UNAVAILABLE - This is intepreted by Pub/Sub as a Nack, with the additional + // semantics of push-back. The Pub/Sub system will use an AIMD + // congestion control algorithm to backoff the rate of sending + // messages from this subscription. + // Any other code, or a failure to respond, will be interpreted in the same + // way as ABORTED; i.e. the system will retry the message at a later time to + // ensure reliable delivery. + rpc HandlePubsubEvent(PubsubEvent) returns (proto2.Empty); +} diff --git a/examples/tips/server.cc b/examples/tips/server.cc new file mode 100644 index 00000000000..2171a6aac0d --- /dev/null +++ b/examples/tips/server.cc @@ -0,0 +1,231 @@ +/* + * + * Copyright 2014, 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 "test/core/end2end/data/ssl_test_data.h" +#include +#include +#include +#include +#include +#include +#include +#include "examples/tips/test.pb.h" +#include "examples/tips/empty.pb.h" +#include "examples/tips/messages.pb.h" + +DEFINE_bool(enable_ssl, false, "Whether to use ssl/tls."); +DEFINE_int32(port, 0, "Server port."); + +using grpc::Server; +using grpc::ServerBuilder; +using grpc::ServerContext; +using grpc::ServerCredentials; +using grpc::ServerCredentialsFactory; +using grpc::ServerReader; +using grpc::ServerReaderWriter; +using grpc::ServerWriter; +using grpc::SslServerCredentialsOptions; +using grpc::testing::Payload; +using grpc::testing::PayloadType; +using grpc::testing::SimpleRequest; +using grpc::testing::SimpleResponse; +using grpc::testing::StreamingInputCallRequest; +using grpc::testing::StreamingInputCallResponse; +using grpc::testing::StreamingOutputCallRequest; +using grpc::testing::StreamingOutputCallResponse; +using grpc::testing::TestService; +using grpc::Status; + +bool SetPayload(PayloadType type, int size, Payload* payload) { + PayloadType response_type = type; + // TODO(yangg): Support UNCOMPRESSABLE payload. + if (type != PayloadType::COMPRESSABLE) { + return false; + } + payload->set_type(response_type); + std::unique_ptr body(new char[size]()); + payload->set_body(body.get(), size); + return true; +} + +class TestServiceImpl : public TestService::Service { + public: + Status EmptyCall(ServerContext* context, const grpc::testing::Empty* request, + grpc::testing::Empty* response) { + return Status::OK; + } + + Status UnaryCall(ServerContext* context, const SimpleRequest* request, + SimpleResponse* response) { + if (request->has_response_size() && request->response_size() > 0) { + if (!SetPayload(request->response_type(), request->response_size(), + response->mutable_payload())) { + return Status(grpc::StatusCode::INTERNAL, "Error creating payload."); + } + } + return Status::OK; + } + + Status StreamingOutputCall( + ServerContext* context, const StreamingOutputCallRequest* request, + ServerWriter* writer) { + StreamingOutputCallResponse response; + bool write_success = true; + response.mutable_payload()->set_type(request->response_type()); + for (int i = 0; write_success && i < request->response_parameters_size(); + i++) { + response.mutable_payload()->set_body( + grpc::string(request->response_parameters(i).size(), '\0')); + write_success = writer->Write(response); + } + if (write_success) { + return Status::OK; + } else { + return Status(grpc::StatusCode::INTERNAL, "Error writing response."); + } + } + + Status StreamingInputCall(ServerContext* context, + ServerReader* reader, + StreamingInputCallResponse* response) { + StreamingInputCallRequest request; + int aggregated_payload_size = 0; + while (reader->Read(&request)) { + if (request.has_payload() && request.payload().has_body()) { + aggregated_payload_size += request.payload().body().size(); + } + } + response->set_aggregated_payload_size(aggregated_payload_size); + return Status::OK; + } + + Status FullDuplexCall( + ServerContext* context, + ServerReaderWriter* stream) { + StreamingOutputCallRequest request; + StreamingOutputCallResponse response; + bool write_success = true; + while (write_success && stream->Read(&request)) { + response.mutable_payload()->set_type(request.payload().type()); + if (request.response_parameters_size() == 0) { + return Status(grpc::StatusCode::INTERNAL, + "Request does not have response parameters."); + } + response.mutable_payload()->set_body( + grpc::string(request.response_parameters(0).size(), '\0')); + write_success = stream->Write(response); + } + if (write_success) { + return Status::OK; + } else { + return Status(grpc::StatusCode::INTERNAL, "Error writing response."); + } + } + + Status HalfDuplexCall( + ServerContext* context, + ServerReaderWriter* stream) { + std::vector requests; + StreamingOutputCallRequest request; + while (stream->Read(&request)) { + requests.push_back(request); + } + + StreamingOutputCallResponse response; + bool write_success = true; + for (unsigned int i = 0; write_success && i < requests.size(); i++) { + response.mutable_payload()->set_type(requests[i].payload().type()); + if (requests[i].response_parameters_size() == 0) { + return Status(grpc::StatusCode::INTERNAL, + "Request does not have response parameters."); + } + response.mutable_payload()->set_body( + grpc::string(requests[i].response_parameters(0).size(), '\0')); + write_success = stream->Write(response); + } + if (write_success) { + return Status::OK; + } else { + return Status(grpc::StatusCode::INTERNAL, "Error writing response."); + } + } +}; + +void RunServer() { + std::ostringstream server_address; + server_address << "localhost:" << FLAGS_port; + TestServiceImpl service; + + SimpleRequest request; + SimpleResponse response; + + ServerBuilder builder; + builder.AddPort(server_address.str()); + builder.RegisterService(service.service()); + if (FLAGS_enable_ssl) { + SslServerCredentialsOptions ssl_opts = { + "", + {reinterpret_cast(test_server1_key), + test_server1_key_size}, + {reinterpret_cast(test_server1_cert), + test_server1_cert_size}}; + std::shared_ptr creds = + ServerCredentialsFactory::SslCredentials(ssl_opts); + builder.SetCredentials(creds); + } + std::unique_ptr server(builder.BuildAndStart()); + gpr_log(GPR_INFO, "Server listening on %s", server_address.str().c_str()); + while (true) { + std::this_thread::sleep_for(std::chrono::seconds(5)); + } +} + +int main(int argc, char** argv) { + grpc_init(); + google::ParseCommandLineFlags(&argc, &argv, true); + + GPR_ASSERT(FLAGS_port != 0); + RunServer(); + + grpc_shutdown(); + return 0; +} diff --git a/examples/tips/test.proto b/examples/tips/test.proto new file mode 100644 index 00000000000..807a3fe677b --- /dev/null +++ b/examples/tips/test.proto @@ -0,0 +1,42 @@ +// An integration test service that covers all the method signature permutations +// of unary/streaming requests/responses. +syntax = "proto2"; + +import "examples/tips/empty.proto"; +import "examples/tips/messages.proto"; + +package grpc.testing; + +// A simple service to test the various types of RPCs and experiment with +// performance with various types of payload. +service TestService { + // One empty request followed by one empty response. + rpc EmptyCall(grpc.testing.Empty) returns (grpc.testing.Empty); + + // One request followed by one response. + // The server returns the client payload as-is. + rpc UnaryCall(SimpleRequest) returns (SimpleResponse); + + // One request followed by a sequence of responses (streamed download). + // The server returns the payload with client desired type and sizes. + rpc StreamingOutputCall(StreamingOutputCallRequest) + returns (stream StreamingOutputCallResponse); + + // A sequence of requests followed by one response (streamed upload). + // The server returns the aggregated size of client payload as the result. + rpc StreamingInputCall(stream StreamingInputCallRequest) + returns (StreamingInputCallResponse); + + // A sequence of requests with each request served by the server immediately. + // As one request could lead to multiple responses, this interface + // demonstrates the idea of full duplexing. + rpc FullDuplexCall(stream StreamingOutputCallRequest) + returns (stream StreamingOutputCallResponse); + + // A sequence of requests followed by a sequence of responses. + // The server buffers all the client requests and then serves them in order. A + // stream of responses are returned to the client when the server starts with + // first request. + rpc HalfDuplexCall(stream StreamingOutputCallRequest) + returns (stream StreamingOutputCallResponse); +} From ad145bc9cb1103e1c3dc75610ab221a8cbbacc07 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 21:28:27 -0800 Subject: [PATCH 111/121] Use the right parameters to syscalls --- src/core/iomgr/socket_utils_posix.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/core/iomgr/socket_utils_posix.c b/src/core/iomgr/socket_utils_posix.c index e8c80710377..06c5033d457 100644 --- a/src/core/iomgr/socket_utils_posix.c +++ b/src/core/iomgr/socket_utils_posix.c @@ -50,12 +50,22 @@ int grpc_accept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen, fd = accept(sockfd, addr, addrlen); if (fd >= 0) { - flags = fcntl(fd, F_GETFL, 0); - flags |= nonblock ? O_NONBLOCK : 0; - flags |= cloexec ? FD_CLOEXEC : 0; - GPR_ASSERT(fcntl(fd, F_SETFL, flags) == 0); + if (nonblock) { + flags = fcntl(fd, F_GETFL, 0); + if (flags < 0) goto close_and_error; + if (fcntl(fd, F_SETFL, flags | O_NONBLOCK) != 0) goto close_and_error; + } + if (cloexec) { + flags = fcntl(fd, F_GETFD, 0); + if (flags < 0) goto close_and_error; + if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) != 0) goto close_and_error; + } } return fd; + +close_and_error: + close(fd); + return -1; } #endif /* GPR_POSIX_SOCKETUTILS */ From 018afed1b3083c2d032ad31906194f66d52097a3 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 21:35:36 -0800 Subject: [PATCH 112/121] Must init iomgr --- test/core/iomgr/resolve_address_test.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/core/iomgr/resolve_address_test.c b/test/core/iomgr/resolve_address_test.c index 26a4bc67e6f..319ee634d6c 100644 --- a/test/core/iomgr/resolve_address_test.c +++ b/test/core/iomgr/resolve_address_test.c @@ -32,6 +32,7 @@ */ #include "src/core/iomgr/resolve_address.h" +#include "src/core/iomgr/iomgr.h" #include #include #include @@ -122,7 +123,7 @@ static void test_unparseable_hostports(void) { int main(int argc, char** argv) { grpc_test_init(argc, argv); - + grpc_iomgr_init(); test_localhost(); test_default_port(); test_missing_default_port(); @@ -130,6 +131,6 @@ int main(int argc, char** argv) { test_ipv6_without_port(); test_invalid_ip_addresses(); test_unparseable_hostports(); - + grpc_iomgr_shutdown(); return 0; } From a83567d72907d3b8abe3ca006363db8afedd1698 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 21:51:51 -0800 Subject: [PATCH 113/121] Fix math in time_posix.c --- src/core/support/time_posix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/support/time_posix.c b/src/core/support/time_posix.c index 78d4c3b4468..9e11f8a865d 100644 --- a/src/core/support/time_posix.c +++ b/src/core/support/time_posix.c @@ -61,7 +61,7 @@ gpr_timespec gpr_now(void) { struct timeval now_tv; gettimeofday(&now_tv, NULL); now.tv_sec = now_tv.tv_sec; - now.tv_nsec = now_tv.tv_usec / 1000; + now.tv_nsec = now_tv.tv_usec * 1000; return now; } #endif From 9497b3c1c467ae8d13258e835e71119e77884999 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 21 Jan 2015 22:10:26 -0800 Subject: [PATCH 114/121] Bugfix connection code in test --- test/core/iomgr/fd_posix_test.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/test/core/iomgr/fd_posix_test.c b/test/core/iomgr/fd_posix_test.c index 136f34a8b09..05c91ffdd4d 100644 --- a/test/core/iomgr/fd_posix_test.c +++ b/test/core/iomgr/fd_posix_test.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -79,7 +80,7 @@ static void create_test_socket(int port, int *socket_fd, /* Use local address for test */ sin->sin_family = AF_INET; - sin->sin_addr.s_addr = 0; + sin->sin_addr.s_addr = htonl(0x7f000001); sin->sin_port = htons(port); } @@ -164,7 +165,7 @@ static void session_read_cb(void *arg, /*session*/ grpc_fd_notify_on_read(se->em_fd, session_read_cb, se); } else { gpr_log(GPR_ERROR, "Unhandled read error %s", strerror(errno)); - GPR_ASSERT(0); + abort(); } } } @@ -316,7 +317,7 @@ static void client_session_write(void *arg, /*client*/ gpr_mu_unlock(&cl->mu); } else { gpr_log(GPR_ERROR, "unknown errno %s", strerror(errno)); - GPR_ASSERT(0); + abort(); } } @@ -325,10 +326,20 @@ static void client_start(client *cl, int port) { int fd; struct sockaddr_in sin; create_test_socket(port, &fd, &sin); - if (connect(fd, (struct sockaddr *)&sin, sizeof(sin)) == -1 && - errno != EINPROGRESS) { - gpr_log(GPR_ERROR, "Failed to connect to the server"); - GPR_ASSERT(0); + if (connect(fd, (struct sockaddr *)&sin, sizeof(sin)) == -1) { + if (errno == EINPROGRESS) { + struct pollfd pfd; + pfd.fd = fd; + pfd.events = POLLOUT; + pfd.revents = 0; + if (poll(&pfd, 1, -1) == -1) { + gpr_log(GPR_ERROR, "poll() failed during connect; errno=%d", errno); + abort(); + } + } else { + gpr_log(GPR_ERROR, "Failed to connect to the server (errno=%d)", errno); + abort(); + } } cl->em_fd = grpc_fd_create(fd); From 59d095a7df038201a89df6445220ca0a34c80a22 Mon Sep 17 00:00:00 2001 From: Nathaniel Manista Date: Thu, 22 Jan 2015 20:23:45 +0000 Subject: [PATCH 115/121] The logging_pool module. --- src/python/__init__.py | 0 src/python/_framework/__init__.py | 0 src/python/_framework/foundation/__init__.py | 0 .../foundation/_logging_pool_test.py | 64 ++++++++++++++ .../_framework/foundation/logging_pool.py | 83 +++++++++++++++++++ 5 files changed, 147 insertions(+) create mode 100644 src/python/__init__.py create mode 100644 src/python/_framework/__init__.py create mode 100644 src/python/_framework/foundation/__init__.py create mode 100644 src/python/_framework/foundation/_logging_pool_test.py create mode 100644 src/python/_framework/foundation/logging_pool.py diff --git a/src/python/__init__.py b/src/python/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/python/_framework/__init__.py b/src/python/_framework/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/python/_framework/foundation/__init__.py b/src/python/_framework/foundation/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/python/_framework/foundation/_logging_pool_test.py b/src/python/_framework/foundation/_logging_pool_test.py new file mode 100644 index 00000000000..ffe07c788da --- /dev/null +++ b/src/python/_framework/foundation/_logging_pool_test.py @@ -0,0 +1,64 @@ +# 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. + +"""Tests for google3.net.rpc.python.framework.foundation.logging_pool.""" + +import unittest + +from _framework.foundation import logging_pool + +_POOL_SIZE = 16 + + +class LoggingPoolTest(unittest.TestCase): + + def testUpAndDown(self): + pool = logging_pool.pool(_POOL_SIZE) + pool.shutdown(wait=True) + + with logging_pool.pool(_POOL_SIZE) as pool: + self.assertIsNotNone(pool) + + def testTaskExecuted(self): + test_list = [] + + with logging_pool.pool(_POOL_SIZE) as pool: + pool.submit(lambda: test_list.append(object())).result() + + self.assertTrue(test_list) + + def testException(self): + with logging_pool.pool(_POOL_SIZE) as pool: + raised_exception = pool.submit(lambda: 1/0).exception() + + self.assertIsNotNone(raised_exception) + + +if __name__ == '__main__': + unittest.main() diff --git a/src/python/_framework/foundation/logging_pool.py b/src/python/_framework/foundation/logging_pool.py new file mode 100644 index 00000000000..7c7a6eebfca --- /dev/null +++ b/src/python/_framework/foundation/logging_pool.py @@ -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. + +"""A thread pool that logs exceptions raised by tasks executed within it.""" + +import functools +import logging + +from concurrent import futures + + +def _wrap(behavior): + """Wraps an arbitrary callable behavior in exception-logging.""" + @functools.wraps(behavior) + def _wrapping(*args, **kwargs): + try: + return behavior(*args, **kwargs) + except Exception as e: + logging.exception('Unexpected exception from task run in logging pool!') + raise + return _wrapping + + +class _LoggingPool(object): + """An exception-logging futures.ThreadPoolExecutor-compatible thread pool.""" + + def __init__(self, backing_pool): + self._backing_pool = backing_pool + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self._backing_pool.shutdown(wait=True) + + def submit(self, fn, *args, **kwargs): + return self._backing_pool.submit(_wrap(fn), *args, **kwargs) + + def map(self, func, *iterables, **kwargs): + return self._backing_pool.map( + _wrap(func), *iterables, timeout=kwargs.get('timeout', None)) + + def shutdown(self, wait=True): + self._backing_pool.shutdown(wait=wait) + + +def pool(max_workers): + """Creates a thread pool that logs exceptions raised by the tasks within it. + + Args: + max_workers: The maximum number of worker threads to allow the pool. + + Returns: + A futures.ThreadPoolExecutor-compatible thread pool that logs exceptions + raised by the tasks executed within it. + """ + return _LoggingPool(futures.ThreadPoolExecutor(max_workers)) From 840615ed276c7b94db70e817a4dde729278684e4 Mon Sep 17 00:00:00 2001 From: Nathaniel Manista Date: Thu, 22 Jan 2015 20:31:47 +0000 Subject: [PATCH 116/121] Add Python to run-tests. --- .gitignore | 3 +++ INSTALL | 2 +- tools/run_tests/build_python.sh | 10 ++++++++++ tools/run_tests/run_python.sh | 10 ++++++++++ tools/run_tests/run_tests.py | 18 +++++++++++++++++- 5 files changed, 41 insertions(+), 2 deletions(-) create mode 100755 tools/run_tests/build_python.sh create mode 100755 tools/run_tests/run_python.sh diff --git a/.gitignore b/.gitignore index 63332d1b16b..002e3e661cb 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ gens libs objs +# Python virtual environment (pre-3.4 only) +python2.7_virtual_environment + # gcov coverage data coverage *.gcno diff --git a/INSTALL b/INSTALL index 98c20f58983..48511aff7df 100644 --- a/INSTALL +++ b/INSTALL @@ -17,7 +17,7 @@ A typical unix installation won't require any more steps than running: You don't need anything else than GNU Make and gcc. Under a Debian or Ubuntu system, this should boil down to the following package: - # apt-get install build-essential + # apt-get install build-essential python-all-dev python-virtualenv ******************************* diff --git a/tools/run_tests/build_python.sh b/tools/run_tests/build_python.sh new file mode 100755 index 00000000000..6899ac7fe3e --- /dev/null +++ b/tools/run_tests/build_python.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +set -ex + +# change to grpc repo root +cd $(dirname $0)/../.. + +root=`pwd` +virtualenv python2.7_virtual_environment +python2.7_virtual_environment/bin/pip install enum34==1.0.4 futures==2.2.0 diff --git a/tools/run_tests/run_python.sh b/tools/run_tests/run_python.sh new file mode 100755 index 00000000000..0d5ed0238db --- /dev/null +++ b/tools/run_tests/run_python.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +set -ex + +# change to grpc repo root +cd $(dirname $0)/../.. + +root=`pwd` +python2.7_virtual_environment/bin/python2.7 -B -m unittest discover -s src/python -p '*.py' +python3.4 -B -m unittest discover -s src/python -p '*.py' diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 15c523731bd..da849f04cb0 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -75,6 +75,21 @@ class PhpLanguage(object): return [['tools/run_tests/build_php.sh']] +class PythonLanguage(object): + + def __init__(self): + self.allow_hashing = False + + def test_binaries(self, config): + return ['tools/run_tests/run_python.sh'] + + def make_targets(self): + return[] + + def build_steps(self): + return [['tools/run_tests/build_python.sh']] + + # different configurations we can run under _CONFIGS = { 'dbg': SimpleConfig('dbg'), @@ -92,7 +107,8 @@ _DEFAULT = ['dbg', 'opt'] _LANGUAGES = { 'c++': CLanguage('cxx', 'c++'), 'c': CLanguage('c', 'c'), - 'php': PhpLanguage() + 'php': PhpLanguage(), + 'python': PythonLanguage(), } # parse command line From 8c1109737f835f23056325e366aced23fa24db37 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Thu, 22 Jan 2015 14:11:42 -0800 Subject: [PATCH 117/121] Remove unecessary files which was added by mistake. --- examples/tips/messages.proto | 94 -------------- examples/tips/server.cc | 231 ----------------------------------- examples/tips/test.proto | 42 ------- 3 files changed, 367 deletions(-) delete mode 100644 examples/tips/messages.proto delete mode 100644 examples/tips/server.cc delete mode 100644 examples/tips/test.proto diff --git a/examples/tips/messages.proto b/examples/tips/messages.proto deleted file mode 100644 index 29db0dd8b1a..00000000000 --- a/examples/tips/messages.proto +++ /dev/null @@ -1,94 +0,0 @@ -// Message definitions to be used by integration test service definitions. - -syntax = "proto2"; - -package grpc.testing; - -// The type of payload that should be returned. -enum PayloadType { - // Compressable text format. - COMPRESSABLE = 0; - - // Uncompressable binary format. - UNCOMPRESSABLE = 1; - - // Randomly chosen from all other formats defined in this enum. - RANDOM = 2; -} - -// A block of data, to simply increase gRPC message size. -message Payload { - // The type of data in body. - optional PayloadType type = 1; - // Primary contents of payload. - optional bytes body = 2; -} - -// Unary request. -message SimpleRequest { - // Desired payload type in the response from the server. - // If response_type is RANDOM, server randomly chooses one from other formats. - optional PayloadType response_type = 1; - - // Desired payload size in the response from the server. - // If response_type is COMPRESSABLE, this denotes the size before compression. - optional int32 response_size = 2; - - // Optional input payload sent along with the request. - optional Payload payload = 3; -} - -// Unary response, as configured by the request. -message SimpleResponse { - // Payload to increase message size. - optional Payload payload = 1; - // The user the request came from, for verifying authentication was - // successful when the client expected it. - optional int64 effective_gaia_user_id = 2; -} - -// Client-streaming request. -message StreamingInputCallRequest { - // Optional input payload sent along with the request. - optional Payload payload = 1; - - // Not expecting any payload from the response. -} - -// Client-streaming response. -message StreamingInputCallResponse { - // Aggregated size of payloads received from the client. - optional int32 aggregated_payload_size = 1; -} - -// Configuration for a particular response. -message ResponseParameters { - // Desired payload sizes in responses from the server. - // If response_type is COMPRESSABLE, this denotes the size before compression. - optional int32 size = 1; - - // Desired interval between consecutive responses in the response stream in - // microseconds. - optional int32 interval_us = 2; -} - -// Server-streaming request. -message StreamingOutputCallRequest { - // Desired payload type in the response from the server. - // If response_type is RANDOM, the payload from each response in the stream - // might be of different types. This is to simulate a mixed type of payload - // stream. - optional PayloadType response_type = 1; - - // Configuration for each expected response message. - repeated ResponseParameters response_parameters = 2; - - // Optional input payload sent along with the request. - optional Payload payload = 3; -} - -// Server-streaming response, as configured by the request and parameters. -message StreamingOutputCallResponse { - // Payload to increase response size. - optional Payload payload = 1; -} diff --git a/examples/tips/server.cc b/examples/tips/server.cc deleted file mode 100644 index 2171a6aac0d..00000000000 --- a/examples/tips/server.cc +++ /dev/null @@ -1,231 +0,0 @@ -/* - * - * Copyright 2014, 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 "test/core/end2end/data/ssl_test_data.h" -#include -#include -#include -#include -#include -#include -#include -#include "examples/tips/test.pb.h" -#include "examples/tips/empty.pb.h" -#include "examples/tips/messages.pb.h" - -DEFINE_bool(enable_ssl, false, "Whether to use ssl/tls."); -DEFINE_int32(port, 0, "Server port."); - -using grpc::Server; -using grpc::ServerBuilder; -using grpc::ServerContext; -using grpc::ServerCredentials; -using grpc::ServerCredentialsFactory; -using grpc::ServerReader; -using grpc::ServerReaderWriter; -using grpc::ServerWriter; -using grpc::SslServerCredentialsOptions; -using grpc::testing::Payload; -using grpc::testing::PayloadType; -using grpc::testing::SimpleRequest; -using grpc::testing::SimpleResponse; -using grpc::testing::StreamingInputCallRequest; -using grpc::testing::StreamingInputCallResponse; -using grpc::testing::StreamingOutputCallRequest; -using grpc::testing::StreamingOutputCallResponse; -using grpc::testing::TestService; -using grpc::Status; - -bool SetPayload(PayloadType type, int size, Payload* payload) { - PayloadType response_type = type; - // TODO(yangg): Support UNCOMPRESSABLE payload. - if (type != PayloadType::COMPRESSABLE) { - return false; - } - payload->set_type(response_type); - std::unique_ptr body(new char[size]()); - payload->set_body(body.get(), size); - return true; -} - -class TestServiceImpl : public TestService::Service { - public: - Status EmptyCall(ServerContext* context, const grpc::testing::Empty* request, - grpc::testing::Empty* response) { - return Status::OK; - } - - Status UnaryCall(ServerContext* context, const SimpleRequest* request, - SimpleResponse* response) { - if (request->has_response_size() && request->response_size() > 0) { - if (!SetPayload(request->response_type(), request->response_size(), - response->mutable_payload())) { - return Status(grpc::StatusCode::INTERNAL, "Error creating payload."); - } - } - return Status::OK; - } - - Status StreamingOutputCall( - ServerContext* context, const StreamingOutputCallRequest* request, - ServerWriter* writer) { - StreamingOutputCallResponse response; - bool write_success = true; - response.mutable_payload()->set_type(request->response_type()); - for (int i = 0; write_success && i < request->response_parameters_size(); - i++) { - response.mutable_payload()->set_body( - grpc::string(request->response_parameters(i).size(), '\0')); - write_success = writer->Write(response); - } - if (write_success) { - return Status::OK; - } else { - return Status(grpc::StatusCode::INTERNAL, "Error writing response."); - } - } - - Status StreamingInputCall(ServerContext* context, - ServerReader* reader, - StreamingInputCallResponse* response) { - StreamingInputCallRequest request; - int aggregated_payload_size = 0; - while (reader->Read(&request)) { - if (request.has_payload() && request.payload().has_body()) { - aggregated_payload_size += request.payload().body().size(); - } - } - response->set_aggregated_payload_size(aggregated_payload_size); - return Status::OK; - } - - Status FullDuplexCall( - ServerContext* context, - ServerReaderWriter* stream) { - StreamingOutputCallRequest request; - StreamingOutputCallResponse response; - bool write_success = true; - while (write_success && stream->Read(&request)) { - response.mutable_payload()->set_type(request.payload().type()); - if (request.response_parameters_size() == 0) { - return Status(grpc::StatusCode::INTERNAL, - "Request does not have response parameters."); - } - response.mutable_payload()->set_body( - grpc::string(request.response_parameters(0).size(), '\0')); - write_success = stream->Write(response); - } - if (write_success) { - return Status::OK; - } else { - return Status(grpc::StatusCode::INTERNAL, "Error writing response."); - } - } - - Status HalfDuplexCall( - ServerContext* context, - ServerReaderWriter* stream) { - std::vector requests; - StreamingOutputCallRequest request; - while (stream->Read(&request)) { - requests.push_back(request); - } - - StreamingOutputCallResponse response; - bool write_success = true; - for (unsigned int i = 0; write_success && i < requests.size(); i++) { - response.mutable_payload()->set_type(requests[i].payload().type()); - if (requests[i].response_parameters_size() == 0) { - return Status(grpc::StatusCode::INTERNAL, - "Request does not have response parameters."); - } - response.mutable_payload()->set_body( - grpc::string(requests[i].response_parameters(0).size(), '\0')); - write_success = stream->Write(response); - } - if (write_success) { - return Status::OK; - } else { - return Status(grpc::StatusCode::INTERNAL, "Error writing response."); - } - } -}; - -void RunServer() { - std::ostringstream server_address; - server_address << "localhost:" << FLAGS_port; - TestServiceImpl service; - - SimpleRequest request; - SimpleResponse response; - - ServerBuilder builder; - builder.AddPort(server_address.str()); - builder.RegisterService(service.service()); - if (FLAGS_enable_ssl) { - SslServerCredentialsOptions ssl_opts = { - "", - {reinterpret_cast(test_server1_key), - test_server1_key_size}, - {reinterpret_cast(test_server1_cert), - test_server1_cert_size}}; - std::shared_ptr creds = - ServerCredentialsFactory::SslCredentials(ssl_opts); - builder.SetCredentials(creds); - } - std::unique_ptr server(builder.BuildAndStart()); - gpr_log(GPR_INFO, "Server listening on %s", server_address.str().c_str()); - while (true) { - std::this_thread::sleep_for(std::chrono::seconds(5)); - } -} - -int main(int argc, char** argv) { - grpc_init(); - google::ParseCommandLineFlags(&argc, &argv, true); - - GPR_ASSERT(FLAGS_port != 0); - RunServer(); - - grpc_shutdown(); - return 0; -} diff --git a/examples/tips/test.proto b/examples/tips/test.proto deleted file mode 100644 index 807a3fe677b..00000000000 --- a/examples/tips/test.proto +++ /dev/null @@ -1,42 +0,0 @@ -// An integration test service that covers all the method signature permutations -// of unary/streaming requests/responses. -syntax = "proto2"; - -import "examples/tips/empty.proto"; -import "examples/tips/messages.proto"; - -package grpc.testing; - -// A simple service to test the various types of RPCs and experiment with -// performance with various types of payload. -service TestService { - // One empty request followed by one empty response. - rpc EmptyCall(grpc.testing.Empty) returns (grpc.testing.Empty); - - // One request followed by one response. - // The server returns the client payload as-is. - rpc UnaryCall(SimpleRequest) returns (SimpleResponse); - - // One request followed by a sequence of responses (streamed download). - // The server returns the payload with client desired type and sizes. - rpc StreamingOutputCall(StreamingOutputCallRequest) - returns (stream StreamingOutputCallResponse); - - // A sequence of requests followed by one response (streamed upload). - // The server returns the aggregated size of client payload as the result. - rpc StreamingInputCall(stream StreamingInputCallRequest) - returns (StreamingInputCallResponse); - - // A sequence of requests with each request served by the server immediately. - // As one request could lead to multiple responses, this interface - // demonstrates the idea of full duplexing. - rpc FullDuplexCall(stream StreamingOutputCallRequest) - returns (stream StreamingOutputCallResponse); - - // A sequence of requests followed by a sequence of responses. - // The server buffers all the client requests and then serves them in order. A - // stream of responses are returned to the client when the server starts with - // first request. - rpc HalfDuplexCall(stream StreamingOutputCallRequest) - returns (stream StreamingOutputCallResponse); -} From 3d4cba49014a1822b95d4af294e661ef2d4acb53 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Thu, 22 Jan 2015 23:42:15 +0100 Subject: [PATCH 118/121] kNumResponseMessages is an int, so i is doing signedness mismatch. --- test/cpp/interop/client.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cpp/interop/client.cc b/test/cpp/interop/client.cc index 04cfeb86cb3..2a18ddb72e6 100644 --- a/test/cpp/interop/client.cc +++ b/test/cpp/interop/client.cc @@ -188,7 +188,7 @@ void DoResponseStreamingWithSlowConsumer( grpc::ClientContext context; StreamingOutputCallRequest request; - for (unsigned int i = 0; i < kNumResponseMessages; ++i) { + for (int i = 0; i < kNumResponseMessages; ++i) { ResponseParameters* response_parameter = request.add_response_parameters(); response_parameter->set_size(kResponseMessageSize); } @@ -196,7 +196,7 @@ void DoResponseStreamingWithSlowConsumer( std::unique_ptr> stream( stub->StreamingOutputCall(&context, &request)); - unsigned int i = 0; + int i = 0; while (stream->Read(&response)) { GPR_ASSERT(response.payload().body() == grpc::string(kResponseMessageSize, '\0')); From 819f755b74b217acfee017ec9aa7e8d0ea3a706a Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Thu, 22 Jan 2015 14:52:49 -0800 Subject: [PATCH 119/121] fixed some typos --- examples/tips/client.cc | 7 +++---- examples/tips/client.h | 2 +- examples/tips/client_main.cc | 32 ++++++++++---------------------- examples/tips/client_test.cc | 4 ---- examples/tips/empty.proto | 6 ------ examples/tips/label.proto | 3 +-- 6 files changed, 15 insertions(+), 39 deletions(-) diff --git a/examples/tips/client.cc b/examples/tips/client.cc index bfbd59c9d56..a902a21c3c6 100644 --- a/examples/tips/client.cc +++ b/examples/tips/client.cc @@ -35,7 +35,6 @@ #include "examples/tips/client.h" -using grpc::ChannelInterface; using grpc::ClientContext; using tech::pubsub::Topic; using tech::pubsub::PublisherService; @@ -44,7 +43,7 @@ namespace grpc { namespace examples { namespace tips { -Client::Client(std::shared_ptr channel) +Client::Client(std::shared_ptr channel) : stub_(PublisherService::NewStub(channel)) { } @@ -52,11 +51,11 @@ Status Client::CreateTopic(grpc::string topic) { Topic request; Topic response; request.set_name(topic); - ClientContext context; + grpc::ClientContext context; return stub_->CreateTopic(&context, request, &response); } -} // namesapce tips +} // namespace tips } // namespace examples } // namespace grpc diff --git a/examples/tips/client.h b/examples/tips/client.h index 83e79118235..152a2a396dd 100644 --- a/examples/tips/client.h +++ b/examples/tips/client.h @@ -48,6 +48,6 @@ class Client { std::unique_ptr stub_; }; -} // namesapce tips +} // namespace tips } // namespace examples } // namespace grpc diff --git a/examples/tips/client_main.cc b/examples/tips/client_main.cc index 0324b4b8b08..17567b6f17a 100644 --- a/examples/tips/client_main.cc +++ b/examples/tips/client_main.cc @@ -31,40 +31,26 @@ * */ -#include -#include -#include -#include - #include #include #include -#include #include -#include #include #include -#include + +#include "examples/tips/client.h" #include "test/cpp/util/create_test_channel.h" -DEFINE_bool(enable_ssl, false, "Whether to use ssl/tls."); -DEFINE_bool(use_prod_roots, false, "True to use SSL roots for production GFE"); +DEFINE_bool(enable_ssl, true, "Whether to use ssl/tls."); +DEFINE_bool(use_prod_roots, true, "True to use SSL roots for production GFE"); DEFINE_int32(server_port, 0, "Server port."); DEFINE_string(server_host, "127.0.0.1", "Server host to connect to"); DEFINE_string(server_host_override, "foo.test.google.com", "Override the server host which is sent in HTTP header"); -using grpc::ChannelInterface; -using grpc::ClientContext; -using grpc::CreateTestChannel; - -void CreateTopic(std::shared_ptr channel, grpc::string topic); - int main(int argc, char** argv) { grpc_init(); - google::ParseCommandLineFlags(&argc, &argv, true); - gpr_log(GPR_INFO, "Start TIPS client"); GPR_ASSERT(FLAGS_server_port); @@ -73,11 +59,13 @@ int main(int argc, char** argv) { snprintf(host_port, host_port_buf_size, "%s:%d", FLAGS_server_host.c_str(), FLAGS_server_port); - std::shared_ptr channel( - CreateTestChannel(host_port, FLAGS_server_host_override, FLAGS_enable_ssl, - FLAGS_use_prod_roots)); + std::shared_ptr channel( + grpc::CreateTestChannel(host_port, FLAGS_server_host_override, + FLAGS_enable_ssl, FLAGS_use_prod_roots)); - CreateTopic(channel, "test"); + grpc::examples::tips::Client client(channel); + grpc::Status s = client.CreateTopic("test"); + GPR_ASSERT(s.IsOk()); channel.reset(); grpc_shutdown(); diff --git a/examples/tips/client_test.cc b/examples/tips/client_test.cc index d40f0c0d8b4..69238f2c6fc 100644 --- a/examples/tips/client_test.cc +++ b/examples/tips/client_test.cc @@ -47,10 +47,6 @@ using grpc::ChannelInterface; -namespace { - -} // - namespace grpc { namespace testing { namespace { diff --git a/examples/tips/empty.proto b/examples/tips/empty.proto index a698ab6f8a9..adf66b5e614 100644 --- a/examples/tips/empty.proto +++ b/examples/tips/empty.proto @@ -10,10 +10,4 @@ package proto2; // rpc Bar (proto2.Empty) returns (proto2.Empty) { }; // }; // -// BEGIN GOOGLE-INTERNAL -// The difference between this one and net/rpc/empty-message.proto is that -// 1) The generated message here is in proto2 C++ API. -// 2) The proto2.Empty has minimum dependencies -// (no message_set or net/rpc dependencies) -// END GOOGLE-INTERNAL message Empty {} diff --git a/examples/tips/label.proto b/examples/tips/label.proto index e79e1db77c2..e93ac9dea30 100644 --- a/examples/tips/label.proto +++ b/examples/tips/label.proto @@ -1,7 +1,6 @@ // Labels provide a way to associate user-defined metadata with various // objects. Labels may be used to organize objects into non-hierarchical -// groups; think metadata tags attached to mp3s. For more details, see -// http://go/exosphere:labels +// groups; think metadata tags attached to mp3s. syntax = "proto2"; From c6fdcae0875e5bea62a5d5badef96261cd2a5c4a Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Thu, 22 Jan 2015 15:01:43 -0800 Subject: [PATCH 120/121] add space line between include --- examples/tips/client.h | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/tips/client.h b/examples/tips/client.h index 152a2a396dd..3f4f1fd8369 100644 --- a/examples/tips/client.h +++ b/examples/tips/client.h @@ -33,6 +33,7 @@ #include #include + #include "examples/tips/pubsub.pb.h" namespace grpc { From d34c690e8d0e080d7bfb4117b80d32e6d2354ba1 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Thu, 22 Jan 2015 15:12:20 -0800 Subject: [PATCH 121/121] delete using grpc:: --- examples/tips/client.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/tips/client.cc b/examples/tips/client.cc index a902a21c3c6..695ff80e8af 100644 --- a/examples/tips/client.cc +++ b/examples/tips/client.cc @@ -35,7 +35,6 @@ #include "examples/tips/client.h" -using grpc::ClientContext; using tech::pubsub::Topic; using tech::pubsub::PublisherService; @@ -43,7 +42,7 @@ namespace grpc { namespace examples { namespace tips { -Client::Client(std::shared_ptr channel) +Client::Client(std::shared_ptr channel) : stub_(PublisherService::NewStub(channel)) { } @@ -51,7 +50,7 @@ Status Client::CreateTopic(grpc::string topic) { Topic request; Topic response; request.set_name(topic); - grpc::ClientContext context; + ClientContext context; return stub_->CreateTopic(&context, request, &response); }